Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

SEO‑поиск в Next.js App Router, индексируемые landing pages из фильтров и URL

Время на прочтение10 мин
Охват и читатели6.9K

Поиск в Next.js App Router связывает несколько механизмов — Server Components, dynamic routes, searchParams, metadata и клиентские фильтры. Если в проекте одна форма и несколько результатов, состояние можно держать в useState. В каталоге или агрегаторе каждый фильтр меняет URL, набор данных и правила индексации.

В статье на примере учебного проекта EventMap — агрегатора событий, разберем, как спроектировать систему фильтрации, которая генерирует чистые, индексируемые URL для поисковых роботов и обновляет выдачу при изменении фильтров. Страницы вроде «Концерты в Москве» или «Выставки в Петербурге» могут работать как отдельные landing pages. Для них нужны серверный HTML, постоянный URL, свой title, description, h1, canonical и отдельная политика index или noindex. Произвольные запросы, сортировки и глубокая пагинация остаются частью поиска и не попадают автоматически в индекс. Поиск построен через App Router, optional catch‑all route, серверный рендер результатов и общий набор функций для URL, metadata, canonical и sitemap.

Поиск по каталогу создаёт отдельное состояние для каждой комбинации фильтров. Категория, город, дата, сортировка, поисковая строка и номер страницы попадают в URL. При десяти категориях, пятидесяти городах и пяти вариантах сортировки получается 2500 комбинаций без учёта пагинации и свободного текста. Интерфейс должен обработать все допустимые комбинации. В поисковый индекс обычно попадает только часть из них. Страница категории music, страница города london и сочетание music/london могут содержать устойчивую подборку. Запрос ?q=free+jazz+tonight, сортировка по цене и восьмая страница выдачи относятся к текущему действию пользователя. Фильтры без отдельной политики создают большое пространство URL. Google описывает эту проблему в документации по faceted navigation. Изменение каждого параметра создаёт новый адрес, краулер тратит запросы на многочисленные комбинации и позже обнаруживает, что многие из них не содержат самостоятельного материала. (Google for Developers)

Читать далее

Занимаются ли разработчики ИИ‑моделей пеликанмаксингом?

Уровень сложностиСредний
Время на прочтение54 мин
Охват и читатели11K

Последние несколько лет Саймон Уиллисон тестировал каждый крупный релиз LLM одним и тем же промптом: «Сгенерируй SVG с пеликаном, сидящим на велосипеде».

Эта забавная проверка постепенно стала одним из самых известных неформальных бенчмарков ИИ. Сгенерированные Саймоном картинки пеликанов на велосипедах часто становятся одними из самых популярных комментариев в постах Hacker News о новых релизах ИИ-лабораторий.

Сегодня бенчмарк стал причиной серьёзных обсуждений его полезности, а также того, занимаются ли ИИ-лаборатории его бенчмаксингом [практикой оптимизации ИИ-моделей для получения высоких оценок в популярных бенчмарках]. Когда на кону миллиарды или даже триллионы долларов, а качественный результат может склонить пользователей на твою сторону, не возникает ли искушения добавить модели немного пеликанмаксинга?

Мне захотелось это проверить, поэтому я организовал небольшой эксперимент: сгенерировал 1008 SVG в семи передовых моделях, оценил их при помощи LLM-судьи и проанализировал результаты Claude Fable 5.

В этой статье я расскажу о результатах. Весь код доступен на Github.

Читать далее

Как работает PaaS в качестве инструмента оптимизации затрат на ИТ

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.5K

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

Читать далее

Армия в терминале

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели9.8K

Как coding agents превратили разработчика в диспетчера машин — и запустили гонку оркестраторов, песочниц и ИИ‑фабрик.

Ещё недавно программист открывал один терминал и разговаривал с одним агентом. Затем терминалов стало пять, веток — семь, а главным дефицитом оказался уже не код, а человеческое внимание.

Читать далее

Фиксатон VK: как мы за три дня обработали 1500 багов в 12 продуктах и довели 420 фиксов до прода

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели9.9K

Привет, Хабр! Я Оля Шишенина, отвечаю за обучение и развитие сотрудников VK. Хочу рассказать про внутреннее мероприятие для инженеров, которое мы провели этой весной: Фиксатон VK — трёхдневный марафон по багфиксам, на котором разработчики чинили баги не только в своих командах, но и в смежных продуктах VK. Решения прошли многоэтапный фильтр от общего пула задач, через проверку кода, QA-ревью при подготовке к релизу.

