Habr.com

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

Как я 3 года делал мобильное приложение

36 min 24 sec ago

Я не разработчик, но теперь у меня есть своё приложение в App Store, которое помогло мне больше ходить и в прошлом месяце я прошёл 500 000 шагов. В этой статье рассказываю как я к этому пришёл и какие инструменты помогли ускорить путь.

Читать далее

ТОП-10+1 “Золотых правил оптимизаций Java 21+: как заставить JIT петь, а GraalVM — летать”

53 min 2 sec ago

Почему ваша Java-система буксует там, где должна летать? Мы привыкли доверять магии JVM, но в мире Java 21 и Native Image правила игры изменились. От микро-оптимизаций байт-кода до радикальной смены парадигмы с Scoped Values – разбираем 11 “золотых правил”, которые заставят JIT петь, а ваш бинарник – стартовать за миллисекунды. Никакой “воды”, только хардкор, регистры процессора и “голоса” компиляторов внутри вашего кода.

Работая с кодом, я не раз ловил азарт: а как этот метод можно ускорить ещё? Какую гайку подкрутить, чтобы JVM не просто работала, а буквально летела? Что изменить в архитектуре, чтобы Native Image стал ещё компактнее, а холодный старт – ещё быстрее?

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

Это не просто советы по стилю кода. Это “10+1 Золотых правил оптимизации Java 21+”.

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

Приготовьтесь! Мы начинаем оптимизировать!

Начать оптимизацию!

ApiKit — чистый REST API в Symfony без шаблонного кода

55 min 39 sec ago

REST API на Symfony писать удобно, но есть одна скучная особенность: контроллеры быстро начинают обрастать повторяющимся кодом. Парсинг запроса, валидация, однотипная JSON‑обёртка, try/catch с преобразованием исключений в HTTP‑ответы. Всё это несложно, но со временем размазывается по десяткам эндпоинтов и отвлекает от основной задачи.

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

Читать далее

Создание идеального лабиринта с помощью упрощённого алгоритма Прима

1 hour 6 min ago

Лабиринты использовались в видеоиграх с момента их появления. Первой видеоигрой с процедурно генерируемым лабиринтом была Beneath Apple Manor, выпущенная в 1978 году. Лабиринт в ней генерировался методом деления на комнаты и коридоры, из-за этого лабиринт часто выглядел однообразным и предсказуемым, что портило впечатление от игры. Для того, чтобы лабиринт выглядел естественнее разработчики стали использовать различные алгоритмы на графах. В этой статье мы рассмотрим реализации генерации идеального лабиринта с помощью алгоритма Прима.

Читать далее

OSINT для ленивых. Часть 5: Что у pdf за душой — разбираемся с метаданными документов за 2 минуты

1 hour 34 min ago

— С метаданных картинок мы уже разобрались, теперь же давайте посмотрим, что за душой у обычных pdf или word документов

Читать далее

45 000 лет на обучение Dota 2: Почему современный AI — это просто эффективная зубрежка

1 hour 36 min ago

OpenAI Five потратила 45 000 лет в симуляции, чтобы научиться играть в Dota 2. Это не интеллект, а просто зубрёжка. Почему скоро перестанет помогать простое масштабирование и какие современные архитектуры есть, которые в перспективе будут намного лучше трансформеров и других методов.

Читать далее

Ох уж эти join-ы: 4 способа ускорить ваши запросы в 10 раз

1 hour 38 min ago

Все мы прекрасно знаем, join – одна из самых важных вещей в любой базе данных, но в то же время одна из самых ресурсозатратных операций. Да что уж там, в мире аналитики (OLAP) десятилетиями адепты различных подходов моделирования данных все спорят без остановки что лучше: нормализация (то есть много join) или денормализация (то есть мало join). Но все понимают, если можно без join, лучше без. Проблема в том, что они нужны практически всегда.

В этой статье давайте посмотрим, можно ли реально обойдись без join и в каких ситуациях? А также 4 способа, которые кратно ускорят ваши запросы.

Читать далее

Nano Banana 2: обзор генератора изображений от Google, тесты и сравнение с конкурентами

1 hour 41 min ago

