Обновить
1024K+

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

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

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

Стадии принятия ИИ в разработке: почему команда саботирует его внедрение и что с этим делать

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

Сейчас в IT забавная ситуация. Одни компании отчитываются о кратном ускорении с ИИ и экономии миллионов рублей. Другие потратили бюджет на лицензии, обучение и евангелизм — и получили команду, которая тихо ненавидит Copilot и пишет код руками, как в 2019-м. Разница между первыми и вторыми не в технологии. Технология одна и та же. Разница — в людях и в том, как с их сопротивлением работают. Или не работают.

Привет, Хабр. Мы — Сергей Калинов и Андрей Макар-Уваров, руководители бизнес-анализа и фронтенд-разработки в Surf. Несколько лет внедряем ИИ на реальных проектах и видим, что сопротивление ему проходит по вполне узнаваемым стадиям Кюблер–Росса. Разберём, почему разработчики так реагируют.

Читать далее

С плохим ИИ-кодом всё ясно, а как добиться хорошего?

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

О проблемах с ИИ-кодингом на Хабре написано уже много. Но хочется перейти к конструктивному подходу: да, наломать дров с ИИ легко, а вот как работать с ним наиболее профессионально?

Известные разработчики вроде Митчелла Хашимото (создателя Terraform и Ghostty) всё чаще говорят что-то в духе «вот тут уже ни строчки кода не написал вручную». При этом Хашимото — противник слопа, и он подчёркивает, что добился от ИИ качественного кода. А что помогает добиваться?

Мы в проекте Kodik подобные вопросы ощущаем особенно остро, потому что в редакторе кода с ИИ делаем… собственно, сам этот редактор кода с ИИ. Так что для нас все проблемы особенно наглядны, а их решения — особенно важны.

Поэтому мы собрали вместе идеи и из опыта мировой IT-индустрии, и из нашего собственного. Это не какая-то «окончательная истина»: сейчас вся планета только разбирается, ни у кого ещё нет полных ответов, и полезно обмениваться опытом. Так что смело дополняйте в комментариях: интересно узнать, что помогает вам, и собрать «общехабровую кладезь знаний». Если кто-то захочет конструктивно возразить, такое обсуждение тоже полезно.

Читать далее

Некоторые мысли о проектировании библиотек (с примерами на Go)

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

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

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

Читать далее

Боже, как же я ошибался

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

Все ошибаются. Ничего не поделаешь, shit happens, это нестрашно. Намного хуже, когда сильные, умные люди начинают сомневаться в себе из-за косяков. 

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

Привет, Хабр. На связи Саша Сергеев, CTO в Профи.ру. Я сам через это проходил. И часто вижу подобный страх ошибок в других. 

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

Читать далее

Claude Code: маршрут обучения и полезные ресурсы vol.2 (2026)

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

Собрала актуальный маршрут обучения Claude Code: с чего начать, какие доки и курсы пройти, и как перейти от просто попробовать к автоматизациям (skills/hooks/sub-agents/MCP).

Все ресурсы разложила в правильном порядке и коротко объяснила, как именно их проходить, чтобы не утонуть в ссылках и сразу получить результат.

Читать далее

Каждый чайник — личность. Заметки об интеграциях в Умном доме Сбер

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

Салют, Хабр!

Меня зовут Иван, я разработчик на Go. В SberDevices я занимаюсь реализацией интеграций — обеспечиваю возможность подключать устройства разных брендов к Умному дому Сбер. Он построен на микросервисной архитектуре. Кажется, что всё просто: чтобы интегрировать два умных дома между собой, нужно узнать их протоколы — наборы типов устройств и их возможностей с определёнными форматами их описания — и на основе протокола создать адаптер. Но есть проблема: как правило, каждая модель устройства, например, чайника, уникальна. Нельзя написать универсальную функцию f:SberSH -> PartnerSH , которая будет выполнять преобразования всего множества устройств: сложность задачи масштабируется вместе с их количеством. Но можно упростить и унифицировать процесс создания этих преобразований. Рассказываем, как сделали это в Умном доме Сбер. 

Читать далее

Неочевидные оптимизации Iceberg таблиц

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

Iceberg становится де-факто отраслевым стандартом при построении lakehouse в России. Для сравнения, на последней конференции smart-data, Iceberg по частоте упоминания уступает только Spark. Это значит, что уверенное владение механикой работы Iceberg становится обязательным навыком для инженеров данных и платформенных команд. Однако на практике большинство команд при внедрении ограничиваются базовыми возможностями, вроде создания таблиц, настройки партиционирования, настройки сompaction-процедур

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

