Знакомая ситуация: Mac начинает подтормаживать, а свободной памяти всего пара сотен мегабайт. Но «свободная память» на macOS почти ничего не говорит. Разбираемся, что такое memory pressure, как его прочитать из Swift и почему purge по таймеру только вредит.
Читать далееВ статье разбираем архитектуру Skill Hub: как привязать AI-навык к процессу, роли и разрешённым действиям; что включать в версию; как проверять рекомендации и фактические изменения в системе; когда требовать подтверждение человека и как немедленно отключить неудачную версию. Подход показываем на модельном примере маршрутизации обращений.
Читать далееВокруг оптимизации под генеративный поиск — Generative Engine Optimization (GEO), Answer Engine Optimization (AEO) и LLM Optimization — вырос рынок противоречивых советов: от внедрения нестандартных текстовых файлов для языковых моделей до переписывания документации короткими абзацами по фиксированному числу слов. При сверке с официальной документацией поисковых систем и архитектурой конвейеров Retrieval-Augmented Generation (RAG) выясняется, что многие такие практики либо не влияют на индексацию, либо прямо блокируют показ сниппетов.
Разбираем инженерную механику работы генеративных блоков в поиске (Google AI Overviews, AI Mode и алгоритмы извлечения пассажей), отделяем задокументированные требования поисковых движков от мифов и собираем воспроизводимый чек-лист проверки сайта: от директив обхода и превью до графа сущностей в JSON-LD.
Читать далееФото чужой визитки не должно покидать телефон — так требует 152-ФЗ. Рассказываю, как мы распознаём визитки на Android без облака: PaddleOCR v5 через ONNX Runtime в React Native, почему отказались от LLM, как ускорили снимок с 7,8 до 3 секунд и что ONNX Runtime по умолчанию отправляет в Microsoft.
Читать далееКлиенты пишут в бота MAX, операторы отвечают из Chatwoot на своём сервере, а между ними мост на Python. По дороге выяснилось, что Chatwoot не шлёт вебхуки во внутреннюю сеть, API MAX работает на сертификате Минцифры, а один и тот же ответ норовит уйти клиенту дважды. Ниже о том, как устроен мост и какие решения пришлось принять.
Читать далееСуществует распространенный миф, что WordPress не подходит для enterprise-сегмента и проектов с высокой нагрузкой (HighLoad). В реальности проблема кроется не в самом ядре платформы, а в архитектурных антипаттернах, избыточном использовании плагинов, неоптимизированной структуре базы данных (модель EAV) и отсутствии грамотной стратегии многоуровневого кэширования.
Эта статья представляет собой исчерпывающее руководство по масштабированию WordPress и WooCommerce для проектов, обрабатывающих сотни запросов в секунду (RPS) и миллионы просмотров в месяц, с упором на серверную инфраструктуру, SQL-оптимизацию и объектное кэширование.
Читать далееKubernetes в проде держат 80% организаций по опросу CNCF за 2024 год, против 66% годом раньше. В России адопшн ниже, но того же порядка: около 60% крупных компаний используют Kubernetes. Спор об управлении кластером в облаке обычно сводится к интерфейсу: консоль или CLI вроде eksctl. Но жизненный цикл кластера всё равно должен кто-то исполнять. Именно здесь и проходит реальная граница между инструментами.
В этой статье мы разбираем пользовательский жизненный цикл кластера второго поколения Managed Kubernetes в VK Cloud: создание, нод-группы, масштабирование, обновление версии и аддоны. За точку сравнения берём eksctl как привычный инструмент управления EKS. Дальше — таблица соответствия задач eksctl операциям VK Cloud, HCL-листинги Terraform-провайдера для кластера, нод-группы и аддона, числовые пороги автоскейлинга мастеров, процедура апгрейда со скрытым control plane и список мест, где обе абстракции дают сбой.
Это статья для инженеров, которые выбирают или эксплуатируют managed Kubernetes в российских облаках и хотят понимать, какие операции берёт на себя платформа. Для платформенных команд, переводящих кластеры в IaC. Если у вас самосборный Kubernetes, разделы об апгрейдах и запасе узлов тоже пригодятся: они описывают механику самого Kubernetes.
Читать далееKubernetes в проде держат 80% организаций по опросу CNCF за 2024 год, против 66% годом раньше. В России адопшн ниже, но того же порядка: около 60% крупных компаний используют Kubernetes. Спор об управлении кластером в облаке обычно сводится к интерфейсу: консоль или CLI вроде eksctl. Но жизненный цикл кластера всё равно должен кто-то исполнять. Именно здесь и проходит реальная граница между инструментами.
В этой статье мы разбираем пользовательский жизненный цикл кластера второго поколения Managed Kubernetes в VK Cloud: создание, нод-группы, масштабирование, обновление версии и аддоны. За точку сравнения берём eksctl как привычный инструмент управления EKS. Дальше — таблица соответствия задач eksctl операциям VK Cloud, HCL-листинги Terraform-провайдера для кластера, нод-группы и аддона, числовые пороги автоскейлинга мастеров, процедура апгрейда со скрытым control plane и список мест, где обе абстракции дают сбой.
Это статья для инженеров, которые выбирают или эксплуатируют managed Kubernetes в российских облаках и хотят понимать, какие операции берёт на себя платформа. Для платформенных команд, переводящих кластеры в IaC. Если у вас самосборный Kubernetes, разделы об апгрейдах и запасе узлов тоже пригодятся: они описывают механику самого Kubernetes.
Читать далееКак я собирал свой VPN на Linux и Windows: от четырёх файлов до выдачи профилей через Telegram. Внутри — TLS без интернета, откат ускорения, отдельные сертификаты и полный код. Сейчас у всех всё работает; рассказываю, что пришлось для этого исправить.
Читать далееВы объясняете задачу двум людям одними и теми же словами. Один через час приносит черновик. Второй через день приходит с десятком вопросов, а через неделю выясняется, что понял задачу по-своему. Проще всего решить, что второй слабее. Но честнее признать, что вы говорили на языке первого.
Когда я начинала руководить командами, я считала, что справедливо — это со всеми одинаково: одинаково ставить задачи, хвалить и критиковать. На деле я со всеми говорила так, как удобно мне: быстро, коротко, без «как дела». Половине команды это подходило. Вторая половина команды не всегда делала то, что было нужно, и я долго не понимала почему.
Читать далееИИ выполнил задачу, но при просмотре изменений разработчик нашёл в решении лишнюю работу. Она могла остаться незамеченной: по его оценке, сама по себе эта проверка не вызвала бы ощутимого замедления игры.
Читать далееНедавно Алексей Ахмеев, руководитель Управления информационной безопасности Своего Банка, выступил на Практическом интенсиве по информационной безопасности для CIO, где затронул тему, с которой рано или поздно может столкнуться любая компания: как действовать, когда ИБ-инцидент уже произошел, а руководство ждет ответов.
Алексей с удовольствием поделился материалом с Хабром. Мы собрали основные тезисы его выступления и разобрали десять вопросов, к которым CIO стоит быть готовым в первые часы после инцидента.
Читать далееПривет, Хаброжители! Менее чем за десятилетие глубокое обучение пережило два ключевых этапа. Сначала Python-библиотеки вроде Keras, TensorFlow и PyTorch вывели нейронные сети из лабораторных экспериментов в реальный продакшен. Затем LLM и другие инструменты генеративного ИИ преобразовали жизнь бизнеса и общества. Франсуа Шолле, создатель библиотеки Keras, и Мэттью Уотсон, занимающийся разработкой Gemini в Google, полностью переработали и обновили книгу, чтобы вы разобрались в устройстве трансформеров, собрали собственную мини-модель GPT и диффузионную модель генерации изображений и дообучили языковую модель методом LoRA.
Читать далееНекоторое время назад мой мир был прост. Каждый день учеба, работа, дом. Никаких переживаний и нововведений. Жизнь как по ровненькой дорожке.
Так было ровно до того момента, как я не попал в реальную IT команду, на свой первый коммерческий проект. На первом же созвоне коллег я понимал буквально через слово. Обсуждали какие-то новые фреймворки, интеграции, легаси, синки и деплои. Меня просто обложили новыми терминами. Было немного стыдно.
К следующему созвону решил подготовиться и добросовестно погрузиться в процесс, чтобы просто не выглядеть глупо, ну или хотя бы поверхностно понимать о чем идет речь. Открыл tg-каналы и профессиональные сообщества. Везде видел примерно одинаковые заголовки, что-то по типу «React всё? Учим новый стек за 5 минут», «Топ-10 инструментов, без которых джуна уволят завтра». А в браузере теперь было куча вкладок. Мозг постепенно превращался в кашу от огромного количества информации и глаз уже начинал дергаться.
Я расскажу вам как пытался объять необъятное, к чему это привело, и как я в итоге разработал личную систему, которая помогла мне сохранить рассудок и начать работать эффективно.
Читать далееВ большинстве языков программирования понятия «истина/ложь», «значение есть/значения нет» и «успех/ошибка» живут в разных мирах. Для первого существует примитив bool и конструкции if/else, для второго — Option<T> (Maybe a), для третьего — Result<T, E> (Either a b). У каждого из них свои конструкторы (true/false, Some/None, Ok/Err) и свой набор комбинаторов.
Системный язык программирования Edva, спроектированный без единого ключевого слова, сводит все бинарные исходы к единому примитиву на уровне системы типов — алгебраическим разветвлениям (Algebraic Ramifications, или коротко — Rams).
Ссылки
Погрузиться в заполярьеВсем привет!
Меня зовут Михаил Поливаха, я технический лидер проекта Axelix. Недавно мы перешагнули отметку 10 000 загрузок в месяц. Мы сами разрабатываем инструмент для работы со Spring-приложениями, поэтому вопросы релизных циклов, поддержки версий и обновления зависимостей для меня не абстрактная теория. С ними приходится сталкиваться и в роли пользователя Spring, и в роли разработчика Open Source-проекта.
А начать я хочу с ситуации, которая, я думаю, знакома многим. Релиз уже в плане, фича написана, тесты зелёные, сборка собрана. Осталось прогнать последний пайплайн и выкатить изменения. И вот на шаге SCA всё становится красным: в одной из зависимостей нашли уязвимость.
Ну ладно, бывает. Сейчас поднимем patch-версию, заберём исправление и поедем дальше. Для того patch-релизы и существуют, верно?
Открываете Maven Central, смотрите на свою линию Spring Boot, а следующего номера там нет. И, что гораздо хуже, уже не будет.
Допустим, у Вас Spring Boot 3.5.16. Это последний открытый релиз линии 3.5, он вышел 25 июня 2026 года. Следующий номер, 3.5.17, в календаре Spring есть, но помечен как enterprise. То есть патч существует. Проблема в том, что Ваш пайплайн смотрит на Maven Central, а туда этот патч не попадёт.
В этот момент почти обязательно находится коллега, который говорит: «Так 3.5 же LTS! Как это патча не будет?»
Читать далееЯдро 0.1.7
Новые протоколы. Ядро само работает с серверами, которые раньше были серыми:
VMess (TCP, TLS, WebSocket, HTTPUpgrade), ссылки vmess:// в обоих видах и JSON-подписки (#5);
Trojan поверх TLS или REALITY, по TCP, WebSocket или HTTPUpgrade, TCP и UDP, ссылки trojan:// и JSON-подписки Xray и sing-box (#6);
TrustTunnel (HTTP/2), ссылки tt:// и JSON-подписка эндпоинта;
VLESS поверх WebSocket и HTTPUpgrade (type=ws / type=httpupgrade).
Совместимость проверена на настоящих Xray 26.10.31 и sing-box 1.14.4.
Читать далееПрезентация отчета — не финал. В T2.Digital мы посчитали, что происходит с результатами исследований дальше: сколько артефактов доезжает до прода, сколько оседает в бэклоге, а сколько уходит в стол. Рассказываем, как устроена наша метрика Оценка Влияния Исследований, а также разбираем несколько альтернативных подходов к измерению вклада исследований
Читать далееКогда мы говорим о развитии команды, часто всё сводится к довольно понятному набору действий: есть карта компетенций, сотрудник оценивает себя, руководитель выставляет оценки, затем появляются цели развития, курсы и планы на квартал. Все заполнили, со всем согласились — и разошлись работать.
Но часто появляется вопрос: а что дальше? Как сделать так, чтобы всё это не осталось циферками в Excel, а действительно поменяло команду и повлияло на бизнес?
Читать далееЗнаете это чувство, когда читаешь статью про локальные LLM и думаешь: «А, ну это же просто. Поставлю Ollama, тяну модель, и у меня уже свой ИИ-агент, который знает весь код»?
Я думал именно так.
Меня зовут Егор Лаптев, я QA Fullstack Java в SENSE на проекте крупного российского банка. У меня MacBook Pro M2 Pro с 32 ГБ RAM: не topical машина, но для разработки рабочая лошадка. Даже не подозревал, что через 20 минут после запуска модели ноутбук будет звучать как истребитель на взлёте, а температура процессора будет такой, что можно было бы варить яичницу на крышке.
Это история о том, как «просто запустить локально» превратилось в инженерный проект с бюджетом, расчётами и одним почти сгоревшим ноутбуком.
Читать далее