Обновить
1024K+

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

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

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

Что умеют школьники, которые через 5 лет будут нашими коллегами

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

Школьные олимпиады по информатике до сих пор воспринимаются как отдельный мир, где дети решают абстрактные задачи, далёкие от реальной работы. Но сильный олимпиадник сегодня уже не просто быстро пишет код. По уровню алгоритмического мышления он близок к junior, а иногда и к middle-разработчику, только без боевого опыта. Он умеет жить в таймлимитах, думать об асимптотике, быстро проектировать решение, дебажить под давлением и работать не только с чистой алгоритмикой, но и с задачами по ИИ, безопасности и робототехнике. Поэтому заключительный этап Всероссийской олимпиады школьников по информатике, который в этом году проходит с 22 по 28 марта, показывает, какой инженер будет нужен индустрии через несколько лет. Чтобы понять, из каких скилов собирается портрет будущего инженера, мы посмотрели, как сегодня устроен финал олимпиады, какие задачи там дают и чему он на самом деле учит.

Читать далее

Настройка проекта для AI-агентов

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

Собрал свой опыт настройки проектов для кодовых агентов. Как написать правила, чтобы агент не делал глупых ошибок, как научить его работать с окружением, как делиться скиллами между репозиториями и не сойти с ума, когда в команде у каждого свой инструмент — Claude Code, Cursor, Copilot.

Читать далее

Как убрать virtual и не сойти с ума: велосипедные генераторы через type loopholes

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

В C++ уже есть корутины. Есть диапазоны. Есть готовые библиотеки.

Но это не мешает взять гаечный ключ и начать собирать генератор вручную.

В предыдущей статье макросы внезапно начинают изображать из себя язык: DO, LET, IS управляют препроцессорным ритуалом и создают DSL. Это синтаксис. Это оболочка. Это фронтенд.

(чтение предыдущей статьи необязательно для понимания этой)

Но ведь есть не только синтаксис, можно создать и конкретную семантику — генераторы.

В этой статье я строю велосипедный генератор. Самый честный.

Читать далее

ИИ не понимает код, пока разработчик не понимает его «мышление»

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

Разработчики всё чаще подключают ИИ к задачам — от обработки данных до генерации тестов. На первом просмотре такой код выглядит аккуратно и логично. Но при рабочей нагрузке в нём часто вскрываются ошибки, которые модель не учла.

Расскажем, почему код от ИИ выглядит корректным даже при логических пробелах, что такое LLM‑интеллект, как ИИ‑грамотность связана с переоценкой качества кода и какие инженерные практики помогают выстроить работу с моделью.

Материал подготовлен на основе экспертной колонки старшего вице‑президента Сбера, руководителя блока «Технологий» Кирилла Меньшова, опубликованной в Ferra.

Читать далее

Разработчик ковырял API Cursor и нашёл секрет самого громкого запуска года

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

20 марта 2026 года. Разработчик по имени Финн ковыряет API-эндпоинт Cursor. Не ищет секреты. Просто дебажит.

Но ответ приходит с идентификатором модели, который — не «Composer 2». Там написано:

kimi-k2p5-rl-0317-s515-fast

Он это твитит. 444 000 просмотров.

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

Читать далее

Новый слабо централизованный мессенджер с E2E-шифрованием и групповыми чатами, написанный на Go при помощи Fyne

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

Мысль написать свой мессенджер у меня возникла ещё этак в прошлом году, почти четыре месяца назад. Тогда ещё трава была зеленее и Telegram нормально функционировал, без замедления и финального блокирования. Из-за работы, других проектов и в конце-концов лени я откладывал написание мессенджера до лучших худших времён. И вот такие времена настали, телеграм был полностью заблокирован и без использования VPN до него уже нормально не достучаться. С полыхающей пятой точкой и мотивацией Вергилия я решил наконец-таки начать писать мессенджер, который в результате был создан за неделю.

Читать далее

Структуры данных на практике. Глава 9: Двоичные деревья поиска

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

Катастрофа с красно-чёрным деревом

Компилятор тратил 60% времени на поиск символов. Не на парсинг, не на генерацию кода, просто на поиск в таблице символов.

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

«У него O(log n); судя по учебникам, оно идеально подходит для этой цели», — сказал мой коллега.

Но профилировщик показывал иное...

Читать далее

Vue.js Amsterdam 2026: будущее экосистемы Vite

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

Недавно в Амстердаме прошла конференция Vue.js Amsterdam 2026 — ежегодное мероприятие, посвящённое экосистеме Vite и современным инструментам фронтенд-разработки.

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

В этой статье разберём основные анонсы конференции: Vite 8, Vite+, Void Cloud, а также обновления Vue и Nuxt.

Читать далее

Гайд по Git для начинающих: основные команды, работа с ветками и типичные ошибки

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

Собрали гайд по работе с Git для новичков. 

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

Сохраняйте и пользуйтесь.

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

CodeClone 2.0.0b1: когда детектора клонов уже мало

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

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

За это время проект заметно изменился. Если раньше это был в первую очередь детектор клонов, то 2.0.0b1 — уже скорее инструмент для контроля структурного здоровья проекта в CI.

Читать далее

Светлячки, или природный клеточный автомат

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

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

Читать далее

Spring Data. На пути к более строгой типизации

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

