Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 47 min ago

Пишем Java-скрипт, который собирает проект в один файл для контекста в чат DeepSeek или другие LLM

Thu, 05/28/2026 - 11:51

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

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

Отдельная проблема — DeepSeek не всегда понимает ссылки на репозиторий и не смотрит код по ним так, как хотелось бы. Зато если дать ему сам контекст кода текстом, он включает его в анализ.

Читать далее

Самодельный elgato-like макропад. Часть 2, софтовая

Thu, 05/28/2026 - 11:50

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

Напомню, я решил, что вместо прошивки мне подойдёт и нейрослоп - в конце концов это не серийное устройство, а поделка для себя. И тут, как обычно, в процессе работы пошли фейерверки.

ESP32-S3 имеет два USB выхода - обычный через микросхему CH340, которая конвертирует USB в UART, и второй USB OTG, который подключен к чипу напрямую. То есть чип может управлять тем, какое "устройство" он предоставит хостовой ОС! Более того, он может предоставлять несколько устройств одновременно. Это было как раз то, что надо: одним устройством будет USB HID клавиатура для "сырого" ввода в консоль, например, а вторым - USB RAW устройство, которое будет слушать софт бекенда - запускать приложения по ярлыкам, регулировать громкость, отправлять в устройство настройки. И всё это минуя тормознутый UART. Сказка. Но, как оказалось, для взрослых.

Казалось бы, полный интернет примеров того, как это настраивать. Даже в самом фреймворке esp-idf есть пример композитного устройства, значит, информация уж точно легкодоступная, бери да пользуйся. Я попросил ИИ добавить это в прошивку и... Оно не смогло. То есть вообще. Два дня и токенов примерно на 30 баксов - и я взял дело в свои руки, потому что ИИ выдумывал всё более и более изобретательные причины того, почему прошивка не компилируется, но вот выдумать компилирующуся прошивку не мог никак.

Читать далее

Гайд: как системному аналитику построить доменную модель для Java-микросервисов

Thu, 05/28/2026 - 11:40

Системный аналитик пишет User Story, рисует BPMN, описывает API — а через месяц архитектор перекраивает всё, потому что «это не ложится на DDD». Знакомо?

В этой статье я показываю пошаговый маршрут, как аналитику самому спроектировать доменную модель и перенести её в Java‑код. Разбираю на реальном кейсе: Event Storming, выделение ограниченных контекстов, построение агрегатов с инвариантами и асинхронное взаимодействие через интеграционные события.

Читать далее

Балансировка входящего трафика на железе: как надёжно вывести K8s наружу с MetalLB, BGP и L2 (подход от Deckhouse)

Thu, 05/28/2026 - 11:40

На bare metal внешний доступ к Kubernetes часто становится головной болью: NodePort с рандомными нестандартными портами не для продакшена, а облачного балансировщика нет. MetalLB превращает обычные узлы кластера в полноценный балансировщик с автоматическим failover. Разбираем режимы BGP и L2, а ещё показываем фишку Deckhouse Kubernetes Platform, которая спасает активные соединения при падении узла.

Читать далее

«Мементо»: как фильм Нолана 2000 года удивительно точно иллюстрирует работу ИИ- агентов

Thu, 05/28/2026 - 11:35

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

Разберём, почему это так

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

Thu, 05/28/2026 - 11:06

ИИ не заменит аналитика данных или специалиста по Data Science. Но он может сильно изменить их работу: ускорить и упростить процессы — или, при неправильном использовании, снизить качество результатов и отучить специалистов мыслить критически.

В Яндекс Практикуме прошёл вебинар «ИИ для аналитиков: как меняется профессия» — эксперты курса «Аналитик данных» и направления Data Science Александр Вальд и Евгений Арзамасцев рассказали, как нейросети помогают работать с данными, какими инструментами можно пользоваться и где без человека пока не справиться. Делимся самым интересным.

Читать далее

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

Thu, 05/28/2026 - 11:05

ИИ не заменит аналитика данных или специалиста по Data Science. Но он может сильно изменить их работу: ускорить и упростить процессы — или, при неправильном использовании, снизить качество результатов и отучить специалистов мыслить критически.

