Вы знаете, что обычные сетевые библиотеки Go начинают «тяжело дышать», если их нагрузить десятками тысяч соединений? Неважно, делали вы HTTP API или свой TCP сервер — дефолтные инструменты вроде net всегда имеют свои лимиты. Тут-то хорош зайдет Netpoll — библиотека, которая позволяет серверам обрабатывать сотни тысяч соединений одновременно и при этом не терять в производительности.Почему Netpoll?Если вы уже успели поиграться со стандартной библиотекой net, то знаете: она классная... до поры до…
Что делать, если сервис на проде внезапно лег, а куда копать — непонятно. Знакомая ситуация? Запускать отладчик ой как страшно, но иногда это единственное решение. Как подготовиться и избежать фиаско? Несколько полезных советов дал ведущий инженер платформы крупного e-commerce сервиса. А еще в нашей подборке — хардкор без хардкода на платформенном сервисе с CEL в конфиге и осознанный, но безболезненный переход на Ginko/Gomega для смелых Go-тестировщиков.Платформенный сервис без хардкода: CEL в …
ВведениеПри знакомстве с Go, наверное, первое, что узнаешь, так это о возможностях параллелизма. Насколько просто писать многопоточный код на этой технологии. В обеспечении этой простоты не последнюю роль играет наличие такого типа данных, как каналы, которые обеспечивают взаимодействие горутин - легковесных потоков Go. Чтение и запись в этот тип данных приводит к блокировкам, благодаря которым удаётся управлять многопоточностью. Но помимо очевидных операций над каналами их ещё можно закрывать.…
Нахожусь в процессе написания механизма торгового робота, работающего на Московской бирже через API одного из брокеров. Брокеров имеющих своё АПИ для МосБиржи катастрофически мало — мне известно только о трёх. При этом, когда я стал публиковать модули робота (и полностью выложу готовый механизм робота на GitHub), то стал получать непонимание — например, мне писали в комментариях — зачем придумывать велосипед, когда уже есть QUIK — популярная российская платформа для биржевых торгов. В Квике уже…
ВведениеВсе так или иначе сталкивались с функцией или методом, которая принимает объект и свойство в виде строки с которым нужно что-то сделать. Пример:updateDate(user, "date");И когда изменяются свойства объекта (user.date → user.birthday), компилятор его нормально скомпилирует и мы лишаемся возможности отловить баг на стадии разработки.ПроблемаЧто в рабочих, что в пет-проектах, использую библиотеку Element plus. У него есть компонент ElTable c атрибутом date, принимающий список объект…
В процессе разработки UI для игр Forza Horizon 3 и Forza Motorsport 7 я имел возможность поработать с потрясающими акриловыми матовыми элементами дизайна. Вот пример из Horizon 3:Вдохновлённый этим дизайном, я захотел создать похожий эффект при помощи HTML. В этом посте я расскажу о своих попытках создания красивого эффекта стекла, а также представлю пример кода и ассетов для тех, кто захочет попробовать реализовать эту методику самостоятельно. Вот как выглядит готовый результат:Готовый кодПреж…
ВступлениеПосле шумихи с Notion все ринулись кто куда, но так сложилось, что по большей части все стали смотреть в сторону Obsidian. И Хабр заполонили статьи про Obsidian и про плагины для Obsidian.Правда, к моему сожалению на техническом ресурсе Хабр я почему-то не нашел ни одной статьи о том, как написать свой собственный плагин, а не как использовать кем-то созданные решения. Я считаю это либо досадным недоразумением либо своим неумением использовать поиск Хабра. Накидайте мне в комментарии,…
Simple, unified interface to multiple Generative AI providersaisuite Simple, unified interface to multiple Generative AI providers. aisuite makes it easy for developers to use multiple LLM through a standardized interface. Using an interface similar to OpenAI's, aisuite makes it easy to interact with the most popular LLMs and compare the results. It is a thin wrapper around python client libraries, and allows creators to seamlessly swap out and test responses from different LLM providers w…
Специалисты Microsoft заявляют, что конфисковали 240 доменов и нарушили работу фишингового сервиса ONNX, работавшего по модели «фишинг как услуга» (Phishing-as-a-Service, PhaaS). Также исследователи обнародовали данные египтянина, который предположительно управляет ONNX.