Kirill
github.com/gramework/gramework
В ридми есть картинка с такого бенча, на картинке ссылка на сам реп бенча
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Дак а sqlite то в один поток всегда получается, хоть чо тут делай?
Читай параллельно или большими пачками, нормализуй сам(конкурентно). И пиши батчами. Флеймграф посмотрел? Ничего необычного?
engelbart
У меня записи нет вообще, только чтение. 100% сpu да, флеймграф нет, не посомтрел , pprof подцепил там runtime.cgocall - 98.5%
engelbart
engelbart
а есть способ взять дисковую sqlite и пихнутьв сю в памяь?
Zhenja
бэкап/рестор в :memory:
Nafania
а чего бы сразу inmemory базу не юзать? типа https://github.com/tidwall/buntdb
Axm
Там разве нет такой фции addHook? У меня к примеру 1 хук пишет в аутпут, 1 в слак если уровень высокий
я хотел в консоль и в файл одновременно. не нашел такого хука или как это сделать.
Michael
https://github.com/sirupsen/logrus/blob/master/examples/hook/hook.go
Michael
у всех разный гугл что-ли
Axm
https://github.com/sirupsen/logrus/blob/master/examples/hook/hook.go
и что там в файле? пример хука на airbrake?
Michael
что серьёзно? почему бы почитать https://github.com/sirupsen/logrus
Michael
там и примеры и список хуков
Michael
я сильно удивлён такому нежеланию не читать оф доки
Axm
там и примеры и список хуков
замечательно! спасибо! осталось только найти среди этого списка хуков stdout и файл.
Michael
https://github.com/rifflock/lfshook
Michael
и типа так log.Out = os.Stdout
Michael
апи хуков просто дальше некуда
Axm
спасибо
engelbart
а чего бы сразу inmemory базу не юзать? типа https://github.com/tidwall/buntdb
Дык я и переделываю с sqlite , проблема что долго достается
Мерль
IPv6 advantages for end users https://www.reddit.com/r/networking/comments/6m1bfu/ipv6_advantages_for_end_users/
Axm
вот как можно самостоятельно до этого додуматься? ну что за извращенство, почему бы не взять обычные строки форматов, типа dd.mm.yyyy hh:mi:ss? https://stackoverflow.com/a/14106561/529451
engelbart
Суть статьи у провайдера были проблемы с ип4 и ип6 работал лучше
engelbart
круто чо. Ну и с голубинной почтой плюс минус так
engelbart
Особенно с таким везением что таргет сайт по ип6 доступен
Anonymous
Кто-то будет на https://gophercon.com/ ?
Anonymous
замечательно! спасибо! осталось только найти среди этого списка хуков stdout и файл.
см как например сделан slackrus и можно сделать аналогичное для себя
Quiet
Объясните плз counts := make(map[string]int)
Quiet
Мап такой же как в js?
Мерль
Мап такой же как в js?
Почти такой же, да
Quiet
Почти такой же, да
А где же тогда индекс и элемент? И что за инт там тогда
Мерль
А где же тогда индекс и элемент? И что за инт там тогда
так ты создаешь map с ключами типа string и значениями типа int
Мерль
Не понял вопроса
Quiet
Почему тогда не создать типа такого make([int:string])?
Мерль
Почему тогда не создать типа такого make([int:string])?
Такой синтаксис Можно вот так ещё: counts := map[string]int{}
Ivahaev
Мап - это как объект в js
Ivahaev
Только типизированный
Quiet
Мап - это как объект в js
Т.е. это совершенно не мап из js
Ivahaev
Точно
Ivahaev
Просто хэш-таблица
Мерль
А make - это универсальная штука для создания контейнера Слайс, канал, map, вот это всё
Quiet
Такой синтаксис Можно вот так ещё: counts := map[string]int{}
А можно как-то понятнее? Что бы читабельно указывать key type int, value type string
Мерль
А кстати в чем профит по сравнению с литералом?
Я сейчас могу соврать, но емнип в случае литерала контейнер инициализируется лениво, в момент первого обращения к переменной А с помощью make можно задавать ёмкость канала, длину и ёмкость слайса и преаллоцировать место для map, задавая размер вторым параметром
Мерль
А можно как-то понятнее? Что бы читабельно указывать key type int, value type string
По другому нельзя, но и так понятно То, что в квадратных скобках - ключ, после них - value
Quiet
for _, line := range strings.Split(string(data)., ''\n") {
Quiet
Это _ in line?
Oleg
line[_]
Мерль
for _, line := range strings.Split(string(data)., ''\n") {
С помощью _ ты показываешь, что игнорируешь возвращаемое значение, индекс в данном случае
Мерль
Stencil - Simple code templating for Go https://www.laddoo.net/p/stencil/?utm_source=golangweekly&utm_medium=email
🍗
Под линь какие гошные IDE есть ?
分解物質
вообще go не тот язык для которого IDE необходима
Anonymous
atom, vscode, vim, emacs
я бы не стал это советовать
分解物質
Anonymous
по-моему нормальные IDE это https://www.jetbrains.com/go/ или phpstorm c go-плагином
分解物質
Спорное утверждение
ну вот Russ Cox хорошо себя чувствует
分解物質
и Пайк
分解物質
и я
Valentin
Я думаю есть люди, которым и на бумажке код писать ок
分解物質
Спорное утверждение
не, конечно если не иметь дело с дичайшим говнокодом
Anonymous
автоподстановка,. поиск вхождений, использования переменных и интерфейсов, авторефакторинг, шаблоны конструкций - эти все блага цивилизации напрасны? помню аналогичный спор ещё по пхп блокнот vs ide в последний раз году в 2005 наверное был ))
Anonymous
серьезно?
分解物質
Anonymous
не знаю, по-моему проще набрать 2 буквы от переменной и нажать enter
Anonymous
чем имя переменной
Anonymous
поиск вхождений в любом редакторе делается
в редакторах, не поддерживающих синтаксис и плюшки языка не найдутся реально все возможные вхождения.