В новом переводе от команды Spring АйО разберем, почему stringly-typed API со временем становятся хрупкими, чем помогают метамодели вроде Querydsl и JPA Criteria, и как новый механизм в Spring Data даёт более лёгкую и естественную альтернативу без лишней инфраструктуры сборки.

Читать далее

Испанский в кармане: Архитектура Telegram-бота с локальным Whisper.cpp, AI-диалогами и оценкой произношения

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

Привет, Хабр! Меня зовут Vlad, я начинающий Python‑разработчик и энтузиаст изучения языков.

Недавно я столкнулся с классической проблемой полиглота‑самоучки: учебники дают теорию, аудиокурсы — пассивное восприятие, но нет главного — обратной связи по произношению. Репетиторы дороги, а разговорные клубы требуют уровня, которого у меня еще не было.

Я решил закрыть эту боль кодом. Моя цель была амбициозной: создать Telegram‑бота, который:

1. Слушает голосовые сообщения и распознает речь без дорогих облачных API.
2. Оценивает точность произношения в процентах, сравнивая с эталоном.
3. Поддерживает живой диалог через LLM, исправляя ошибки на лету.
4. Работает быстро и экономно на слабом VPS.

В этой статье я подробно разберу архитектуру проекта, покажу, как интегрировать бинарный whisper.cpp в асинхронный aiogram 3.x, реализую алгоритм оценки речи и расскажу про управление состояниями (FSM). Под капотом — Python, нейросети и немного магии.

Читать далее

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

Как не дать knowledge base устареть

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

Устаревшая документация хуже, чем её отсутствие — она отравляет контекст LLM. Агент доверяет тому, что видит. Garbage in — garbage out, только garbage выглядит как аккуратный markdown.

Это вторая часть серии. Первая часть — «Слепое пятно LLM-разработки: контекст за пределами кода».

Читать далее

Вайбкодинг есть, а вайбрезультатов нет?

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

Поклонники вайбкодинга и агентных инструментов говорят, что стали продуктивнее в 2, в 10, а то и в 100 раз. Кто-то собрал целый браузер с нуля. Впечатляет!

Тогда скептики резонно спрашивают: где все приложения? Если разработчики стали (возьмём консервативную оценку) хотя бы вдвое продуктивнее, где искать вдвое больше произведённого ПО? Такие вопросы исходят из допущения, что мир хочет больше программ, а значит, если их дешевле делать, их будут делать больше. Если вы с этим согласны — где тогда этот избыток, который можно назвать «AI-эффектом»?

Посмотрим на PyPI — центральный репозиторий Python-пакетов. Он большой, публичный и стабильно измеримый, так что AI-эффект должен быть хорошо заметен.

Читать далее

strace: отладка Linux-приложений через системные вызовы

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

Когда процесс зависает, молчит в логах и при этом продолжает жить своей странной жизнью, обычные инструменты наблюдения быстро упираются в потолок. В таких ситуациях strace полезен не как «ещё одна консольная утилита», а как прямой способ увидеть, чем процесс занят на уровне системных вызовов: что он открывает, чего ждёт, куда пишет и на чём реально тормозит. В статье — коротко и по делу о том, как читать этот поток событий и применять strace в типовых продовых расследованиях, где дебаггер, исходники и лишние эксперименты недоступны.

Читать далее

Релиз Java 26, Xiaomi в топе и сертификация вайбкодеров

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

Шестой выпуск еженедельных IT-новостей от OpenIDE: Java прощается с аплетами навсегда, Cursor не соблюдает лицензию Kimi, а менеджеры придумали новую единицу измерения продуктивности разработчика.

Читать далее

Ursina 3D-игры. Определение расстояния между двумя объектами

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

В этом руководстве мы разберёмся, как в игровом движке Ursina определять расстояние между объектами. Это очень важно для создания интерактивных игр: чтобы враги замечали игрока, предметы можно было подбирать, а интерфейс реагировал на действия пользователя.

Также приведено несколько практических примеров с подробными комментариями для начинающих:
1. Простое обнаружение стены
2. Подбор предмета (альтернатива distance)
3. Пуля и враг
4. Система подбора предметов
5. ИИ врага — зона обнаружения
6. Столкновения в Pong

Читать далее

Что происходит в российском DevOps-ландшафте прямо сейчас: 13 инструментов с продуктовой аллеи

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

На любой DevOps-конференции рано или поздно возникает один и тот же момент. Слушаешь про архитектуру, пайплайны, масштабирование, observability — всё звучит разумно и красиво. А потом в голове появляется простой вопрос: «Окей, а чем вы это всё делаете?». То есть буквально: какие инструменты стоят под капотом, как они внедрялись, где с ними было больно и где они действительно экономят время команде.

Именно для таких бесед на DevOpsConf 2026 будет отдельное пространство — продуктовая аллея!

Читать далее

Интеграция с китайскими картами Baidu — с настройкой полигонов и кластеризацией

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

Baidu Maps — китайский картографический сервис с собственным API. Он активно используется внутри КНР и поддерживает стандартные сценарии: отображение карты, маркеры, полигоны, кластеры.

На первый взгляд интеграция выглядит как обычно. Но при работе с реальными данными появляются отличия. Используется система координат BD-09. Мир не повторяется по долготе. Поведение геометрии отличается от Google Maps и Яндекс Карт.

Привет, я Екатерина Плаксина, фронтенд-разработчик Далее. В этой статье разберу каждую проблему отдельно и поделюсь своими решениями.

Читать далее