Feed aggregator

Оптимизация запросов в Spring Data JDBC

Habr.com - Thu, 04/02/2026 - 21:49

Я думаю многие согласятся, что Spring Data JDBC — это ORM, который занимает конкретную нишу: он предоставляет более легковесный репозиторный слой доступа к данным поверх реляционной БД без persistence context, без lazy loading, без dirty checking и т.д.

Иными словами, Spring Data JDBC реализует принцип "what you see is what you get" — каждое обращение к репозиторию означает конкретный SQL-запрос в БД, который просто достаёт дерево Aggregate. Это и преимущество, и, тем не менее, иногда это источник потенциальных проблем с производительностью.

В этой статье я разберу ключевые подходы к оптимизации запросов в Spring Data JDBC: от дизайна агрегатов и Single Query Loading, до Stream в качестве возвращаемого значения и @Modifying запросов. Разберём всё с кодом и на примерах.

Только один момент - в этой статье я не затрагиваю Spring Data открытые/закрытые Projection-ы и т.п, так как я предполагаю, что пользователи Spring Data знают, что это и в каких ситуациях их стоит использовать. Эти вещи не специфичны для Spring Data JDBC, я же буду говорить про вещи более специфичные для Spring Data JDBC.

Читать далее

Почему я написал Ёбифай: свой планировщик для фоновых задач на Python

Habr.com - Thu, 04/02/2026 - 21:46

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

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

В какой-то момент становится очевидно:

Читать далее

Руководство по оптимизации производительности сайта

Habr.com - Thu, 04/02/2026 - 21:29

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

Представьте: пользователь заходит на ваш сайт с iPhone (неважно, нового или трёхлетней давности) — и страница зависает, изображения грузятся по одному, скролл дёргается. Через 5–10 секунд он просто закрывает вкладку и уходит к конкурентам. Проблема не в вашем телефоне или интернете, а в скрытых особенностях браузера Safari и устройств iOS.

Ниже — руководство по оптимизации, которое поможет избежать таких сценариев. Пройдитесь по чек‑листу и убедитесь, что каждый пункт выполнен. Даже если ваш сайт кажется быстрым, с большой вероятностью он теряет часть аудитории на Safari.

Читать далее

Как внедрить нейросети в свою жизнь? Топ кейсов по работе с ИИ

Habr.com - Thu, 04/02/2026 - 21:26

Представьте себе старый телефон, в который пытаются воткнуть новую зарядку. Вроде бы всё работает, но кажется, что мир вокруг уже перешёл на USB-C, а у вас до сих пор кнопочный.

С нейросетями та же история. В 2022 году большинство людей впервые услышали про ChatGPT и Midjourney. Тогда они рисовали странные картинки с шестипалыми людьми и писали тексты, которые ещё требовали серьёзной редактуры. Сейчас ситуация другая.

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

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

Приятного прочтения!

Читать далее

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

Habr.com - Thu, 04/02/2026 - 21:18

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

Читать далее

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

Habr.com - Thu, 04/02/2026 - 21:10

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

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

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

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

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

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

Читать далее

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

Habr.com - 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 на английском языке

Habr.com - Thu, 04/02/2026 - 20:42

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

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

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

Читать далее

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

Habr.com - Thu, 04/02/2026 - 20:30

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

Читать далее

Уведомление о безопасности libinput

Linux.org.ru - Thu, 04/02/2026 - 20:26

В библиотеке libinput обнаружено несколько уязвимостей:

  1. CVE-2026-35093: Выход за пределы песочницы в плагинах. Ошибка в загрузчике плагинов позволила загружать предварительно скомпилированный байт-код, который не проходит проверку во время выполнения и таким образом не ограничивается песочницей. Это создает возможность для атаки, позволяющей вредоносному плагину получить неограниченный доступ к системе, в зависимости от привилегий пользователя.

  2. CVE-2026-35094: Использование после освобождения памяти, ведущие к утечке конфиденциальной информации. Плагин, вызывающий функцию Lua __gc() оставляет «висячий» указатель в имени устройства, который можно вывести в лог. В зависимости от значения в ячейке памяти это может привести к раскрытию конфиденциальной информации.

Уязвимости затрагивают все дистрибутивы с libinput версии 1.30.0 и новее. Однако использование Lua-плагинов возможно только в том случае, если композитор загружает их. В данный момент это касается GNOME 50’s mutter, KWin (git) и Niri (git).
wlroots, sway и river не подвержены атаке.

Дистрибутивы Fedora 43 и 44 используют опцию -Dautoload-plugins, которая приводит к загрузке плагинов независимо от поддержки композитора. Arch, OpenSuSE, Ubuntu, Debian и NixOS не имеют этой опции и/или используют более старые версии libinput.

Затронутые версии: libinput 1.31.0, 1.30.[0-2]
Исправленные версии: libinput 1.31.1, 1.30.3

 ,

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

Habr.com - Thu, 04/02/2026 - 20:24

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

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

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

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

Читать далее

VChat — простой видеочат на WebRTC

Linux.org.ru - Thu, 04/02/2026 - 20:22

Рад представить вам мою поделку — простенький WebRTC-чат. «Поднимается» тремя командами.

Под капотом ReactJS (это фронт + завернут в ElectronJS если хотите приложение, чтобы был звук из системы во время стрима экрана и глобально работали горячие клавиши).

На бэкенде чисто WebSocket на Node.js + Mediasoup.js в качестве SFU-сервера. Лицензия — MIT.

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

 sfu, ,

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

Habr.com - Thu, 04/02/2026 - 20:22

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

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

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

Читать далее

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

Habr.com - Thu, 04/02/2026 - 20:18

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

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

Читать далее

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

Habr.com - Thu, 04/02/2026 - 20:15

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

Читать далее

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

Habr.com - 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

Habr.com - Thu, 04/02/2026 - 20:06

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

Читать далее

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

Habr.com - Thu, 04/02/2026 - 19:56

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

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

Читать далее

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

Habr.com - Thu, 04/02/2026 - 19:55

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

Читать кейс

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

Habr.com - Thu, 04/02/2026 - 19:50

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

Читать далее

Who's online

There are currently 0 users and 0 guests online.
Syndicate content