Habr.com

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

Как я рендерю 3D-квартиры в браузере: Next.js + Three.js, процедурная мебель и мультиплеер на WebSocket

Thu, 04/02/2026 - 21:18

Привет, Хабр. Расскажу, как устроен мой сайд-проект — пиксельная аркада Прикольня, где у каждой компании друзей своя 3D-квартира с мебелью, аватарами и контентом на стенах. Под капотом — Next.js 16, Three.js через React Three Fiber, WebSocket-мультиплеер и PWA. Без единого .glTF файла — вся мебель процедурная.

Читать далее

[Перевод] Это ИИ, поэтому я не читал: добро пожаловать в пост-грамотную эпоху

Thu, 04/02/2026 - 21:10

Дамы и господа, познакомьтесь с новым горячим термином: AI;DR

Появился новый модный термин, который схватывает дух нашего времени с пугающей точностью: AI;DR — что означает «AI; didn't read» («ИИ; не читал»). Это мутация доброго старого интернет-сокращения TL;DR («too long; didn't read» — «слишком длинно; не читал»).

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

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

Первый такой: мы перешли от мира, где препятствием к чтению была длина текста, к миру, где препятствие — подозрение, что за клавиатурой никого не было. Иными словами, мы перешли от «я это не осилю» к «это вообще никто не начинал». Первое предполагает, что вы отвечаете за свои ограничения. Второе приглашает свалить ответственность на внешние обстоятельства.

И вот что меня беспокоит: вы не всегда можете отличить одно от другого. Так же легко попасться на удочку ИИ-генерации, как и несправедливо усомниться в человеке. Реальное влияние AI;DR, какими бы благими ни были его намерения, идеально вписывается в наше время: у нас нет недостатка в оправданиях, чтобы читать ещё меньше.

Читать далее

Развёртывание сети на базе Meshtastic

Thu, 04/02/2026 - 20:45

Mesh‑сети в целом, и, в частности Meshtastic, уже давно не новая история. Почти все, кто называет себя радиолюбителем имеет одну‑две ноды в ящике своего рабочего стола. А с недавнего времени начал прослеживаться вполне ощутимый интерес к этой теме среди людей и вовсе далеких от радиоэкспериментов и подобной электроники. Чтобы не повторяться и не копировать информацию из десятков или сотен уже написанных статей и постов на профильных форумах буду рассматривать только свой вопрос, пропустив базовое объяснение, что такое mesh‑сеть, meshtastic и связанные темы.

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

Такие очевидные решения, как мобильная связь, высокоскоростной интернет и прочее невозможны. Реально доступен только еле‑еле живой спутниковый интернет от известного национального провайдера, который реально дает скорости ~128-512кбит/сек.

Радиосвязь с использованием носимых радиостанций — штука хорошая, но дорогая. Для выполнения моей задачи нужно как минимум 2 приличных ретранслятора (у меня есть одна Hytera, которая обошлась в совершенно нереальные деньги), нормальный интернет, и 2–3 десятка самих радеек, средняя цена которой тысяч 8 (беру среднюю цену с маркетплейсов для TYT MD UV390). Все это дорого, да и инфраструктурно сложно, ведь ретрансляторы требуют 220В, которых в поле нет, поскольку группы мобильные, а дальности не хватит, если определить одно место и поставить основательно.

Читать далее

Лучшие YouTube-каналы по Data и Product Analytics на английском языке

Thu, 04/02/2026 - 20:42

Привет, меня зовут Янина. Днем я управляю продуктами и проектами. Вечером — сижу в Jitsi с ребятами из IT и обсуждаю, почему у кого-то не полетел A/B-тест, как считать retention и что вообще считать ценностью в продукте. Мой разговорный клуб давно перестал быть просто поболтать на английском.

Раньше основой домашек были подкасты про какую-то боль в аналитике. Но в какой-то момент я поймала себя на мысли, что про аналитику очень сложно слушать. Ее лучше видеть (дашборд, cjm и тд). Поэтому в клуб пришли воркшопы и лекции из YouTube. И сегодня делюсь каналами, которые у нас в итоге прижились.

Если хотите, чтобы просмотр видео был максимально полезным для вашего английского, то:

Читать далее

Продвинутый RBAC: роли, статусы, теги без боли и страданий

Thu, 04/02/2026 - 20:30

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

Читать далее

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

Thu, 04/02/2026 - 20:24

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

Актуальность: критическое осмысление требований позволило установить, что национальные стандарты не учитывают правовые и технологические особенности создания ИТ‑продуктов в рамках выполнения ИТ‑проектов (например, включение в текст контракта существенных условий, переход исключительных прав на ИТ‑продукт, подготовка программного кода в процессе выполнения служебного задания и др.).

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

