Обновить
1612.9

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

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

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

Паттерны проектирования

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

Маленькая шпаргалка для тех, кто хочет понять что это и как называется. Изначальная цель написания - предоставить заинтересованным лицам краткую справку и возможность более эффективно воспользоваться поисковыми системами. Здесь перечислены как классические паттерны и антипаттерны проектирования от банды четырёх (GoF), так и прочие общепринятые.

Читать далее

Новости

Как обычному разработчику попасть в open source и стоит ли это делать

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

На дворе 2026 год. Open source больше не про энтузиастов в подвалах или душных стариков, которые часами спорят за Pull Request +1/--1. Современная разработка open source напоминает толкучку: одни срочно переписывают код на Rust, другие так же срочно его оттуда выкидывают, а корпорации скупают проекты за миллиарды.

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

Я сам — разработчик и популяризатор open source, а также организатор сообщества питонистов в Новосибирске. Создаю свои проекты и активно помогаю dishka, faststream, wemake-python-styleguide и другим.

Я собрал знакомых контрибьюторов, записи с митапов и последние новости, чтобы рассказать, как устроен open source изнутри и нужно ли оно вам вообще. А если надо — то с чего начать, если кнопка отправки PR до сих пор внушает иррациональный страх.

Читать далее

Бросил tmux и написал свой инструмент

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

Десятилетия терминальных мультиплексеров, одна хроническая боль и маленькая тулза на C, которая наконец всё починила.

Читать далее

Часы Лампорта

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

Сегодня мы живём в мире распределённых систем: Apache Kafka, Apache Spark, Apache Cassandra — это уже не экзотика, а повседневная инфраструктура продакшена.

Сервисы пишут события, стримы обрабатываются в реальном времени, данные реплицируются по датацентрам. И почти в каждом таком сценарии возникает фундаментальный вопрос:

Как понять, что произошло раньше, а что позже, если глобального времени не существует?

Здесь в игру вступают логические часы Лампорта — простая, но концептуально мощная идея, лежащая в основе причинно-следственного порядка в распределённых системах.

Подробнее - в новом переводе от команды Spring АйО.

Читать далее

Почему в российских колледжах готовят IT-специалистов без английского

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

На первом курсе в колледже Y нас обязали подготовить и защитить проект. Тема моей работы — «Роль изучения английского языка для будущих специалистов в сфере информационных технологий». По итогам проекта была также опубликована краткая статья.

Читать далее

Telegram-бот для дисциплины: от монолита к модульности, реферальной системе и тотемным животным

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

Привет, Хабр! Тут я хочу подробно разобрать архитектурные решения, которые позволили проекту расти, и показать реальные куски кода, отвечающие за ключевую логику. Будет как и само изложение фактически проделанной работы, так и спорные ситуации, а также открытые вопросы, без которых масштабирование сложно будет в дальнейшем.

Что там интересного почитать, ну?

Coreness Flow: локальный AI-агент без облака и без лишнего кода

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

Большинство AI-инструментов — либо облако, либо код под каждую задачу. Coreness Flow строится вокруг событий: пришло сообщение, сработал cron, прилетел webhook — агент находит сценарий по триггеру и выполняет цепочку шагов.

Плагины декларируют вклад в интерфейс через config.json — фронт собирает вкладки и настройки по этим данным, без правки React-кода. Новый плагин — новая вкладка, без хирургии во фронтенде. RAG полностью локальный: BGE-M3 ONNX INT8 + Qdrant embedded в процессе приложения, гибридный поиск офлайн. Разбор архитектуры — API Bus, lifecycle, система сценариев с триггерами и переходами.

Читать далее

Кодопись аналитика

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

Привет, Хабр! Меня зовут Николай Щедрин, я ведущий аналитик Сбера. В этой статье продолжаю делиться инсайтами по использованию ИИ‑ассистентов в работе бизнес‑ и системного аналитика. Первую часть я публиковал на Хабре в прошлом году.

