heavycharged
хотя не
Alexandr
Alexandr
просто я рассчитывал что он сканирует всю папку в поиске пакета main
Anton
напишите просто go build
это наверное сработает только в случае, если у него проект под GOPATH
хотя могу ошибаться...
Zver
Alexandr
спасибо за помощь
Zver
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. Что посоветуете, чтобы не потерять время?
Daniel
Daniel
Timur
Anonymous
c++
на плюсах в универе писал. осточертело)
Anonymous
го слегка перспективнее
просто erlang реально крутой язык, но я не хочу изучать функциональное программирование и смотрю в сторону go
heavycharged
heavycharged
я б с удовольствим поработал с erlang, ознакомился бы с ним, если бы было время.
andrew
можно небольшой оффтоп? Просят поднять sftp сервер с chroot, но в веб админкой для управления пользователями. Может есть готовые подобные решения? Или брать любую готовую админку и допиливать?
andrew
вообще, как обычно "правильно" делают управление пользователями?
Andrey
andrew
значит брать и допиливать админку... похоже вариантов нет. Спасибо!
Alexander
У какой нибудь webmin не пойдет?
Alexander
Или еще что-то из этой породы
🎉
webmin - древняя какашка, веста на пыхе - кривая какашка, из альтернатив но тоже какашечных всякие ispmanager'ы, cpanel и прочее...
Kirill
🎉
Anonymous
Мб Rust?
не, тут выбор стоит только между erlang и golang
Kirill
Понятно
🎉
У раста вроде нет сборщика мусора?
andrew
🎉
Веста гавно, ставил разок только из-за того что лень было ручками почту ставить, а оно ещё и кривое оказалось, в топку, лучше руками чем всякое гэ в систему тащить... альтернатив нормальных сейчас нет.
steban
Daniel
а что эликсир? он даже не функциональный
heavycharged
мб clojure)
steban
Функциональный
steban
Это ерланг с почти нормальным синтаксисом
steban
🎉
steban
Смишно, ага)))
Но там, ИМХО, как раз правильное разделение между фронтом и бэком (для такого продукта)
heavycharged
))
steban
http://cockpit-project.org/ideals.html
socket activation для демона, сам демон крохотный и тупой, бахатый юай
steban
Если выбирать в каком синтаксисе писать под BEAM, я скорее выберу elixir чем erlang
steban
Для BEAM есть ещё кучка компайлеров разной степени живости.
Elixir и его тулинг для меня выглядит наиболее симпатично
Nik
народ, кто тыкал paho mqtt
heavycharged
никто не юзал, в телеграме есть поиск, можешь заюзать. в 2017 был вопрос, никто не ответил (вроде)
G72K
вот это память
heavycharged
это поиск))
G72K
вот это альтруизм за каждого искать поиском :)
heavycharged
я просто видел, что он уже спрашивал этот вопрос пару дней назад)) решил проверить не путаю ли я чего
Nik
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
heavycharged
оно - это кто?