Обновить
256K+

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

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

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

Кого обслуживает твой сайт на старте, юзеров или ботов? Как оценить нужную производительность? Реальные измерения

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

Сразу скажу что именно чтобы тем кому надо знать только итог не тратили свое время на чтение. Сайт лежит в виде виртуальной машине убунта без морды на арендованном довольно шустром хосте с 64 Озу 12 ядер 500 ССД и канал 1G. Хост крутит тоже убунта без морды.
Ну и для сайта выделено было пару ядер и пару гигабайт памяти.
Что делает сам сайт - он подключен ко всем буквально источникам новостей об ИИ как к лидерам рынка, так к вендорам и агрегаторам. Суммарно 100 источников. Он собирает все новости что найдет и те что не на английском переводит на английский. Затем чистит от дубликатов. То что осталось раскладывает на рубрики, переводит на 15 языков и выкладывает себе в ленту, выкладывает в Канал в телеге на русском только и все новости на всех языках пихает в ленту RSS.
Чтобы все это делать он пользуется несколькими ИИ подключаясь к ним по API.
То есть сайт чисто текстовый. Никаких вычислений тяжелых нет. Нет рендеров и нет картинок даже.
И вдруг выясняется что сайт на этой машине буквально еле ползает. Сайту неделя. Я там единственный пользователь. И чтобы ему нормально было работать оказалось что надо до 6G ему добавить память и выделить еще два ядра. Провел я расследование и вот что оказалось

Что кругом одни боты

Новости

Больше свободы агентам — жёстче проверки: линтинг React 19 на ESLint 10

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

Чем больше автономии я даю ИИ-агентам, тем больше требований к коду превращаю в механические проверки. Когда eslint-plugin-react сломался на ESLint 10, я собрал продолжение для React 19: сократил 102 активных правила до 11 и исправил ошибки, которые проявились только в реальных проектах.

Читать далее

Бэкапим чат «Избранное» из VK

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

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

Привет! Меня зовут Игорь. В статье рассказываю про инструмент для бэкапа сообщений из VK с сохранением вложений.

Читать далее

Пагинация. Ошибки тестирования списков и курсоров

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

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

Проверить пагинацию

Развитие FastAPI приложения в ходе разработки production-системы

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

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

Читать далее

3000 точек на карте грузились полсекунды. Ускорял не там, где думал

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

Эндпоинт отдавался за 380–510 мс и 811 КБ. Я думал, что причина одна – тяжёлый запрос. Разобрался: причин было три, и они лежали одна под другой. Пока не убираешь верхнюю, следующую просто не видно. Индексы, обход ORM и внезапно – gzip, который не был включён вообще.

Читать далее

Свой продукт для управления корпоративами: от MVP за 2 месяца до успешной версии 4.0

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

Привет, Хабр! Меня зовут Женя, я занимаюсь развитием цифровых продуктов в Sminex. В статье поделюсь опытом разработки и запуска Sminex Event — собственного продукта для управления корпоративами.

Читать далее

ИИ-трафик обогнал человеческий: что это значит для сервера и видимости сайта у нейросетей

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

Привет, Хабр! Меня зовут Дмитрий, руковожу отделом рекламы и продвижения в Аспро. Мы запускаем интернет-магазины и развиваем систему управления бизнесом Аспро.Cloud.

4 июня 2026 года генеральный директор Cloudflare Мэтью Принс сообщил цифру, после которой стоит остановиться: бот- и агентный ИИ-трафик впервые превысил человеческий — 57,5% против 42,5% всех HTTP-запросов в интернете, по данным Cloudflare Radar. Половину запросов к вашему сайту делает не человек.

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

Читать далее

Роспотребнадзор и ФАС дойдут и до сайтов: как настроить автопоиск и замену иностранных слов с помощью LLM

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

Привет, я Александр Бондаренко, эксперт по комплаенсу и руководитель проектной группы в Далее. Еще до выхода «закона о защите русского языка» мы стали искать быстрый способ вычистить сайты от недопустимых заимствований и «латиницы».