Победители фиксатона получили Nintendo, Playstation, а главному победителю по баллам в индивидуальном зачёте мы подарили Niva Legend — это отличная машина для того, кто любит фиксить и тюнинговать.

Заглянуть внутрь

Я научил роботов следить за правилами. Через два дня одно правило проследило за мной

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6K

Активно занимаюсь вайб кодингом.

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

На полке лежало правило с условием срабатывания, записанным дословно:

Читать далее

Мы провели 35 контролируемых экспериментов с «экзотическими алгебрами» в нейросетях

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.1K

Кватернионные, октонионные и Clifford-слои обещают parameter efficiency и «особую выразительность». Мы проверили честно: 35 контролируемых экспериментов, param-matched real-контроли, pre-registered kill-критерии. Преимущество испарилось во всех 35 случаях — включая наш собственный headline-результат. Рассказываем, какое единственное исключение выжило (и почему это optimization basin, а не магия), и какие потолки невозможности с точными константами закрывают вопрос.

Читать далее

Ваш парсер .evtx молча прочитал 4% журнала — и не считает это ошибкой

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели7.3K

Скрипт на python-evtx отработал без единой ошибки, с кодом возврата 0, и вернул 94 записи. В файле их было 2309, и вся атака — от создания админской учётки до запуска шифровальщика — оказалась в потерянных 96%. Разбираемся, почему два байта в заголовке .evtx нельзя принимать на веру и почему проверка непрерывности EventRecordID в этом случае отвечает «пропусков нет».

Читать далее

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

Время на прочтение8 мин
Охват и читатели8.2K

Утро рабочего дня. Завариваешь кофе, открываешь таск‑трекер/блокнот, и начинаешь планировать. Всё как нас учили книжки по тайм‑менеджменту: smart, важное/срочное, резать слонов и глотать лягушек. Ставишь задачкам приоритеты. Проставляешь часы. Набираешь на день Х задачек (например, чтобы сумма затрат была 6 часов для нормального человека или 4 для менеджера). И вот тебе список задач на день: последовательно, реалистично, иди и делай. Ставь крыжики, вычёркивай задачки, и вечером радостный «о, я всё сделал!».

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

Читать далее

Как пройти App Review, если ваше приложение требует регистрации

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.1K

Перед первой публикацией разработанного мной приложения WeCount я был уверен, что главная причина возможного отказа — ошибки в коде или проблемы в пользовательских сценариях. На практике оказалось наоборот: за всё время App Review к функциональности приложения не возникло ни одного вопроса. Почти все замечания касались исключительно регистрации пользователя.

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

Читать далее

Что нового в PhpStorm 2026.2

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели7.5K

Несмотря на то, что PhpStorm уже несколько лет официально недоступен в России, он по‑прежнему остаётся одним из главных инструментов для PHP‑разработчиков. Недавно вышла новая версия PhpStorm 2026.2.

В релиз вошли новые инструменты для ИИ‑агентов, встроенная интеграция с GitHub Copilot, поддержка собственных моделей для автодополнения и новый атрибут #[FileReference]. Разработчики также добавили отдельное окно для Laravel, поддержку TypeScript 7 и улучшили работу с Git, терминалом, базами данных и Docker.

В статье разберём основные изменения PhpStorm 2026.2, а также расскажем, какие возможности для PHP‑разработки уже доступны в OpenIDE и чего ожидать от её перехода на платформу 2026.2.

Читать далее

От SQL Injection до флага: разбираем решение машины Rawmatex на платформе Standoff 365

Время на прочтение12 мин
Охват и читатели7.8K

Всем привет! Меня зовут Саша, играю за команду 4Ray (НЕ ПУТАТЬ С СОЛАРОМ) в CTF и участвую в других активностях в ИБ, чаще всего выступаю под ником MN3STRASHN0. В этом материале представлен путь решения машины Rawmatex на платформе Standoff 365, она довольно простая, но всё равно требует внимательности, ведь поинты сами себя не заработают. В задании используется классическая цепочка уязвимостей, которая в итоге приводит к реализации недопустимого события. Статью готовили вместе с RedblueNotes (одноименные Хабр, и tg-канал) за что им огромное спасибо. Далее рассмотрим решение.

Читать далее

Инженерия вокруг агента: 10 идей AI Engineer

Уровень сложностиСредний
Время на прочтение29 мин
Охват и читатели6.1K

10 идей конференции AI Engineer о том, как меняется разработка, когда код пишут агенты.

В начале 2026 года небольшая команда OpenAI рассказала о необычном эксперименте.

