Обновить
1024K+

Программирование *

Искусство создания компьютерных программ

1 206,35
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

S3 Архипелаг: разворачиваем объектное хранилище за 15 минут

Время на прочтение18 мин
Охват и читатели5.6K

На связи Илья Шуйков, руководитель продукта «Фабрика данных» компании Диасофт.

В прошлой статье мы рассказали, зачем понадобилось строить свое объектное хранилище, и как устроен S3 Архипелаг изнутри. Теперь — практика: берем дистрибутив и разворачиваем рабочее хранилище.

Читать далее

Коды состояния HTTP: всё, что нужно знать бэкенд-разработчику

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.9K

Всем привет! Я решил сделать для вас шпаргалку с основными статус-кодами протокола HTTP/HTTPS. Для более подробного погружения в тему рекомендую прочитать RFC 9110, который регламентирует статус коды и весь протокол.

Читать далее

От джуна до тимлида за 5 лет — история роста и секреты продуктивности

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7K

Мой путь к IT оказался длинным. Первые 15 лет карьеры я провёл на госслужбе, дошёл до руководительской позиции. Лишь в 36 я сделал шаг к профессии мечты.

Сегодня я тимлид в компании MedControl и старший код-ревьюер в Яндекс Практикуме. В этом тексте расскажу, как развивался в разработке, перековал себя из программиста в руководителя и выстроил рутину, чтобы всё успевать. Статья может быть интересна всем, кто думает о смене профессии в зрелом возрасте, и джунам, которые хотят понять, как расти.

Читать далее

LEGO Education 2026: Новые наборы? Новая электроника? Новая образовательная парадигма

Время на прочтение16 мин
Охват и читатели8.2K

В 2026 году LEGO Education делает ход, который ещё пару лет назад казался невозможным:

- компания отказывается от собственной робототехнической платформы, 
- снижает роль программирования и внедряет элементы ИИ в образовательном курсе, 
- заменяет хабы… карточками NFC.

Очередная смена поколений электрики, наборов и деталей? 
Или пересмотр стратегии модели STEM-образования? 

В статье раскрываем картину происходящего.

Читать далее

Я пошутил, что разработчики больше не нужны — и мне поверили. Давайте теперь серьезно

Время на прочтение3 мин
Охват и читатели20K

Я написал статью, где я якобы продакт-менеджер, который впервые попробовал вайбкодинг. Статья, конечно же, была шуточная — по крайней мере, я так задумывал изначально. Но шутку поняли не все.

Читать далее

Сделаем Python безопасным… снова

Уровень сложностиСредний
Время на прочтение33 мин
Охват и читатели12K

Все мы любим Python за то, что он дает нам свободу: динамическую типизацию, кроссплатформенность, огромное количество библиотек и многое другое. Но зачастую эта свобода становится кошмаром для security‑инженеров и архитекторов, когда речь заходит о высоконагруженных системах с серьезными требованиями к безопасности.

В этой статье мы поговорим о том, как перехватить выполнение Python‑кода, запретить опасные вызовы и построить систему контрактов без изменения исходников.

Читать далее

Создание Python‑библиотеки для перевода исключений на русский язык

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8.7K

Большинство разработчиков очень боятся каждой ошибки в консоли Python. Всё моментально заливается красным, а порой понять суть ошибки без переводчика очень сложно. Сегодня я покажу, как сделать свою мини‑библиотеку для перевода всех консольных ошибок и предупреждений в Python. Это позволит сразу же понимать причину исключения и быстро вносить исправления в код. Проект подходит как для начинающих разработчиков, так и для опытных разработчиков, работающих со сложными библиотека или базами данных.

Читать далее

Bug fingerprinting для UI: почему stack trace не работает и что вместо

Уровень сложностиСложный
Время на прочтение9 мин
Охват и читатели8.6K

TL;DR: Sentry дедуплицирует backend‑ошибки по хешу (error class + top stack frame + module). Для UI‑багов этот рецепт ломается — у expect(button).toBeVisible() нет stack frame в продуктовом смысле, есть локатор + assertion + URL. В webtest‑orch я собрал composite SHA-256 fingerprint из (normalized_selector | assertion type | error class | URL template | message[:80]) с тремя rules нормализации (:nth-child, UUID, /users/123 → /users/:id). Это даёт стабильный 8-hex BUG-id который выживает прогоны и даёт diff new / regression / persisting / fixed без БД и embedding«ов.»

Читать далее

