Обновить
1024K+

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

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

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

Как устроен словарь в CPython: compact dict, key sharing и что с ним делает free-threading

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

У dict в Python слишком простая внешность: положили ключ, достали значение, пошли дальше. Но за этим стоит один из самых вылизанных участков CPython — с компактным хранением, сохранением порядка вставки, общими ключами для экземпляров классов, оптимизациями доступа к атрибутам и новыми компромиссами из-за free-threading.

В статье разберём, почему обычный словарь давно перестал быть «просто хеш-таблицей», как его устройство влияет на память и скорость кода, и какие привычки Python-разработчика могут незаметно ломать быстрый путь интерпретатора.

Разобрать dict

Новости

Как не перепутать мечту, портфолио и вторую работу

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

У разработчиков игр есть довольно странная профессиональная болезнь, когда после рабочего дня, проведенного за тасками и кодом хочется открыть ноутбук и снова писать код, только уже «для себя». Большинство моих коллег по цеху, придя домой тратят 1+ часов чтобы: поделать свой движок или переписать/помодить/любимую/старую/новую/другую (нужное подчеркнуть) игру или собрать какую-нибудь библиотеку, или починить инструмент, который всех раздражает. Не знаю, может эта заразно и гуляет по студиям, а может это просто кусочек творческой атмосферы, который ты уносишь из офиса, и он некоторое время живет вне этого пространства.

Часто бывает что маленький проект, который был на "пару вечеров" внезапно превращается в несколько лет жизни. Я много раз видел это снаружи и изнутри: СorsixTH, 0AD, Akhenaten, Cytopia, StoneKingdoms, (тут больше open-source-games) очень разные проекты (из тех куда я комитил), но все они хорошо показывают одну и ту же вещь, что пет-проект почти никогда не остаётся «просто маленькой штукой». Он либо умирает, либо начинает требовать от автора взрослого отношения и тянет за собой архитектуру, поддержку, документациу, общение с коллегами по цеху и теми кто просто играет, разбора багов, релизов и неприятных компромиссов.

И главный вопрос тут не «как найти мотивацию», а точно ли тебе это нужно?

Читать далее

Вайб-кодинг или лудомания?

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

ZConnect — второй месяц вайб-кодинга, или как я делаю свой удалённый рабочий стол

Прошло уже больше месяца с прошлой статьи. За это время в моём проекте ZConnect появились передача файлов, NAT traversal, клики по UAC, установщик со службой, мультимонитор, адресная книга, Android-клиент, тёмная тема.

Заодно поймал забавный краш в mrwebrtc 2.0.2 на нестандартных sample rates, выложил проект в open source и окончательно понял, что вайб-кодинг всё больше начинает напоминать лудоманию.

В статье расскажу: что удалось сделать; на какие грабли наступил; как ИИ помогает и мешает одновременно; и почему поддерживать большой проект в режиме «вайб-кодинга» оказалось утомляюще.

Читать далее

Rust: зачем он появился, что умеет и почему компании переписывают на него части своих систем

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

Эта статья — для тех, кто только присматривается к Rust или слышал о нем лишь обрывки восторженных или невосторженных отзывов. Если вы не до конца понимаете, зачем миру понадобился еще один системный язык, какие «боли» C++ он лечит и где реально используется сегодня, — здесь вы найдете ответы на эти вопросы. Мы постарались структурированно представить информацию, чтобы у вас сложилась полная картина: что это за язык, зачем его учить и с чего начать освоение. Сразу оговоримся: если «The Book» давно стала вашей настольной книгой, вы уже собаку съели на управлении памятью и знаете все о владении и заимствовании, эта статья вряд ли вас удивит. Остальным же — добро пожаловать.

В апреле 2026 года произошло сразу два события, заставивших вновь говорить о Rust. 16 апреля вышел очередной стабильный релиз — Rust 1.95.0. А вскоре после этого Илон Маск заявил, что новый мессенджер XChat построен на Rust и «whole new architecture».

В этой статье мы попробуем понять, почему для новых систем, где важны скорость, безопасность и надежность, все чаще выбирают Rust?

Читать далее

Как я использовал Cursor для онбординга в продукт в бигтех-компании

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

Привет! Меня зовут Родион, я стажер фронтенд-разработчик. Когда-то в 2022 году писал свои первые сайты на нативном HTML, CSS и JavaScript. С тех пор успел поработать в стартапах и на фрилансе, и вот опыт завел меня в мой первый бигтех — MTS Web Services.

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

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

Такой расклад меня, конечно, не устроил, и я пошел смотреть, что с этим можно сделать, — так и познакомился с Cursor. В этом посте расскажу, как настроил его под проект, какие промпты использовал, благодаря чему реально сэкономил время, и как боролся с багами. Надеюсь, будет полезно таким же как и я начинающим специалистам.

Читать дальше

Code with Claude 2026: что Anthropic показали разработчикам на своей конференции

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

6 мая 2026 года в Сан-Франциско прошла вторая конференция Anthropic для разработчиков — Code with Claude. Площадку для мероприятия в этот раз расширили: в этот раз взяли бывший автосалон SVN West, так как спрос оказался выше.

Следующие 2 конференции пройдут в Лондоне и Токио (19 мая и 10 июня), а записи всех докладов должны опубликовать в ближайшее время на YouTube канале Claude Code.

Для тех, кто хочет посмотреть все доклады уже сейчас, опубликовал полную запись в ТГК (5+ часов видео).

Ниже пройдемся по всем докладам и отметим самое важное.

Читать далее

Тестировал /goal в Codex CLI. Переломная команда для работы с AI-агентами или самый дорогой способ написать код?

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

OpenAI выпустил Codex CLI 0.128.0 с командой /goal — автономным режимом, в котором агент сам пишет код, тестирует, рефлексирует и долбит цель часами. На практике первое, что замечаешь — счётчик токенов скачет в 3-5 раз непредсказуемо. Не вдвое — в пять. Месяц использования в команде. Главные находки: исследователи подхватили первыми (а не разработчики). При упирании в quota wall MCP-вызовы молча отваливаются. Соседняя команда /side неожиданно стала использоваться для расшифровки англицизмов GPT-5.5. В статье: разбор архитектуры /goal (5 слоёв, инжекция системного промпта против proxy signals), реальный публичный кейс — +25% fps за час в GPT-5.5 xhigh, грабли с непредсказуемыми токенами и quota walls, когда /goal стабильно ломается. Антипафос. Никакого AI-евангелизма.

Читать далее

Veai 5.10: общие скиллы и подсказки в чате

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

Главное в Veai 5.10 – скиллы теперь подхватываются из dot-директорий других ассистентов. В чат добавили быструю документацию по ссылкам на код.

Запуск и получение конфигураций в Rider

До Veai 5.10 в C#/.NET-проекте нужно было просить агента прогнать тесты в модуле или собрать проект. Агент шёл в терминал и пытался угадать команду: какой dotnet, какой TFM, какой фильтр и какой путь к csproj. На монорепо с несколькими SDK и global.json это регулярно заканчивалось exit code 1 и попыткой починить рабочий код.

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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.6K

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 мин
Охват и читатели11K

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее