Алексей
Сейчас ожидаем прихода возмущённого @bertolu4i Который будет возмущаться по поводу так нелюбимых им дженериков. И я надеюсь, что особого возмущения будут удостоены контракты, которые так похожи на тайпклассы богомерзкого хаскеля.
Andrei 🦉
ну все, смена парадигмы. теперь похоже генерики нужны. та же история что с менеджером пакетов.
воу, кажется курирующему менеджеру в гугле прилетело по шапке и он таки заставил отцов основателей языка посмотреть в сторону нужд комьюнити
Andrei 🦉
глядишь, так лет через 5 го можно будет использовать не только для простеньких CRUD’ов
Alexander
чот толсто уже, коллеги
Andrei 🦉
чот толсто уже, коллеги
наоборот, я рад, что дело сдвигается с мертвой точки
Artem
а когда vgo юзаешь, он бинаркики после vgo install куда пихает?
Kirill
конечно же C:\
Vladimir
народ, а может кто статью на хабр по vgo сделает? прям по доке
Kirill
а когда vgo юзаешь, он бинаркики после vgo install куда пихает?
https://github.com/golang/vgo/blob/045754d578a9e57344a06320e4dadfdec1da6891/vendor/cmd/go/testdata/script/mod_nomod.txt#L12
Aleksandr
народ, а может кто статью на хабр по vgo сделает? прям по доке
по go modules есть статья на хабре например. наслаждайся
Zver
А быть со вложенными пакетами в модулях?
Stepan
Можете что-нибудь доходчивое по мокам скинуть?
Stepan
А то я чет не могу врубиться
Vladimir
по go modules есть статья на хабре например. наслаждайся
Она полностью соответствует реализованному, не в курсе?
Andrei 🦉
Можете что-нибудь доходчивое по мокам скинуть?
в чем затык? моки довольно просты, хоть и ОЧЕНЬ трудоемки в написании
Andrei 🦉
сразу советую использовать моки на кодогенерации, а не рефлексии
Stepan
Я смотрел простые варианты с интерфейсами
Vadim
А я не хочу дженерики(
Алексей
а вот и первые дженерикохейтеры появились
Tigran
да тут полчата дженерикохейтеров
Алексей
да тут полчата дженерикохейтеров
скорее процентов 90 даже
Anton
Добрый день! Подскажите, пожалуйста, как наилучшим образом оптимизировать по времени вот такой вложенный цикл? https://play.golang.org/p/-T0vu26110C
Olzhas
не умеют в дженерики
Roman
посоветуйте какую -нибудь не тяжелую персистентную очередь
Roman
получаем в gin json задания , и складываем в очередь....второй воркер ходит туда и отправляет на железку
Daniel
а вот и первые дженерикохейтеры появились
коллеги, вы задолбали предлагаю следующую схему взаимодействия: 1. вы пишете статью "как я использовал бы генерики, если бы они были в go" 2. вы ее где-нибудь публикуете. да хоть на гитхабе. 3. мы ее обсуждаем, возможно устраиваем голосование "хорошая статья или кг/ам" 4. пока такая статья не обсуждена - я выдаю сутки RO каждому, кто захочет пукнуть в стиле "а в go нет генериков"
Roman
интенсивность заданий до 3 в секунду
Daniel
я не задавал вопроса, коллега
Alexander
интенсивность заданий до 3 в секунду
а условный redis чем не подошел? или нативное надо?
Roman
давно не щупал редис, он умеет сохраняться? у нас критична потеря заданий
Алексей
Хотя вообще то в черновике есть довольно неплохие примеры использования дженериков
Tigran
Аргумент «я боюсь перестать понимать код коллег» не принимается.
Anton
а зачем тут оптимизация?
по тем или иным причинам он отрабатывает у меня около 600ms, что дофига)
Daniel
так а на что он время тратит вы выяснили?
Roman
ок.Спасибо гляну
Tigran
Админ-самодур - горе для чата.
Daniel
Админ-самодур - горе для чата.
а за публичное обсуждение действий модератора у нас бан. хотите поговорить про самодурство - приходите в личку
Andrei 🦉
давно не щупал редис, он умеет сохраняться? у нас критична потеря заданий
редис раз в n секунд форкает себя и дампит текущее состояние на диск, так что потеря сообщений вполне себе возможна
Daniel
легко возможна
Anton
так а на что он время тратит вы выяснили?
я предположил, что на количество операций
Daniel
родина дала вам профайлер, прометеус дала :)
Andrei 🦉
ок.Спасибо гляну
советую глянуть rabbitmq или kafka
Daniel
или nats streaming
Anton
родина дала вам профайлер, прометеус дала :)
хмм...окей просто я думал, что я в принципе что-то неоптимально написал
Daniel
ну как минимум seed надо делать один раз
Anton
ну как минимум seed надо делать один раз
один раз за всю работу приложения в принципе?
Daniel
ага
Roman
да как-бы проектик не такой уж большой для использования rabbitmq и уж темболее kafka :)
Anton
ага
окей, учту, спасибо!)
Olzhas
ну для массивов или слайсов заехал бы функционал типа Array.map|Array.find etc
чтобы не приходилось генерировать такой код для каждой структуры
Alexander
редис раз в n секунд форкает себя и дампит текущее состояние на диск, так что потеря сообщений вполне себе возможна
емнип можно настроить синк на диск на каждый запрос. просто так обычно не делают ибо перфоманс сразу просаживаетя.
Olzhas
простите, я тупой
Alexander
ну вот да, на 3 запросах в секунду можно вообще что угодно заюзать. кафку тащить - ппц оверхед, она даже в одном экземпляре отожрет пару гигов памяти просто чтобы стартануть. кролик еще туда-сюда по ресурсам. а так - можно хоть в файл писать. еще видел что-то нативное на гошке, как раз очередь с персистентностью. я так понимаю там все равно все в одном процессе живет
Anton
ну как минимум seed надо делать один раз
дело было именно в сиде, спасибо больше!)
Anatolii
Всем привет Товарищи, а кто-то имеет опыт использования каких-либо CMS на golang?
Andrei 🦉
Всем привет Товарищи, а кто-то имеет опыт использования каких-либо CMS на golang?
а такое существует в природе? язык вообще не для этого
Alexander
видел Ponzu и что-то еще.
Andrei 🦉
видел Ponzu и что-то еще.
дай угадаю - куча кода на пустых интерфейсах?)
Alexander
имхо. самое близкое к CMS - это hugo на стероидах с плагинами и каким-то онлайн редактором, который умеет в хуки.
Anatolii
еще https://fragmenta.eu/ нашел
Alexander
еще https://fragmenta.eu/ нашел
да-да, имхо и то и то - близко рядом с нормальными cms не стояли
invariance
Хз зачем вам эти голанги, юзайте битрикс, за ним будущее.
Anatolii
Хз зачем вам эти голанги, юзайте битрикс, за ним будущее.
у меня были похожие мысли, что если cms нужна то и го не очень нужен
Aleksandr
не пойму почему нет net/http, ведь он будет на первом месте