Habr.com

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

[Перевод] Kotlin и Jetpack Compose: портируем DOOM на смарт-часы

Thu, 03/27/2025 - 22:24

DOOM стал культовым шутером от первого лица, который изменил лицо игровой индустрии. С момента своего появления он не только покорил миллионы игроков по всему миру, но и оставил неизгладимый след в истории видеоигр. Теперь, вдохновленный существующими проектами на GitHub, я решил взять на себя смелую задачу — портировать эту легендарную игру на платформу Android Wear. Давайте погрузимся в процесс и реализуем этот захватывающий проект!

Читать далее

Начало начал

Thu, 03/27/2025 - 22:12


Всем привет! Долгое время был читателем, настало время стать пейсателем :-)

За долгие годы работы в области программирования на java, накопилась кое какая информация, которая, я думаю, поможет новичкам, в продвижении в этом направлении. Буду периодически постить, по мере наличия времени, так что на некоторую нерегулярность постов — не серчайте:-)

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

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

Ещё хотел сказать что будет и чего не будет: будет — теория, примеры. Не будет — медленной раскачки, плавных переходов между абзацами. То есть: всё сухо, чётко, конкретно. «Пускай безобразно — зато однообразно: всё прямоугольно и параллельно» :-))))

Двигаться в обучении мы будем не фрагментарно, а прямо с самого начала, поступательно, рассматривая весь необходимый круг вопросов.

Если у вас есть что сказать по теме — дать плюшек или кинуть ботинком — всегда велком, т.к. для конечного результата все эти уточнения — только на пользу…

Итак…
Читать дальше →

Проблемы и их решения при разработке игры на A-Frame

Thu, 03/27/2025 - 22:06

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

A-Frame — интересный фреймворк для создания WebVR-приложений, но, статей о нём в русскоязычном сегменте не так много. А ведь это не плохой инструмент, который позволяет разрабатывать VR-сцены, используя простой HTML-подобный синтаксис и JavaScript.

Если вы когда-нибудь задумывались о создании своей VR-игры или интерактивного 3D-опыта в браузере, но не хотели погружаться в сложные движки вроде Unity или Unreal, то A-Frame — отличный вариант для старта.

В этой статье я разберу проблемы, с которыми можно столкнуться при разработке игры на A-Frame, и покажу, как их решить. Готовы к погружению в мир WebVR? Тогда поехали!

Войти в VR-режим

AI (Computer Vision) для реальной жизни (или кто для кого готов)

Thu, 03/27/2025 - 21:19

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

Но сначала, чтоб не тратить время «продвинутых» хабберчан, краткое резюме:
1. уровень технической информации = junior
2. стек = python, ultralytics, YOLO (различных версий)
3. тема = распознование объектов, обучение модели
4. социальная польза = забота об экологии в городе Москва

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

детали под катом

Как улучшить качество аниме до 4K без ИИ: руководство по использованию HVENC и Anime4K

Thu, 03/27/2025 - 21:18

Любимые аниме из детства выглядят размыто на современных 4K-экранах? Есть решение! Узнайте, как апскейлить видео до 4K с помощью FFmpeg, шейдера Anime4K и аппаратного ускорения NVIDIA. Без сложных ИИ — только простые шаги и доступные инструменты. Читайте статью и вдохните новую жизнь в свои сериалы!

Читать далее

Что делать, если разработчик работает хорошо, но очень медленно

Thu, 03/27/2025 - 21:13

Всем привет! Меня зовут Александр Борщев, я тимлид в компании AGIMA. В нашей команде работают разработчики с разными темпами работы, а одной из ключевых задач тимлида является умение находить общий язык с каждым из них. В то время как с быстрыми разработчиками проблем с выполнением задач, как правило, не возникает, работа с теми, кто движется медленнее, может стать настоящим вызовом, особенно когда речь идет о соблюдении дедлайнов или в проданную оценку заказчику.

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

Читать далее

const fn может делать намного больше

Thu, 03/27/2025 - 21:07

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

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

Читать далее

