Архив за 10 мая 2026

У кого на сервере крутится Xray, рано или поздно сталкивается с ошибками вerror.log: обрывы, таймауты, несовпадение SNI, исчерпанные попытки переподключения и прочая диагностика. Смотреть «хвостом» в консоли можно, но это плохо масштабируется: хочется понимать причины, динамику, кто к нам ломится — и желательно без тяжёлого стека вроде ELK на домашней VPS.

Я собрал XrayPulse — небольшой дашборд под эту задачу и залил на githubЧитать полностью »

Термодинамика жизни

Второе начало термодинамики гласит: энтропия замкнутой системы не убывает. Любой сложный порядок — будь то живая клетка или работающий двигатель — это локально пониженная энтропия. Чтобы поддерживать такой порядок, его нельзя просто «сохранять»: необратимые процессы деградации идут постоянно и самопроизвольно. Порядок требует непрерывного восстановления.

Но восстановление порядка означает локальное уменьшение энтропии — а это возможно лишь в том случае, если система открытаЧитать полностью »

Когда я начал разбираться, чем в мире опенсорса можно закрыть задачу ASOC / Vulnerability Management, выбор оказался довольно грустным. По сути единственный известный вариант это DefectDojo. Сам я его в проде не тащил, но от коллег регулярно слышал одну и ту же боль: на больших объёмах он начинает захлёбываться, и тебе просто больше не хочется заходить, а аналогов с человеческим видом и БДУ ФСТЭК «из коробки» в опенсорсе я просто не нашёл. Так и появилась моя ASOC-платформа: Go + PostgreSQL + Redis Streams + React, развёртывание одной командой docker compose upЧитать полностью »

Я решил проверить, на что способен мой старый компьютер с Radeon RX 580 под управлением Fedora. В этой статье я пошагово разберу, как завести современный ИИ-стек (Ollama, n8n, Open WebUI) через Vulkan без боли с ROCm, и почему 15-35 токенов в секунду на железе 2017 года — это реальность, доступная каждому.

Мой компьютер у меня с 2018 года. FedoraЧитать полностью »

Если вы не стыдитесь свой код, написанный полгода назад — значит, вы недостаточно выросли как разработчик — «Дядюшка Боб»

Для кого эта статья?

Для того, кто только начинает и уже чувствует: «что-то здесь не так, но как правильно — никто не объяснил».

А еще — для того парня, которым я был много лет назад. Который только начинал, радостно накидал компонентов в src/components, порадовался, что всё работает, закрыл задачу и пошел пить чай. А через три месяца открыл этот же проект и не узнал собственный код.

Если вы узнали себя — эта статья для вас.

Введение: Проклятие выбора и гибĸости React

Читать полностью »

Вот гляжу я на свою трёхцветную кошку и, помимо умиления, чувствую любопытство относительно её чудного окраса. Кажется, ткни лениво пальцем в крутящийся глобус и попадёшь в страну, где эти кошки (в ~99,97% случаев — самки) считаются символом, вестником, а то и уполномоченными за счастье, удачу и богатство.

Тайны трёхцветных кошек - 1

Читать полностью »

Уровень: middle/senior мобильная разработка, React Native, SQLite Стек: Expo SDK 54, React Native, expo-sqlite, drizzle-orm, AsyncStorage, TypeScript Что внутри: архитектура, код из продакшна, грабли, цифры

Вступление

Я делаю мессенджер ONEMIX на React Native. К моменту, когда я начал писать этот пост, в нём уже больше десятка экранов, групповые WebRTC-звонки через LiveKit, E2E на Double Ratchet + Sealed Sender, push-нотификации с cold-start навигацией и десктоп-версия на Electron. Но самым важным куском, который определяет ощущение от приложения, оказался не звук и не видео. А то, насколько быстро открывается чат.

Читать полностью »

Самая дорогая ошибка моего B2B SaaS имела ровно одну строчку

```python
  # app/config.py
  TENANT_ID = "tenant-1"
  ```

Когда у меня был один тенант, всё работало корректно. На втором — половина админ-сущностей (врачи, услуги, прайс-листы) начала пропадать из интерфейса клиента. Не «не сохраняться» — а появляться в БД с чужим tenant_id. Я полтора дня смотрел на эту мистику, прежде чем понял: 30 endpoint’ов берут tenant_id из closure из config, а не из user.tenant_id. Очевидно в ретроспективе. Совершенно невидимо во время первого пилота.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js