ВведениеПри знакомстве с 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.
Аналитики Volexity обнаружили, что хак-группа APT28 проникла в неназванную американскую компанию через корпоративную сеть Wi-Fi, находясь за тысячи километров от нее. Для этого хакеры использовали тактику, получившую название «атака на ближайшего соседа»: взломали случайную организацию в соседнем здании, находящуюся в зоне действия целевого Wi-Fi.
Microsoft заблокировала распространение обновления до Windows 11 24H2 на компьютерах с USB-сканерами, поддерживающими протокол eSCL, который работает через Ethernet, Wi-Fi и USB-соединения без драйверов.