Обновить
1024K+

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

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

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

Spring AI: феноменология цифрового сознания, или Как я перестал бояться и полюбил облачные модели

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

Привет. Меня зовут Николай Пискунов, я руководитель направления Big Data и эксперт курса Cloud DevSecOps по безопасной разработке от Академии вАЙТИ Beeline Cloud. Ранее я уже писал обзорную статью про конкретную реализацию клиента для Ollama. Но чем глубже я погружался в код, тем отчетливее понимал: разговор о конкретном клиенте — это разговор о следствии. А мне хочется поговорить о причине. Об инструменте, который делает возможным любой клиент. О Spring AI.

Читать далее

Новости

От фич и каскадов к генеративной модели: как мы переосмыслили рекомендации с помощью ARGUS

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

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

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

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

Читать далее

Новые IT-специалисты эпохи AI: как зарубежные и российские компании относятся к vibe-coders, low-coders и zerocoders

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

Мир меняется стремительно. ИИ занимает все более заметную роль. Все мировые гиганты, от Google до Microsoft, инвестируют миллиарды в развитие собственных AI-инструментов. Многие работодатели открыто признают силу ИИ и ищут сотрудников, которые уверенно им владеют.

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

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

В этой статье мы коснемся таких альтернатив классической разработке как zero-code (no-code), low-code и vibe coding. А также сравним, как к AI-инструментам, no-code/low-code-платформам относятся на зарубежных job-площадках и в российских компаниях.

Читать далее

Bitrix и Laravel: веб-хуки, ERP и все-все-все (часть 5)

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

Привет, Хабр! Это снова Алиса из KISLOROD. В прошлых частях мы вынесли из Битрикса каталог, корзину, цены и чекаут. Но в любом ecommerce-проекте есть еще одна зона турбулентности — интеграции.

Платежки, ERP, CRM, доставки, SMS, веб-хуки — все это любит тормозить, дублировать запросы и внезапно падать в самый неподходящий момент. Если держать такие вызовы внутри чекаута или админки, проект быстро начинает жить по SLA внешних сервисов.

В этой части разбираем Integration Hub: очереди, веб-хуки, DLQ, идемпотентность и отдельный контур для интеграций, который не блокирует пользователей и не тянет за собой весь чекаут.

Читать далее

Claudex: как я подружил Claude Code с ChatGPT/Codex OAuth без OpenAI API key

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

Я хотел запускать Claude Code через подписку ChatGPT/Codex. Без OpenAI API key и без потери привычных вещей: инструментов, скриншотов, /compact, длинных сессий и нормальных ошибок.

На бумаге это выглядит как простой локальный прокси. На практике пришлось переводить не только JSON, но и поведение Anthropic API: потоковые события, вызовы инструментов, лимиты контекста, файлы, картинки и типы ошибок.

Так появился мой open source fork Claudex. Репозиторий: github.com/pilc80/claudex. Лицензия — MIT.

Читать далее

Процессы: чего до сих пор не хватало обычным BPM (Часть 2)

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

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

Читать далее

Книжный салон — дополнительные книги от издательства «БХВ». Предзаказ

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

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

Вчера мы писали, что с 21 по 24 мая работаем для вас на стенде 13 в павильоне Б. Однако, развернув вчера базовый лагерь на территории салона, мы обнаружили, что никак не можем разместить на стенде все книги, которые заказали. Часть книг сейчас находится у нас в офисе.

Под катом предлагаем вам таблицу со списком этих книг (некоторые - в более чем одном экземпляре), цены как на салоне. Высказывайтесь в комментариях, кто готов какие книги купить в субботу или в воскресенье. Все книги будут считаться предзаказанными, приходите на стенд, называйте ник с Хабра (мы будем отслеживать комментарии и заносить ники в таблицу, чтобы какую-то книгу случайно не заказали дважды). Ещё раз отметим, что на стенде ассортимент IT-литературы несколько шире, чем в таблице под катом.

Добро пожаловать под кат и до встречи на книжном салоне!

Читать далее

Оргмодель, процессы и агенты (Часть 1)

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

Привет, Хабр! Я — Стас Макаров, ранее продуктовый аналитик в Haulmont, ныне свободный вайбкодер))

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