Сегодня поговорим о разработке собственного проекта через описание требований в .md‑файлах.

Читать далее

K2Node: магия Blueprint или что на самом деле скрывается за нодами в C++

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

Каждый, кто имел дело с Unreal Engine после 2014, наверняка слышал про скриптовый язык Blueprint. Но что реально происходит под капотом, когда вы таскаете ноды? Как создать свою ноду (и надо ли это вам вообще?) В данной статье я бы хотел разобрать K2Node

Читать далее

Мегаминкс – кубик Рубика на максималках, где человек всё ещё быстрее машины. Робот МФТИ в погоне за рекордом

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

Мегаминкс – это не просто «большой кубик Рубика». Это додекаэдр с 50 подвижными элементами, числом возможных состояний более 1068, а «число Бога» для него до сих пор неизвестно.

Люди научились с невероятной скоростью справляться с этой головоломкой – топовые спидкуберы тратят на сборку менее 30 секунд. А вот роботы отстают и собирают в разы медленнее. Российский школьник Тимофей Тарасенко держит мировой рекорд WCA по мегаминксу – 21,99 секунды. Тимофею 15 лет – ровно столько же стоит мировой рекорд по мегаминксу среди роботов – 8 минут 4 секунды, который студенты МФТИ попытаются побить грядущей весной. О мегаминксе, рекордах и вызове физтеха – эта статья.

Крутим мегаминкс

Структурно-ориентированная кодовая база для агента

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

При первом запуске агент не знает структуру проекта. Из-за этого возникают проблемы:

Читает слишком много файлов и быстро расходует контекст.

Или, наоборот, не находит нужные файлы и места в коде.

Читать далее

sudo исполняется 45. Вашему контейнеру — всё равно

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

На почти каждой Linux-машине в мире живёт один маленький бинарник. Весит несколько мегабайт, несколько десятков тысяч строк кода, поставляется со своим собственным конфигурационным языком, и CVE-шек за ним накопилось столько, что хватит на хорошую таблицу с фильтрами. Большинство из нас запускает его по десятку раз в день, не задумываясь.

Этот бинарник — sudo.

В мире Docker-контейнеров, эфемерных CI-раннеров и Kubernetes-подов, которые живут тридцать секунд и умирают без предупреждения, большая часть того, что умеет sudo, попросту не нужна для той работы, ради которой мы его вообще вызываем.

Вот о чём эта статья: что это за работа, как она обросла такой сложностью, и как маленькая программа на C справляется с ней лучше.

Читать далее

Если вы умеете делать хороший code review, вы умеете работать с AI-агентами

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

AI‑инструменты часто делают одно и то же: они выбирают слишком тяжёлое решение там, где достаточно простого. Ценность человека — в инженерном суждении: распознать плохую архитектуру, остановить усложнение, выбрать более простой путь, держать систему в здравом состоянии.

Читать далее

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

Gemini 3.1 Pro vs Claude Opus 4.6 – сравнение февральских новинок

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

Две недели. Именно столько понадобилось, чтобы гонка ИИ-гигантов превратилась в полноценную войну миров.

5 февраля Anthropic выпускает Claude Opus 4.6 – короля экспертных задач, который мгновенно захватывает вершины рейтингов качества и пользовательских симпатий. Ажиотаж, восторг, заголовки.

Но 19 февраля Google берёт паузу... и выстреливает Gemini 3.1 Pro. Результат? +46 процентных пунктов в тесте ARC-AGI-2 (77,1% против 31,1% у предшественника), лидерство в 12 из 18 бенчмарков и ценник, от которого у конкурентов округляются глаза.

Gemini 3.1 Pro вдвое обходит предшественника в тестах на рассуждение, стоит в 6,5 раза дешевле флагмана конкурента и штампует 3D-симуляции птичьих стай по текстовому описанию. Claude Opus 4.6, который не гонится за скоростью, а размышляет вслух, взвешивает моральные дилеммы и остаётся любимцем людей в слепых тестах.