Результаты: установлено, что юридическая и проектная документация должна рассматриваться как единый набор документов, так как трудоустройство работников и разработка ИТ‑продукта не представляются возможными без заключения контрактов. Также была усовершенствована структура проектной документации, закрепленной в ГОСТ Р 59853. Среди основных преимуществ данной модернизации необходимо отметить возможность определения степени освоения ИТ‑субъектами требований, декларирующих документальное сопровождение процесса создания ИТ‑продуктов. Например, если ИТ‑субъект не оценивает последствия принятых управленческих решений, затраченные ресурсы, коммерческий эффект, то это может свидетельствовать об отсутствии у него внутренних стандартов по управлению ИТ‑проектами. Важно отметить, что отсутствие стандартизации негативно сказывается на создании ИТ‑продуктов, так как ИТ‑субъектам вновь и вновь необходимо будет искать оптимальное управленческое решение для проблемы, которая возможно была решена ранее в других ИТ‑проектах.

Читать далее

Как я детей вайбкодингу учил

Thu, 04/02/2026 - 20:22

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

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

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

Читать далее

Как Swift работает с памятью: подробный гайд для разработчиков. Часть 2

Thu, 04/02/2026 - 20:18

Всем привет! Я Данила Горячкин — iOS-инженер в команде Performance в Авито. Занимаюсь оптимизацией производительности iOS‑приложений и менторингом разработчиков.

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

Читать далее

Параллелизм с общим состоянием в Rust

Thu, 04/02/2026 - 20:15

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

Читать далее

Как получать fan-out запросы GPT через OpenAI API: практическое руководство для SEO-специалистов

Thu, 04/02/2026 - 20:08

Привет! Меня зовут Андрей Попов, я SEO-специалист в AGIMA. SEO быстро меняется. Если раньше мы оптимизировали сайты исключительно под поисковые системы, то сегодня всё больше внимания приходится уделять алгоритмам искусственного интеллекта, которые самостоятельно собирают и анализируют информацию в интернете.

Когда пользователь задает вопрос AI-модели, например GPT, она редко ограничивается одним поисковым запросом. Вместо этого система генерирует целый набор дополнительных запросов — именно они и называются fan-out queries. Эти запросы помогают модели глубже изучить тему, собрать больше источников и сформировать более точный ответ.

До недавнего времени SEO-специалисты могли видеть такие данные через инструменты разработчика браузера. Однако начиная с версии GPT-5.4 эта информация была скрыта из стандартного интерфейса ChatGPT. Тем не менее, доступ к ней всё еще возможен — через OpenAI API. И именно это открывает новые возможности для анализа AI-поиска.

Читать далее

Data as Code на практике: создаём, версионируем и делимся модулями БД с помощью ArchDB

Thu, 04/02/2026 - 20:06

Представьте: вы заходите в репозиторий, открываете папку schemas и через пять минут понимаете, как устроена база во всём проекте, со всеми связями. Никаких устаревших диаграмм в Confluence, никаких гаданий по коду миграций. Схема базы данных становится частью кодовой базы — её можно версионировать, ревьюить, тестировать. Модель в формате ArchDB становится единым источником истины, из которого автоматически генерируются документация, DDL-скрипты и даже ORM-сущности. Звучит как мечта? Для нас с командой это стало реальностью, когда мы перешли на ArchDB.

Читать далее

Галактика NGC 6000 — ускользающая от Скорпиона

Thu, 04/02/2026 - 19:56

Эта галактика удостоилась внимания космического телескопа имени Эдвина Хаббла, когда тот снимал еще очень плохо (как мы знаем, этот телескоп был выведен на орбиту с серьезным дефектом главного зеркала, и позже к нему отправляли несколько пилотируемых ремонтных миссий на Шаттлах). Поэтому архивные снимки этого звёздного города — так себе. Но есть свежие, и тоже от Хаббла — они впечатляющие.

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

Читать далее

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

Thu, 04/02/2026 - 19:55

Это история о заводе, который делает по-настоящему хорошие теплицы. Более 200 человек на производстве. Усиленный металл, утолщённый профиль, двойные дуги, сокращённый шаг между ними. Каждая деталь продумана так, чтобы конструкция служила десятилетиями, а не рассыпалась после первой зимы.

Читать кейс

[Перевод] Разбор задач по System Design. Проектируем Ticketmaster

Thu, 04/02/2026 - 19:50

Разбираем, как спроектировать систему бронирования билетов на интервью по System Design. Обсудим, как избежать двойных бронирований, справиться с большим объемом чтения, обновлять карту мест в реальном времени и ускорить поиск мероприятий.

Читать далее

Гайд для малышей: как перегнать дизайн из Figma в код

Thu, 04/02/2026 - 19:44

Стартовый гайд, для тех, кто хочет на простом примере научиться генерировать из Figma как минимум веб-страницу, которая: сделана по дизайну, адаптивна под разные размеры экрана, учитывает retina и non-retina дисплеи, поддерживает локализацию с динамическим переключением языков и позволяет реализовать другие свои хотелки

Читать гайд

Создаем Java обертку для C++ класса в Android приложении, а также реализуем обратные вызовы из нэйтива

Thu, 04/02/2026 - 19:43

