kostyaBro
Но не твой интерфейс
Кіт ✙
kostyaBro
kostyaBro
ааа ты делаешь свой контекст?
Кіт ✙
Null
fzf – терминальная утилита, которая представляет из себя интерактивный фильтр Unix для командной строки
Можно использовать с любым списком: файлы, история комманд, процессы, имена хостов, закладки, история git-коммов и т. д.
⤷ Ссылка на проект
@Golang_google | #Interesting #Ruby #Go #Terminal
Ooups
Ребят, подскажите плз читалку на гошке хорошую для excel файлов, кроме excelize? На более крупных файлах чтение идет в два раза медленнее чем на java.
Alexander
Alexander
на питоне быстрее чем на GO
Не ну это
ну vba никто не обгонит все равно
Mark 𓁹
Не ну это
Eugene
я считаю это бан
Eugene
палить такую контору
Мирон
Ooups
Так как ускорить то чтение эксельки?)
Мирон
не писать на го
Eugene
Когда нацисты хватали коммунистов, я молчал: я не был коммунистом.
Когда они сажали социал-демократов, я молчал: я не был социал-демократом.
Когда они хватали членов профсоюза, я молчал: я не был членом профсоюза.
Когда они пришли за мной — заступиться за меня было уже некому.
Не ну это
Mark 𓁹
Eugene
сектор газа — демобилизация заиграла новыми красками
Eugene
)))
Mark 𓁹
Что?! Какая мобилизация? Я думал это мем
Не ну это
Mark 𓁹
😁
Alexander
"частичная"
Alexander
Alexander
ща кто-нибудь влезет "фуууууууу! полииитика!"
Mark 𓁹
Преимуществ жить в России всё больше и больше
Victor
Может гошников не будут мобилизовать
Yura
Emin Zalaev
Как ценных кадров
Emin Zalaev
http://localhost:8000/kill/hohol?id=1
Yura
/v1/admin/mobilisation?passportId=1111111
Илья
Mark 𓁹
anhckie
есть горутина, в которой есть цикл.
в цикле на каждой итерации запускается 1 воркер-горутина.
задача: при успешном окончании работы хотя бы 1 воркера - потушить остальные горутины и выйти из цикла.
достаточно тривиальная, но первый раз на гоу такую делаю)
из размышлений как это решить:
1. в основной горутине создается сontext.WithCancel, делается сразу же defer cancel().
2. в рамках цикла прослушивается канал ctx.Done() (*вопрос - в него сигнал приходит при вызове сancel()?*), если что-то пришло - делаем break.
3. чтобы в него что-то пришло, в воркера-горутину нужно передать cancel-функцию и вызвать ее в нужный момент
anhckie
знатоки, гоните ссаными тряпками)
Alexander
Можно как вариант в дочерние передавать не кансел, а какой-нибудь канал, который будет слушать родитель и услышав уже вызывать кансел
anhckie
такое тоже думал, но хочется уже как тру сделать на контексте
Alexander
Обычно кейс, что в этом канале ошибка отправляется
Илья
Alexander
И вот осмысленный кейс: фатальная ошибка, завершаем всё приложение
Илья
а, если успешное
anhckie
мне не ошибку, а наоборот - все гуд)
anhckie
если хотя бы 1 смог отработать - остальным не надо
Илья
Ну берешь контекст с канселом
anhckie
Alexander
Юра (Юрий Александрович)
Roman
Юра (Юрий Александрович)
знатоки, гоните ссаными тряпками)
1) в создаваемые горутины передавай ctx, которым главная рутина остановит их работу
2) в создаваемые горутины передавай канал только для записи, на котором повиснет основная го-рутина после создания го-рутин
Юра (Юрий Александрович)
3) основная го-рутина после повисания на канале вызывает cancel
Юра (Юрий Александрович)
4) чтобы создаваемые горутины не записали случайно в закрытый канал, им еще потребуется мьютекс и предварительная проверка ctx.Done() в селекте...
Илья
Илья
может есть более простой вариант
Юра (Юрий Александрович)
а канал не будем закрывать вообще.... можно, конечно.
Юра (Юрий Александрович)
только select в process какой-то странный. Его придется переделывать, чтобы process мог все-таки поработать (на случай, если в process нужно будет вставлять реальную логику)
anhckie
я чуть позже скину шо получилось, а вы шапками покидайте
anhckie
ну или тапками/тряпками
Илья
Мирон
у меня насущный вопрос
Мирон
почему ctx не по ссылке
Vladislav
потому что это интерфейс
Vladislav
а в нём уже объект контекста по ссылке