В итоге создали алгоритм с многоступенчатым фильтром, OCR и LLM. Система находит в контенте только недопустимые слова и тут же предлагает русские аналоги. На выходе получаем результат в 20 раз быстрее, чем при адаптации текста вручную. 

Рассказываю, как реализовано решение и чем кардинально отличается от скармливания страниц в ChatGPT или другие ИИ-боты. 

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

Читать далее

Платформер в стиле DOOM: портируем старую курсовую на чистый JavaScript

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

Несколько лет назад у нас с одногруппником был зачёт по C++, и вместо того чтобы сделать что-то скромное (например, «Калькулятор» или «Генератор паролей»), мы, конечно же, решили замахнуться на какую-то игру, и тогда нам попалась новость о 30-летнем юбилее игры DOOM. План был красивый, т. к. на тот момент командной работы у нас не было, мы решили, что мой одногруппник пишет псевдо-3D-движок в духе классического рейкастинга, а я делаю 2D-платформер, который в итоге должен был запускаться прямо внутри его мира, как игровой автомат, который запускался бы перед игрой, и сколько патронов ты собрал, столько у тебя и будет в игре.

Проблема появилась не в архитектуре и не в гейм-дизайне, а гораздо раньше — на этапе, который мы оба благополучно пропустили: мы не договорились, на чём пишем. Я по рекомендации преподавателя взял SFML — с ним я уже возился на парах, там всё human-readable, спрайты, окна, звук из коробки. Товарищ выбрал SDL, т. к. видел гайд про DOOM на SDL — она даёт прямой доступ к буферу пикселей, что для рейкастинга буквально то, что нужно: рисуешь вертикальные полоски стен вручную, без лишней абстракции между тобой и экраном.

По отдельности оба выбора были правильными, а вместе — нет. Слинковать в одном проекте SDL и SFML можно, но два разных event loop, два разных подхода к окну и таймингу — это уже не работа для автомата по зачёту, а отдельная курсовая работа, на которую у нас оставалось дня два-три. Мы посчитали и сдали как два независимых проекта. Препод посмотрел, оценил — и выдал ровно ту фразу, которую в такой ситуации выдал бы любой человек, который знал о проекте: «Идея классная, жалко, что не объединили», но нам это было неважно на тот момент, как говорится, зачёт получили — и на этом спасибо.

Читать далее

Анти Бот для 1C Битрикс: как антиспам для WordPress обзавёлся родственником на Битриксе

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

Некоторое время назад я писал здесь про антиспам для WordPress — историю о том, как из недоступного клиентам Cloudflare и дырявых бесплатных решений родился свой плагин геоблокировки, а чуть позже — вторую часть с разбором критики и рассказом, что успело поменяться. В конце самой первой статьи была одна проходная фраза: «параллельно ведется разработка аналогичного решения для 1С Битрикс — задача там несколько сложнее архитектурно, но подход тот же». С тех пор модуль доехал до Маркетплейса, обзавелся парой обновлений и первыми покупателями. Расскажу, что получилось — и почему для Битрикса такая защита понадобилась даже раньше, чем для WordPress.

Читать далее

Капча, которую рисуют: drop‑in альтернатива reCAPTCHA на динамике жеста

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

Почему мы классифицируем движение руки, а не картинки со светофорами — и как встроить это в форму двумя строками

Картиночные капчи в 2026-м решаются моделями компьютерного зрения за миллисекунды, а каждый ваш клик по «выберите автобусы» бесплатно размечает чужой датасет. Плюс две свежие проблемы: Google в начале 2025 срезал бесплатный лимит reCAPTCHA с 1 000 000 до 10 000 проверок в месяц, а с апреля 2026 ужесточил модель ответственности за данные по GDPR. Из России reCAPTCHA к тому же нестабильна.

Общая проблема для сети — как доказать, что ты человек, не сдавая паспорт, лицо и номер телефона. Мы предлагаем: drop-in капчу, которую посетитель не кликает, а рисует. В описании — архитектура, ML-часть, приватность и код интеграции. Проект открытый. Буду рад аргументированным замечаниям.

Читать далее

Не крутил с агентом циклы — жизни не видал

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