Как на самом деле устроен кэш в controller-runtime, и почему ваш оператор не кладёт apiserver

Уровень сложностиСложный
Время на прочтение21 мин
Охват и читатели9.9K

Kubernetes давно стал повсеместной платформой, а написать к нему собственный оператор сегодня — задача нескольких часов. Стандартный путь — kubebuilder на основе controller-runtime: scaffold проекта, типы, реконсайлер. В типовых сценариях этого вполне достаточно. Но как только нагрузка растёт или поведение оператора начинает расходиться с ожиданиями, всплывает целый класс edge-кейсов, причина которых — непонимание того, как controller-runtime устроен внутри. Если вы пишете контроллеры для Kubernetes, этот материал поможет собрать целостную mental model и заранее избежать дорогих сюрпризов в проде.

В этой статье разберём внутреннее устройство controller-runtime и на его примере увидим, какие архитектурные решения лежат в основе самого Kubernetes. Начнём с того, как контроллеры читают объекты из Kubernetes API.

Есть распространённое заблуждение, что r.Get() в Reconcile ходит прямо в kube-apiserver, List() каждый раз смотрит «живую» картину мира, а после Update() можно сразу перечитать объект и увидеть свежее состояние. На практике всё наоборот: controller-runtime живёт на локальной копии данных через LIST+WATCH. Благодаря этому чтение в реконсайле обходится почти бесплатно и не нагружает control plane даже при сотнях вызовов в секунду — но ценой этой модели становится то, что оператор может внезапно съедать гигабайты памяти, делать скрытые O(n)-сканы и регулярно упираться в stale reads.

Статья рассчитана на тех, кто уже писал операторы на Go с использованием controller-runtime, но хочет собрать целостную mental model, а не жить с набором частных наблюдений. Фокус будет на практических последствиях для production-кластеров: память, трафик, консистентность чтения и поведение реконсайла.

Читать далее

Год с Claude Code: как собрать рабочую конфигурацию с первого запуска

Уровень сложностиСредний
Время на прочтение28 мин
Охват и читатели12K

Год с Claude Code: как собрать рабочую конфигурацию с первого запуска

Жемал Хамидун, Head of AI Alpina Digital, CPO AlpinaGPT, автор тг-канала «Готовим ИИшницу».

Читать далее

Cursor удалил прод за 9 секунд, а Zig и JVM запретили AI-коммиты

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели13K

Двенадцатый выпуск еженедельных IT-новостей от OpenIDE!

На этой неделе прошёл JPoint 2026, вышел Amplicode 2026.1 со Spring Agent Toolkit, а Anthropic впервые обогнала OpenAI по оценке на вторичном рынке. Плюс история о том, как AI-агент удалил продакшн-базу данных за 9 секунд.

Читать далее

Ваш ИИ ошибался, ошибается и будет ошибаться

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели16K

Ваш ИИ-агент только что выдал строчку. И она выглядит… подозрительно? Указатель без проверки на NULL, сериализация через pickle без валидации и логика базы данных, никак не защищённая от SQL-инъекций. Заметить одну-две таких подстав легко, но если строк больше 5 тысяч? А сколько коллег нажали Approved без должной внимательности?

Проблема даже не в том, что ИИ может ошибаться, а в том, что он делает это уверенно и в промышленных масштабах. И вот здесь начинается настоящая гонка. С одной стороны — LLM, которые штампуют уязвимости. С другой — LLM, которые эти уязвимости ищут, подсвечивают и помогают закрывать.

На повестке дня: дырявый код, новая парадигма в безопасности, автодетекция уязвимостей и кибер-оружие.

Читать далее

Аутентификация и авторизация в Python: сессии и JWT токены в Backend-разработке

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.7K

В современном мире разработки программного обеспечения аутентификация и авторизация являются ключевыми концепциями, необходимыми для обеспечения безопасности и контроля доступа пользователей. В статье рассмотрим основы регистрации, аутентификации и авторизации, а также два популярных механизма аутентификации — сессионный механизм и JWT токены. Разберем их принципы работы, отличия, плюсы и минусы, а также практические аспекты реализации на Python с использованием FastAPI и SQLAlchemy. 

Материал будет полезен как начинающим, так и опытным разработчикам, стремящимся углубить свои знания в backend-разработке и безопасности приложений.

Читать далее

Ближайшие события

Kodacode для бизнеса: SaaS с инфраструктурой в РФ и on-premise

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.5K

