Обновить
1133.55

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

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

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

Моушен-графика для разработчиков: Remotion, Skills, немного стиля и любой ИИ-агент

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

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

В этой статье я покажу:
– Зачем вообще разработчику лезть в моушен,
– Что такое Remotion и почему он «выстрелил» именно сейчас,
– Причём тут Skills,
– И какой результат реально можно получить за 30 минут времени и несколько тысяч токенов.

Погнали!

Новости

Метод наименьших квадратов Гаусса с весовыми коэффициентами отклонений

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

В моей практике метод наименьших квадратов Гаусса используется в двух случаях.

Когда производится измерение, для корректировки полученной величины.

Когда необходимо задать ток или напряжение, для вычисления требуемого значения кода, заносимого в ЦАП (цифро-аналоговый преобразователь).

Практика показала, что чем меньше величина, тем меньшая погрешность допускается.

Моя идея – это ввести весовые коэффициенты отклонений в формулу критерия Гаусса.

Читать далее

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

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

Этот кризис будет страшнее, чем в 1929-м, 2000-м и 2008-м

Мы живем в самый нестабильный период XXI века. Прямо у нас на глазах разворачивается что-то грандиозное.

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

То, что мы видим сегодня - это не просто очередной рыночный цикл.

Это переход из одной эпохи в другую.

Читать далее

Ваша LLM стримит в никуда: разбираемся, как работать с дисконнектами в FastAPI

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

Что делает ваше FastAPI-приложение, когда клиент неожиданно закрывает соединение? По умолчанию — ничего. Если сервису важно экономить ресурсы (например, при работе с LLM), дисконнекты приходится обрабатывать явно, иначе GPU продолжит генерировать токены в пустоту.

В FastAPI есть встроенные механизмы отмены обработки запроса при дисконнекте клиента. Однако просто включить их недостаточно: нужно подготовить ваш код к этому. Иначе возможны проблемы: зависшие транзакции и сломанный пул соединений с БД.

Читать далее

Как работают ТСПУ и DPI: разбор механизмов фильтрации и блокировок трафика

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

В последние годы в России активно развивается и применяется инфраструктура фильтрации трафика на уровне провайдеров. Основные технологии, которые используются для этого — ТСПУ (технические средства противодействия угрозам) и DPI (Deep Packet Inspection).

В этой статье мы разберём, как именно эти системы видят и классифицируют трафик, на каких полях и протоколах принимаются решения о блокировке, и какие техники применяются для обхода (с точки зрения механики, а не «инструкций»).

Читать далее

Как мы технически построили B2B SaaS-платформу: от требований и UI-прототипов до микросервисной архитектуры

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

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

Эта статья — инженерный рассказ о том, как из набора разрозненных back-office продуктов выросла единая B2B SaaS-платформа.

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

Читать далее

Вайбкодинг для 1С: как получить production-ready код с ИИ

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

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

Но это не проблема ИИ. Это проблема подхода.

Читать далее

Как мы учим стажеров разработке на Turbo Script, используя системный подход

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

Привет, мир! Софья, 5 лет в ERP на Turbo Script, старший разработчик Консист Бизнес Групп. За это время я не раз убеждалась: обучение стажёров — это искусство баланса между академическими знаниями и реальными задачами, где каждая строчка кода может стать либо фундаментом архитектуры, либо техническим долгом.

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

Если Вы джун, который только входит в мир продуктовой разработки, или наставник, ищущий подход к обучению, добро пожаловать под кат!

Читать далее

Год на заводе. Как я устроился в сопровождение на ЕВРАЗ НТМК, перестал бояться и полюбил промышленное айти

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

Привет, Хабр! Меня зовут Андрей Шафоростов, и я тот самый зумер-айтишник на заводе. Конечно, айтишник — понятие многогранное. Тут трудятся и разработчики, и сисадмины, и тестировщики, а конкретно моя должность связана с сопровождением проектов: компания выпускает решение, а я и мои коллеги поддерживаем его дальнейшую жизнь. 

С 2024 года я ведущий специалист в отделе сопровождения систем управления производством НТМК в компании «ЕвразТехника ИС». В этой статье расскажу о том, как прошёл мой первый год в промышленной разработке, чем я занимался, чему учился. А ещё, когда работаешь на заводе для конечных пользователей, то есть своих коллег, начинаешь повсюду видеть места, где можно прикрутить какое-нибудь решение и улучшить жизнь всем. Так я взял на себя проекты и по своей личной инициативе. Про них тоже расскажу. В общем, если интересно, как выглядят будни разработчика в промышленности, заглядывайте под кат!

Читать далее

CPython — Сборка мусора изнутри, ч.4

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

Пришло время поговорить о главной функции сборщика мусора в CPython. В предыдущих частях (1, 2, 3) мы говорили о поколениях, инкрементальной и полной сборке мусора — но все они в итоге вызывают главную функцию, которая и реализует основной алгоритм циклического сборщика мусора — находит и разрывает циклы у объектов, которые уже вышли из использования.

В первой статье на тему устройства сборщика мусора я написал, что история началась, когда я попробовал исправить ошибку в CPython. И вот, в четвёртой статье, я наконец‑то добрался до функции, в которой была ошибка.

