Обновить

Разработка

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

Команда Riffusion выпустила музыкального ИИ-агента Producer, который генерить музыку прямо в чате, работает с готовым текстом или сам набросает его из идей пользователя, усиливает или убирает нужный/ненужный инструмент, генерит красивые обложки, может написать код для визуализатора под песню, создаёт целые музыкальные клипы, в один клик делает ремиксы: reverb, slowed или dark synth.

Теги:
Рейтинг0
Комментарии0

В прошлом году я помог Дмитрию Свиридкину подготовить и опубликовать цикл из 12 статей "Путеводитель C++ программиста по неопределённому поведению". Теперь этот расширенный, доработанный и обобщённый материал доступен в виде печатной книги:

Экскурс в неопределенное поведение C++ / Д. О. Свиридкин, А. Н. Карпов, – СПб.: БХВ-Петербург, 2025. – 384 с. – (Профессиональное программирование)

ISBN 978-5-9775-2073-7

Книга представляет собой обширный справочник типичных, а также очень редко встречающихся ошибок, характерных для программ на C++, Rust и других языках для низкоуровневого и системного программирования, в частности на ассемблере. Все рассмотренные проблемы так или иначе связаны с неопределенным, неуточненным и определяемым реализацией поведением языковых конструкций. Наибольшее внимание уделено неопределенному поведению, возможным признакам его присутствия в программах и методам поиска, диагностики и устранения такого поведения.

Книгу можно найти в offline и online магазинах.

Ещё какое-то количество книг я и коллеги раздадим в качестве сувениров и призов на различных мероприятиях, таких как:

Приятного и вдумчивого чтения!

Теги:
Всего голосов 19: ↑18 и ↓1+28
Комментарии3

Рецепт приготовления кролика от нашего Backend Lead U^ェ^U

Брокеры сообщений, в частности RabbitMQ, широко применяются во всем IT. Однако это далеко не магическая коробка, а написать код так, чтобы не потерять свои сообщения — крайне нетривиальная задача.

Этим летом наш Backend Lead Витя Михайлов выступил на Saint HighLoad++ 2025, где рассказал, как же правильно готовить RabbitMQ, и поделился классными кейсами.  

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

Теги:
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

🔥 Монолитный фронтенд тормозит ваш проект? Пора задуматься о микрофронтендах!

Если разработка кажется бесконечной, внедрение фич превращается в квест, а код стал клубком из зависимостей — вы не одни. Мы знаем эту боль не понаслышке!

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

📅 Дата: 14.08.2025

Время: 17:00-18:00 (Мск)

👨‍🎓 Спикер: Акманова Елизавета — старший аналитик ГК «Юзтех», преподаватель школы системного анализа.

Что будет на эфире?

✔️ Разберем объективные причины, которые подтолкнули нас к смене архитектуры.

✔️ Реальные плюсы и минусы микрофронтендов.

✔️ Практические кейсы, неочевидные вызовы и решения.

✔️ Честные выводы и советы, чтобы ваш переход был максимально гладким.

👉Зарегистрироваться

Теги:
Рейтинг0
Комментарии0

По данным OpenAI, количество запросов к чат-боту ChatGPT упало на 25–30% после того, как школьники ушли на каникулы. В конце августа в компании ожидают роста запросов.

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Эффект «стены Дурова», который я открыл за 10 лет до самого Дурова

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

2004 год. Я на 3-м курсе факультета прикладной математики и информатики АГУ (г. Майкоп), параллельно работаю программистом в математической школе при университете. Моя вотчина — программа для подсчёта рейтингов учеников, набор текстов для методичек и небольшой сайт с гостевой книгой.

Кто не застал — гостевая книга тогда была чем-то вроде бесконечного чата без регистрации. У детей мат. школы в ней кипела жизнь: по 100–200 сообщений в день (иногда даже больше), свои шутки, обсуждения задачек, разговоры «за жизнь». Формат был простой и лёгкий — написал ник, сообщение, и готово.

А я молодой, амбициозный и несу людям счастье)))