Разработана меняющая цвет краска, экономящая энергию на отопление и охлаждение домов

Thu, 03/27/2025 - 20:48

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

При разработке термохромной краски для дома Дусе изучил, как работают кольца настроения, которые меняют свой цвет с тёмного на светлый, когда температура на улице достигает 25 градусов Цельсия.

Читать далее

Как адаптировать кампании для разных регионов

Thu, 03/27/2025 - 20:13

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

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

Читать далее

Как мы улучшили скорость работы табличных контролов библиотеки EMX Controls для Avalonia UI

Thu, 03/27/2025 - 19:44

В последнем обновлении нашей кроссплатформенной библиотеки EMX Controls для Avalonia UI мы существенно повысили производительность контролов DataGrid и TreeList. Время создания и отрисовки улучшилось почти в 3 раза, а скорость скроллинга - более чем в 2 раза. В этой статье мы приведем конкретные цифры и подробнее остановимся на подходах, которые позволили нам добиться таких результатов.

Читать далее

Microsoft Project теряет популярность. 14 аналогов для его замены

Thu, 03/27/2025 - 19:12

Среди решений для управления проектами Microsoft Project долгое время был стандартом. Годы идут, система все так же популярна, но ее лидерство уже не такое очевидное. В первую очередь доминирование MS Project пошатнул уход Microsoft с российского рынка. Во вторую — появление достойных аналогов, которые привлекают более гибкими возможностями и низкой ценой.

Разбираемся, из-за каких минусов MS Project уже не так хорош и чем его можно заменить. Для статьи рассмотрели 14 систем и сравнили их между собой.

Читать далее

Как создать мини-приложение VK Mini Apps: пошаговое руководство

Thu, 03/27/2025 - 19:05

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

Ниже мы пошагово разберем все основные этапы разработки VK Mini Apps: от выбора инструментов до публикации в каталоге приложений внутри ВКонтакте.

Читать далее

Как мы зарегистрировали компанию в Вайоминге для работы с App Store

Thu, 03/27/2025 - 18:58

Привет, Хабр! После предыдущего поста о запуске платного приложения в App Store из России я получил множество реакций и вопросов. В этом посте я постараюсь подробно рассказать, как мы зарегистрировали юрлицо в США онлайн, не покидая Москвы, какие нюансы о работе в Штатах узнали во время получения услуги, какие документы понадобились и с какими сложностями столкнулись. Удивительно, но процесс оказался гораздо проще, чем мы ожидали.

Открыть бизнес в США можно двумя путями…

Читать далее

WML_Bionic_Arm. Сила, Прочность, Миодатчик

Thu, 03/27/2025 - 18:21

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

Читать далее

Смертоносная халатность — история нейрохирурга Кристофера Данча

Thu, 03/27/2025 - 18:20

