Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 17 min 13 sec ago

Чинить или списать: когда старый сервер начинает обходиться дороже нового

Tue, 07/21/2026 - 09:57

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

Читать далее

IrDA для Алисы

Tue, 07/21/2026 - 08:16

Большинство способов интеграции самодельных устройств умного дома с Алисой требуют Wi-Fi, облачного сервера или MQTT. Но существует гораздо более простой способ — использовать обучаемый ИК-пульт Яндекса как шлюз между голосовым помощником и собственной сетью устройств. Именно такой вариант я сделал ещё в 2017 году, и он работает до сих пор.

К статье

Опыт моего общения с «близняшками» (ИИ Gemini от Google)

Tue, 07/21/2026 - 07:26

Эта статья изначально была написана как комментарий к переводу от Анатолия Ализара "Ненависть к ИИ", но в какой-то момент я понял, что для комментария информации слишком много, и решил поделиться своим опытом общения с "близняшками" в отдельной статье.

Пока одни ненавидят ИИ в целом и все его проявления в частности, другие начинают его использовать, и не только в работе. Близняшкам можно поручать задачи, упрощающие бумажную работу. Можно попросить преобразовать найденную информацию в тот или иной формат (хочешь – представить в виде таблицы, хочешь – преобразовать в json). Можно попросить сделать тест по теме и протестировать твои знания. Можно… много чего можно, а вот что именно – и, что самое главное, хорошо ли это получится у близняшек, можно узнать, прочитав эту статью.

Перейти к чтению?

Практическое махоботоводство в 2026 году. Часть 5: MAX как фотохостинг?

Tue, 07/21/2026 - 04:28

Попробуем использовать инфраструктуру MAX в качестве халявного фотохостинга. Задача, конечно, учебная; в этот раз освоим приём апдейтов методом long polling и их базовую обработку.

Читать далее

Как я три года пилю свой музыкальный сервер: часть вторая. Архитектура Kalinka и её место среди музыкальных систем

Tue, 07/21/2026 - 03:05

Как устроен KalinkaPlayer: модульный бэкенд, нативный аудиоплеер, пайплайн метаданных и мобильное управление в одном проекте.

Изучить архитектуру

Первый шаг к gRPC-клиенту

Tue, 07/21/2026 - 02:04

На текущий момент можно считать, что не имеется некоммерческих библиотек или компонентов, позволяющих создать качественный gRPC-клиент (автор, конечно же, в курсе про «DelphiGrpc», но в нынешнем виде полагает её малопригодной для практического использования – хотя бы из-за устаревших версий зависимостей); во многом остроту данной проблемы снимают платные решения – давно существующий компонент TipwGRPC, а также относительно недавно появившийся TsgcGRPCClient. В связи с этим, если по каким-то причинам применение коммерческих вариантов невозможно, то потребуется реализовать указанный клиент своими силами, для чего в статье рассмотрен лишь начальный (но довольно-таки важный) этап разработки: а как, собственно говоря, использующий клиент станет вызывать gRPC-методы – посредством каких функций или процедур, какие параметры они будут требовать, и далее в таком духе? В грубом приближении, что должно быть в этом прототипе вместо многоточий?

function CallMethod(...): ...;

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

Также хочется проговорить явно, чтобы читатель не имел ложных надежд, – материал совершенно не содержит ответа на вопрос «как», тут только предложен вариант программного интерфейса к gRPC-клиенту (весьма подробно, однако, расписанный).

Читать далее

Технический долг никуда не исчез. Мы просто начали платить за него токенами

Tue, 07/21/2026 - 01:57

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

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

Сжечь пару токенов

Бегство Солнца

Tue, 07/21/2026 - 01:33

Мы привыкли считать Солнце символом постоянства, как часть природы, как часть всего, что нас окружает: то, что мы знаем, сколько помним себя — как горы и океаны, как Луну и облака. Мы слишком легко забываем, что у звёзд своя жизнь и своя судьба: они так же рождаются, живут и умирают, как человек. И совсем мало кто знает, что Солнце, которое мы встречаем каждое утро и под лучами которого проживаем очередной день — беглец. Оно родилось в центральном районе Галактики и сбежало оттуда, как дети иногда сбегают из родного дома.

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

Читать далее

Как рой ИИ-агентов Cursor создал SQLite с нуля за $1339

Tue, 07/21/2026 - 01:29

Cursor опубликовала результаты эксперимента со вторым поколением своего "роя агентов" — системы, в которой сотни ИИ-агентов параллельно работают над одной кодовой базой. Задача — реализовать на Rust движок базы данных по 835-страничной документации SQLite. Без исходников, без готовых тестов, без бинарника оригинала и без доступа в интернет. Самая дешевая связка моделей уложилась в счет $1339 за четырехчасовой прогон. Главная находка — экономическая: та же задача с теми же моделями в других конфигурациях стоила до $10 565, и всю разницу сделала организация работы.

Читать далее

Карта странствующих слов

Tue, 07/21/2026 - 01:19

О странствующих словах я впервые задумался, когда сам странствовал по Индии. Ранним утром в колоритном индийском поезде проснулся от громкого возгласа зашедшего на остановке продавца: «Ча́е!» Разбудило вовсе не то, как он во всё горло рекламировал свой товар характерным проникающим тембром. Спросонья я попросту потерялся в пространстве, услышав знакомое слово. Как у Маршака: «Это что за остановка — Бологое иль Поповка?» Я выглянул с полки и увидел индийца, несущего через вагон огромный бидон чёрного чая. То был первый случай, когда удалось понять услышанное индийское слово без посторонней помощи (и это слово не означало «такси»).

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

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