Привет, Хабр! Меня зовут Альберт, и я программист слоператор. Пятнадцать лет почти без единой строчки кода — а прошлой осенью сорвался, и похоже, что на этот раз серьёзно.

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

TL;DR: циклы — это просто, как два пальца; всё, что крутится вокруг них, — немного сложнее…

Читать далее

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

Как находить работу в IT в 2026 году

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

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

Читать далее

После комментариев на Хабре мы развернули тестовую ветку БОЛТУНа: Electron, WinUI 3 или Tauri 2?

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

После первой статьи о БОЛТУНЕ мы развернули отдельную тестовую ветку и начали выбирать новый стек интерфейса. С помощью ИИ сравнили Electron, WinUI 3 и Tauri 2, проверили выводы по документации и собрали прототип на Tauri. Рассказываем, почему не переносим звук из C++ в WebView, как устроили границу WebView → Rust → C++, что уже работает, а что ещё предстоит измерить.

Читать эксперимент

Как мы проверяем до 1 000 cайтов в час: рассказываем про ЮScan — сервис оценки рисков в сегменте e-commerce

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

1000 сайтов в час вместо нескольких часов на каждый — так работает ЮScan, сервис автоматизированного аудита от ЮMoney. Его основная задача — помочь банкам и платёжным организациям не допустить подключения сайтов, которые маскируют запрещённую или рискованную деятельность под легальный бизнес. Сервис автоматически проверяет ресурс и выявляет подобные случаи ещё до начала сотрудничества.

С 2020 года через ЮScan проверено более 550 тысяч заявок. За это время ЮKassa не получила штрафов за обслуживание запрещённых видов деятельности.

Кому это нужно? Если вы обрабатываете более 10 000 страниц в сутки, работаете с эквайрингом, маркетплейсами, KYC/AML-проверками или выполняете требования 152-ФЗ, ручные процессы неизбежно становятся узким местом. Меня зовут Ирина, я руковожу антифродом в ЮMoney. Расскажу, как устроен ЮScan: как обходить тысячи страниц, находить рискованный контент и превращать данные в понятный скоринг.

Читать далее

Canva Code 2.0 доступна всем: можно ли собрать сайт для бизнеса

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

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

15 июля Canva выпустила Code 2.0. Анонс успел отлежаться, первые восторги немного выветрились, а независимые авторы добрались до кнопок, которые обычно остаются за краем презентации.

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

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

Читать далее

Как я измеряю видимость брендов в шести нейросетях: схема замера, формат логов и ошибки

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

Задача звучит просто: выяснить, называют ли бренд ChatGPT, Claude, Perplexity, Gemini, Алиса AI и GigaChat, когда пользователь спрашивает совета или ответа у ИИ. На практике эта задача раскладывается на десятки технических решений, каждое из которых меняет результат в разы. Ниже устройство замера, формат хранения и три моих ошибки, которые обесценивают всю работу.

Читать далее

Как я запустил свою онлайн‑радиостанцию GrindFM на AzuraCast и Яндекс.Облаке

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

Я играю в STALCRAFT, ныне STALZONE. Там есть радио Grind FM — играет фоном, создаёт атмосферу. Проблема в том, что это радио находится в безопасной зоне и играет даже не на всю эту зону. И мне захотелось сделать так, чтобы во время вылазки можно было включить это радио и мочить мутантов.

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

Создать станцию Grind FM!

Технический аудит сайта — что проверять, чтобы сайт быстро работал

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

Привет, Хабр! Меня зовут Дмитрий, руковожу отделом рекламы и продвижения в Аспро. Мы запускаем сайты, интернет-магазины и развиваем систему управления бизнесом Аспро.Cloud.

Частый вопрос от клиентов, которые заказывают у нас аудит: он же вроде нормально работает, зачем еще платить за технический аудит? Отвечаю: сайт сейчас одновременно общается с четырьмя разными читателями — человеком, поисковым роботом, алгоритмом ранжирования и, с 2024 года все активнее, краулером нейросети, который решает, упомянуть ли вас в ответе. 

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

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