Обновить
256K+

Веб-разработка *

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

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

Сделала Million Dollar Homepage для творчества, но что‑то пошло не так

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

Помните Million Dollar Homepage, где пиксели продавали по доллару? У меня такая же сетка, только место бесплатное, а вместо рекламы рисунки и стихи.

Этим летом я запустила CreativeTrace: общий холст, на котором любой может оставить маленькую творческую работу. Рисунок, стих, звук, файл, обрывок мысли и ссылку на свой канал или сайт. Прошло четыре месяца: сайт посетили 340 человек, на стене около 50 работ, а я до сих пор не уверена, зачем и кому это может быть нужно. Ниже — как он устроен, что показали цифры и что пошло не так.

Читать далее

Новости

Как фронтенд‑команде сделать мобильное приложение без нативных разработчиков

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

Нативных разработчиков в команде нет, зато половина хорошо знает Vue, поэтому мобильное приложение для iOS и Android я как лид решил делать на Vue и Capacitor. Разбираю, что этот стек дал веб‑команде, какие сложности пришлось решить с нативным тулчейном, вырезом экрана и клавиатурой и когда Capacitor стоит брать.

Читать далее

Жаргон функционального программирования

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

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

Примеры написаны на JavaScript (ES2015). Почему JavaScript?

Где уместно, в этом документе используются термины, определенные в Fantasy Land spec.

Читать далее

Миллионы событий WAF в одну аномалию: как PT AF Cloud замечает смену характера атак

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

Привет, Хабр! Меня зовут Даниил Лопаткин, я ML-инженер в группе машинного обучения Positive Technologies. Расскажу, как в PT Cloud Application Firewall работает обнаружение аномалий в профиле трафика и зачем мы его сделали.

Межсетевой экран уровня веб-приложений (WAF) записывает каждое срабатывание правила защиты. У крупного клиента за сутки набираются десятки и сотни тысяч таких событий. Большая часть из них — привычный фон: боты, сканеры, перебор типовых путей, превышения лимита запросов. Следит за ними обычно небольшая команда центра мониторинга безопасности (SOC), и отвечает она сразу за много приложений. Просматривать события безопасности каждого вручную она не успевает. Начало целенаправленного сканирования или эксплуатация недавно опубликованной уязвимости теряются среди остальных событий, и их замечают с опозданием.

Читать далее

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

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

По требованиям Netflix к сведению диалог стоит на −27 LKFS, а пики допускаются до −2 dBTP, и дома на колонках ноутбука я весь фильм крутил громкость. Я написал расширение для Chrome, Edge, Яндекс Браузера, Opera и Firefox, которое каждые 100 мс измеряет громкость видео и подстраивает усиление. На тестовом фрагменте разница между диалогом и экшеном уменьшилась с 16,1 до 3,8 дБ.

Читать далее

Синдром Капгра, топоры и чистая математика: как я проектировала логику безумия для своей браузерной игры

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

«Обмани сербского» — это мой психологический симулятор судебно-психиатрической экспертизы, упакованный в эстетику терминала.

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

Твоя задача тоже простая: не уехать на пожизненное.

Читать далее

Почему HTTP‑вызов не укладывается в таймаут: очереди, ретраи и asyncio

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

Добавили в HTTP-клиент таймаут, повторы и ограничение одновременных запросов. Кажется, всё предусмотрели, но вызывающий код почему-то ждёт дольше, чем рассчитывали. Я собрал стенд на aiohttp, чтобы разобраться, как так получается и где нужно поставить deadline, чтобы в общий бюджет попало и ожидание в очереди, и все повторные попытки.

Читать далее

Make Perl Great Again. Часть 1: Hello World

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

Все знают, что любая книга по программированию начинается с приведения примера программы hello world. Я тоже не буду оригинальничать и покажу, как надо писать hello world. Но в отличие от других авторов, которые очень быстро переходят от этой программы к каким-то очень высоким материям, философским обоснованиям, паттернам программирования и шаблонам проектирования (чтобы это всё ни значило), я ограничусь только hello world. Кто-то же должен заполнить пробел между hello world и… веб-сервером :-).

Читать далее

Я обошёл 17 тысяч сайтов рунета одним обходчиком. Вот что в них внутри

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

Если прочитать главные страницы 17 642 сайтов одним и тем же кодом и у каждой сохранить протокол, кодировку, платформу и дату регистрации домена, получается так: 93% сайтов на HTTPS, 2,7% до сих пор в windows-1251 и koi8-r, 39% доменов старше 2010 года, а среди сайтов с определимой платформой Битрикс вдвое обгоняет WordPress.

