heavycharged
хотя не
Alexandr
просто я рассчитывал что он сканирует всю папку в поиске пакета main
Zver
go build main.go
напишите просто go build
Anton
напишите просто go build
это наверное сработает только в случае, если у него проект под GOPATH хотя могу ошибаться...
Zver
просто я рассчитывал что он сканирует всю папку в поиске пакета main
Когда пишите go build, тогда именно собирает все.
Alexandr
спасибо за помощь
🎉
go build main.go
go run main.go check.go - в принципе пока ходил ответили...
Igor
а ошибки логгируете? может с телом запроса что-то?
Ошибок нету, проверял, заголовки кроме type не могу показать, потому и магия
Wingman
А никакого способа recover'нуть дочерние горутины нет, правильно я понимаю? Только плодить в них самих рековеры?
Daniel
нету, конечно
Wingman
Логично, но очень прискорбно :)
Daniel
нигде нет
Andrey
то есть нигде нет?
Илья
аналогов монитора не предусмотрено
Roman
рековырять в самих горутинах и слать в канал ошибок, без блокировки
Anonymous
есть консольная команда, в ней инициализируется коннект к mongo и соединение с nats. Мы запускаем несколько go рутин, передаем в каждую рутину ссылки на коннект к базе и nats, обрабатываем данные.. Досталась по наследству интересная конструкция: вместе со всеми нужными параметрами, в go рутины передается mutex. Кто-нибудь может объяснить насколько вообще это правильно, или может это совсем не нужно. package main import ( "gopkg.in/mgo.v2" "sync" "runtime" ) func main() { mg, _ := mgo.Dial("localhost") mu := new(sync.Mutex) go WorkerOne(mg, mu) go WorkerTwo(mg, mu) go WorkerThree(mg, mu) runtime.Goexit() } func WorkerOne(mg *mgo.Session, mu *sync.Mutex) { mu.Lock() defer mu.Unlock() // Work with mg // ... // ... } func WorkerTwo(mg *mgo.Session, mu *sync.Mutex) { mu.Lock() defer mu.Unlock() // Work with mg // ... // ... } func WorkerThree(mg *mgo.Session, mu *sync.Mutex) { mu.Lock() defer mu.Unlock() // Work with mg // ... // ... }
Daniel
это не дает одновременно работать более, чем одному воркеру
Daniel
накуа тогда горутины - не ответит и автор шедевра
Anonymous
спасибо за ответ, понятно теперь cтало )) выпиливаем mutex. посоветуйте, пожалуйста, как правильно нам передать коннект к базе в несколько go рутин и можно ли вообще так делать ?
Anonymous
Господа гоферы, есть вопрос, который мучает меня с недавних пор, что стоит изучить, чтобы быть в тренде (сейчас работаю питонистом). На работе в стеке есть Erlang, но смотрю в сторону Golang. Что посоветуете, чтобы не потерять время?
Anonymous
c++
на плюсах в универе писал. осточертело)
Anonymous
го слегка перспективнее
просто erlang реально крутой язык, но я не хочу изучать функциональное программирование и смотрю в сторону go
heavycharged
я б с удовольствим поработал с erlang, ознакомился бы с ним, если бы было время.
andrew
можно небольшой оффтоп? Просят поднять sftp сервер с chroot, но в веб админкой для управления пользователями. Может есть готовые подобные решения? Или брать любую готовую админку и допиливать?
andrew
вообще, как обычно "правильно" делают управление пользователями?
andrew
значит брать и допиливать админку... похоже вариантов нет. Спасибо!
Alexander
У какой нибудь webmin не пойдет?
Alexander
Или еще что-то из этой породы
🎉
webmin - древняя какашка, веста на пыхе - кривая какашка, из альтернатив но тоже какашечных всякие ispmanager'ы, cpanel и прочее...
Anonymous
Мб Rust?
не, тут выбор стоит только между erlang и golang
Kirill
Понятно
🎉
У раста вроде нет сборщика мусора?
andrew
webmin - древняя какашка, веста на пыхе - кривая какашка, из альтернатив но тоже какашечных всякие ispmanager'ы, cpanel и прочее...
вот веста сейчас, но допиливать её пхп удовольствие - не из приятных, думал есть красивый способы. Получается что нет.
🎉
Веста гавно, ставил разок только из-за того что лень было ручками почту ставить, а оно ещё и кривое оказалось, в топку, лучше руками чем всякое гэ в систему тащить... альтернатив нормальных сейчас нет.
Anonymous
Мб Elixir?
Эликсир не смотрел
Daniel
а что эликсир? он даже не функциональный
heavycharged
мб clojure)
steban
Функциональный
steban
Это ерланг с почти нормальным синтаксисом
🎉
https://github.com/cockpit-project/cockpit
На джабаскрипт? ))
steban
Смишно, ага))) Но там, ИМХО, как раз правильное разделение между фронтом и бэком (для такого продукта)
heavycharged
))
steban
http://cockpit-project.org/ideals.html socket activation для демона, сам демон крохотный и тупой, бахатый юай
.
Это ерланг с почти нормальным синтаксисом
Ruby-подобный синтаксис - та ещё мерзость
steban
Если выбирать в каком синтаксисе писать под BEAM, я скорее выберу elixir чем erlang
steban
Для BEAM есть ещё кучка компайлеров разной степени живости. Elixir и его тулинг для меня выглядит наиболее симпатично
Nik
народ, кто тыкал paho mqtt
heavycharged
никто не юзал, в телеграме есть поиск, можешь заюзать. в 2017 был вопрос, никто не ответил (вроде)
G72K
вот это память
heavycharged
это поиск))
G72K
вот это альтруизм за каждого искать поиском :)
heavycharged
я просто видел, что он уже спрашивал этот вопрос пару дней назад)) решил проверить не путаю ли я чего
Roman
А вакансии сюда можно скидывать, или только в https://t.me/golangjob?
Vladislav
доброго времени суток. Тут за нубские вопросы сильно бьют?
heavycharged
не бьют
Vladislav
не бьют
Тогда, подскажите, пожалуйста. У меня есть файл file.zip, мне его нужно прочитать чтобы получился объект io.Reader. Как это правильно сделать?
heavycharged
так zip.OpenReader()?
heavycharged
он возвращает ReadCloser, который включает в себя Reader и Closer
heavycharged
или вам прямо io.Reader нужен?
Vladislav
io.Reder
Vladislav
хотя он (Closer) же мешать то не будет?
heavycharged
ну да, если вам нужен Reader, то ReadCloser ему соответствует (в избытке, есть и Closer)
heavycharged
если бы вам из Reader нужен был ReadCloser, другое дело.
Vladislav
если бы вам из Reader нужен был ReadCloser, другое дело.
Ага. А в каком пакете оно находится?
heavycharged
оно - это кто?
Vladislav
оно - это кто?
zip.OpenReader()