Разбираем возможности новой модели генерации изображений Nano Banana 2 от Google. Сравнение с Nano Banana Pro, реальные тесты, плюсы и главные ограничения. Способы использования в России.

Читать далее

Нейросети для создания карточек товаров: Гайд как сделать обложу товара на OZON, Wildberries за 2 минуты

1 hour 54 min ago

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

Читать далее

Когда успешная миграция сломалась, а партиционирование превратилось в cross-cluster move

2 hours 1 min ago

Привет! На связи вновь команда Геосервисов. Как вы помните, в прошлой статье я делился нашим опытом партиционирования и теми выводами, к которым мы пришли. Но на этом история не закончилась. Что же было дальше?

Партиционирование завершилось успешно. VACUUM сократился с 6+ часов до ~20 минут. Запросы ускорились. Мы думали, что всё позади. Через неделю после swap проверили реплику — и обнаружили, что она пуста.

Читать далее

Коммунальный городской пылесос. Как мы модифицировали «Сороед» под агрегат для сбора ПЭТ

2 hours 3 min ago

Предыдущая статья о том, как появился «Сороед»:  https://habr.com/ru/articles/967354/

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

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

В этом материале расскажу о последней разработке. Эта история началась с сообщения из Казахстана:
- «Здравствуйте, может ли ваш пылесос всасывать «баклашки»? Нам нужен агрегат для сбора ПЭТ бутылок из сетчатых контейнеров.»

Читать далее

ИИ для обработки фото: как изменить картинку нейронкой за 5 минут + где брать идеи для нейрофотосессий в 2026 году

2 hours 5 min ago

Решили сэкономить на студии? Действительно, сегодня ИИ для обработки фото позволяют порадовать себя профессиональной фотосессией при минимальных затратах. Более того, Вы не ограничены одной локацией или идей, ведь есть много хороших промптов. Например, в нашей группе промпты для нейрофотосессий.

Лайфхак: Заходим в Pinterest и вводим в поиске «идеи для нейрофотосессий». Тут Вы увидите не только креативные предложения, но и даже промпты для разных ИИ. Альтернативный вариант: боты в Telegram, которые уже включают сотни разных идей и локаций. Например, Click Click бот, куда достаточно загрузить свой рендер, и выбрать фотосессию. 

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

Читать далее

Разработка под eCommerce, пулинг объектов в .NET, менеджмент и open source — чтение на выходные от нашей DIY-платформы

2 hours 5 min ago

Сегодня мы в Beeline Cloud решили поделиться свежими публикациями на нашей DIY-площадке «вАЙТИ». Это — подробные технологические материалы и относительно легкие разборы смежных тем: от лайфхаков по теме eCommerce-разметки и React Server Components до опыта разработки видеоаналитики на базе открытых решений.

Читать далее

Java на диете: 45 МБ RAM и старт за 1.4 с. Смертный приговор классическим JVM?

2 hours 6 min ago

Когда я впервые увидел, как мой сервис на Spring Boot с Postgres, MongoDB и Kafka «съел» всего 45 МБ оперативной памяти, я почувствовал азарт. Азарт инженера, который нашёл способ обмануть систему. Я был заряжен Axiom NIK: его эффективностью, его агрессивной компиляцией и тем, как он превращает «жирный» корпоративный стек в изящный бинарник.

Многие годы нам вдалбивали: «Java — это прожорливо!». Нам говорили: «Выдели 2 ГБ под микросервис, иначе JIT не прогреется».

Забудьте об этом! Я провёл R&D, который ставит точку в спорах о прожорливости Java!

Это не просто тесты. Это вскрытие!

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

4.8 ТБ на стеклянной подставке под кофе на 10 000 лет: разбираю статью Microsoft из Nature

2 hours 7 min ago

Разбор статьи из Nature о Project Silica — фемтосекундные лазеры, боросиликатное стекло и конец эпохи миграций.

Читать далее

Декораторы в Python для самых маленьких и немного для взрослых

2 hours 16 min ago

Представьте типичную ситуацию: вы написали отличный кусок кода. У вас есть десяток функций, которые делают полезную работу — например, ходят в стороннее API, парсят данные и аккуратно складывают их в базу. Код читаемый, лаконичный, всё работает как часы.

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