Это побочный продукт каталога сайтов, который я делаю один. Обходчик читает главную ради описания карточки, а технический паспорт снимается с того же ответа, без единого лишнего запроса к чужому серверу. В статье две части: как устроен обход и на какие грабли наступаешь именно в рунете, и сами цифры. Цифры заморожены на 23 сентября 2026 года и лежат на отдельной странице: срез за III квартал 2026. Живая версия пересчитывается раз в час на /stats.

Читать далее

Выносила за девять месяцев: гайдлайн по вайб-кодингу для девочек (и мальчиков)

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

Для тех, кто только открыл Claude Code и уже чувствует, что что-то идёт не так

Девять месяцев я пишу свои проекты с Claude Code. Я не разработчик и руками за это время не написала ни строчки кода. За девять месяцев можно выносить ребёнка, но их у меня уже 5, поэтому в этот раз я выносила гайдлайн по вайб-кодингу.

Токсикоз тоже был, про него писала тут Вайб-кодинг без розовых очков: как я писала свой продукт с Claude. А сегодня про то, как я работаю сейчас. С опытом сформировался порядок действий: сначала спека, потом код, потом проверка другим агентом или новым чатом. Я не претендую на исключительность, но все мои правила игры выстраданы личным опытом, временем и деньгами за подписку Max.

Читать далее

«Я не робот»: как ботнеты научились быть людьми

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

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

Летом двадцать пятого года по сети разошлась история про ИИ-агента, который посреди задачи наткнулся на проверку Cloudflare, нажал кнопку подтверждения и между делом пояснил своему пользователю, что этот шаг нужен, чтобы доказать, что он не бот. Шутили над этим много, но если отбросить смешную сторону, картинка получилась довольно точная, потому что вопрос «человек ли ты» давно перестал делить трафик на своих и чужих и делит его сейчас скорее по тому, сколько денег и терпения вложил в маскировку тот, кто сидит по ту сторону запроса.

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

Читать далее

WordPress не умрёт: ИИ-агенты, вайб-кодинг, Laravel, фриланс и будущее сайтов после прихода нейросетей

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

WordPress уже много лет пытаются «похоронить». Сначала казалось, что его вытеснят конструкторы сайтов, затем современные JavaScript-фреймворки, headless-подход и облачные платформы. Теперь к этому добавились нейросети, которые умеют не только писать код, но и работать с проектом целиком: запускать WP-CLI, подключать плагины, готовить тесты и помогать с деплоем.

Так что происходит с WordPress в 2026 году? Есть ли смысл новому разработчику изучать его с нуля? Как ИИ-агенты и вайб-кодинг меняют привычную работу с сайтами? Где заканчиваются возможности WordPress и начинается Laravel? Насколько еще актуальны Elementor, Gutenberg, ACF и WooCommerce? И что вообще останется разработчику, если все больше задач можно поставить обычной фразой?

Я, Александр, автор телеграм-канала «Shulepov Code», поговорил с Александром Сокиркой — разработчиком, который пришел во фриланс еще школьником, начинал с баннера за пять долларов, затем работал с Joomla и WordPress, продавал шаблоны на маркетплейсах, сотрудничал с американскими студиями и сейчас активно экспериментирует с вайб-кодингом и ИИ-инструментами. У Александра также есть YouTube-канал: «Быть Программистом», где он публикует материалы о разработке и своем опыте.

Разговор получился не только про WordPress. Мы обсудили Laravel, Copilot, Claude, Codex и Qwen, рынок фриланса и зависимость от платформ, Elementor и Gutenberg, ACF и таксономии, Docker и CI/CD, WooCommerce, выгорание и то, как меняется сама роль разработчика. Отдельно поговорили о том, что сегодня действительно имеет смысл учить, где ИИ уже экономит часы работы, а где без понимания архитектуры, кода и логики проекта по-прежнему не обойтись.

Читать далее

Комнатный RAG: бесплатный ИИ-помощник-консультант по содержимому сайта

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

Можно ли превратить обычный сайт небольшой компании в ИИ-консультанта и уложиться в бесплатные квоты хостинга? На примере показываем, как собрали такого помощника с агентом на платформе Cloudflare.

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

Как мы это собрали

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