Если вам интересно, давайте посмотрим, как работает «сердце» сборщика мусора.

Читать далее

Scala Digest. Выпуск 37

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

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Новый год — новый импульс. После январских каникул мы, соскучившись, возвращаемся к любимой Скале с обновленным взглядом и зарядом вдохновения (づ ◕‿◕ )づ

Читать тридцать седьмой выпуск

ИИ ускоряет разработку, но делает программистов тупее

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

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

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

Читать далее

Замыкание в JavaScript — зачем функциям личное пространство

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

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

Чтобы не городить глобальные переменные и не писать громоздкие конструкции (что почти всегда ведет к багам), мы посмотрим на еще одну фишку JS.

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

Читать далее

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

Взламываем 40-летний донгл защиты от копирования

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

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

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

Это ПО было написано на языке программирования RPG (Report Program Generator), который старше Кобола (!); он использовался в компьютерах IBM среднего ценового диапазона наподобие System/3, System/32 и вплоть до AS/400. Похоже, позже RPG портировали в MS-DOS, поэтому те же программные инструменты, написанные на RPG, могут работать на персональных компьютерах. Так фирма и оказалась в этой ситуации.

Эта бухгалтерская фирма работала на компьютере с Windows 98 (да, в 2026 году) и запускала написанное на RPG ПО в консольном окне DOS. Оказалось, что для работы ПО требовалось подключить к параллельному порту компьютера специальный аппаратный донгл защиты от копирования! В те времена это было достаточно распространённой практикой, особенно у поставщиков «корпоративного» ПО, защищавшего свои очень важные™ программы от неавторизованного применения.

Читать далее

Как я пытался сжимать смыслы вместо байтов

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

Написал прототип SemanticZip: сжатие текста в 14 раз за счет удаления «выводимой» информации. Теория информации, Колмогоровская сложность. В теории все работало...
Разбор полетов: почему нельзя сжимать смыслы и почему красивые метафоры проигрывают скучному RAG

Читать далее

Миграция Spring Boot 3.x → 4.0: 5 реальных проблем (и как их решить)

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

Планируешь миграцию на Spring Boot 4.0? Вместе с Eddy Benchek в новом переводе от команды Java Insider разбираем пять неочевидных проблем, с которыми столкнулась реальная production-команда при миграции, и показываем, как их исправить, чтобы вы не потеряли дни на поиски неожиданных багов.

Читать далее

О ключах идемпотентности

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

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

Как именно работают подобные механизмы? Потребитель, получая сообщение, берёт его ключ идемпотентности и сравнивает с ключами сообщений, которые уже были обработаны. Если такой ключ уже встречался — входящее сообщение является дубликатом и его можно проигнорировать. В противном случае потребитель начинает обработку сообщения. Например — сохраняя в базе данных само это сообщение или какое-либо представление данных, полученное после его анализа.

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

Читать далее

Postman удобен ровно до тех пор, пока не слил секреты твоего прода

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

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

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

В этой статье разбираем, как API-ключи «утекают» при работе с HTTP-клиентами, почему Postman и IDE создают ложное чувство безопасности и какие системные ошибки приводят к реальным инцидентам с многомиллионными последствиями.

Читать далее

Kotlin + Spring Boot: полный гайд по монолиту на 2026 год

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

Всем привет, меня зовут Сергей Прощаев, и в этой статье я расскажу про то, с чего на самом деле стоит начинать большинство backend-проектов в 2026 году. Spoiler alert: это не микросервисы.

Я покажу, как собрать простое, но полноценное монолитное приложение на Spring Boot и Kotlin — тот самый надежный фундамент, который позволит вам запустить MVP за недели, а не месяцы. А в конце расскажу, где можно системно прокачать навыки Kotlin-разработчика, чтобы строить такие системы уже профессионально.

Читать далее

От контроллеров до операторов: моделирование меняет подход к автоматизации на всех уровнях АСУ ТП

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

Давайте представим, что нам нужно построить сложный объект — скажем, самолет, поезд или вообще атомную электростанцию. Строить «наобум» невероятно дорого и рискованно. Гораздо разумнее выполнить предварительные расчеты и скорректировать слабые места. Есть разные виды расчетов, ну например расчет прочности конструкции, расчет стомости сорружения или эксплуатации, расчет последствий аварии (для АЭС). Расчеты бывают статические например расчет фундамента, расчет толщщины стены, или просто расчет нагрузки на балку. И динамические - расчет некоторого процесса разворащивающегося во времени например: расчет процесса нагрева котла в доме, расчет процесса разгона авиационного двигателя, расчет процесс поддержания давления в кабине самоелета при изменении высоты. В динамических расчетах сложных объектах, как правило необходмо учитывать работу автоматической системы управления (АСУ), поскольку система управления влияет на процесс.

Если мы говоримт об АСУ ТП (Автоматической Системе Управления Технологическими Процессами), то само название как бы намекает на наличие некоторого процесса во времени, а значит тут есть место для динамического рассчета. Вот здесь-то на сцену и выходит "Среда динамического моделирования технических систем SimInTech."

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

Читать далее

Вклад авторов