CSS Anchor Positioning в картинках

Большой визуальный гайд по CSS Anchor Positioning: от базовой привязки элементов до создания прочных соединителей и цепочек якорей.

Делаем веб лучше

Большой визуальный гайд по CSS Anchor Positioning: от базовой привязки элементов до создания прочных соединителей и цепочек якорей.
Небольшая веб-студия в Тбилиси, множество встреч с клиентами и два года разработки сайтов — с 2016 по 2018 год.

Я собирался написать статью про Markdown. В процессе внутри документа оказался Doom.
Разбираемся, почему два пробела меняют перенос строки, обратные кавычки не всегда спасают таблицу, а один .md по-разному выглядит на Хабре и GitHub. Прямо в статье можно менять разметку в лаборатории, решать задания и проверять результат. Есть GIF, вложенные спойлеры, маленький квест и разбор того, как упаковать ресурсы Doom в Markdown — и что на самом деле запускает игру.

В мае 2024 года команда Flutter выпустила версию Flutter 22, в которой они стабилизировали поддержку WebAssembly, объединив компилятор Dart с системой сборки мусора WebAssembly — WASM GC.
Примерно с этого же времени я много экспериментировал со сборками WASM и, в принципе, для широкого круга приложений они работают не хуже JavaScript, кроме двух интересных проблем. Это несовместимость данной технологии с браузерами Firefox и Safari.
Я решил покопаться в этом вопросе: то есть, при чём здесь вообще Flutter? И действительно ли команда Flutter не занимается этой ситуацией и почему не занимается.

Сигнал изменился - как найти связанные эффекты и удалить известную связь? Сравниваю четыре структуры графа signal - effect по стоимости операций и памяти, а затем - в локальных замерах на V8. Почему одинаковая O(1) не означает одинаковое время?

Я здесь уже рассказывал про Falang (friendly algorithmic language) - универсальное решение для построения блок схем. Тогда у меня было несколько MVP под разные направления, сейчас же я выхожу в свет с реальным продуктом.
Встречайте: FalangFlow - конструктор автоматизаций: интеграции между сервисами, боты, обработка данных и ИИ-сценарии в виде блок-схем. Код открыт под лицензией APGL-3, вы можете его самостоятельно установить локально или на своем хосте.

15 сентября Cloudflare обновил правила доступа ИИ-ботов к сайтам. Блокируя сбор данных для обучения, можно заодно закрыть поиск: некоторые боты выполняют обе задачи. Я разобрал исследование Seensure по 1 046 сайтам. После обновления запросы от имени обучающих ботов стали блокировать чаще, а поисковых — реже. Это тест с подставленными именами, поэтому он не доказывает доступ настоящих краулеров. Настройки стоит проверить по категориям, а реальный доступ — по логам запросов.
У меня блог на 78 markdown-файлах, и руками я его не публикую уже больше недели. Статья выходит, когда наступает дата в её шапке: сборщик в тот день включает её в сайт, сервер замечает новую страницу, пишет о ней поисковику и обновляет sitemap с RSS. Ниже разбираю, как это собрано, и три места, где всё ломалось. Фреймворка тут нет, только один Python-файл примерно на 800 строк, bash-скрипт на 30 строк и cron.
Весь код упрощён, домен заменён на example.com, пути на /srv/blog и /srv/www.

Cal AI, Rork и Base44 выглядят как тот самый успешный успех вайбкодинга. Школьник разгоняет приложение до десятков миллионов долларов, два фаундера с долгами получают $2.8 млн инвестиций, а соло-разработчик за полгода продает продукт Wix за $80 млн.
Звучит так, будто достаточно открыть Claude Code, нагенерить SaaS и ждать, когда понесут деньги.
Я полез смотреть, что было за кадром. А за красивой историей: опыт, прошлые провалы, деньги, маркетинг, команда. Вайбкодинг тут только часть успешного успеха.

В релизах ветки 16.x мы постепенно внедряли новую модель разработки, которая решает многие проблемы, с которыми вы сталкивались с самого появления App Router:
Обеспечивает быструю первоначальную загрузку даже персонализированных страниц.
Делает клиентские переходы в приложениях с серверным рендерингом мгновенными.
Делает кеширование декларативным и компонуемым, при этом включать его нужно явно.
Эта модель называется Cache Components, и в Next.js 17 она будет использоваться по умолчанию.
До этого релиза мы не рекомендовали её для всех без исключения приложений: в некоторых сценариях она не могла обеспечить те же гарантии по затратам и производительности, что и прежняя модель.
В этом релизе появились ключевые возможности, которые устраняют эти ограничения.
Начиная с Next.js 16.4, мы с уверенностью рекомендуем Cache Components как лучший выбор для любого приложения на Next.js.
Сделал калькулятор налога для самозанятых на Laravel + Inertia + Vue с SSR и выложил на обычный shared-хостинг. Сам калькулятор написал за пару вечеров. Всё остальное время ушло на то, чтобы поисковики увидели сайт так же, как браузер.
За два месяца: SSR-демон падал с EPERM, порт оказывался занят «через раз», главная месяц уходила в кэш пустой страницей, а проверка SSR в CI была зелёной, потому что не могла упасть в принципе. Плюс месяц блокировки хостером, о которой я не знал, и фильтр «малоценных страниц» от Яндекса.
Разбираю грабли по порядку — может, кому-то это сэкономит месяц.