Очевидная же вещь: задачи исполнителям в процессе надо назначать не по юзернеймам, а по их положению в организации. Исполнители это не Миша, Вася, Петя, а работник склада, менеджер, директор или кто его на данный момент замещает.

Практически во всех лоукод-системах оргструктра есть часть базовой функциональности, но в инженерных BPM на базе движков Camunda или Flowable такой фичи по умолчанию нет. Это довольно странно, поскольку оба два этих вендора не просто делают движки, но поставляют полноценные платформы для энтерпрайз-решений, где это оргструктура однозначно востребована — но нет. Хотя у их младших собратьев по цеху, Bizagi и Bonita, оргструктры реализованы весьма неплохо.

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

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

Читать далее

Выбор баз данных для хранения больших объёмов: интервью с К. Осиповым

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

Беседа Алексея Рыбака с Константином Осиповым (Picodata) о выборе баз данных для хранения больших объёмов. Обсудили MySQL, PostgreSQL, миллионы нод MySQL в одной экстремистской организации, Cassandra, ScyllaDB, автошардирование, особенности и стоимость хранения, LSM, TTL, ScyllaDB в Discord, Cassandra в Netflix и Apple, а также нишу Picodata. TL;DR: касательно СУБД для хранения очень большого количества данных Константин выделяет две ключевые размерности. Горизонтальное масштабирование — насколько СУБД умеет самостоятельно масштабироваться: добавлять и удалять узлы без ручного вмешательства, выдерживать кластер в 100+ нод без деградации. Storage — насколько движок хранилища подходит для данной нагрузки. Здесь важны: тип структуры и место на диске.

Читать далее

Тебя уволят, и ничего не сломается. Возможно, станет даже лучше

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

Марк Цукерберг уволил 8000 сотрудников Meta*. Работников попросили остаться дома в день сокращений, чтобы избежать хаоса, а уведомления об увольнении начали приходить в 4 часа утра.

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

Это не просто новость. Это иллюстрация ближайшего будущего IT-индустрии.

Читать далее

Один за всех: как я в одиночку тащу фуллстек‑проект, который незаметно разросся до соцсети

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

Начиналось как «сделаю себе сайтик про кино на пару выходных». Закончилось каталогом на десятки тысяч карточек, лентой, профилями, рейтингами, совместным просмотром и кучей фоновых задач. И всё это тащит один человек — я сам себе фронт, бэк, девопс, дизайнер и поддержка. Делюсь сжато: стек и грабли, без воды.

Стек выбирал не по хайпу, а по принципу «доеду и не утону в обслуживании»: FastAPI (быстро, асинхронно, автодоки), Next.js на React (SSR из коробки — критично для SEO), PostgreSQL (SQLite кончился на первых же конкурентных записях), Redis для кэша и рейт‑лимитов. Nginx + systemd на обычном VPS. Никакого Kubernetes — для одного это способ обслуживать инфраструктуру вместо разработки.

Читать далее

RAG для тех, кто разочаровался: почему retrieval ломается и как это починить

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

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

Каждый раз проблема не в модели (GPT-4 и Claude отвечают хорошо, если им дать правильный контекст), а в retrieval — в том, как мы ищем релевантные куски документов. Модель отвечает ровно настолько хорошо, насколько хорош контекст, который ей подсунули.

Рассмотрим три основные причины.

Разобрать RAG

Dart 3.12 — что нового в Dart?

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

В этом году на конференции Google I/O 2026 команды Flutter и Dart отмечают важную тему: «Везде, каждый день, создано всеми, для всех».

Dart 3.12 воплощает эту идею в жизнь. Мы делаем язык более доступным и продуктивным. Лаконичные новые примитивы, такие как приватные именованные параметры, наряду с экспериментальной поддержкой основных конструкторов, делают повседневное программирование более чистым. Но мы не остановились на синтаксическом уровне. Новые функции, такие как Agentic Hot Reload и добавление Genkit в экосистему Dart, гарантируют, что вы сможете создавать высокопроизводительные, готовые к использованию ИИ и агентные приложения, которые будут доступны пользователям в любой точке мира. Это справедливо как для индивидуального программирования, так и для парного программирования с ИИ-агентом.

