Sergius Ofitserov
Oleh
Anonymous
в смысле?это как?
Наверно он имел ввиду, что mutex на чтение не использован тут.
Oleh
я пробовал с мютексом, он не решает
func NewGuardian(phrases []WeightedPhrase, maxWeight int) *Gurdian {
return &Gurdian{MaxWeight: maxWeight, Phrases: phrases}
}
через вот это инициализыровал структуру
фразы приходят в функцию
Oleh
я забыл передать в инит функции Gurdian в структуру которая его использовала
Sergius Ofitserov
Инициализацию функции попробуй завершить
Oleh
уже решил спасибо
Sergius Ofitserov
👍
Anonymous
Slava
так вон как го популярен в Китае, конечно пора китайский учить
Заур
Мне эта тенденция не очень нравится, в плане ещё китайский надо подтягивать
Заур
Офф док vue js на китайском вроде, потом с китайского на англ переводят
Заур
Со временем китаеязычных технологий только больше будет
O
Заур
Вон на голанге уже можно в принципе на китайском писать 😁
Vasily
в го, кстати, можно функции/типы/переменные на любом языке называть
Roman
Anonymous
Lee
Slava
так православная либа же
Lee
Ну в смысле Vyktotakieyavasnezvaliditenhuy
Slava
а, эт да
Lee
А то на гитхаб не выложишь
Anonymous
/voteban
Daniel
как скажете
Mikhail
Есть ли способ сделать это лаконичнее?
Эмин
Зачем вам блок элсе?
Mikhail
Эмин
Ну и ошибку ты возвращать
Эмин
Бы*
Mikhail
Бы*
Зачем? Это в принципе точка входа, если функция не вернет workDir, работать не должно
Эмин
Слишком много ответоственности
Mikhail
Эмин
Эта функция, на мой взгляд, должна вернуть либо ворк дир, либо ошибку. А выходить из системы или нет нужно выше. И предусмотреть все выходы из системы в одном месте желательно
Эмин
Ещё стоит проверить что writable
Bob Ef
А зачем дополнительные проверки если и Open и Readdir и так возвращают коды ощибок
Bob Ef
по мне так сразу начинать работать с путем(каталогом) без всяких проверок
Andrei 🦉
как бонус появится по крайней мере один адекватный уровень логирования
Mikhail
Mikhail
Mikhail
И вообще, есть flag же 😊
hypnopumpia
Пытаюсь установит cgzip, он ругается на отсутствие zlib, который установлен.
Как починить?
Daniel
zlib-dev какой-нибудь нужен
hypnopumpia
Anonymous
Всем прив. Надо пачку своих прог при загрузке запускать. Это можно в одном юните для systemd прописать или разные надо?
Daniel
Лучше разные
hypnopumpia
Как правильно работать с трейлерами? Пробую по примеру из документации, но пока пустота.
https://codeshare.io/5Z7MKX
hypnopumpia
Выкурил больше документации, чтобы появились хедеры нужно сначала полностью прочитать тело ответа.
Mikhail
execErr := syscall.Exec(binary, args, env)
if execErr != nil {
panic(execErr)
}
Я правильно понимаю, что пока binary не 'отработает\вывалится в ошибку', поток выполнения программы не продолжится?
Alexander
А почему должен продолжится, если ты в той же горутине выполняешь?
Mikhail
Андрей
народ. доброго времени суток, появилась необходимость написать crm типичная задача, учет товара склада , логистика... накладные , приход..расход, может кто подсказать туториалы..как ее вообще проектировать?
Андрей
с какой стороны подойти , так сказать
Mikhail
func main() {
for _, arg := range args {
go RunBinary(binary, arg, env)
}
}
func RunBinary(binary string, args []string, env []string) {
execErr := syscall.Exec(binary, args, env)
if execErr != nil {
RunBinary(binary, args, env)
}
}
Правильный ли это способ перезапуска упавшей горутины?
Andrei 🦉
нет https://github.com/golang/go/issues/15304
Andrei 🦉
при большом количестве падений у тебя отвалится вся программа
Andrei 🦉
оберни это все в бесконечный for
Andrei 🦉
вместо рекурсивного вызова
Mikhail
for {
execErr := syscall.Exec(binary, args, env)
}
Примерно так?
Andrei 🦉
да, и выход из цикла при err == nil
Mikhail
Andrei 🦉
значит этого кода достаточно)
Mikhail
Андрей
мой вопрос остался без ответа:(
Andrei 🦉
Andrei 🦉
развернутую бизнес логику на нем писать - та еще боль
Андрей
Мне понять как проектировать сначало надо, написать могу, что на го, что на flask, либо смешать, не суть,важно, важно сейчас спроектировать это все
Андрей
Вопрос откуда копать
Андрей
@repentant_gopher. Мне по проетированию инфа нужна ...
Андрей
Как это все сделать правильно
Mikhail
https://gist.github.com/meehalkoff/bdc2bd1b3a117990903579c2bfc33b72
что то все же идет не так у меня с горутинами 😞
Андрей
Кстати можно ввиде апи сделать, а потом на js веб морду натянуть на нее, но опять таки, суть в том, как спроектировать
Andrei 🦉
Andrei 🦉
пологируй ошибки запуска syscall.Exec, возможно streamripper просто не хочет запускаться более чем в одном экземпляре
Andrei 🦉
ну и всегда можно более полно контролировать процесс запуска сторонней утилиты с помощью exec.Command