В Яндекс Практикуме прошёл вебинар «ИИ для аналитиков: как меняется профессия» — эксперты курса «Аналитик данных» и направления Data Science Александр Вальд и Евгений Арзамасцев рассказали, как нейросети помогают работать с данными, какими инструментами можно пользоваться и где без человека пока не справиться. Делимся самым интересным.

Читать далее

Шахматные программы VI. Структура поиска Stockfish

Thu, 05/28/2026 - 11:04

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

Читать далее

Blockstor: Kubernetes-native альтернатива LINSTOR, которую мы готовим как отдельный CNCF-проект

Thu, 05/28/2026 - 11:01

Всем привет. Мы в Ænix давно занимаемся Kubernetes-платформами, bare metal-инфраструктурой и Cozystack, поэтому тема блочного хранилища для Kubernetes у нас не теоретическая. Это та часть стека, где красивых абстракций быстро становится мало: надо переживать падения нод, понимать топологию, реплицировать данные, не ломать PVC, дружить с CSI и при этом оставаться предсказуемыми для операторов.

Сегодня хотим показать первый публичный результат этой работы — Blockstor 0.1.0.

Blockstor — это открытая система управления распределенным блочным хранилищем для Kubernetes. Она использует DRBD для репликации данных, совместима с REST API LINSTOR и написана на Go как самостоятельная clean-room реализация. Код распространяется под Apache 2.0.

Читать далее

Эксперименты с WAP в 2026 году

Thu, 05/28/2026 - 10:31

Эта статья - продолжение моей предыдущей статьи: Создаем собственную базовую станцию при помощи SDR. В прошлый раз я экспериментировал с 2G GPRS, но на старых телефонах эта технология не поддерживается, а мне хотелось запустить WAP именно на таком. О том, как вернуться в эпоху до распространения GPRS - читайте далее.

Читать далее

Мышление техно-бро: почему умные технари ведут себя глупо, а общество это НЕ кусок кода

Thu, 05/28/2026 - 10:29

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

Читать далее

Шестнадцатеричная запись чисел с плавающей точкой в C++, Java, Go

Thu, 05/28/2026 - 10:02

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

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

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

0xBEDA.BEDAp0

Архитекторы в ИТ — кто все эти люди на созвонах и почему без них современный бизнес начинает страдать

Thu, 05/28/2026 - 09:26

Когда компания маленькая, архитекторов обычно нет. Есть разработчик Алеша, системный администратор Димон и руководитель Саша, который говорит сакральную фразу:

"Да что там делать, поднимите сервер, выкатите приложение. Делов-то!".

Потом компания растет. Появляются Kubernetes, микросервисы, Clickhouse, десять команд разработки, пять облаков, семь подрядчиков, бюджеты на миллионы рублей и внезапное осознание:

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

Так в компании появляются архитекторы. И сегодня я хотел рассказать - кто эти люди и зачем они нужны...

Читать далее

Пишем Third Person Controller на MonoGame. Часть I

Thu, 05/28/2026 - 08:47

В этой серии туториалов мы реализуем простой Third Person Controller на базе MonoGame.

Серия рассчитана на читателей, уже знакомых с основами MonoGame и 3D-графики.

Читать далее

Загрузка PocketHandyBox Linux с помощью TinyPXE Server, iPXE и WinNFSd

Thu, 05/28/2026 - 08:33

Подготовлены .ini файл с настройками TinyPXE Server, скрипт запуска WinNFSd, загрузочные файлы iPXE и скрипт autoexec.ipxe. В общем все необходимое для запуска PocketHandyBox Linux через PXE на почти любом ПК в локальной сети, используя в качестве сервера любой ПК/ноутбук с Windows.

Благодаря поддержке в TinyPXE Server режима ProxyDHCP, при наличии в локальной сети основного DHCP сервера (без настроенной опции 67) / роутера - нет необходимости как либо вмешиваться в его работу. А также нет необходимости изменять IP адреса или файловые пути в каких либо конфигах.

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

Поддерживается загрузка через PXE как в UEFI так и в Legacy/CSM режимах. К сожалению Secure Boot не поддерживается и его требуется отключать.

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

Читать далее

Гараж стоит десятилетиями, а твой софт всего несколько лет. Стоит ли он твоих усилий?

