Влад
во всяком случае был
Alexander
а эластик тут вообще каким боком?
Влад
раньше часть данных тупо в ES валялась
Влад
https://blog.timescale.com/blog/what-is-clickhouse-how-does-it-compare-to-postgresql-and-timescaledb-and-how-does-it-perform-for-time-series-data/
Влад
Если не срать 10к insertов в БД, то на том же TSDB просто удобнее жить потому что это полноценный postgres
Влад
В ноябре там ещё завезли обертку над MATERIALIZED_VIEW для распределённых таблиц, стало вообще отлично.
Ivan
func (h *HashMap[K, T]) Put(k K, v T) { h.m[k] = v }
Ivan
нравица)
🅞leksiy
Приемлемо просаживается, лучше бы реальные кейсы из жизни, где все уперлось в горм, и пришлось пару запросов переписать на dbq и дальше все летало
🅞leksiy
Боюсь спросить, какие продакшн проекты ты видел)
🅞leksiy
Вполне, видел, и все отлично работало.
🅞leksiy
Мне вот интересно твое представление о сервисах и тп. Типа в твоем понимании, если использовать gorm, сразу нагрузка вместо 0.1% на сервис становится 100%, все падает, потому-что новые инстансы приложения не поднимаются, автоскелинг еще не придумали. И на базу нагрузка в районе 0%, а горм уже лежит?)
🅞leksiy
А 27К на гитхабе ему вообще я накрутил XD
🅞leksiy
Не всё, конечно)
Ilnur
где еще вариант о том, что в этом списке нет orm?
Bagasl
go-pg/bun забыл
Ilnur
либо стандартный sql, либо pgx, но это никак не орм
Hellomik
Да
Ilnur
А есть кто-то кто использует entgo.io? Мне любопытно услышать про проблемы
Hellomik
ХЗ 5 лет не играл
Hellomik
😂😂
Ilnur
ну с учетом февраля генератор может оказаться совсем не актуальным
Ilnur
как и многие другие генераторы
Игорь
Ага
Javokhirbek
Hey guys, I am a python developer but recently I learned Golang as well and now I am wondering which go framework to choose for microservices? Thanks in advance
Vladimir
Goland
Emil
Microservices are more about architecture, I guess (Gin for ~api)
Javokhirbek
Gin, echo
Ok, thanks bro
Javokhirbek
👍Got it, I will do more research
Anonymous
case <- quit как эту строку понять?
🅞leksiy
Го тур
🅞leksiy
Ну реально, любую книгу или руководство по го)
Anonymous
это пример из го) просто одно дело в первом case c <-x значение икса передается каналу с
🅞leksiy
Там тоже получается, но никуда не пишется
Anonymous
а quit как канал куда передает значение? в бездну или?
🅞leksiy
Сработает другая ветка select, в этом его задача
Anonymous
на самом деле это можно было проверить) это получается канал просто освобождает "ячейку" условно говоря
Илхом
两个机器人
Emil
@anupkuplu тут снова спам
Иван
шо за китайцы
Ig
Пишет, что бы мы подчинились и признали власть серебряного дракона небес)
Иван
плюс чашка риса и кошка жена
DI
Добрый день. Есть кто-нибудь кто за регулярки шарит?
DI
Добрый день. Подскажите, в чем проблема. Есть регулярка, оно работает, но если использовать квал. *, но никак не могу ограничить одним пробелом или его отсутствием - при двух и выше регулярка просто ломается На скрине с одним спейсом
DI
вот сбитая а сама регулярка [[:alpha:]]+(\s?\&\w+\=(\w+|"\w+"))*
DI
Мне нужно, чтобы лишние пробелы не матчились между save и &
Alexander
Если не срать 10к insertов в БД, то на том же TSDB просто удобнее жить потому что это полноценный postgres
не знаю с посгре, я как с кликхаусом познакомился: надо было писать квартеты интов и мускуль просто обсирался, да и про несколько сот гигов за неделю вместо 10 я молчу. сейчас с кликхаусом я могу любую стату добавить, и тупо не переживать, что оно какое-то там ощутимое место съест
DI
[[:alpha:]]+(\s+?\&\w+\=(\w+|"\w+"))*
проблемы все равно матчаться
Роман
в курсе по голангу на степике, в теме срезов, рассматривается кейс удаления элемента из среза примерно таким образом. Я правильно понимаю, что в этой конструкции первый элемент в квадратных скобках это индекс, а второй - не индекс, а индекс + 1?)
DI
Это индекс, но можешь читать как "от 0 до 5"
Роман
Немного контринтуитивно. Интересно, почему сделано именно так, а не от индекса до индекса.
DI
Пажжи. Я ошибся. Сейчас
Ivan
суть в том ,что того элемента уже не будет в слайсе
Bagasl
это удаление через перезапись
Bagasl
поменяется адрес нижележащего массива, на это нам плевать
Bagasl
и то, может быть и не поменяется
Alexander
счетчики например, быстрее чем мьютекс будет и не надо оборачивать. методы там примерно все понятные. если что-то непонятно - спрашивай. разница с мьютексом кроме скорости, что мьютекс очень старается упорядоченный доступ дать, а тут вообще около вызова специальных инструкций процессора
Alexander
атомики даже по сути в ассемблере реализованы:
Alexander
https://go.googlesource.com/go/+/go1.15.6/src/runtime/internal/atomic/asm_amd64.s#69
Bagasl
Если нет - прошу меня поправить, сам не смог нагуглить инфу
Anonymous
что именно нужно про атомики? я хорошо шарю, могу помочь. надо понимать для чего используются атомики: 1)чтобы управлять состоянием 2)предотвращать рейс кондитишон(так же должно быть хорошее понимание, что это такое) вкратце две горутины долбят одну переменную
Anonymous
ну это так если по фасту
🅞leksiy
ЕМНИП атомики работают на очищении буферов процессора и «свежем» обновлении значения в ОЗУ
Атомики работают на атомарных инструкциях процессора. Например, операции неблокирующего эксклюзивного доступа к памяти
🅞leksiy
https://ru.m.wikipedia.org/wiki/%D0%90%D1%82%D0%BE%D0%BC%D0%B0%D1%80%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F
🅞leksiy
Конечно все от железа зависит
Ivan
select { case <-this.ctx.Done(): return case <-time.Tick(time.Second * 10): this.do() } когда контекст закроется и и функция выйдет из селект, что станет с тикером? он самоудалится?
Bagasl
почитай коммент функции, там всё описано
Ivan
видимо так