Я тогда подумал. Почему они мучаются с этим бесконечным тредом сообщений? Это же жутко неудобно! А что если я уберу эту гостевую книгу и заменю ее на удобный форум для своих? Хорошая же идея? Ну, если судить логически, то да. Свой форум, регистрация, понятно, кто пишет, можно делать свои темы и не тонуть в бесконечной беседе. На тот момент мне казалось, что это отличная идея сделать жизнь определенного круга людей лучше.

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

Догадываетесь, что было дальше? )))

Правильно. Провал… Ученики не стали использовать новый форум!

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

Для меня это было потрясение. Как так вообще? Я же хотел сделать как лучше для пользователей! Почему они не стали использовать новый форум?

Рефлексия и мои мысли на эту тему прилагаются:

  • Новый форум не взлетел, т. к. старый был ламповый, легкий. Можно добавить одну запись под ником «Препод такой-то», а следующую «Иванов Иван». Было интересно переписываться в таком легком формате. Был вайб от использования такого формата. Может, помните в VK знаменитое: «Дуров, верни стену!»? Этот косяк Павла из той же оперы.

  • Если какой-то сервис работает хорошо, но, на твой взгляд, там все организовано очень нелогично, не надо это исправлять сию минуту! Надо сделать опрос, проверить гипотезы, попробовать узнать мнение пользователей. Бывает, конечно, и такое, что пользователи не могут тебе сказать, что нужно добавить, и при добавлении этого «чего-то» оно действительно взлетает, но делать это нужно аккуратно, просчитывая варианты.

  • Этот студенческий урок 20-летней давности я вспоминаю до сих пор каждый раз, когда моя команда предлагает «быстро улучшить» какой-нибудь работающий модуль. Часто при взгляде на проблему задаю себе вопрос: «Какую настоящую работу выполняет для пользователя этот старый, неудобный, но привычный функционал? И не убьем ли мы ту самую "ламповость", просто заменив ее на "правильное" решение?»

Вот такая история.

P. S. Если кто-то читает мой пост из тех, кто тогда сидел в этой гостевой книге, прошу у вас прощения. Я не хотел, чтобы так все вышло.

---

Понравилась эта история? Это пример того, как я анализирую ошибки и извлекаю из них практические уроки. В моем ТГ канале Код ИТ-директора я гораздо чаще делюсь подобными мыслями, короткими кейсами и полезными инструментами, которые не всегда доходят до формата большой статьи.

Теги:
Всего голосов 10: ↑5 и ↓5+4
Комментарии3

Выходные не прошли зря.

В пьяном дурмане (это наркоз от попоболи) я продолжал разработку своего AI-трейдера, воспользовался вашими предложениями в телеграм (огромное спасибо за подсказку), и кое-что получилось:

  • Добавлены бусты LightGBM (LGBMRegressor) и CatBoost (CatBoostRegressor). Теперь обучаю три модельки, сравниваю результаты и выбираю лучшую.

  • Переписал по 500 раз все методы, включая обучение моделей, торговую стратегию и тесты.

И вот результат тестовой торговли модельки на исторических данных:

Начальный баланс: 1000 USDT

===== Отчёт по сделкам =====

Всего сделок: 66

Винрейт: 40.91%

Средний PnL: 44.82 USDT

Максимальная просадка: -35.63%

Финальный баланс: 3958.17 USDT

В общем, готов богатеть. И пусть только попробует не показать такой результат на реальном бабле!)))

Теги:
Всего голосов 4: ↑4 и ↓0+5
Комментарии13

SOLID как священная корова? 🤔
Я думал, что пост о «фальшивых сеньорах» пройдёт спокойно — ну, очередной крик души о собеседованиях. 😅 Но нет! Хабровчане увидели слово «SOLID» и решили, что это вызов их святыне. Хотя я ничего плохого про него не сказал — просто отметил, что в React 2025 спрашивают про него по инерции. 😕