Кратко расскажу о себе и о том, зачем возникла необходимость в подобном. Я более десяти лет пишу приложения под Android, около 5 лет под IOS, и сейчас переношу свои наработки под десктопы. Приложения мои предназначены для сисадминов, это SSH клиент, сетевые сканеры и тд. В общем, самое сложное — не сам интерфейс, а то, что под капотом. Когда я лишь начинал, я думал, что остановлюсь на платформе Android и стал пилить все на Java. Но затем осознал свою ошибку и исправил ее. На данный момент все мои приложения состоят из двух частей: общего для всех систем ядра на С++ и платформозависимого интерфейса, написанного на Java/Swift/C++ в зависимости от системы.

Оговорюсь сразу, эта статья будет лишь своего рода вступлением. Я покажу, как работать с объектно‑ориентированным кодом на C++ в Java оболочке (в JNI нам доступен экспорт С функций). Инициализировать объект, делать из него вызовы, удалять, при этом имея аналогичный класс в оболочке, будто бы наш код был написан на Java. Задача эта не слишком сложная, но прежде чем опытные прогеры закрыли эту статью, я оговорюсь, что в следующей части мы уже будем работать с каллбэками — вызовами Java листенеров из нашего С++ кода, а вот это уже задача совсем нетривиальная, требующая понимания работы JNI и Dalvik. Но обо всем по порядку.

Итак, у нас есть некий CPP класс и Java оболочка. Через JNI мы можем вызывать только С‑функции, то есть не объектный код. Так как же нам работать с ООП? Главная проблема — не столько вызовы, сколько хранение адреса объекта нативного класса. Лично для себя я нашел решение — хранить его в Java классе, как long. То есть, у нас получается приблизительно такой код:

Читать далее

Кэширование сетевых запросов в Ktorfit с помощью Ktor Plugins

Thu, 04/02/2026 - 19:36

Привет!

Ktor постепенно становится полноценной альтернативой классической связке OkHttp + Retrofit. Его ключевые преимущества — кроссплатформенность, чистый Kotlin, асинхронность и корутины, а также высокая гибкость и управляемость. Кроме того, ожидается поддержка HTTP/3, чего, судя по всему, не планируется в OkHttp.

Ktorfit же — это обёртка над Ktor, которая предоставляет более удобное API, практически идентичное Retrofit, что особенно удобно при миграции Retrofit —> Ktorfit. Короче, Ktorfit — это Retrofit для Kotlin Multiplatform.

В этой статье я продемонстрирую алгоритм написания простого кэша запросов для Ktorfit, используя механизм Ktor Pluguns.

Читать далее

Первый в своем роде ИИ помощник на вашем телефоне

Thu, 04/02/2026 - 19:32

Мы с братом создали Sova AI (https://ayconic.io/sova), ИИ агента на Андроиде, который оперирует приложениями и выполняет ваши хотелки таски на телефоне. Это первый ассистент, которому не нужны ADB, USB, PC, root и т.д., просто самое обычно приложение, которое устанавливается на Андроид (пока IOS в разработке) и всегда с вами, куда бы вы не пошли (звучит страшно?

[Перевод] Осваиваем replication slots в Postgres: как предотвратить разрастание WAL и другие проблемы в продакшене

Thu, 04/02/2026 - 19:31

Логическая репликация в Postgres редко ломает прод внезапно — чаще она долго и методично копит проблему, пока replication slot удерживает всё больше WAL, потребитель отстаёт, а свободное место на диске начинает таять. В этой статье разбирается именно такая зона риска: как устроена работа replication slots, почему одних базовых настроек здесь недостаточно и какие практики реально помогают держать под контролем WAL, публикации, heartbeats, failover и мониторинг. Материал особенно полезен тем, кто работает с CDC, Debezium и production-инстансами Postgres, где цена ошибки измеряется уже не теорией, а стабильностью системы.

Разбор PostgreSQL

Выгляните в окошко, посмотрите на Луну! Прямо сейчас к ней летит четыре человека

Thu, 04/02/2026 - 19:21

Artemis II, первая пилотируемая миссия в рамках программы НАСА «Артемида», успешно стартовала 1 апреля 2026 года в 18:35 по восточному времени из Космического центра Кеннеди во Флориде. В рамках 10-дневной миссии четыре астронавта — Рид Уайзман, Виктор Гловер, Кристина Кох и Джереми Хансен — отправились облететь Луну и вернуться обратно.

Этот полет — первый пилотируемый полет к Луне с 1972 года. Экипаж пролетит на расстоянии 6000 км и поставит рекорд — достигнет самой дальней точки в космосе, в которой побывал человек. 

Всем привет! Меня зовут Марат Айрапетян, я руководитель центра управления марсианской имитационной миссии. Сейчас ощущаю себя свидетелем суперисторического события на верхнем срезе знаний и технологий человечества. Кажется, ты смотришь фильм про лунную программу, но это все происходит вживую! Чтобы показать, насколько это важное событие, я сделал обзор, что происходит с космонавтами Artemis IIсейчас, какие планы дальше и почему 50 лет никто не летал к Луне.

Читать далее

Who's online

There are currently 1 user and 1 guest online.