Kirill
Я что-то не видел такого поведения
Artur
ps -M -p $(pidof scanner) | wc -l
Artur
я бы понял если бы у меня сишный днс резолвер блочился
Artur
но у меня голые ip
Artem
есть рекомендации по mqtt клиенту?
Artem
https://golanglibs.com/category/mqtt?sort=top
Aleksandr
https://dave.cheney.net/2018/07/12/slices-from-the-ground-up
Alex S
Товарищи, можно ли извлечь профит из использования в структуре _? Я имею в виду: type BlackBox struct { _ int _ bool _ string }
Илья
если знать, что такое struct align, может быть получится
d
если знать, что такое struct align, может быть получится
Не могу сообразить как это может там пригодиться?
d
Какую проблему решить
Илья
https://dave.cheney.net/2015/10/09/padding-is-hard
Anonymous
Не могу сообразить как это может там пригодиться?
Очень просто, вот у тебя есть протокол (бинарный). Каждый пакет имеет четкий размер. Ты определил структуру, и сразу в нее все читаешь. А те поля значения которых ты не знаешь, делаешь просто _
Илья
кстати отличный пример
Daniel
это единственное применение - расширить структуру на размер поля, и не создать при этом собственно поля
Anonymous
но ты, конечно, идиот, раз не воспользовался уже имеющимися бинарными протоколами, а написал свой, довольно тупой...
Это был лишь абстрактный пример, не более того :) К тому же, есть разные кейсы когда готовые решения не подойдут по разным причинам, и нам, идиотам приходится изобретать свои собственные костыльные и тупые решения )
Daniel
не-не-не. вот этого точно не надо делать никогда - изобретать бинарный протокол, который работает на кастинге указателей
Daniel
это пусть це-два-креста-господа делают
Anonymous
ну, у нас это и было в це без крестов :D
Anonymous
Проприетарщина, мать её ...
Daniel
и у меня было, но я написал парсер честный, а не кастинг указателей. кстати, оказалось, что производительности парсера достаточно
Daniel
я, правда, и не мог написать кастинг - из це приезжали упакованные структуры, а в go упаковки нет
Anonymous
Я, слава богу, пока не сталкивался с этим в go
Anonymous
но в сях наелся
Vladimir
Ась?
Denis
В чем хранить сессии? Залез в исходники mux, там сессии в обычной мапе хранятся, не конкурентной. Есть готовые варианты поэффективнее мьютекса?
Roman
Все равно твой говно-код займёт дольше времени, без обид и ничего личного
Denis
Блокировать всю мапу чтобы закинуть данные в одну ячейку? Мне кажется слишком неффективно
Roman
Нет, это правда жизни
Denis
Вообще меня больше интересует мапа в мапе. Я не буду блокировать мапу внешнюю, а буду только внутреннюю. Тогда это тоже небезопасно?
Roman
Вообще меня больше интересует мапа в мапе. Я не буду блокировать мапу внешнюю, а буду только внутреннюю. Тогда это тоже небезопасно?
Можешь смотреть в сторону sync.Map. Или в сторону шардинга мап. Создаешь массив мап, скажем 1024. Дальше при любой операции вычисляешь хеш от ключа, и номер мапы от хеша. И лочишь мютекст для только той одной мапы, к которой обращаешься.
Roman
https://github.com/orcaman/concurrent-map/blob/master/concurrent_map.go
Denis
Преждевременная оптимизация - зло
спасибо... просто хочется найти идеальный вариант
Denis
или услышать ответ как это делают взрослые дядьки на хайлоаде?
Daniel
Идеальный - мапа с мутексом
Daniel
Взрослые дядьки смотрят на pprof
Антон
https://github.com/orcaman/concurrent-map/blob/master/concurrent_map.go
// A "thread" safe string to anything map. type ConcurrentMapShared struct { items map[string]interface{} sync.RWMutex // Read Write mutex, guards access to internal map. } Дальше можно не читать
Roman
Не читай
Roman
так работает судя по доке, база aerospike. все круто, но оперативу ест ведрами
Он так работает именно для мап в памяти или data distribution по кластеру?
Anonymous
по всему
Roman
Норм
Anonymous
он шустрый, только я туда пытался блокчейн положить и что-то вроде 200гб оперативы потребовалось на биткоин
alowave#~
оу...
კაცი
переформулируй пожалуйста, а то ЯННП
კაცი
если хочешь сюда девушек позвать, то https://t.me/gogolang
alowave#~
если сама девушка то t.me/grizzlyzeus
Anonymous
Ребят, как можно проверку на длину массива сделать более «правильной» и не засорять множеством if https://pastebin.com/F8GfhgG9
Kirill
ты что-то перепутал
Kirill
len() == 0, значит там нет [0], там вообще ничего нет
Anonymous
Денис
Привет) часто ли в Go используется Protocol Buffers?
Slava
часто
Юрий
Кто чем миграции схемы базы делает?
Yuiry
https://github.com/steinbacher/goose
Денис
Есть примеры у кого загрузки файлов на sftp? чет по докам ничего не понятно((( чтобы прям с подключением к серверу и отправкой файла туда
Pavel
Кто чем миграции схемы базы делает?
Вот этим пользуемся https://github.com/rubenv/sql-migrate
Stepan
Всем привет, подскажите либу для построения графиков
Васильев Виктор
plot?
Васильев Виктор
https://github.com/gonum/plot
Васильев Виктор
Можно сказать стандарт для го
.
Как правильно выставить для БД следующие значения: SetConnMaxLifetime() SetMaxOpenConns() SetMaxIdleConns()
Anonymous
Sebor▂▅▇█▓▒░
Можно сказать стандарт для го
Да и не только для го)
doc
Ну и что значит не хочет?
doc
Что за постановка вопроса такая?
doc
А там эта пара есть? А если другую попробовать
doc
А какой ответ сервера без параметра symbol?
Aleksandr
но я не вижу по ссылке такого эндпойнта