В этой статье я разберу несколько неочевидных оптимизаций Iceberg таблиц.

Читать далее

GIL в Python для senior interview

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

GIL — самая известная «фича» Python, о которой большинство разработчиков знают ровно одну фразу: «мешает многопоточности». Этого хватает для джуна, но не для сеньора.

Статья построена так, чтобы после её прочтения вы могли не только ответить на вопросы по GIL на senior-интервью, но и объяснить коллеге-стажеру, что происходит внутри интерпретатора, когда два потока пытаются одновременно изменить один список.

Читать далее

Cursor показал 5 графиков, которые хоронят все публичные ИИ-бенчмарки для кода. Разбираемся

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

11 марта 2026 года Cursor опубликовал пост под скромным названием «Как мы сравниваем качество моделей в Cursor». Без громких заявлений. Без атак на конкурентов. Просто пять графиков и спокойное объяснение внутреннего процесса оценки.

ИИ-сообщество в основном отнеслось к этому как к очередному «компания рассказывает о своём бенчмарке». Это было ошибкой.

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

Вот что показал Cursor. И вот чего они не сказали вслух.

Читать далее

Зачем вообще нужен sa-tests-db

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

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

sa-tests-db полезен ровно потому, что это внешний набор для проверки анализаторов. Он нужен не для красивой демонстрации, а для грубой, неудобной вещи: взять инструмент и посмотреть, как он проходит квалификационный критерий на чужом корпусе, а не на примерах, которые вы сами себе подготовили.

В контексте ГОСТ Р 71207-2024 это особенно важно. Там недостаточно сказать: «в среднем по языку результат хороший». Смотреть нужно по типам ошибок. Если по какому-то типу ошибок анализатор даёт слишком много ложных срабатываний или слишком много пропусков, это уже проблема, даже если общая картинка выглядит прилично.

Читать далее

Установка Claude AI (Клод ИИ) Code на зарубежный VPS для обхода санкций и как купить подписку в России

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

В статье пошагово показано, как завести аккаунт Claude Code в обход санкций, с европейского IP-адреса, на европейский телефон, с оплатой виртуальной карточкой.

Конкретно вы нашем случае Claude Code нужен для настройки сервера и написания скриптов. Мы собираемся использовать зарубежный VPS в качестве прокси для захода на YouTube, Instagram, Facebook и другие заблокированные сайты (браузер запускается прямо на VPS, как BrowserBox). А также для установки прокси Telegram, если его тоже заблокируют.

Агент поможет с установкой VPN, стороннего клиента для просмотра и скачивания YouTube, а также защитит VPS от AI-ботов и прочей дряни, так что можно нормально работать в интернете из РФ без эмиграции.

Читать далее

Распределенная блокировка RedLock.NET. Просто и со вкусом

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

В современном мире enterprise-разработки часто встречается необходимость реализации распределённых блокировок. Недавно у меня как раз возникла необходимость реализации распределённой блокировки, и я применил пакет RedLock.NET, о чём и хочу рассказать.

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

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

Читать далее

Храните данные в мышах

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

Всё началось с тупой идеи. 

У меня есть мышь Logitech MX Vertical, которая постоянно перемещается между моей домашней машиной, рабочим ноутбуком и другими устройствами. Однажды я задумался: у этой штуки есть флэш-память. Она обязана быть, иначе как мышь запоминает настройку DPI между подключениями? А можно ли в этой памяти хранить что-то ещё?

Ага, мне было скучно.

Я решил использовать мышь в качестве крошечного USB-накопителя. Так как она физически перемещается между компьютерами, то, строго говоря, способна и переносить между ними данные.

Читать далее

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

AbortController в Node.js: отмена чего угодно

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

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

Читать далее

Как я собрал AI-оркестратор расследования продовых инцидентов на `SKILL.md`, субагентах и API

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

Тикет «404 на оплате» раньше означал для меня 5 вкладок и 15-20 минут ручного расследования: Sentry, Kibana, Grafana, база, Jira. Я собрал AI-оркестратор расследования на SKILL.md, субагентах и обычных API: теперь агент за 3-5 минут приносит первый черновик отчёта. Показываю архитектуру, контракт между агентами, рабочие формулировки и границы, где AI-оркестрация реально помогает, а где начинает буксовать.

Читать далее

ИИ съедает джунов, а вместе с ними племенной фонд индустрии

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

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

Что же дальше?

Как я пытался трудоустроиться в Яндекс в 2026

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

Привет! Хочу поделиться историей о том, как я пытался трудоустроиться в Яндекс в начале 2026 года. Только факты, без эмоций. От каких‑либо выводов также воздержусь.

