Все потоки
Поиск
Написать публикацию
Обновить
1007.06

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

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

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

Андроид всё еще не готов к RAW-видео

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.7K

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

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

Читать далее

Как выбрать облачный GPU-инстанс для развертывания ИИ-моделей: практическое руководство

Время на прочтение3 мин
Количество просмотров915

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

Читать далее

Я отклоняю комиты с использованием кучи и прошу коллег переписать такую логику

Время на прочтение11 мин
Количество просмотров58K

Хочу поделиться своим опытом разработки крупных игровых проектов на C++, где производительность и стабильность — это не просто приятные бонусы, а абсолютно естественные требования к разработке. За годы работы над движками и играми я понял, что подход к управлению памятью очень сильно влияет на весь проект. В отличие от многих приложений - игры, особенно большие, часто работают часами без прерываний и должны поддерживать стабильный фреймрейт и отзывчивость. Когда проседание fps или фриз происходит на глазах у сотен тысяч игроков, вам уже никто не поможет — ущерб уже нанесен, а в steam полетели отзывы о кривизне рук разработчиков.

Однажды моя команда закончила работу над довольно интересным проектом, который портировали больше двух лет на плойку. Движок старый, большой и мощный, но работа с памятью была ориентирована на ПК времен конца 2000-х, и что меня поразило, так это насколько сильно большая часть кодовой базы зависела от динамической памяти во время выполнения. На ограниченном железе (далеко не у всех есть PS5 pro) и в условиях жёстких требований к сертификации на консолях такие решения быстро превращаются в проблему.

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

Читать далее

Как Node.js выжимает максимум из I/O в 2025 году

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

Команда JavaScript for Devs подготовила перевод статьи о том, как Node.js выжимает максимум из I/O в 2025 году. В ней подробно объясняется цикл событий, порядок фаз и то, как правильно писать код, чтобы серверы оставались отзывчивыми даже под нагрузкой.

Читать далее

Интеграционные тесты в Go: как избавиться от флаков и боли

Время на прочтение10 мин
Количество просмотров2.7K

Всем привет! Меня зовут Александр Голубь, и я пишу на Go уже 7 лет. Когда я только начинал, казалось, что юнит-тестов достаточно. Функции проверены, сборка зелёная — можно релизить. Но первый же боевой проект показал, что это иллюзия. В продакшене всё падает, хотя юниты сияют зелёным. Почему? Потому что реальный сервис — это не только код, но и PostgreSQL, Redis, Kafka, внешние API. Данные проходят через цепочку зависимостей, и любая несовместимость ломает систему. Юнит-тесты этого не ловят. Тут нужны интеграционные.

Читать дальше →

Вопросов нет? Или почему отсутствие '?' может навредить проекту

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

Фраза "вопросов нет" часто слышна в конце встречи или доклада. Чаще всего она означает, что всё прошло хорошо. Однако в мире программирования её буквальное значение обретает совершенно иной, даже тревожный оттенок. Когда речь заходит о разработке, отсутствие "вопросов" зачастую указывает не на ясность, а на скрытые проблемы. Давайте разберём, как их отсутствие может навредить качеству проекта.

Читать далее

Создать плагин для Figma может каждый! История о том, как я написал аналог Autoflow за месяц

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров911

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

Читать далее

Разработка RESTful API на Go и Gin

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

Команда Go for Devs подготовила перевод статьи по созданию RESTful API на Go с использованием фреймворка Gin. Всего за несколько шагов вы напишете простой веб-сервис, который умеет возвращать список джазовых альбомов, добавлять новые и находить альбом по ID. Отличный старт для знакомства с Gin.

Читать далее

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

Время на прочтение8 мин
Количество просмотров3K

Привет! Меня зовут Дима Иванов, я руковожу SourceCraft — это платформа для разработки, которая поддерживает полный цикл работы с кодом.

За последние два года ИИ‑революция изменила инструменты разработки и сделала кодогенерацию массовой и доступной, меняя наши представления об эффективности. В 2021 году появился GitHub Copilot — первый массовый помощник для написания кода, а сегодня нейросети и специализированные опенсорс‑решения помогают разработчикам на многих этапах создания ПО.

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

Читать далее

Топ-6 Python-библиотек для визуализации

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

