Обновить

Разработка

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

Почему вайб-кодинг не работает

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

С появлением AI-агентов разработка программного обеспечения изменилась кардинально. Я, как и многие разработчики, начал активно использовать Claude, Cursor и другие инструменты для автоматизации написания кода. Результаты поначалу впечатляли: за один вечер, занимаясь системным анализом, проектированием архитектуры и промпт-инжинирингом, я мог сгенерировать до 100 000 строк кода.

Процесс был увлекательным. Не нужно было вручную писать реализацию - достаточно было описать требования, обсудить с AI архитектурное видение, уточнить детали, и код появлялся сам. Я мог работать по вечерам над своими pet-проектами, общаясь с искусственным интеллектом как с коллегой. Это был настоящий вайб-кодинг - приятный, творческий процесс, не отягощённый рутиной.

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

Читать далее

Два притопа, три прихлопа

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

Подготавливая статью [1] к публикации, обратил внимание на картинку, показанную на рис. 1. Я сохранил ее, чтобы воспользоваться в будущем. И оно не заставило себя ждать, т.к. захотелось повысить наглядность решения, введя в него графику и используя именно эту картинку.  К чему это привело, далее мы и поговорим.

Все, что связано с картинкой, сделать не так уж сложно. Это довольно подробно описано в цикле статей по реализации графики в ВКПа (см. [2]). Для этого, во-первых, нужно создать графическое окно, установив данную картинку в качестве фона. Во-вторых, воспользоваться существующими заготовками контролов (элементов графического интерфейса), которые необходимо будет разместить на данном фоне.

Читать далее

Проектируем как синьор: универсальная бинаризация

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

Здравствуйте, меня зовут Дмитрий Карловский и я.. да не важно кто я. Важно о чём я говорю, и как аргументирую.

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

Что ещё за VaryPack?

Не используйте pipe operator в PHP 8.5, пока не узнали все нюансы

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

В версии PHP 8.5 появился оператор |> — так называемый pipe operator. Он давно используется в других языках (F#, Elixir, OCaml) и активно применяется в JavaScript. Его основная цель — упростить передачу результата одной операции в следующую, делая код более читаемым и линейным.

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

Читать далее

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

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

Как возникает продажа в промышленном b2b-секторе? Почему продавец должен стать экспертом отрасли, чтобы убедить покупателя расстаться с деньгами в кризисные времена?

 

Продажа в b2b-сегменте обусловлена двумя факторами.

 

Читать далее

Нейросетевая модель интересов пользователя: как мы улучшили разнообразие и релевантность рекомендаций на главной Авито

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

Привет! С вами Ярослав Хныков — senior ML engineer в Авито. В статье расскажу, как мы повысили разнообразие и релевантность рекомендаций на главной странице. Материал будет особенно интересен специалистам, которые работают с рекомендательными системами.

Читать далее

SFINAE в C++

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

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

Сегодня я хочу поговорить про SFINAE, загадочную аббревиатуру из C++. Расшифровывается SFINAE не менее загадочно: Substitution Failure Is Not An Error, по-русски: «неудавшаяся подстановка — не ошибка». Сейчас рассмотрим, почему это правило появилось, как оно работает и как мы можем использовать его себе во благо.

К механике SFINAE

Квантовая механика виртуальной Вселенной (Часть II)

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

Здравствуйте, дорогие читатели.

В первой части мы начали разбирать квантовую механику виртуальной Вселенной. (Предысторию вы можете найти в предыдущих статьях цикла: «Геометрическая головоломка на выходные», «Электродинамика виртуальной Вселенной» и «Механика виртуальной Вселенной»).

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

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

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

Итак, поехали.

Читать далее

Асинхронность и многопоточность в Dart/Flutter: Future, Stream и Isolates

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

При разработке Flutter-приложений быстро возникает необходимость выполнять долгие операции: загрузку данных из сети, обращение к базе, работу с файлами, вычисления и т.п. Если делать это синхронно, основной поток блокируется, интерфейс «зависает», а пользователь видит «замороженный» экран. Асинхронное программирование в Dart позволяет вынести такие операции из UI-потока, не блокируя интерфейс.

В данной статье мы расскажем, как во Flutter использовать ключевые инструменты асинхронности Dart — Future, async/await, Stream, а также многопоточность через Isolate — и покажем, как применять их на практике в реальных приложениях.

Читать далее

Multi-API Ensemble: 95% точности транскрипции региональных топонимов

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

В статье полный разбор архитектуры, алгоритмы scoring, примеры кода и расчёт экономики.

Один STT-сервис дал 60-70% точности на специфической лексике (топонимы, названия улиц, профессиональные термины). Два сервиса параллельно + взвешенное голосование + AI-fusion для спорных случаев дали 95%+ точности. Время обработки 5-8 секунд.

Читать далее

Миграция демо-проекта на Spring Boot 4, Spring 7.0, JDK 25

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

Продолжаю серию публикаций про наши Java-онлайн курсы. Предыдущие посты:

Тесты на дженериках. Параметризация AssertJ и сравнение Json через объекты

Контроллеры на дженериках: пишем кода в 3 раза меньше

Миграция Java Spring Boot на Kotlin

Работа с документами в Java

Как многие знают, недавно вышел Spring Boot 4 / Spring 7.0. В постах компании@spring_aio есть несколько статей по новому функционалу.

Я мигрировал наш небольшой учебный демо-проект Spring Boot 3.x HATEOAS (ссылка на GitHub) на Spring Boot 4 и добавил API версионирование. В статье даю ссылки на новый функционал, описываю шаги миграции и код проекта. Буду рад читателям:)

