Тридцать секунд, USB-флешка и зажатая клавиша Ctrl — этого достаточно, чтобы превратить «надёжно зашифрованный» корпоративный ноутбук в открытую книгу. Никакого подбора паролей, никаких хитрых атак на TPM — просто папка с подозрительным именем и среда восстановления Windows, любезно открывающая командную строку с полным доступом к диску. Читать далее
В прошлой статье я показал, как защищен Open Source проект телеграм-бота. В комментариях меня спросили о иных инструментах и методах проверки в связи с чем, мы вышли к ключевому вопросу: почему, если основная LLM защищена, кастомные боты на ее основе остаются уязвимыми?Базовые LLM…
Google полностью обновила сайт и приложение Gemini. Появился выбор уровня мышления, новый дизайн и модель Flash Lite. Однако у пользователей забрали Thinking модель и сильнее ограничили Pro модель. Читать далее
В статье разберём, как именно раннер решает, что тест прошёл, почему .then без return выполняется уже после теста, почему try/catch в async‑тесте — частый источник ложного зелёного, что не так с forEach и setTimeout внутри тестов и какие инструменты не дают тесту соврать. Примеры на Jest, но контракт у Mocha, vitest и прочих тот же. Читать далее
SpaceWeb в этом году исполняется 25 лет. За это время хостинг из ремесла для энтузиастов превратился в инфраструктурную индустрию, а потом начал растворяться в облаке. Что будет дальше — не очевидно даже тем, кто этот рынок строил.К юбилею мы запускаем серию статей о будущем хостинга,
Типичная ситуация: вы находите проблему в компании. Понимаете, как её решить. Пишете документ, готовите презентацию, объясняете идею руководителю. Все соглашаются: «Да, звучит разумно». И… ничего не происходит.Документ лежит в wiki. Архитектура остаётся прежней. Процесс не…
Экосистема Flutter совершила один из самых значительных скачков вперед. С выходом Flutter 3.44 команда официально сделала Swift Package Manager (SwiftPM) менеджером зависимостей по умолчанию для iOS и macOS, ознаменовав начало конца эпохи CocoaPods.Но это еще не все. Этот релиз также знаменует собой серьезный архитектурный сдвиг в том, как поставляются виджеты Material и Cupertino. Давайте углубимся в детали. Читать далее
Мы не боимся использовать ИИ в разработке. Потому что знаем, как сделать, чтобы изменения в коде не ломали то, что работало до этого. Знаем, как научить ИИ соблюдать требования, а не выдумывать их. И как заставить ИИ писать легкий поддерживаемый код. Рассказываю на конкретном примере. Читать далее
Пока в приложении две роли и три проверки, авторизация умещается в if user.Role == "admin". Но стоит добавить пару ресурсов, ролей и исключений — и условные проверки начинают расползаться по хендлерам, дублироваться и жить своей жизнью. В этой статье разберём, как навести порядок с помощью
Привет, дорогой читатель! Меня зовут Дмитрий, и я более 12 лет занимаюсь веб-разработкой. Так уж получилось, что за это время у меня набралась база клиентов, которые иногда обращаются с той или иной проблемой. Поскольку мой опыт довольно обширный, был среди них один клиент, которого