Как не запутаться в этом треугольнике и выбрать модель под свои задачи? И почему эксперты в финансах и юриспруденции отдают предпочтение Sonnet 4.6, оставляя “тяжеловесов” далеко позади?

Разобрали 18 бенчмарков, чтобы вы поняли, за какой моделью – ваше завтра. В этом материале мы свели все цифры, графики и пользовательские ощущения, чтобы у вас была полная картина февральской перезагрузки. Узнайте, какая модель сделает вашу работу лучше, быстрее и дешевле и кто победит в этой дуэли – цифровой гений-отличник или философ с душой.

Читать далее

Больше моделей, больше возможностей: зачем мы вводим подписки в Kodacode

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

У нас появились долгожданные подписки! Мы добавили модели, которых раньше не было. И теперь полный список выглядит следующим образом: GLM-4.7, GLM-5, MiniMax-M2.5, DeepSeek-v3.2, Kimi-K2.5, Gemini 3 Flash Preview и GPT 5.3 Codex. Sonnet и Gemini Pro сейчас тестируем — подключим после проверки стабильности в IDE и CLI.

Читать далее

Минимальный продакшн-шаблон для Next.js приложения

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

Собрал production‑ready Next.js boilerplate для self‑hosted проектов: один репозиторий, один VPS, Docker + nginx + Let’s Encrypt, GitHub Actions, опциональный MongoDB, авторизация и небольшой UI‑кит. Это кейс про инфраструктуру вокруг Next.js без Vercel и прочих managed‑платформ для большего контроля и экономичного старта.

Читать далее

OpenAI отменили собственный бенчмарк, а $600 на Claude Code дали ноль результата

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

Третий выпуск еженедельных IT-новостей от OpenIDE. В этот раз: Google тайно засунул 4 ГБ Gemini Nano в Chrome, разработчик сжёг $600 и отпуск на Claude Code и получил ничего, Трамп выкинул Claude из госзаказа, SWE-Bench оказался пустышкой, а Uber сделал ИИ-копию своего CEO.

Читать далее

Scala Digest. Выпуск 38

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

Привет, Хабр! Мы — Настя, Эвелина и Михаил — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать.

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать тридцать восьмой

Запускаем Doom на старом офисном телефоне

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

Когда-то давно мне подарили кучу VoIP-телефонов, которые списали на моей старой работе. Среди них были два Snom 360 Business, выпущенные в 2005 году. Изначально я хотел настроить АТС на основе Asterisk для всех доставшихся мне телефонов, но в процессе обновления прошивки на одном из аппаратов Snom 360 мне пришла в голову идея получше. У телефона есть экран и клавиатура... получится ли на нём запустить Doom?

Читать далее

Мир снов, сгенерированный компьютером: виртуальная реальность для процессора 286

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

«Что есть "реальность"? И как определить её? Весь набор ощущений: зрительных, осязательных, обонятельных — это сигналы рецепторов, электрические импульсы, воспринятые мозгом.» — Морфеус, фильм «Матрица»

Если процессор — это мозг компьютера, то может ли он быть ещё и частью некой виртуальной реальности? Симулированная память, программно-определяемая периферия, искусственно сгенерированные прерывания...

Моим первым компьютером был 286 с 1 МБ ОЗУ и жёстким диском на 50 МБ (если я правильно помню). Поэтому я решил взять процессор 286 и попробовать симулировать остальную часть компьютера вокруг него. Или хотя бы сделать так, чтобы он мог запускаться и выполнять какой-то простой ассемблерный код.

Два года назад я купил два процессора Harris 80C286-12. Мои воспоминания довольно туманны, но кажется, буква C в их маркировке важна, потому что она означает меньшую чувствительность к точности таймера (12 в конце означает, что процессор предпочитает работать на 12 МГц), и что на нём даже допустимо пошаговое выполнение.

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

Читать далее