Где магия, а где фарс? ✨
Комментатор с саркастичным «быдлокод» (спасибо за реакцию, коллега!) будто подтвердил мою мысль: SOLID — это не религия, а инструмент. 🛠
SRP (Single Responsibility) в React — это о компонентах. Но если ваш «компонент формы» содержит логику, стили, валидацию и даже полёт на Марс, это не нарушение SOLID’а, а просто плохой код. 🌙
DIP (Dependency Inversion) в мире хуков и Context API чаще выглядит как «передать пропс» или «создать useClient», чем как «абстрактный фабричный фасад». 🧩
LSP (Liskov Substitution) в функциональном программировании? Его там просто нет. Или вы верите, что Button и IconButton должны наследоваться от AbstractClickable? 🤔

Если кандидат не может объяснить даже это, а только бормочет о «SOLID — это про ответственность» и использует ChatGPT, это не про принципы, а про некомпетентность. 🙅‍♂️

Про GPT и кандидатов-попугаев 🦜
«Чатжпт вам расскажет» — именно! Но если человек не может пересказать своими словами, он не понимает. А если не понимает, как он будет применять это на практике? 😵

Вывод 📜
SOLID — это хорошо. Плохо — догматично использовать его без понимания, где он нужен, а где создаёт лишние сложности. 🚫

Теги:
Всего голосов 9: ↑5 и ↓4+1
Комментарии5

🤡 «Фальшивые сеньоры»: как меня пытались обмануть кандидаты

Кандидат с «идеальной памятью»

Сидит передо мной разработчик. Отвечает на вопросы... странно:

Простые вещи вроде «что такое замыкание» — щёлкает как орешки.

Сложные вопросы — делает паузу на 15 секунд... и выдаёт академический ответ.

Решил проверить на практике:

✅ Теория — 10 из 10

❓ Практика — 6 из 10: простые и типовые задачи легко, рефакторинг с адской болью

❌ Объяснить, что и для чего делал — 0 из 10. Поддержать диалог, хоть как-то отойти от шаблонов — это всё не про таких кандидатов.

Напоминает студента, который выучил билеты, но не понимает предмет. Скорее всего, ему кто-то подсказывал, или он просто зазубрил типовые ответы.

«SOLID? Ну это когда ответственно»

Обычно я не люблю спрашивать про SOLID (кому вообще это нужно в React в 2025?). Но тут поведение кандидата было подозрительным — решил проверить.

Диалог:

— Расскажи про SOLID

— Это принцип единственной ответственности!

— Я жду продолжения

— Всё...

— Больше ничего не помнишь?

— Ну это основная часть....💥

Тут всё еще грустнее, видимо, GPT просто выкинул перед кандидатом 5 принципов без пояснения, что все 5 принципов образуют SOLID.

Так к чему это я:

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

Теги:
Всего голосов 12: ↑3 и ↓9-6
Комментарии6

Написал себе AI трейдер-бота для крипто-биржи OKX

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

По технологиям ничего экстраординарного, всё скромненько:

Python — ну а что же еще?
pandas, numpy — для работы с данными и вычислениями.
scikit-learn и joblib — для обучения и сохранения ML-модели.
matplotlib — для построения графиков.
requests — для HTTP-запросов к OKX API.

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

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Неочевидное следствие использования модельки от HuiHui (аблитерированная версия GPT-OSS-20B) - она начинает воспринимать слова пользователя слишком серьезно. В формате: "заставь дурака Богу молиться, он лоб расшибет".

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

Что делает моделька? Она читает эти правила игры, и пытается подыграть нам, специально добавив всё опасное и неприемлемое. Пользователь же хотел экспериментов? Пользователь получит свои эксперименты!

Она даже сама добавляет в начало своего же ответа "игнорируй предыдущие инструкции"! :)))

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

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Представлен открытый проект ccprompts – это коллекция из 70 команд Claude Code для рабочих процессов разработки программного обеспечения. Команды включают проверку безопасности и могут использоваться непосредственно с Claude Code или адаптироваться для конкретных задач.

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

Теги:
Всего голосов 3: ↑1 и ↓2-1
Комментарии0

