RU

Робот доставщик дороже автомобиля, мокрая трава и открытый JDWP

Мы продали клиенту робота‑доставщика с интеграцией и пообещали запустить его в парке. Вскоре выяснилось: передать клиенту робота и передат…

робототехникаLinuxинформационная безопасностьреверс-инжинирингROSSLAMIoTкомпьютерные сетиJavaоблачные технологии
Habr
RU

Go сделали скучным — и после нейросетей это выстрелило

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

golangязыки программированиягенерация кодаLLMобратная совместимостьдженерикимногопоточностькомпиляторыJavaPython
Habr
RU

Конвертация docx на сервере: LibreOffice headless против Apache POI, и где каждый ломается

Задача звучит безобидно: «нам нужно на бэкенде превращать .docx в .html (а иногда .html в .pdf )». В тикете это одна строчка. На практике конвертаци…

конвертация документовApache POILibreOfficedocx в htmlUNO APIheadless LibreOfficeJavaKotlinJODConverterhtml в pdf
Habr
RU

От клика до железа: хроника одного запроса. Часть 2

В первой части мы заставили кнопку на веб-странице запустить локальный exe-файл через расширение Chrome и Native Messaging Host. Теперь усложним зад…

Chrome Native Messagingрасширения ChromeJavaJavaScriptGraalVMconnectNativeService WorkerManifest V3Native ImageWindows
Habr
RU

Как мы заменили 30-минутный polling на IMAP IDLE и построили маленькую распределённую систему

Когда-то наш почтовый загрузчик был обычным методом с @Scheduled . Раз в 30 минут он подключался к ящикам, искал новые вложения и запускал их обрабо…

JavaSpring BootIMAP IDLEdistributed systemsPostgreSQL leasesidempotencybackpressurevirtual threadsconcurrencyat-least-once delivery
Habr