Что делает разработчик, который не знает про декораторы?

Читать далее

Настройка ПО под требования Минстроя: технический гайд по внедрению обязательной УКЭП для проектной документации

2 hours 17 min ago

Аннотация

С 2026 года строительная отрасль России столкнется с массовыми изменениями в оформлении проектной, рабочей и инженерной документации: введены новый национальный стандарт ГОСТ Р 21.101-2026, охватывающий строительство, реконструкцию, капремонт, эксплуатацию и ликвидацию зданий, а также отчетную техническую документацию и результаты изысканий. В параллельном процессе ужесточаются требования к формату заверения документов с переходом к полной цифровизации. С 1 марта 2026 года вступают в силу изменения в Градостроительный кодекс РФ, обязывающие использование усиленной квалифицированной электронной подписи (УКЭП) для проектной документации; использование информационно-удостоверяющих листов (ИУЛ) как альтернативы УКЭП запрещено.

Для реализации требований Минстроя о повсеместной подписи документов необходима связка отечественного ПО: КриптоПро CSP (криптопровайдер) и КриптоАРМ (графический интерфейс). В КриптоАРМ создается файл подписи, в который поочередно добавляются подписи всех участников проекта в едином файле (.sig/.p7s) через процесс соподписания. Этот подход обеспечивает соответствие новым требованиям к цифровой подписи и экспертизе документации. Также в статье рассматривается вариант использования сервиса КриптоАРМ Документы, который позволяет управлять очередностью подписей и устранить различные риски пересылки фрагментов документации по почте.

Читать далее

Как писать промпты, создавая смыслы – используем Cloud 4.6 Opus

2 hours 20 min ago

Сегодня в Интернете происходит настоящая охота за промптами. Наверняка, многие из Вас уже подписаны на такие группы, не так ли? Кто же за ними стоит: профессиональные дизайнеры, программисты или просто творческие люди? На самом деле за ними стоят те же самые нейросети в 90% случаев. Да-да, только не GPT, как все советуют, а новая модель Cloud 4.6 Opus. Не верите? 

Читать далее

Походно-полевой 5G роутер из микротика и металлолома

2 hours 23 min ago

Достался по случаю неисправный 5G роутер Askey RTL6310VW, брендированный под сотового оператора Telefonica, с битой прошивкой (вечный ребут). Прошивок в открытом доступе нет (только FOTA), документации по их установке/восстановлению тоже нет, OpenWRT не поддерживается, гарантия кончилась, у оператора лапки. В общем, кирпич, которому дорога только в помойку. Ради интереса я его разобрал, а там сюрприз - сотовый модем не распаян на плате, как это часто встречается в таких провайдерских CPE, а установлен в М.2 слоте.

Читать далее

От товара к предложению: как Ozon учитывает цену и доставку в ранжировании

2 hours 28 min ago

Всем привет! Меня зовут Станислав Ким, я ML-разработчик в команде качества поиска Ozon. В этой статье расскажу, как мы перешли от ранжирования товаров к ранжированию предложений, внедрили «матрицу памяти» для переноса статистики и получили +0,9% к GMV на пользователя.

Представьте простую ситуацию. Вы — продавец электроники. Выводите на Ozon новую модель робота-пылесоса. Чтобы ворваться на рынок, вы ставите цену на 20% ниже конкурентов и отгружаете партию на ближайший склад, чтобы доставка была «завтра». Логика подсказывает: алгоритмы увидят выгодное предложение (дёшево + быстро), подкинут товар в топ, и продажи взлетят.

Реальность: проходит день, два... а товар висит на 5-й странице выдачи. Потому что для алгоритма ранжирования ваш пылесос — «чистый лист». У него нет истории продаж, нет кликов, нет отзывов. Рядом в топе — конкуренты: они дороже, доставка дольше, но у них есть история: тысячи заказов за прошлый год. Алгоритм «любит» их за накопленную статистику, а ваше выгодное предложение игнорирует — он просто не знает, чего от него ждать. В индустрии эта проблема называется cold start — и с ней сталкиваются все крупные маркетплейсы.

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

Читать далее

Who's online

There are currently 0 users and 1 guest online.