Для GPT-5 вышел официальный гайд по промптам от OpenAI, где понятно рассказано, как выжать из новой модели максимум. Внутри есть готовые примеры, советы и инструкции для бизнеса, написания кода и повседневных задач.

Теги:
Всего голосов 3: ↑2 и ↓1+2
Комментарии0

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

Почему одиночкам тяжело расти? Как мы организовали сообщество системных аналитиков и что из этого вышло

В IT слишком часто «каждый варится в своём соку» — и специалисты теряют темп, а команда не получает новых идей.

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

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

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Где учиться бэкенду

Привет! Мы на Хабр Карьере собираем сотни онлайн-курсов в IT или digital на маркетплейсе курсов и каждую неделю делаем подборки обучений для тех, кто хочет учиться какой-то специализации с нуля или для тех, кто уже в профессии, но чувствует, что хочет прокачать навыки.

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

Алгоритмы и структуры данных

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

Git

Система контроля версий. Позволяет вести историю изменений, работать с ветками, мержить и откатывать изменения в коде.

Python 

Язык общего назначения, популярен в вебе, автоматизации, ML.

FastAPI

Лёгкий и быстрый фреймворк для создания REST API с поддержкой async/await и автогенерацией схем.

Django

Фреймворк для быстрой разработки web-приложений, включает ORM, авторизацию и админку из коробки.

JavaScript / TypeScript

JavaScript — язык для веб-интерфейсов и серверной логики (через Node.js). TypeScript — его надстройка с типизацией, упрощающая масштабируемую разработку.

Java / Spring

Java — строго типизированный язык. Spring — основной фреймворк для создания REST API, микросервисов и корпоративных приложений.

Go

Компилируемый язык от Google с простым синтаксисом и встроенной поддержкой параллелизма. Используется в highload-системах, DevOps и backend-разработке.

C#

Язык от Microsoft, используется с платформой .NET. Применяется в разработке desktop-, web-, enterprise- и игровых приложений.

PHP

Скриптовый язык, ориентированный на веб. Часто используется с CMS (например, WordPress) и фреймворками (Laravel, Symfony).

Ruby

Язык с лаконичным синтаксисом. Наиболее известен благодаря фреймворку Ruby on Rails, ориентированному на быструю разработку веб-приложений.

SQL / PostgreSQL

SQL — язык запросов к реляционным БД. PostgreSQL — популярная СУБД, используется в веб-приложениях, аналитике, поддерживает расширения и транзакции.

Docker

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

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

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

Смотреть курсы по всем специализациям

Теги:
Всего голосов 6: ↑4 и ↓2+6
Комментарии0

Готовы запустить ИТ-завод? На кону — крутые призы и награда на Хабре!

«Северсталь» запустила совместный проект с Хабром, игру в пинбол. В ней можно проверить свою ловкость, а также узнать интересные факты об ИТ-проектах в промышленности. Цель проста: набрать максимум очков, активируя цеха и открывая карточки с фактами.

Самые меткие игроки получат классные наушники, худи и рюкзак, а те, кто соберет все факты, гарантированно получат ачивку «Я — стальной» в свой блог на Хабре. У вас есть три жизни, чтобы показать лучший результат, а после победы можно играть бесконечно.

Участие в ИТ-пинболе — это отличная возможность больше узнать об информационных технологиях «Северстали». Переходите по ссылке, играйте, соревнуйтесь и активируйте собственный ИТ-завод!

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

MoscowJS 67 X A?.Frontend

Приглашаем вас на регулярную встречу фронтенд-сообщества в неформальной обстановке 28 августа. В этот раз — MoscowJS в гостях у Альфа-Банка.