Три инженера за пять месяцев создали внутренний продукт объёмом около миллиона строк кода и провели через репозиторий примерно 1500 pull request’ов. Продуктом пользовались сотни сотрудников. При этом люди не написали вручную ни одной строки: прикладной код, тесты, CI‑конфигурацию, документацию, observability и внутренние инструменты генерировал Codex.

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

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

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

Именно этот сдвиг лучше всего описывают выступления AI Engineer 2026 — весенней конференции Europe в Лондоне и летней World's Fair в Сан‑Франциско.

Доклады посвящены разным темам: контексту, памяти, длительным циклам, командной координации, верификации и безопасности. При этом важно не сводить их к одной заранее выбранной теории. Каждый спикер предлагает собственную модель AI‑first разработки, основанную на своём опыте и профессиональной перспективе.

Читать далее

Ближайшие события

Mount & Blade 2: Bannerlord в 2026 году: что изменилось, и стоит ли возвращаться?

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели9.2K

Mount & Blade по праву считается одной из лучших серий игр-песочниц про Средневековье. Преданные поклонники раз за разом возвращаются в суровый мир Кальрадии, чтобы преуспеть в завоевании замков и городов, снискать славу на рыцарских турнирах и полях сражений или же заняться мемным «грабежом кОрОванов».

Однако если в старой-доброй Warband ничего не меняется, то над второй частью разработчики из TaleWorlds неустанно трудятся, регулярно выпуская обновления. О том, что изменилось в Mount & Blade 2: Bannerlord за последний год, какие масштабные моды создали фанаты, и стоит ли сейчас возвращаться в игру — поговорим прямо сейчас!

Читать далее

C++ для STM32. Часть 1: организация пакетов данных для отправки по интерфейсам связи

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.9K

Привет, Хабр!
Это первая статья из планируемого цикла про мой объектно-ориентированный подход к написанию кода для микроконтроллера stm32 (а именно камня stm32f303vc на отладочной плате stm32f3discovery) с использованием возможностей языка вплоть до стандарта c++20. Но обо всём по порядку.

Читать далее

Цифровой двойник будущего меняет главные жизненные решения человека

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8K

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

Читать далее

Локальный запуск LLM для SOC: сколько инцидентов обработает одна GPU? Часть 2

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели6.6K

Всем привет! На связи Сергей Иванов, аналитик технологий машинного обучения R‑Vision.

В первой части эксперимента мы выяснили, как на производительность локальной LLM влияют длина контекста, количество параллельных запросов и объем генерируемого ответа. Стресс‑тесты позволили определить границы конфигурации Qwen3.5–122B‑A10B‑GPTQ, vLLM и NVIDIA RTX PRO 6000 Blackwell Max‑Q с 96 GB видеопамяти.

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

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

Отдельно остановимся на режиме рассуждений. В сценарии интеграции LLM в конвейер R‑Vision SOAR мы сознательно использовали модель с отключенным thinking mode (режимом рассуждений). Ниже на результатах реальных экспериментов покажем, почему именно такой режим оказался наиболее эффективным для задач SOC.

Читать далее

Бумажный интернет 1930-х

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели9.3K

Когда‑то фраза «поиграть на телефоне» вызвала бы недоумевающие взгляды и, возможно, опасения насчет душевного состояния говорящего. Но что там "играть на телефоне" когда, люди в 1930-х научились читать газеты по радио? Вот как это было.

Читать далее

Green Tea GC: что на самом деле поменялось в сборщике мусора Go 1.26

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.4K

С весны на собесах стабильно спрашивают про Green Tea. И ответ, который я слышу в девяти случаях из десяти, звучит так: «ну, он на 40% быстрее». Дальше начинаешь уточнять — быстрее что? — и человек плывёт. Проценты там действительно есть.

Просто относятся они не к тому, о чём все думают.

Читать далее

Виды связываний (external, internal, no linkage) для самых маленьких

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели8K

Если вы когда-нибудь собирали проекты на C++, то практически наверняка получали ошибку от линковщика формата:

/usr/bin/ld: /tmp/ccYa2eaO.o: в функции «foo()»: foo.cpp:(.text+0x0): повторное определение «foo()»; /tmp/ccKEs5I7.o:main.cpp:(.text+0x0): здесь первое определение collect2: error: ld returned 1 exit status

Опытным C++ разработчикам эта проблема известна как ODR (One Definition Rule). Но корень этой ошибки выходит далеко за рамки «используй inline в .hpp» и «не определяй ничего в .hpp».

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

Читать далее