Корпоративный сайт на пяти языках: около сотни страниц, блог, новости и 100–150 тысяч пользователей в месяц. Два года он жил на Webflow. Переезд на Next.js 15 и Payload CMS сейчас на финишной прямой, и шёл он без дня Х: страница за страницей, на одном домене со старым сайтом.
Разбираю, как это устроено. Счёт Webflow по строкам, Next.js под /app на Webflow Cloud и 301-редиректы с пятью локалями, перенос CMS-коллекций в Lexical, next-intl и проверки в CI, которые ловят то, что раньше находил только дизайнер через месяц.

Мне стало интересно, насколько российские сайты в 2026 году ещё зависят от зарубежных сервисов. Не в смысле «пользуется ли компания Zoom», а буквально: что сломается у сайта, если завтра иностранный провайдер отключит российских клиентов.
Я написал открытую утилиту и прогнал через неё 50 сайтов: банки, магазины, операторов связи, авиакомпании, госорганы. Спойлер: серверы почти все уже перевезли, а вот сертификаты, аналитика и шрифты остались. Рассказываю, что нашлось, как устроена проверка и как одна регулярка повесила всю программу.

Хабр, привет.
Многие люди с интересом относятся к истории. Читают книги, рассматривают архитектуру городов, смотрят фильмы времени наших родителей. Мне кажется, веб достиг периода, когда мы можем с интересом поговорить о прошлом HTML и CSS.
Сегодня я пришел к вам, чтобы оглянуться немного назад и вспомнить фичи, которые когда-то были частью веба. Возможно, некоторые из них вы когда-то даже использовали.
Давайте посмотрим, что я вам подготовил.

Представьте: вы настроили CronJob, протестировали локально и выкатили в продакшн. Всё работает как часы. А потом решили добавить отказоустойчивости и развернули приложение во втором дата‑центре. И внезапно ваша задача начала выполняться дважды. Это не баг Kubernetes, а фундаментальная проблема синхронизации.
Меня зовут Тимофей Салтымаков, я бэкенд‑разработчик в Точка Банк. В статье расскажу, как мы решили проблему дублирующихся CronJob'ов в распределённой системе. Прошли путь от advisory locks до собственной библиотеки, и в итоге поняли, что нужно перестать синхронизировать процессы и начать синхронизировать... время. Поехали!

Вот и наступила золотая осень!
В сентябре я каждый день почему-то вспоминал поговорку “от работы дохнут кони, ну а я бесмертный пони”. Сделано было просто куча всего! Новые релизы, библиотеки, крутые фичи, доклад на конференции. А еще наше сообщество сделало кучу интересных проектов в опенсорсе.
С меня как всегда статья без нейрослопа и ИИ, с вас как всегда интересные комментарии и лайки! А вот тут ссылка на прошлый дайджест за август.
Погнали смотреть, что у нас в питоне происходило!

Привет, Хабр! В первой статье я разбирал внутреннее устройство real-time-конвейера на C++20: почему медленный YOLO не должен останавливать RTSP и зачем между этапами нужны ограниченные слоты последнего значения. Теперь посмотрим на ту же систему с другой стороны — глазами пользователя, который подключает камеру и должен получить не просто видео с рамками, а управляемый и проверяемый результат.
Я покажу практический порядок настройки своей платформы видеоаналитики через браузерный JavaScript Viewer: от стабильного потока и детектора движения до постоянных ID, двух контуров YOLO и истории событий в PostgreSQL. Главный вопрос статьи — не «где находится кнопка», а «какой участок конвейера меняет этот параметр и как проверить эффект».

После моей статьи о рабочем месте репетитора в Chatwoot в комментариях закономерно спросили не о календаре и не о Jitsi, а о детали, которую я тогда почти не показал: как именно сообщения из MAX и VK попадают в Chatwoot и как ответ возвращается обратно.
Короткий ответ: это не скрапинг веб-версий и не автоматизация личных аккаунтов. MAX у меня подключён через официального бота, VK — через сообщения сообщества. Между ними и двумя API inbox в Chatwoot работает небольшой сервис на Node.js.
В этой статье разберу его фактическую реализацию: маршруты вебхуков, создание контакта и диалога, хранение соответствий, защиту от повторной обработки и передачу изображений. Заодно покажу места, где маленький рабочий мост ещё не стал отказоустойчивой шиной сообщений.

Вы тоже стали чаще замечать движущиеся светящиеся точки на небе? Небо ожило даже для простых наблюдателей с земли. Я разработчик со стажем 7+ лет, а в космической отрасли работаю около 3-х, и скажу вам, цифры меня самого пугают - 8 лет назад вокруг Земли работало примерно 1950 спутников. Сейчас их порядка 16 тысяч. А в месте с [отслеживаемым] мусором 47 тысяч.
Однако с ростом оживленности космоса, я не наблюдаю роста популярности этой темы. Ну да, летают какие то спутники, что тут такого интересного. Однако я заметил, что настоящий интерес может проявиться, когда есть возможность все это "пощупать". Сам то я уже щупал, есть ряд заграничных сайтов отображающих все спутники в околоземном пространстве, но все эти ресурсы сделаны для тех "кто в теме". Они научно скучные. Я загорелся идеей сделать такую визуализацию более доступной для широких масс. И вот тут начинается самое интересное - как это все визуализировать на экран, и как сделать так, чтобы человеку стало интересно.

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