На прошлой неделе в нашумевшей статье (вот ссылка: https://habr.com/ru/articles/892190/) про житьё-бытьё в Америке я наткнулся на следующие строки: "В США имеется проблема некомпетентных кадров и людей без какой-либо инициативы. Это касается и банального решения бытовых вопросов проживания." Но бывают и инициативные, решительные персонажи, не боящиеся трудностей - ведь в конце концов упорных ждёт успех! Или нет?

Читать далее

Реализация AI агента на базе LLM с нуля – что включает цикл разработки

Thu, 03/27/2025 - 18:16

Разработка AI агента, использующего большие языковые модели (LLM) – это малоизвестный пока еще и потому интересный инженерный процесс, охватывающий весь цикл создания от идеи до финального развертывания. Технические стандарты разработки агентских систем пока еще формируются.  В данной статье я поделюсь своим опытом и рассмотрю ключевые этапы, технологии и практические нюансы, которые встречаются при разработке такой системы с нуля.

Начнем с подготовительного этапа постановки задач и сбора данных. Первым делом необходимо чётко определить цели и задачи будущего агента. Предположим, что в центре системы обычная LLM - в рамках этой статьи не будем рассматривать мультимодальные агенты или модели рассуждений. Важно понять, каким образом LLM будет интегрирована в общий процесс. В 99% центральным звеном интеграции будет Retrieval-Augmented Generation (RAG) пайплайн. Через него модель будет получать данные, релевантные тем задачам, которые агент должен решать. И на этапе построения пайплайна критически важен сбор и предварительная обработка данных. Собранные данные могут включать текстовые документы, логи общения пользователей, справочные материалы, которые потом помогут модели понимать контекст и давать релевантные ответы. Сложность этого этапа зависит от того, какие у вас источники данных, сколько их, насколько серьезной предварительной (перед загрузкой в индекс) обработки они требуют.

Читать далее

Статистика профессиональных “болячек” айтишников. Грозят ли нам e-тромбоз, лапки тиранозавра или туннельный синдром?

Thu, 03/27/2025 - 18:06


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

Кто чаще болеет, фронтэнд, дизайнер или сисадмин? Динамика зарплат IT-специалистов на Хабре публикуется постоянно, а вот информации по статистике профессиональных заболеваний практически нет.

Я заметила, что хаб здоровье стал гораздо популярнее за последние месяцы. Возникла мысль, что нужно хотя бы попытаться найти доступную статистику Всемирной организации здравоохранения (WHO), EU-OSHA (Европейское агентство по безопасности и гигиене труда), Минздрава РФ и других организаций, чтобы понять, чем на самом деле чаще всего болеют IT-специалисты.

Конечно, про “лапки тиранозавра” ‒ это шутка, но мне стало интересно, так ли распространены те же выгорание и синдром запястного канала, статьи о которых на Хабре имеют десятки тысяч прочтений?

А главное, что со всем этим делать?

Давайте обсудим распространенные заболевания и варианты их профилактики?
Читать дальше →

Цифровой звук на STM32: подключаем аналоговый микрофон через SAI и NAU88C22

Thu, 03/27/2025 - 18:04

ИИ обложка, потому что модно.

Иногда простой проект превращается в увлекательное исследование. Разбираясь с записью звука на STM32L432 через аудиокодек NAU88C22, я не только подключил микрофон и настроил кодек, но и столкнулся с рядом интересных задач. Разбираясь с ними, я узнал много нового о SAI, работе с SD-картой и нюансах цифрового звука — и теперь хочу поделиться этим опытом.

Железка, на которой идет разработка, — это не просто плата для экспериментов, а прототип, сделанный как образец для одного проекта. Так что любопытство, конечно, присутствовало, но двигало процесс скорее желание довести до ума конкретное (будущее) устройство. Читать дальше →

Проанализировал более 260 тысяч футбольных матчей, чтобы поспорить с учёными-статистиками

Thu, 03/27/2025 - 18:02

Потратил пару месяцев, чтобы спарсить матчи и понять, насколько футбол хаотичная и непредсказуемая игра. И выводы оказались довольно неоднозначными. Но обо всём по порядку

Читать далее

Пилим игровой мультиплеерный сервер на базе esp32: начало

Thu, 03/27/2025 - 18:01

Одно из самых приятных проявлений программирования — это создание игр. Почему бы и нам не запилить свою?

Тем более не так давно у меня появилась довольно странная мысль, которая уже который день не отпускает меня — а что если сделать многопользовательский игровой сервер на базе ESP32? О_о

Можно и на базе обычного вебсервера и хостинга, но это как-то уныло, как у всех, «а душа хочет гусарства» :-))) Понятно, что это наложит довольно жёсткие ограничения на максимальное количество игроков и объём передаваемых между ними данных из-за слабости аппаратной платформы, но мысль всё же занятная.

Проще говоря: игра хостится на ESP32, клиенты подключаются к ней, и ESP32 отдаёт им страницу с игрой. После этого начинается игровой процесс: клиенты обмениваются данными через ESP32, которая выступает в роли сервера, а все ресурсоёмкие задачи по максимуму обрабатываются на стороне клиентов. Теоретически, при таком подходе может что-то получиться. Попробуем… Читать дальше →

Who's online

There are currently 1 user and 6 guests online.