Илья
context.WithValue там и все такое
Artem
И вообще контекст соединения там не нужен, все что нужно сделать - делай в хендлере
Denis
https://github.com/jirfag/go-queryset
bebebe
Всем привет, пытаюсь написать кроссплатфомернное приложение на golang, выбираю UI framework, есть проблемы мой кейс - приложение открывается по кейбиндингу, отрисовываться должно быстро Выбирал из этого списка https://github.com/avelino/awesome-go#gui: 1. electron - долго запускается, но есть возможность собрать под все плафтормы без проблем 2. qt - собирается под mac, не собирается под линукс 3. libui - собирается под все платформы, но имеет ОЧЕНЬ куцый функционал, не хватает 4. gtk - не понято, нет docker контейнеров где можно собрать под разные платформы
Constantine️
😄
Constantine️
охххх
Constantine️
почему го?
Constantine️
:D
bebebe
проект на стадии PoC (proof of concentp) стал вопрос на чем писать UI, первым решили попробовать golang, т.к. он запускается на всех нужных нам средах
bebebe
впринципе мне все равно на чем писать, главное что бы была одна codebase и одна технология. если с golang не выйдет, будем пробовать java, или что-либо другое
Oleksandr
Товарищи знатоки, вопрос. https://play.golang.org/p/-Fd--nhIUfs При массированном обращении к InOperationMap.Get() получаю панику. Что не так? Мютексы же расставлены
bebebe
может и не понимаете я и докера запускаю gui приложение. но мой вопрос был конкретно такой: для моего CI нужен механизм собирать это под разные платформы, например libui это позволяет в докер контейнере
Oleksandr
goroutine 5 [running]: runtime.throw(0x6d101a, 0x21) /usr/local/go/src/runtime/panic.go:605 +0x95 fp=0xc42003c9f0 sp=0xc42003c9d0 pc=0x42b425 runtime.mapaccess1_faststr(0x67b440, 0xc4201a4060, 0xc421be1920, 0x27, 0x50d4e0) /usr/local/go/src/runtime/hashmap_fast.go:217 +0x43a fp=0xc42003ca48 sp=0xc42003c9f0 pc=0x40d0ba lsd-reader/util.(*InOperationMap).Get(0xc4201580b0, 0xc421be1920, 0x27, 0x0) /path_to_project/util/inOperationMap.go:27 +0xa0 fp=0xc42003ca88 sp=0xc42003ca48 pc=0x50c400
Oleksandr
в /usr/local/go/src/runtime/hashmap_fast.go:217 выбрасывается сообщение throw("concurrent map read and map write")
Илья
'ээ
Илья
мутекс у тебя не на структуре, а создается под каждую операцию
Илья
и происходит чушь какая-то
Илья
типо https://play.golang.org/p/-rxuaFFPGAR
Oleksandr
Тоесть мне в струкутре определить мьютекс и в каждой операции делать лок/анлок на него?\
bebebe
для gui ябы смотрел в другую сторону
Не подскажите направление?
Илья
Тоесть мне в струкутре определить мьютекс и в каждой операции делать лок/анлок на него?\
ну, я не знаю, чего ты хотел добиться, создавая мутексы под каждую операцию и вешая лок, может у тебя какая-то друга задача
Oleksandr
Спасибо.
Nik
Народ, кто пользовал prometheus клиент? Observer принимает секунды или наносекунды? По доке не понятно
Daniel
time.Duration он принимает
Илья
т.е. наносекунды
Kirill
народ, дайте вопросы на собеседование по golang у кого есть!
"с помощью какой техники производится вызов syscall'ов на linux?" наводящие вопросы - что-либо типа "проводится ли переключение контекста?" и прочие
Kirill
у меня почему-то уже гора людей на этом вопросе провалились
Kirill
гошке-же надо как-то вызывать сисколлы
G72K
А девелоперу на гошке зачем знать как го вызывает сисколы?
Kirill
Какой нелепо поставленный вопрос
🙃 предложи формулировку лучше
Kirill
Какой нелепо поставленный вопрос
только сначала сам ответь)
Constantine️
о боги
Oleksandr
типо https://play.golang.org/p/-rxuaFFPGAR
А можно попросить объяснить что произошло в строках 12-15? Как вышло, что в моей структуре оказались методы sync.Mutex? Это типа extend в go такой?
bebebe
только сначала сам ответь)
Вы просто накидали слов в предложение а в конце поставили знак вопроса. Я не понимаю сам вопрос
Kirill
А девелоперу на гошке зачем знать как го вызывает сисколы?
для понимания стоимости, напривер. для полноценного понимания того, как на проде код работать будет
G72K
гошке-же надо как-то вызывать сисколлы
У вас был хоть раз случай, "напишу по-другому потому что гошечка дергает сисколы по методу Х, вот если б дергала по методу Y , написал бы иначе"
Constantine️
😂
Constantine️
ох Кирилл
Kirill
Вы просто накидали слов в предложение а в конце поставили знак вопроса. Я не понимаю сам вопрос
нескромный вопрос - а сколько у тебя кода в проде крутится, который ты лично написал и сколько у тебя опыта в гошке? :)
Constantine️
тяжко тебе гоферов искать
G72K
для понимания стоимости, напривер. для полноценного понимания того, как на проде код работать будет
У девелопера нету выбора как именно дергать сискол. И очень ограниченный выбор дергать ли сискол вообще. Зачем знание о методах дерганья на практике нужно?
Kirill
тяжко тебе гоферов искать
зато в работе люди, которых я подбираю, очень эффективны
bebebe
нескромный вопрос - а сколько у тебя кода в проде крутится, который ты лично написал и сколько у тебя опыта в гошке? :)
Мой код крутится прямо сейчас на вашей рабочей станции, если она на Линукс или freebsd
Constantine️
зато в работе люди, которых я подбираю, очень эффективны
тут вопрос больше про того, кто тебе нужен
Constantine️
способный разраб или готовый разраб под себя
Constantine️
по этой причине я не понимаю тестовых заданий из предметной области компании
Constantine️
ну допустим, я не знаю ответ на твой вопрос. мне в окно теперь? :)
Constantine️
более того, я даже гуглить его не полезу сейчас )
bebebe
а дай-ка ссылочку на коммит, раз так :)
Мне нужно что то вам доказать?
Kirill
ну допустим, я не знаю ответ на твой вопрос. мне в окно теперь? :)
не, просто я бы тебе некоторые задачи не дал да и всё)
Alexander
И вообще контекст соединения там не нужен, все что нужно сделать - делай в хендлере
не, так не пойдет, тогда мешанина будет в одном месте при работе с ролями
Constantine️
печаль какая, пойду поплачусь )))
Kirill
Мне нужно что то вам доказать?
нет же, я же этого не говорил. мне интересно, с кем я веду подобный диалог, поэтому я вполне спокойно попросил)
Alexander
каким SQL ORM лучше всего пользоваться ?
я gorm пользую из-за автомиграций
Kirill
печаль какая, пойду поплачусь )))
успокойся :))) а вот то, что нужно быстро сверстать, я бы как раз тебе скинул
Constantine️
я gorm пользую из-за автомиграций
брррр, не страшно жить с автомиграциями?
Alexander
брррр, не страшно жить с автомиграциями?
нет, я их через конфиги контролирую
Constantine️
успокойся :))) а вот то, что нужно быстро сверстать, я бы как раз тебе скинул
с учетом того, что я версткой в последний раз занимался в 11 году, это будет крутое решение 👍
Alexander
нет, я их через конфиги контролирую
в dev окружении включены, на проде нет
Oleh
ребята у меня концептуальный вопрос и нужна помощь я делаю какое то подобие игры у меня есть поле с ячейками, есть особи нужно реализовать движение особей (сначала хаотическое) где лучше хранить особей? в самих полях или в отдельной мапе? если хранить только в полях, то есть возможность что при итерации сдвину особь в другую клетку и только потом в эту клетку перейду (итерацией) и опять сдвину (что не хорошо) Решение: хранить в особе количество ходов игры если в отдельной мапе то прийдется дублировать ссылку на особь в клеточку, что бы проверять есть ли там особь (не очень нравится) какой способ лучше? посоветуйте пожалуйста что то и почему оно лучше может какой то другой способ
Constantine️
в dev окружении включены, на проде нет
на прод как миграации накатываешь?
Kirill
с учетом того, что я версткой в последний раз занимался в 11 году, это будет крутое решение 👍
да лаааадно, вот недавно вам скидывали лендинг, запилили же быстро :)))
Daniel
каким SQL ORM лучше всего пользоваться ?
попробуйте reform. скорее всего, у вас все получится, и к вам в проект не придет рефлексия
Alexander
на прод как миграации накатываешь?
ну как правило создаю обработчик под консольную команду чтобы принудительно можно было запустить
Igor
если речь про гошку и линукс, то я не знаю :) это надо лезть и смотреть, что там, прерывание или sysret
скорее вопрос был про блокировки 1) все системные вызовы от любого пользовательского потока в процессе обрабатываются одним потоком уровня ядра 2) каждый поток пользователя во время системного вызова присоединяется к своему собственному потоку 3) во время системного вызова множество пользовательских потоков увязываются с множеством потоков уровня ядра
Constantine️
часть - ты :))
разверни коммиты и посмотри, где я пиксели двигал, а где реактом занимался