Читать далее

Подрядчик обманул нас на заводе, но ИИ разоблачил его, а потом сэкономил ещё 170 млн ₽

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

Представьте: на заводе в Тобольске сломалась установка иностранного производителя. Нужен их эксперт. Он находится в Китае или в лучшем случае в Москве. Пока оформят визит, пока доберется — минимум трое суток. Установка стоит. Производство теряет миллионы рублей каждый день.

Один выезд такого специалиста стоит от 500 тысяч до миллиона рублей. А таких ситуаций десятки в год на каждом заводе...

Читать далее

«Квантовая фотография: как аналоговая эмульсия вычисляет волновую функцию»

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

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

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

Статья даёт строгое математическое описание этих процессов, вводя и детально разбирая ряд физических формул — от правила Ферми для поглощения фотона до соотношения неопределённостей «время–энергия» для объяснения дробового шума. Цель — предложить инженерам, специалистам по обработке сигналов и материаловедам новую, интуитивно-физическую модель для понимания квантовых принципов через детерминированные технологические процедуры. Мы показываем, что фотографическая система является законченным аналоговым компьютером, материально вычисляющим квадрат модуля волновой функции падающего излучения.

Читать далее

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

Элегантный OSDev: Пишем ядро ОС на modern C++ без макросов. Часть 3: Аппаратный HAL и Прерывания

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


Это третья статья из цикла по разработке ОС на С++. В данной статье я познакомлю читателя, с прерываниями x86 реализуем ее поддержку. Добавим работу с клавиатурой. Познакомимся с такими устройствами как PIC и напишем код для работы и инициализации. Я так же буду делать упор, на абстракцию и высокоуровневый код.

Заходите будет интересно.

Читать далее

Ассемблер для гоферов. Часть 1

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

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

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

Читать далее

OpenIDE 2025.2: поддержка Java 25, Virtual Thread Debugging и обновления UI

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

Вышла OpenIDE 2025.2 — первая российская IDE с поддержкой Java 25. Мы идём в ногу с платформой и остаёмся на самом острие технологий. Но не только этим релиз интересен: в нём появилась улучшенная отладка виртуальных потоков, обновления связанные с UI, а ещё пара важных обновлений экосистемы.

Поехали по порядку.

Читать далее

Не спешите выкидывать Webpack: разбор альтернатив и реальных сценариев миграции

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

Привет, Хабр! На связи Никита Ли, я Frontend-разработчик в Рунити. Вокруг сборщиков последние годы кипят страсти: большинство боготворит Vite, кто-то экспериментирует с esbuild, а энтузиасты активно продвигают инструменты на базе Rust — прежде всего Rspack и SWC. На фоне этого Webpack нередко называют пережитком, который якобы тормозит развитие команд.

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

Читать далее

Как я подружил Wildberries с n8n: создаем простейшего ИИ-агента для селлера. Реальный кейс автоматизации

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

Два года каждое утро селлера Дмитрия начиналось одинаково: 35+ новых отзывов, 10+ вопросов и 2 часа потраченного времени на ручные ответы. Игнорировать нельзя, иначе упадет рейтинг карточек товаров, отвечать шаблонно тоже - клиенты злятся.

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

Как Дима заменил людей ИИ агентом?

Локальный Rebase в 1С:EDT. Просто о сложном

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

Локальный Rebase в 1С:EDT - это мощная и достаточно продвинутая операция по актуализации вашей локальной ветки (синхронизация с последними изменениями) перед тем, как выполнять слияние с главной веткой.

Давайте разберём подробно, что это такое, зачем нужно и как работает.

Для начала примем договорённость: в удалённом репозитории Git существует главная ветка с именем dev. Обычно главной ветке дают такие имена, как main, develop или просто dev. В нашем примере имя главной ветки - dev.

Зачем это нужно в 1С:EDT?

Прежде всего - для вашей локальной ветки. Например, вы создали от главной ветки dev свою локальную ветку и переименовали её в feature/my-branch.

Читать далее

Я установил k3s на Arch, чтобы вам не пришлось

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

Статья для тех, кто пытался поставить k3s на Arch Linux и столкнулся с зависающим установщиком, проблемами DNS и отсутствующими systemd юнитами. Полное руководство по ручной установке с реальными командами и решениями.

Читать далее