Так что вперед flutter upgrade, следуйте инструкциям, чтобы изучить новые возможности Dart 3.12. Но помните, что более мощный Dart — это только половина дела. Когда вы будете готовы увидеть, как эти функции преобразуются в красивый пользовательский интерфейс, ознакомьтесь с публикацией в блоге «Что нового во Flutter» или на Хабре.

Читать далее

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

Flutter 3.44 — Что нового во Flutter?

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

Google I/O 2026.

Flutter 3.44 уже здесь, и это грандиозное событие! Этот релиз знаменует собой важную веху в истории Flutter: Hybrid Composition++ для Android, Swift Package Manager в качестве нового менеджера пакетов по умолчанию для iOS/macOS и улучшенную поддержку Vulkan для Impeller. Мы представляем предварительную версию поддержки многооконного режима для настольных компьютеров, и Canonical станет нашим новым ведущим разработчиком, а также начинаем масштабную архитектурную эволюцию, отделяя Material и Cupertino от основного фреймворка. Мы переосмысливаем UX для агентного взаимодействия с пользователями с помощью GenUl и переосмысливаем опыт разработчиков с помощью Agentic Hot Reload и Dart & Flutter Agent Skills. Flutter расширяет возможности приложений следующего поколения — повсюду, от мультимедийной системы Toyota RAV4 2026 года до грядущего SDK для webOS от LG. Мы очень рады поделиться с вами всеми новостями и обновлениями; добро пожаловать в Flutter 3.44!

Читать далее

GitHub блокируют, Bun переписали за 9 дней, и частный космодром в России

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

14-й выпуск IT-новостей от OpenIDE!

Побывал на HolyJS в Москве, пообщался с фронтендерами и понял разницу в вайбе. Плюс — прогрев к блокировке GitHub, эксперимент Bun с переписыванием на Rust за 9 дней, и немного про частный российский космодром.

Читать далее

AsmX с движком Raptor: Архитектура абсолютного контроля

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

Raptor Engine: Как 30 000 строк кода на TypeScript вдохнули жизнь в компилятор AsmX

Можно ли объединить абсолютный контроль низкоуровневого ассемблера x86-64 с изяществом ООП, шаблонов и безопасных абстракций в духе C++? Разбираем масштабное обновление отечественного компилятора AsmX. Под капотом — честные 30 тысяч строк хардкорной архитектуры: от прямого доступа к аппаратной SIB-адресации CPU и хитрых махинаций с регистрами при вызове знаковых movsx/imul/idiv, до разбора анатомии новой стандартной библиотеки (std::optional и std::pair), работающей по принципу Zero-Cost Abstractions. Узнайте, как мономорфизация AST-деревьев и System V ABI позволяют выжимать максимум из кремния без единого байта накладных расходов.

Читать далее

Каким должен быть язык программирования, чтобы с ним хорошо работали AI-агенты

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

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

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

Куда движемся

Повесть о конфигурации как инженерной гигиене

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

Привет, Хабр! Меня зовут Юрий Соловьёв, я ведущий инженер в команде экосистемы Tarantool. С опытом я пришел к тому, что конфигурация должна иметь строгую спецификацию, так же как и HTTP API. В этой статье я предлагаю альтернативный подход на базе protobuf и постараюсь показать, что это не избыточная сложность, а необходимый уровень инженерной гигиены — особенно для систем, рассчитанных на долгую и стабильную жизнь. Это в какой-то мере технорассказ, которым я хочу поделиться — и именно в такой форме.

Читать далее

12 паттернов, которые приведут твой код в порядок

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

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

Читать далее

Властелин корзин: две вкладки и один Redis (часть 4)

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

Привет, Хабр! Это снова Алиса из сериала про Laravel рядом с Битриксом.  В первой части мы аккуратно подселили Laravel к Битриксу. Во второй — растащили события, авторизацию и тяжелую логику по нормальным сервисам, а в третьей — перестали мучить каталог SQL-запросами и отдали поиск OpenSearch.

Теперь добрались до места, где любой e-commerce начинает показывать характер: корзина и расчет заказа. Это каталог может тормозить незаметно. А вот если корзина начинает чудить — это уже чувствует бюджет.

Читать далее