Thu, 05/28/2026 - 04:26

Пару дней назад я просматривал статьи в песочнице «Хабра» и наткнулся на статью парня от 2011 года, где с полным воодушевлением обсуждает открытие стартапа. После чего я открыл сайт, и он даже открылся (хотя если пробить информацию по налоговой базе, становится понятно, что какой-то коммерческой деятельности там уже давно нет). И это меня навело на мысль, что гараж, который строят за пару месяцев, стоит годами, а софт устаревает за несколько лет и уходит в небытие. У меня появился внутренний вопрос: «Стоят ли ваши усилия и профессионализм того, чтобы софт, написанный сегодня, ушёл в небытие через несколько лет?» Такой экзистенциальный вопрос профессионализма?

Читать далее

Как я 8 дней ловил утечку памяти в Nuxt 3 SSR, и несколько раз думал, что починил

Thu, 05/28/2026 - 03:35

Всем привет. Я занимаюсь фронтендом в небольшой команде сервиса бронирования отелей. Хочу как я 8 дней ловил утечку памяти на проде, несколько раз думал, что починил, и каждый раз ошибался. А последний фикс был не в нашем коде, а в патче самого Vue, который через неделю апстрим откатил как регрессионный. У нас в результате осталась одна патч-версия, в которой утечки нет; обычный minor/patch update сейчас для нас не безопасен без повторной проверки heap-снапшотами.

Наш стек Nuxt 3.18 + Vue 3.5.x + TypeScript, SSR, Pinia, PM2 cluster, nginx перед Node. Обычный каталог отелей с тысячами SEO-страниц вида /oteli-v-{город}/{подборка}

Читать далее

Почему советские программисты не сделали GTA

Thu, 05/28/2026 - 03:29

Алексей Пажитнов написал «Тетрис» в 1984 году на «Электронике-60», работая в Вычислительном центре АН СССР, и эта игра до сих пор входит в любой список «самых влиятельных видеоигр всех времён». В том же 1984 году в США уже четвёртый год подряд продавался Pac-Man, а в Японии Nintendo готовилась к экспорту NES. В том же году два британских студента на ZX Spectrum написали Elite с процедурной генерацией восьми галактик в 22 килобайтах памяти.

К 1991 году СССР закончился. «Тетрис» стал собственностью Nintendo через цепочку посредников, и никаких других советских игр мирового уровня за следующие десять лет так и не появилось, хотя отдельные студии делали хорошие проекты, я буду считать 90-е наследием советов. А вот вопрос, который мне кажется куда интереснее, чем «почему так получилось»: почему в одно и то же время одна и та же страна могла спроектировать систему наведения «Бурана» с автоматической посадкой по радиомаякам, но не могла сделать массовый игровой автомат уровня Space Invaders?

В ответ часто слышал «не было рынка, не было капитализма, не было конкуренции». Я в это не верю. Не верю, потому что отсутствие рынка не мешало тем же людям спроектировать «Энергию-Буран», Ту-160 и атомный ледокол «Арктика». А вот качественный массовый телевизор «Рубин» в той же стране делать почему-то не получалось. И качественную массовую игру тоже.

Не надо быть матёрым геймдизайнером и знать, что такое ECS и GOAP, достаточно понимать, что игра - это продукт, который собирается из кода, графики, звука, геймдизайна и тестирования, и что каждая из этих веток требует отдельных людей с отдельной экспертизой. Дальше будет немного арифметики и исторических примеров.

Читать далее

Последовательное иерархическое распределение сумм. Создание БД. Распределение сумм по правилам средствами PostgreSQL

Thu, 05/28/2026 - 03:18

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

В данной статье будет описана структура PostgreSQL-базы данных и реализация данной задачи с помощью SQL в варианте PL/pgSQL. Реализация на Apache Spark будет описана в следующей статье.

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

Читать далее

Язык программирования T

Thu, 05/28/2026 - 02:21

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

Книга следует проверенной структуре «Языка программирования C», чтобы читатель, знакомый с C, мог быстро освоить T, а новичок получил систематическое введение в троичное программирование.

Читать далее

Who's online

There are currently 1 user and 1 guest online.