Для подписчиковПеребор паролей может стать точкой для входа при атаке, но на вебе у этой техники есть множество подводных камней. В этой статье я расскажу начинающим пентестерам, как правильно брутить, какие инструменты использовать и как писать свои брутилки, если готовые не подошли.
Исследователи обнаружили новый MaaS-сервис (malware-as-a-service, «малварь-как-услуга») под названием Stanley. Его разработчики обещают злоумышленникам создание вредоносных расширений для Chrome, способных обойти модерацию и проникнуть в официальный Chrome Web Store.
В первой части было разобрано, как настроить RLS в Go, почему is_local=true спасает от утечек в PgBouncer, и как покрыть это интеграционными тестами. Если вы еще не настроили базовую изоляцию, начните оттуда.Сегодня пойдем глубже. Не будем говорить о синтаксисе. Поговорим об архитектуре. О том, почему RLS - это не просто "удобный фильтр", а нативный механизм инкапсуляции, который решает проблемы распределенных систем и рисков безопасности прямо в слое данных, не раздувая Ops-сложность д…
Вчера я баловался с проектом API, которым занимаюсь уже долгое время. Подобные проекты мы обычно переписываем снова и снова на протяжении многих лет, чтобы поддерживать высокий уровень дофамина от рефакторинга. Вы понимаете, о чём я. На этот раз совершенно внезапно я кое-что осознал. Мне нужно отрефакторить одну вещь. Я достаточно активно пользуюсь UUID, поэтому URL моих ресурсов очень длинные и некрасивые.В зависимости от версии и варианта в UUID есть множество разной информации, но по большей…
В первой части цикла мы разобрались, зачем вообще нужен Capacitor и почему он стал адекватным выбором для кроссплатформенной разработки.Теперь переходим к самому болезненному и интересному этапу: миграции уже существующего веб-приложения.ОглавлениеПреимущества перехода на Capacitor для существующего проектаНедостатки и ограниченияПример миграции старого React + Webpack проектаЧто делать, если проект использует SSR (Next.js)Настройка Android StudioНастройка XcodeМинимальная сборка под AndroidМин…
2026 год на дворе. Нейросети уже пишут музыку, рисуют картины, сочиняют сценарии и даже спорят с вами в комментариях.А вы всё ещё вручную переписываете for на list comprehension? Пора признать: кодинг тоже изменился. Теперь ваш главный навык – не только знать синтаксис, но и уметь чётко и ясно объяснять задачу тому самому ИИ-напарнику, который уже ждёт в соседней вкладке.Но как объяснить, чтобы не получилось “ну ты понял”? Как заставить модель генерировать идиоматичный, чистый и работающий код …
maneto solverМечта об идеальном двигателеМне кажется, я знаю, как должен быть устроен идеальный электродвигатель. Но чтобы это доказать, нужен инструмент.Существующий софт убивал все желание творить:Ansys Maxwell - мощный, но тяжелый и часто просто отказывается запускаться.FEMM - быстрый, но его интерфейс - пример того, как не надо делать UI в 21 веке.SimScale - удобно, но медленно, и бесплатные лимиты кончаются слишком быстро.За зимние каникулы (плюс пара дней) мы написали свой солвер.Почти ве…
Недостаток знаний часто подталкивает людей к чрезмерно сложным решениям, и рано или поздно это отражается на производительности.Возьмем content-visibility: auto. Он дает тот же эффект, что и React-Window, но без единой строчки JS и без увеличения размера сборки. Аналогичная ситуация с современными единицами высоты окна (dvh, svh, lvh): наконец-то приведена в порядок "мобильная" высота, которую годами пытались компенсировать через window.innerHeight.Обе технологии в 2024 году получили бо…
В JavaScript есть уникальная особенность, переменную или функцию можно использовать по коду выше, её объявление:greeting() function greeting() { console.log('Привет Васятка!') }И это не вызовет ошибок! Такое необычное поведения языка, обусловлено механизмом всплытия (бурж: hoisting), который мы подробно разберём в данной статье.Механика всплытияВсплытие работает так: на стадии компиляции кода, все переменные и функции регистрируются в начале своих областей видимости. Всплывают они …