Как сделать RAG-чат для сайта, который не выдумывает цены: пять решений из моего бота

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

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

Читать про пять решений

URL на два режима, modal поверх списка и SEO detail page в Next.js App Router

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

Карточка в каталоге обычно ведёт на detail page. Для прямого перехода нужен отдельный URL вроде /events/123. Для просмотра нескольких карточек подряд удобнее оставить список на экране и открыть detail поверх него. Если modal хранится только в useState, адрес страницы не меняется. Прямую ссылку на открытый объект получить нельзя. После reload остаётся список, а поисковый робот видит только исходную страницу.
App Router поддерживает другую схему. Один detail URL открывается как modal при client-side переходе из списка и как обычная страница при прямом запросе или reload. Для этого используются Parallel Routes и Intercepting Routes. Next.js описывает тот же паттерн для modal поверх gallery или другого списка. В учебном EventMap этот маршрут используется для событий.

Читать далее

Техно‑аквариум в стиле адской Обители: запускаем локальную LLM Qwen 2.5 14B на домашнем ПК для интерактивного сайта

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

Сегодня уже никого не удивить нейросетью — из каждого утюга только о них и слышно. Хоть видео, текст, генерация кода. Уже приходится всматриваться в экран, чтобы понять: перед тобой настоящая фотография или работа ИИ. Народ и дома, и на работе вовсю позаводил себе локальные нейронки. Короче решил и я не отставать.

А зачем? Потому что могу. Или хочу узнать смогу ли. Для какой‑то самореализации, интересно пройти этот путь.

Просто поднять локальную ИИ на ПК это просто не интересно. Хотелось что‑то сделать такое, что бы можно было буквально пощупать, что‑то отличное от простой отвечалки. Возникла идея «подселить» нейросеть на сайт, наделить её характером, дать ей полномочия в рамках сайта. Сымитировать настоящую цифровую псевдожизнь, этакий цифровой аквариум, в заточении которого живёт Хозяйка проекта INFERNUM.

Читать далее

Может ли робот написать merge request? Агенты фронтенда с GigaChat и без

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

Салют, Хабр!

У GitHub есть GitHub Copilot Code Review, y GitVerse — GigaCode Agent… но мы не можем их использовать, так как это внешние решения, которым не хочется открывать свой код. Когда речь идёт об AI-агентах в разработке, путь большинства крупных компаний — создавать собственный велосипед с нужным количеством колёс и педалей.

Меня зовут Аврора, я занимаюсь инфраструктурой фронтенда в SberDevices. Для упрощения работы мы реализовали систему агентов фронтенда, где скомбинировали два подхода: агентный цикл, где модель получает цель и инструменты, и детерминированный workflow, когда она выполняет отдельные ограниченные задачи. 

Сегодня расскажу о работе наших агентов: об ошибках фронтендеров по статистике AI-ревьюера, парсере для сужения контекста модели и функции системы, которая оказалась (внезапно) самой востребованной.

Читать далее

HTML и CSS из прошлого, которые до сих пор актуальны

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

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

Я интересуюсь вёрсткой с момента появления первых версий браузера Google Chrome. Конечно, современному фронтендеру тяжело понять то, что я испытывал с коллегами. Мы именно те разработчики, которые знали кучу рецептов, как починить определённый баг в конкретном браузере.

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

По этой причине сегодня пришёл к вам исправлять эту ситуацию. Мы рассмотрим старые возможности HTML и CSS, которые сегодня всё так же полезны.

Давайте посмотрим, что я подготовил.

Читать далее

Как Open Source аналоги убили Adobe и Microsoft Office? ИИ сделал это за пару месяцев

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

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

В статье разберём: какие юридические риски может нести сходство с оригиналами, что всё это говорит о будущем разработки ПО, и насколько его приложения близки к коммерческим аналогам.

Читать далее

Закрыл вкладку — ушёл, обновил страницу — остался: присутствие в комнате на WebSocket

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

Когда человек закрыл вкладку, обновил страницу или потерял сеть, сервер получает один и тот же SessionDisconnectEvent, а реагировать должен по-разному. Рассказываю, как в своём Planning Poker научил комнату различать эти случаи и не терять текущие данные при обновлении: маркер закрытия на pagehide, атомарные обновления MongoDB, порядок кадров в Spring, обходы для Firefox и zone.js и живые тесты в Chrome, Firefox и Safari. Восемь граблей и что с ними делать.

Читать далее
1
23 ...