Вчера pypi.org несколько часов был недоступен из российских сетей. Для кого-то это «подождём», а для CI/CD, прода и просто рабочего дня — это вставший pip install и красные сборки.
Причина системная: pypi.org и хранилище пакетов files.pythonhosted.org живут на CDN Fastly, у которого нет точек присутствия в России и доступ к которому уже не раз ограничивался. Вчерашняя недоступность — не первая и почти наверняка не последняя.
Хорошая новость: чтобы застраховаться, не нужно зеркалировать весь PyPI (это терабайты и постоянная синхронизация). Достаточно поднять лёгкий реверс-прокси на nginx. В этом гайде соберём такой с нуля — с кешированием и прозрачным переключением для pip.
Не хотите хостить сами? Есть уже готовое зеркало — pypi.depkit.ru. Оно работает на российских IP, имеет большой объём кеша под пакеты и отдаёт их очень быстро. Можно просто подставить его в index-url (как — в конце статьи) и пропустить всю настройку. Дальше — для тех, кому интересно поднять своё.
Читать далееКитай за последние десятилетия совершил экономический рывок, который многие до сих пор пытаются осмыслить. Лань Сяохуань, китайский экономист из Пекинского университета, написал книгу, которая разошлась огромным тиражом (более полутора миллионов экземпляров) у себя на родине и была переведена на русский язык. Название — прямая отсылка к Адаму Смиту. Только вместо невидимой руки рынка здесь — видимая рука Партии. И она не просто регулирует, а реально строит экономику, отрасль за отраслью, регион за регионом.
Книга написана китайцем и, что важно, не для пропаганды, а для внутреннего обсуждения. Поэтому в ней почти нет партийных лозунгов. Есть конкретные бизнес-кейсы, расчёты, анализ того, как государство влезло в рынок земли, недвижимость, местные бюджеты, бюрократию, фондовый рынок и внешнюю торговлю, и почему без этой видимой руки ничего бы не взлетело.
Читать далееВ Next.js формы и inline CRUD довольно быстро упираются в одну и ту же развилку. Можно пойти привычным путём и собрать ручной API: отдельный route handler, fetch из клиента, локальные флаги pending, error, success, плюс своя логика для blur, Enter, Escape и закрытия редактора. На небольшом примере это выглядит терпимо. Но как только в проекте появляются создание, переименование, удаление и несколько inline-форм на одном экране, код начинает расползаться не по бизнес-логике, а по обвязке.
Проблема в количестве промежуточных слоёв между формой и записью данных. Отдельный endpoint, отдельный клиентский submit, отдельный формат ответа, отдельные флаги состояния, отдельная синхронизация UI после успеха или ошибки. Для таких сценариев Server Actions в App Router нужны потому, что для форм и inline-редактирования дают более короткую и предсказуемую write-точку.
В проекте примере Workbench покажем на создании, переименовании и удалении проектов, секций и заметок. У формы есть action, серверная функция получает FormData, возвращает типизированное состояние, а клиент живёт вокруг одного паттерна: state, formAction, isPending. В результате форма собирается как связанный цикл, а не как набор разрозненных обработчиков.
Читать далееПрактический разбор агентной разработки с LLM на реальных задачах: от оценки большого legacy-проекта и разработки фичи до мультиагентной миграции тестов и собственного MCP-сервера на Roslyn.
Где ИИ действительно ускоряет работу, где начинает ошибаться уверенно, почему контекст важнее промпта и как меняются роли разработчика, аналитика и тимлида.
Читать далееПривет, Хаброжители!
Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию.
Читать далее
Всем привет! Я, Дианов Стас, product manager. Сегодня разработка фичей и продуктов действительно очень похожа на сложный производственный конвейер, только вместо токарных станков — Jira, пайплайны CI/CD и вечный, леденящий душу вопрос «а когда в прод?» от бизнеса.
На таком «заводе», особенно если мы говорим о финтехе с его регуляциями и ценой ошибки, выживают те команды, которые не только пишут чистый код, но и умеют измерять, как этот код проходит путь от идеи до продакшена. Об этом и поговорим.
Эта статья будет полезна всем: тимлидам, продактам и обычным инженерам, которые хотят понимать, как их работа выглядит на уровне всей системы.
Иногда я переживаю из-за ИИ. Я не буду притворяться, что у меня всё и всегда под контролем и что я понимаю, как будет развиваться этот технологический срез через год-два-три.
Поэтому сегодня в статье препарирую страхи перед ИИ: что именно тревожит людей вне диджитала, что давит на сеньоров за 40 и кто так сильно напугал джунов.
УзнатьС нежностью и умилением вспоминая кухонные радиотехнологии предков, самодельные детали приёмников и передатчиков на заре эры радиовещания — резисторы [1], конденсаторы [2], детекторы [3], грешно не сказать несколько слов и о нейтродине — как о примечательном и своеобразном явлении в тогдашнем радио, тем более что термин этот нам уже не раз попадался (нейтродинные конденсаторы). Отдадим дань и находчивости тогдашних конструкторов, пользовавшихся и творящих из небогатого доступного ассортимента, причём решение удалось сравнительно простым и элегантным, а улучшенное радио легко повторялось сонмом радиолюбителей по всему миру, от Нью-Йорка, «до самых до окраин». Что же это за схема, для чего она была нужна, как работала и чем может пригодиться нам?
Читать далееВ 2026 году уже не нужно гадать, человек писал GitHub-репозиторий или AI. Я сделал Chrome-расширение, которое оценивает репозиторий по прозрачным эвристикам: README, коммиты, структуру файлов и метаданные. Без нейросети, без чёрного ящика — только понятные правила и объяснимый вердикт.
В статье рассказываю, как появился детектор, почему просто “число AI-похожести” оказалось недостаточно, как я перешёл к профилям вроде “AI-код”, “AI-документация” и “код человека”, и какие сигналы реально помогают отличать vibe-coded репозиторий от ручной работы.
Читать далееВозвращаемся к теме мониторинга в Angie. Ранее мы запускали базовую конфигурацию с экспортом метрик в Prometheus и визуализацией в Grafana. В этой статье мы задействуем возможности создания кастомных метрик, которые в конечном итоге отобразим в виде графиков в Grafana.
Читать далее«Я знаю, что это должно работать не так, чувствую это на каждом созвоне. Но я только исполнитель. Руководителю пофиг, почему я‑то должен?». Вы видите, что процесс идиотский. Можете даже придумать, как починить. Но натыкаетесь на стену.
Вопрос не в том, кто прав. Вопрос в том, как достучаться, когда у тебя нет полномочий.
Вода при температуре ровно ноль градусов не знает, чем ей быть. Добавьте к ней крошечный импульс энергии, и она останется в жидком состоянии; отнимите столько же, и она превратится в лёд, а молекулы зафиксируются в идеальной повторяющейся решётке. Сам переломный момент, этот тонкий момент нерешительности, представляет собой особое состояние объекта. На протяжении десятилетий физики подозревали, что нечто подобное может произойти и с пространством-временем. Не с молекулами воды, а с самой структурой Вселенной, организующейся в кристаллическую структуру прямо на пороге превращения в чёрную дыру. Теперь, впервые, команда из Вены и Франкфурта записала точное математическое описание того, как выглядит этот объект, используя не более чем бумагу и карандаш.
Результат, опубликованный в Physical Review Letters, решает задачу, которая оставалась открытой с 1993 года. Он также раскрывает нечто действительно странное о том, как могут образовываться чёрные дыры, и даёт намёк на то, как могла выглядеть самая ранняя Вселенная.
История начинается с физика по имени Мэтью Чоптуик, который в 1993 году проводил компьютерное моделирование коллапса материи. Он обнаружил, что если настроить энергию падающей оболочки частиц на критический порог — границу между «коллапсом в чёрную дыру» и «безопасным рассеиванием» — то получившееся пространство-время не просто остаётся в покое. Оно пульсирует. Оно колеблется с точным повторяющимся ритмом, с дискретной самоподобностью, как будто само пространство-время представляет собой кристалл с регулярной решётчатой структурой. Физики назвали это состояние критическим коллапсом и почти сразу поняли, что оно имеет признаки фазового перехода, что-то вроде момента, когда вода превращается в лёд. Аналогия была убедительной; математика, как оказалось, была чрезвычайно сложной.
Читать далееРазбираемся, как работает robots.txt, почему его часто путают с инструментами индексации и какую роль он играет в эпоху ИИ-сканеров.
Читать далееВ этом материале я разбираю практический кейс: развёртывание Qwen3.6-27B на двух Tesla V100-SXM2-16GB под управлением автономного агента Hermes от Nous Research. Карты подключены к потребительской платформе через адаптеры SXM2→PCIe — конфигурация, которую несложно собрать дома, но которая накладывает жёсткие ограничения на доступную видеопамять и межкарточную пропускную способность.
Читать далееВ статье описывается подход к разработке прикладных приложений, основанный на едином максимально подробном формате описания доменных сущностей и контрактов. Приводятся практические примеры использования такого описания. В том числе показано, как декларации могут привнести удобства low-code решений в обычные full-code программы.
Описанный подход работает независимо от используемого на проекте стека технологий и особенно полезен в гетерогенных системах. Поэтому я стараюсь приводить примеры из разных языков программирования и технологий: Java, Python, TypeScript, REST, GraphQL, protobuf.
Читать далееНа кону финансовые данные клиентов, а странный и неуловимый баг в Cilium не даёт как следует настроить сетевую безопасность.
Статья о том, почему любая «нерешаемая» проблема — это «пока недостаточно изученная» проблема. От случайных догадок — к системному исследованию и пул-реквесту с фиксом прямо в Linux.
Читать далееКоманда VK Cloud перевела статью для тех, кто разбирает инциденты в Kubernetes с помощью kubectl debug. Автор разбирает незаметный пробел в данных: после завершения debug-сессии API Kubernetes не сохраняет контекст ее завершения — код возврата, длительность сессии и целевой контейнер исчезают при первом же изменении состояния пода. В статье как воспроизвести это тремя командами, почему так устроено на уровне спецификации API, чем это грозит при разборе инцидентов и комплаенсе и что можно сделать уже сегодня.
Читать далееPewDiePie последние полтора года ушёл из развлекательного контента в технику: домашний сервер, локальные LLM, self-hosting. Результат — репозиторий Odysseus, self-hosted AI-workspace, который за дни набрал 47 тысяч звёзд. Телеграм-каналы пишут “закопал ChatGPT, без ограничений, с анонимностью”. Полез в репозиторий проверять — и картина оказалась честнее и интереснее: это не убийца ChatGPT, а грамотная сборка из готовых open-source кирпичей (opencode, llmfit, Tongyi) под единым приватным UI. Разбираю архитектуру и отделяю факты от хайпа
Читать далееУ нас был долгий REFRESH MATERIALIZED VIEW: один запуск мог идти около часа, а повторные запуски вставали в очередь и держали соединения. CONCURRENTLY помогал не блокировать чтение из materialized view, но не решал проблему очереди одинаковых REFRESH.
Мы сделали механизм в PostgreSQL: триггерами отмечаем изменения в зависимых таблицах, храним зависимости каждой MV в служебной таблице, а перед обновлением берём pg_try_advisory_xact_lock по конкретной MV. Если lock не удалось взять — значит, обновление уже идёт, и второй REFRESH не ждёт в очереди, а пропускается.
Читать далееЭта статья о проблемах, с которыми сталкивается инженер при попытке объединить зоопарк старого оборудования с современным подходом к его мониторингу. Современный мониторинг строится вокруг динамических сущностей: микросервисы, контейнеры, оркестрация в Kubernetes, сбор метрик через Prometheus и визуализация в Grafana. В этой парадигме всё динамично меняется и обычно разговаривает на языке /metrics и OpenTelemetry. Для инженера это привычная и удобная экосистема, где работают автообнаружение и pull-модель которые позволяют забыть о ручном конфигурировании целей сбора.
Читать далее