Илья
еще раз, в обработчике вы закрываете коннект, сразу же
hamper 𓅝
А кто нибудь знает, в bolt если в одной транзакции записать ключ и вызвать Stats(), то KeyN будет новое число ключей возвращать или от прошлой транзакции и он показывает точное число или приблизительную оценку?
Ivan
Ну а чем плохо? Всё равно проксировать надо, а тут получается все из коробки.
Все прогрессивные умы направлены на запуск микросервисов, а тут апп сервер всё-в-одном. Ну то есть в kubernetes + go приложения в контейнерах — апп сервер не сильно нужен.
Anonymous
Есть ещё какие-то методы блокировки запуска двух программ кроме lock-файла и метки в реестре?
hamper 𓅝
Есть ещё какие-то методы блокировки запуска двух программ кроме lock-файла и метки в реестре?
Продвинутый лок файл: писать в файл pid процесса, при запуске нового проверять, существует ли вообще еще тот процесс (на случай, если что-то где-то упало).
Anonymous
Угу, я это и имел ввиду
Anonymous
в линьке так вроде, не?
Anonymous
pid файлы
Anonymous
Под маздай нужно
Mikalai
а в маздае нет pid'ов чтоли ?
Мерль
Optimising Algorithms in Go For Machine Learning - The Hashing Trick @Jamesebowman #golang #machinelearning… https://twitter.com/i/web/status/905830776931012609
Anonymous
Mikalai
named pipe
Mikalai
но наверное понадобится syscall
Quet
делай тот же мутекс (CreateMutex) с именем и пытайся сделать ему OpenMutex при запуске
Ivan
Под маздай нужно
Емнип там при старте процесса что-то можно было указать и винда сама вместо второй копии открывала запущенное окно. Но это может быть работало только для оконных приложух.
Anonymous
По гуглированию CreateMutex на стаке есть решение
Anonymous
Но мне его сейчас лень даже читать
Anonymous
кто-нибудь использует монады?
Мерль
кто-нибудь использует монады?
Я думаю ты ошибся языком :3
Quet
каждый день...
Anonymous
кто-нибудь использует монады?
Мона́да (греч. μονάδα от др.-греч. μονάς, μονάδος «единица», «простая сущность» от μόνος «один») — согласно пифагорейцам, обозначала «божество», или «первое существо»... Не знаю, сколько нужно принять внутрь, чтобы пользоваться этим.
Anonymous
https://github.com/SimonRichardson/wishful
Мерль
https://github.com/SimonRichardson/wishful
Уродливо, на рефлексии, а главное — не понятно зачем. В Go это абсолютно не работает, система типов просто не предназначена для такого.
Michael
для чего, для монад не предназначена?
Michael
https://dave.cheney.net/tag/monads
Anton
монадки в го? наркоманы!
⏺ Vаdim
Функциональная парадигма, мммм почему бы и нет?
Мерль
Функциональная парадигма, мммм почему бы и нет?
Нет юнионов, дженериков, иммутабельности Ну такое
⏺ Vаdim
https://www.slideshare.net/mobile/GeisonFlores/functional-go-53256805 смотрю
engelbart
Что то мне кажется не взлетит
Artem
Почему?
Владимир
Может кто посоветовать какой нибудь пример CRUD с mongodb и golang ?
Vasily
http://goinbigdata.com/how-to-build-microservice-with-mongodb-in-golang/
Владимир
спасибо
Egor
всем добра утром написал закомпилял тулу, которая работает с нетворком через tls && net modules когда смотришь - работает исправно, запускаю фоново но падает (постоянно через разное время), последнее чё выдавало в консоль откуда запускал "Exit 2" куда копать? если бы было на сях копал бы в буферы, стек, сисколы и тд, а куда копать на го?
Vasily
без стек-трейса падает? без р рантайм-паники ?
Egor
угу
Daniel
так не бывает
Daniel
или вы ошибку забываете обработать, или вы панику перехватываете, но не выводите
Daniel
gometalinter что говорит про ваш код?
Daniel
он довольно параноидально все игноры ошибок репортит
Igor
Если ошибка заигнорена и потом случилась беда - должна же быть паника
Daniel
нет
Daniel
с чего бы
Igor
А с чего бы приложению просто выходить в ОС с кодом 2 без вяского сообщения об рантайм ошибки
Daniel
А с чего бы приложению просто выходить в ОС с кодом 2 без вяского сообщения об рантайм ошибки
ничего об этом не знаю то есть - я вот встроил себе в апликуху kops, и он у себя в недрах так делает, но он и не либа
Mark
Daniel очень кстати тоскливо, что kops не библиотека. Было бы очень и очень круто.
Daniel
ну я сделал из него либу
Daniel
как выйдем в опенсорс - можете полюбоваться
Mark
Очень жду
Daniel
https://kuberstack.com/
Daniel
вот тут будет, видимо
Daniel
или вот тут: https://arilot.com/
Anonymous
всем привет, подскажите быстрый способ понять течет память или нет. На VPSке получается раздуть приложуху до 85% от всего объема памяти, на локалке - ну очень долго я вчеоа бомбил запросами, так и не поднялось выше 1-2%. попробовал net/http/pprof, но так и не понял куда там посмотреть нужно. У кого есть идеи?
Vasily
expvars
Vasily
отдаёт heap и stack
Vasily
и количество горутин
Vasily
подёргать чуток и построить график по результатам
Vasily
в net/http/pprof там надо снять хип дамп, по нему построить inuse_objects и inuse_space там по размеру смотреть можно чег больше всего
Anonymous
в net/http/pprof там надо снять хип дамп, по нему построить inuse_objects и inuse_space там по размеру смотреть можно чег больше всего
вот heap я вчера получал, смотрел topN. А inuse это встроенная команда или где эти показатели там откопать? и чем попроще график строить, может есть готовые тулзы?
Vasily
граф построй
Vasily
go tool pprof -svg -inuse_space /path/to/bin/file /path/to/heap_dump > space.svg go tool pprof -svg -inuse_objects /path/to/bin/file /path/to/heap_dump > heap.svg
Vasily
там понадобится graphviz
Anonymous
спасибо, вы настоящие товарищи) как попробую - отпишусь, если не будет получаться
⏺ Vаdim
Видел тулзу рисует графики в консоли на гоу
Anonymous
Почему линтер выдает предупреждение should not use basic type string as key in context.WithValue?
Daniel
по очевидным причинам
Daniel
контекст один, но доступ к нему есть много откуда
Daniel
запросто разные пакеты могут пересечься по именам ключей
Anonymous
Т.е. для каждого http запроса у меня не создается новый контекст?
Aleksandr
Т.е. для каждого http запроса у меня не создается новый контекст?
в рамках одного запроса к контексту много кто может иметь доступ