Читать далее

Dirty Coding Tricks, part 3

Tue, 07/21/2026 - 00:56

Семнадцать лет назад Брэндон Шеффилд собрал на Gamasutra классическую подборку "Dirty Coding Tricks" (http://www.gamasutra.com/view/feature/132500/dirty_coding_tricks.php), перевод на Хабре тут, и "Developers share their most memorable dirty coding tricks"(https://www.gamedeveloper.com/programming/developers-share-their-most-memorable-dirty-coding-tricks) где были камера, повёрнутая на 90 градусов вместо починки рендера, пробел, добавленный в код ради совпадения контрольной суммы, и два мегабайта памяти, спрятанные "на чёрный день", чтобы торжественно достать их за неделю до сдачи.

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

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

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

Читать далее

Электрокликер с таймером, логом и блюпуп

Tue, 07/21/2026 - 00:33

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

Встретились как-то nRF52840, OLED дисплей, аккумулятор от электронной сигареты, ДР жены и фрезеровщик. Ну и понеслось...

Читать далее

Программирование как экспериментальная метафизика

Mon, 07/20/2026 - 23:59

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

Читать далее

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

Mon, 07/20/2026 - 22:41

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

Казалось бы, выход один – дорогая студия, фуд‑стилист, долгое согласование. Но если вы продаёте онлайн, у вас редко есть на это время. Хорошая новость: выход есть. ИИ‑редакторы, работающие в формате чата, научились понимать промпты так, что достаточно пары строк – и товар из «пришлю в ЛС» превращается в карточку уровня премиум‑бренда.

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

Читать далее

На дворе C++23, а заставить компилятор проверять код всё ещё помогает только ассемблер

Mon, 07/20/2026 - 22:11

Казалось бы, современный C++ дает нам море инструментов для контроля кода на этапе компиляции: static_assert, концепты, constexpr всё, что только можно. Но что делать, если вам нужно заставить разработчика вызвать обязательную функцию инициализации инфраструктуры тестирования для библиотечных классов, а проект собирается под ARM с агрессивным -O2 -Os -flto=auto в недрах Yocto/OpenBMC?

В этой статье я расскажу, как попытка добавить удобный режим тестирования для датчиков которые используют header-only библиотеку столкнулась с невероятно умным оптимизатором GCC 14.2, и почему в эпоху мегабайтных исходников нам всё ещё приходится спускаться на уровень инлайн-ассемблера, чтобы просто заставить линкер выдать ошибку для не корректного кода (для определения правила использования хидера).

Читать далее

AI сделал разработку биллинга дешёвой. Стоимость никуда не исчезла

Mon, 07/20/2026 - 21:56

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

Читать далее

Обзор книги «Шеринг специалистов»

Mon, 07/20/2026 - 21:39

Шеринг специалистов — парадоксальная тема. С одной стороны шеринг снижает и без того невысокие зарплаты, с другой — дает возможность прилично зарабатывать. Бизнес тоже увидел свой интерес в этой модели. Еще в 2019 году народ со знанием дела говорил, что так работать не будет, а к 2026 году сформировался целый рынок, и даже комиссия ФАС провела несколько заседаний, чтобы не дай бог никто ничего не монополизировал. Мне довелось стоять у истоков, наблюдать как появлялись первые конкуренты, как модель ушла в народ и как в конце концов смешались представления об аутсорсинге, аренде и шеринге. Понимание этой разницы приносит деньги, а непонимание — опыт.

Что ж. Попробуем разобраться.

Меня зовут Костя Дубровин. Я тот парень, который заварил эту кашу и написал об этом книгу.

Читать далее

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

Mon, 07/20/2026 - 21:39

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

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

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

В данном материале разберем что такое антидетект-браузер и как он работает. Информация из первых уст!

Читать далее

[Перевод] Гравитация и квантовая физика фундаментально несовместимы

Mon, 07/20/2026 - 21:24

Итан Сигел (американский астрофизик-теоретик и научный журналист, изучающий теорию Большого взрыва, автор рубрики "Спросите Итана", один из пропагандистов современных научных знаний), 24 марта 2026 года опубликовал статью с безапелляционным заявлением о том, что два описания Вселенной, которые прекрасно работают, общая теория относительности и квантовая физика, абсолютно несовместимы. Несмотря на все поиски многочисленных теорий квантовой гравитации...

@avshkol перевел эту статью (и снабдил несколькими разъясняющими примечаниями) для всех, кто хочет глубже погрузиться в одну из ключевых проблем (даже, скорее, Проблему №1) современной физики...

Читать далее

Видеозвонок — это не про видео

Mon, 07/20/2026 - 20:31

Индустрия сорок лет улучшает картинку видеозвонков, а всё ценное со встречи - решения, договорённости, задачи - испаряется после клика «Закончить». Рассказываем про Yttri Meet: звонки с записью и расшифровкой на вашем компьютере, конспектом и ассистентом прямо во время встречи.

Читать далее

Who's online

There are currently 1 user and 1 guest online.