Kodaсode используют десятки тысяч разработчиков в месяц. Постепенно запросы стали приходить не от отдельных людей, а от компаний: как оформить юридически, куда уходят данные из кодовой базы, есть ли централизованное управление доступами и корпоративный биллинг.

Этой статьёй мы отвечаем на все эти вопросы — и рассказываем о нашем корпоративном предложении.

Читать далее

Простой поиск имен в С++

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели11K

Это продолжение темы начатой в статье Важны ли компилятору имена, и продолженной в Ночью все кошки серы, а using'и одинаковы, и далее в Компиляторы тоже путаются в именах. Если не читали, то лучше будет пробежаться по диагонали. Теперь вот мы подобрались к такой интересной теме, как квалифицированный и неквалифицированный поиск.

Что такое простой поиск(неквалифицированный) имени n в области S? Это механизм компилятора, который находит все объявления n, находящиеся непосредственно в этой области. Просто? С виду да, но даже этот простой механизм часто работает не так, как ожидает разработчик.

Например, у нас есть пространство имён N и локальная переменная N. Они могут сосуществовать вместе? Могут, потому что находятся в разных областях видимости. А пространство имён и глобальная переменная с тем же именем могут? Как же мы докатились до жизни такой, давайте разбираться.

Вот такой простой с++

Анализируем heap‑дампы с прода, не привлекая внимания безопасников

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели8.3K

Heap‑дампы JVM — бесценный источник информации при разборе аварий с OutOfMemory и оптимизации производительности. Но вместе с тем они же — потенциальные каналы утечки данных, ведь будучи снятыми с боевого сервиса, дампы уносят в себе всё, с чем работал сервис на момент снимка: логины, пароли (иногда в открытом виде), важные ID и тому подобное — словом, всяческие sensitive данные, которые не нужны для анализа, но могут навлечь на получателя дампа серьёзную ответственность и риски. Как этого избежать без ущерба делу — разбираемся под катом.

Читать далее

Давайте уже сделаем отдельный хаб: «Я собрал приложение за вечер — зачем теперь разработчики?»

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели22K

Нет, я серьёзно — в последние месяцы на Хабре появилась особая категория статей, которая начинает бесить.

Посты в стиле: «я собрал приложение без навыков программирования — ну всё, разработчики больше не нужны». И каждый раз один и тот же вайб — человек нажал пару кнопок и уже мысленно закрыл индустрию.

Серьёзно, таким постам нужен отдельный хаб. Потому что читать это в общей ленте разработки — примерно как слушать, как кто‑то решил пример на калькуляторе и теперь рассуждает о судьбе математики.

Теперь по сути.
Специально не буду давать ссылки на отдельные статьи — думаю вы и сами их видите в ленте постоянно. Поэтому отвечаю сразу, так сказать «коллективному автору» подобных постов.

Читать далее

Java Digest #35

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели8.9K

Всем привет! 👋👋👋👋👋

Мы — Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске рассказываем, когда ждать релиз Java 27 и как Oracle планирует регулировать использование генеративного ИИ при написании кода. Посмотрим детальное интервью о Spring Framework 7 и Spring Boot 4 с самой командой создателей Spring. Почитаем, как безопасно работать с нативной памятью в многопоточной среде с помощью VarHandle. А еще изучим любопытный постмортем, посвященный расследованию раздувания памяти в контейнерах после перехода на JDK 17. Приятного чтения!

Читать 35 выпуск

FSRS для Obsidian: помнить всё

Время на прочтение4 мин
Охват и читатели10K

Обсидиан называют «вторым мозгом». Чтобы он им стал, одних связей недостаточно — нужна память.

Я сделал плагин интервального повторения на современном алгоритме FSRS. Он запоминает что и когда вы учили, предсказывает что вы вот-вот забудете, и показывает какая тема даётся тяжелее всего. Все данные хранятся локально в ваших .md файлах — ничего не уходит на сервера.

Читать далее

Имитация 3D-персонажей в 2D-движке

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.5K

Я всегда был фанатом шутеров с видом сверху. Hotline Miami и по сей день остаётся моей любимой инди-игрой, а недавно я решил проиграть в её духовную наследницу — OTXO.

Он всегда был моим любимым жанром. Моя первая «серьёзная» игра, Alien Killer (написанная на Flash, поэтому сегодня в неё практически не поиграешь), была шутером с видом сверху, вдохновлённым старой игрой Net YarozePsychon.

В этой статье я расскажу, как разработал похожий на трёхмерный top down shooter без 3D-движка.

Читать далее