Команда Python for Devs подготовила перевод статьи о шести библиотеках Python для визуализации данных. Matplotlib, seaborn, Plotly, Altair, Pygal и Bokeh — у каждой свои сильные и слабые стороны: от академических статичных графиков до интерактивных дашбордов для бизнеса. Выбираем самую подходящую для различных кейсов.

Читать далее

Программисты против ИИ и low-code: кто кого заменит

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров3.3K

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

«Программистов станет больше, но других» — эта фраза из недавней дискуссии в телеграм-канале Dev Q&A заставила меня задуматься о том, насколько быстро меняется наша профессия.

Коллеги из Диасофт — Сергей Ольков и Дмитрий Старов — вместе с экспертами из других компаний устроили жесткий разбор того, что происходит с разработкой в эпоху ИИ. К нимприсоединились Дмитрий Маруськин (TechLead Capture C# Team), Дмитрий Демиркылыч (АО «Нейросети»), Сергей Сергеев (Comindware) и Алексей Граков (Agizo).

Самое ценное в дискуссии — полное отсутствие розовых очков.

Читать далее

«Трактор или лопата?» — разбираем главные мифы и проблемы low-code платформ

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

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

Продолжаю публиковать наши разговоры из телеграм-канала Dev Q&A. В этот раз собрались обсудить одну из самых спорных тем в российском IT — low-code платформы. Тема настолько горячая, что удалось собрать представителей ведущих российских low-code платформ и практикующих разработчиков.

Читать далее

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

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

Made only by human brains

- в написании книги и данной статьи принимали участие только люди.

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

Вероятно, можно! Для этого требуется выполнить 3 шага:

1) написать и опубликовать книгу;
2) поработать и заработать;
3) стать известным, используя один из доступных вариантов,

где пункты 2 и 3 скорее всего не зависят от пункта 1. В этой иронии - больше правды..

Читать далее

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

Распродажа в издательстве «Питер»

Время на прочтение1 мин
Количество просмотров6.9K

Добрый день, Хаброжители!

Встречаем осень с хорошими новостями — в нашем интернет-магазине только что началась новая распродажа!

Читать далее

Хватит валидировать CLI — сначала лучше распарсите код как следует

Время на прочтение7 мин
Количество просмотров2.4K

Есть за мной такой грешок: если какая-то проблема мне долго досаждает, я в конце концов пишу библиотеку, которая её решает. На сей раз такая история возникла с кодом для валидации CLI.

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

Читать далее

Java 25 выходит уже сегодня

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров5.3K

Четверть века назад язык, придуманный для «умных тостеров», стал символом корпоративного софта и огромных систем. Сегодня Java продолжает эволюционировать, и каждая новая версия всё сильнее ломает стереотип о «тяжёлом корпоративном динозавре».

Встречайте 25 версию Java вместе с командой Spring АйО!

Читать далее

Распределённая батчевая обработка данных: как мы решали проблему гонок в продакшене

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

Всем привет! Меня зовут Дмитрий, я руковожу командой государственных интеграций в Ozon Банке. Сегодня я расскажу о том, как мы столкнулись с проблемой гонок при батчевой обработке данных в распределённой системе — и какие решения мы рассматривали, чтобы эту проблему решить. Материал основан на реальном кейсе и будет интересен всем, кто работает с PostgreSQL, батчами, распределёнными системами и борьбой за консистентность в высоконагруженных системах.

Читать далее

Оценка сроков выполнения задач: покоряем закон Хофштадтера

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

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

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

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

Читать далее

Агрегация и парсинг XML RSS ленты на Python

Время на прочтение9 мин
Количество просмотров770

В этой статье рассмотрим, как с помощью Python собирать и обрабатывать новости с сайта, имеющего RSS.

В нашей статье мы создадим скрипт на Python, который за заданный период (например, за последние 4 часа) соберёт все записи из нескольких лент сайта BBC, отфильтрует их по ключевому слову «Трамп» и опубликует итоговый подбор в наш Telegram-канал. Далее рассмотрим код, вы легко сможете адаптировать его под любую другую ленту или ключевое слово.

Читать далее

Вышла GPT-5-Codex: код-ревью, рефакторинг и агентные задачи

Время на прочтение8 мин
Количество просмотров7.5K

Команда AI for Devs подготовила перевод анонса GPT-5-Codex — новой модели, оптимизированной для агентного программирования. Codex умеет писать проекты с нуля, проводить код-ревью, находить критические баги и даже часами самостоятельно выполнять масштабные рефакторинги.

Читать далее

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