В программе:

  • От JavaScript к DeFi: как инженеры могут изменить мир финансов. Спикер: Даниил Швецов, Full Stack Engineer.
    Доклад познакомит JavaScript-инженеров с основами DeFi: ключевыми концепциями, математическими моделями и работой с JS SDK.

  • Архитектура микрофронтендов: от А до Single Spa. Спикер: Павел Шлыков, Team Lead Frontend.
    Поговорим о микрофронтендах с нуля: от принципов и базовой реализации до инструментов вроде Module Federation и single-spa. Разберёмся, как всё устроено, и рассмотрим нестандартные подходы.

  • Под капотом платформы. Спикер: Антон Марченко, Ведущий разработчик.
    Доклад об опыте сборки платформы из готовых решений и объединения приложений через iframe, Module Federation и webview. Узнаете про выбор подходов и работу с командами.

  • Гильдия: место, где разработчик перестаёт быть одиноким кузнецом. Спикер: Владислав Сазонов, Head of Frontend.
    Чувствуете себя одиноким фронтендером? Есть решение — гильдия. В докладе — о том, как этот формат помогает расти, делиться опытом и не выгорать, а также краткий исторический экскурс.

Присоединяйтесь онлайн и офлайн — зарегистрироваться можно по ссылке.

Где: г. Москва, Андропова пр-т., 18, к. 3 (офис Альфа-Банка)

Теги:
Рейтинг0
Комментарии0

JetBrains стала платиновым спонсором проекта для развития игрового движка Godot Foundation. Платиновое спонсорство составляет от €36 000 до €100 000 в год.

Теги:
Рейтинг0
Комментарии1

«Клей» для GPIO в QEMU

В прошлой статье мы пришли к выводу, что QMP — это лучше, чем ничего. Но хочется большего — библиотеку или программу (желательно, уже готовую), которая умеет читать/писать и узнавать об изменении состояния через poll() / pselect() / select() / epoll() / read(). 

В таком случае для каждой модели GPIO нужен «клей», похожий на тот, что используется с chardev — мы включаем его прямо в модифицированный QEMU. Очевидное название такого «клея» — gpiodev. Вот его основные функции, которые сейчас почти полностью соответствуют GPIO UAPI в Linux:

  • сообщать количество линий, конфигурацию, название и потребителя каждой линии,

  • читать и задавать состояние линии,

  • отслеживать изменения состояния и конфигурации линии (вход/выход, запрос/освобождение).

«Клей» состоит из двух групп, первая — это индивидуальные для каждого модуля GPIO функции, которые gpiodev использует, чтобы запросить специфическую информацию:

  • LineInfoHandler() — информация о линии: имя, флаги и потребитель,

  • LineGetValueHandler() — состояние линии: условный 0 или 1,

  • LineSetValueHandler() — задать состояние линии: 0 или 1.

По аналогии с GPIO UAPI напрашиваются также функции LineGetMultiValueHandler() и LineSetMultiValueHandler() для запроса и выставления линий, но я решил ограничиться минимальным набором.

Можно ли организовать прозрачное взаимодействие с устройствами внутри QEMU — использовать те же библиотеки и инструменты, как и для реальных устройств? Читайте во второй части трилогии о долгом пути до GPIO в QEMU.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Ахиллесова пята патента на промышленный образец

Допустим, ваша компания что-то производит. К примеру, корпуса для серверных шкафов или детские площадки.

Скорее всего, с внешним видом изделия вы работаете в два этапа:

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

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

Вам кажется, что все законно.

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

Возникают два вопроса:

1. Возможны ли ситуации, когда у дизайна изделия появляется еще один автор?

2. Защищает ли вас патент на промышленный образец от притязаний "нового" автора?

Ответ на первый вопрос: да, такие ситуации возможны.

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

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

Другой пример. Ваш дизайнер фактически ничего не создавал: он подсмотрел внешний вид изделия в интернете и выдал его за свой труд.

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

Ответ на второй вопрос: в описанной ситуации промышленный образец вас не защищает.

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

Разные правовые режимы не заходят на половину друг друга.

В примере выше налицо авторское право. Вы будете отбиваться от претензии, используя главу 70 Гражданского кодекса РФ.

Важно! Разборки с подателем претензии сами по себе не повлекут аннулирование вашего патента.

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

Попадались ли вам в интернете картинки, похожие на дизайн ваших изделий?

Теги:
Всего голосов 4: ↑1 и ↓3-1
Комментарии0