Немного контекста. Меня зовут Дмитрий, 44 года, C++/Go разработчик, стаж почти 20 лет, в том числе в крупных международных компаниях. Разрабатывал софт для mobile, desktop, backend, инфраструктурные сервисы. Осенью 2023, имея полупассивный доход, я решил взять перерыв в карьере, с целью сосредоточиться на личных приоритетах и «перезагрузиться». В течение этого времени продолжал поддерживать свои навыки разработчика, держал руку на пульсе индустрии. В итоге, личное разгрёб, перезагрузился, полностью готов к продолжению карьеры в ИТ, ищу работу. Обо всём этом прямо написал в резюме, чтоб предвосхитить вопросы. Да, насчёт резюме, тут ссылку на него давать не буду, пост не для этого; cкажу лишь, что резюме я уделил довольно много внимания, и оно… ну, нормальное.

Итак, в декабре 2025 со мной связался HR из Яндекса с предложением пообщаться насчёт вакансий в инфраструктурные команды. В прошлом я уже несколько раз собеседовался в Яндекс, но обычно отваливался на второй технической секции. Но последнее время активно готовился к собеседованиям и практиковался на LeetCode, и решил попробовать ещё раз. С HR пообщались хорошо. Он сказал что процесс найма в Яндекс в backend сейчас полностью унифицирован, такие‑то секции. Ок, назначили первую секцию — лайвкодинг, скорее всего многопоточка.

Первая секция. Действительно многопоточка. Задачка не то чтоб простая, но и не супер сложная, во время уложился, решил. HR пишет что всё отлично, интервьюер оценил меня высоко — и в техническом плане, и по общению. Назначаем вторую секцию, алгоритмическую, на после праздников. Все праздники готовился, решал LeetCode.

Читать далее

Как мы пришили LLM «спинной мозг»: архитектура рефлексов для ИИ-агентов в 60 FPS

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

Привет, Хабр!

Интеграция современных LLM в геймдев, виртуальных ассистентов и робототехнику сейчас напоминает попытку прикрутить двигатель от космического шаттла к телеге. У вас есть невероятно умная модель, которая понимает тончайший контекст, но её inference latency (задержка вывода) убивает любой пользовательский опыт.

Пока ваш ИИ-NPC парсит входящий аудиопоток, отправляет запрос по API, ждет генерации ответа и распаковывает JSON в анимацию, проходит от 1 до 3 секунд. В динамичной среде — это вечность.

Недавно мы выкатили визуальный прототип нашего движка на одной развлекательной площадке. В ответ мы получили классическое: "Рано демонстрировать 'честные 60 FPS'. У вас там просто калейдоскоп беспорядочных кадров, мыло и кривые пальцы".

Ребята смотрели на дебаг-вывод и оценивали "обертку", совершенно не заметив "мотор". Визуализация была лишь сырым тестом инференса. В этой статье я расскажу, как мы построили Dual-Process Architecture (Система 1 + Система 2), которая позволяет ИИ реагировать на события за миллисекунды, менять личность на лету и обучаться в реальном времени.

Читать далее

Идемпотентность в backend: как перестать дублировать операции

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

Вы когда-нибудь получали два списания с карты за одну покупку? Или видели дважды созданный заказ после одного клика? Это не баг платёжной системы - это баг вашего кода. Имя этому баг - отсутствие идемпотентности.

Читать далее

Что нового в Nuxt? Обзор новых версий

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

Привет, Хабр!

Меня зовут Иван и я занимаюсь frontend-разработкой в компании SimbirSoft. В марте 2026 на официальном сайте Nuxt объявили о выходе новой версии Nuxt v4.4. В ней произведена миграция на Vue Router v5, добавлена возможность создания пользовательских фабрик useFetch/useAsyncData, типизация пропсов в Layout, новый композабл и компоненты для работы с доступностью, профилирование сборки, улучшение производительности и многое другое.

Также в январе вместе с выходом версии Nuxt v4.3 разработчики продлили поддержку Nuxt 3 до 31 июля 2026 года (ранее указывали срок до 31 января 2026 года). Решение было принято после открытия обсуждения, чтобы узнать у сообщества, как прошло обновление с версии 3 до версии 4. Многие отметили, что ждут новостей о сроках релиза Nuxt 5, который должен выйти вместе с Nitro 3, поэтому пока не спешат обновляться на четвертую версию. А пока мы ждем новостей, давайте посмотрим, какие интересные нововведения появились в последних релизах Nuxt. Данная статья — это краткий обзор на новые фичи и изменения, которые мне показались интересными.

Жми, чтобы узнать про новые фичи Nuxt🔥