Обновить
256K+

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

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

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

Агрегатор LLM, как выбирать живые free-модели и переживать сбои провайдера

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

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

Часть моделей числится бесплатными, но отвечает нестабильно. Часть внезапно исчезает из выдачи провайдера. Часть формально жива, но по качеству ответа годится только для демо. Иногда пользователь выбрал одну модель, а провайдер вернул ошибку. Иногда ответ пришел, но уже от другой модели. Иногда список моделей на фронте устарел, а backend уже живет в другой реальности.

То есть проблема тут не в том, как красиво показать список LLM. Проблема в том, как построить агрегатор, который умеет выбирать живые free-модели, переживать сбои провайдера и не врать интерфейсу о том, какая модель реально ответила.

В одном из своих проектов эта задача решалась не через бесконечный каталог моделей, а через более жесткий инженерный контур. Backend получает сырой список моделей от провайдера, очищает его, отбирает только подходящие free-варианты, оставляет по одной модели на бренд, отдает этот набор на фронт, а во время реального запроса умеет сделать fallback на модель другого бренда. При этом в ответе возвращается не только текст, но и actual_model, чтобы интерфейс знал, кто реально сгенерировал результат.

Читать далее

Что такое Реактивное Программирование

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

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

Отреагировать на статью

Переопределение классов ядра Joomla с помощью плагина на примере MVCFactory

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

Разработчики сайтов, веб-мастера, рассматривая Joomla как CMS, чаще всего используют компоненты ядра такими, какие они есть. Но компоненты ядра, обеспечивающие CRUD-ы в Joomla, следует рассматривать ещё и как примеры использования Joomla в качестве фреймворка. Иногда реалии проекта таковы, что требуется внести изменения именно в логику классов ядра Joomla. Я покажу это на нескольких примерах: как исхитрялись раньше и какие возможности появились в современных версиях Joomla.

Сразу оговорюсь: речь не о том, чтобы править файлы ядра. Это плохая идея почти всегда. При обновлении Joomla такие изменения будут потеряны, а сопровождать их потом придётся вручную. Речь о другом: как изменить точку создания MVC-классов компонента через плагин и DI-контейнер, не залезая в core-файлы.

Ну и приятный бонус - Joomla-археология и немного красивого и ужасного треша из практики 😎

Читать далее

Логин через Telegram по-новому: разбираем OIDC-флоу oauth.telegram.org и собираем его на Python

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

Telegram теперь полноценный OpenID-провайдер: oauth.telegram.org, JWKS, JWT, claims. Туториалы на GitHub при этом массово показывают старый виджет с HMAC от bot-token и /setdomain в BotFather. Я разобрался с новым флоу и собрал PoC на Python — рассказываю, как устроен обмен между фронтом, Telegram и бэком, чем Login library через telegram-login.js отличается от manual OIDC code flow с PKCE, что настраивать в BotFather (спойлер: не в чате, а в его mini-app), как протестировать локально через ngrok, и какая проверка id_token нужна вместо ручного HMAC.

Читать далее

Я сделал приложение за вечер без навыков программирования. Фиг там. Как я почти год делал игру с опытом и ИИ

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

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

Читать далее

Спам на WordPress: от Cloudflare до собственного плагина геоблокировки

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

Cloudflare заблокировали, DDoS-Guard стоит как крыло от самолёта, а .htaccess с тысячами IP начинает тормозить сайт. Рассказываю, как сделал собственный WordPress-плагин для геоблокировки спама – с белым и чёрным списком IP, фильтрацией по User-Agent, защитой комментариев и кэшированием через Redis. Без капчи, без абонентской платы в 10к в месяц и без лишних функций ради оправдания цены.

Читать далее

30 дней: блочный конструктор README — один DOM, два хозяина

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

Мы живём в эпоху когда можно написать в чат «сделай мне CRUD» и получить рабочий код через десять секунд что в принципе удобно. И это, если честно, главная причина почему я периодически намеренно лезу в что-то сложное руками — чтобы не разучиться думать о том что происходит внутри.

ИИ я использую. Но в этом проекте он был исключительно быстрой документацией — особенно когда добрался до selection/range API, про которые до этого знал чуть меньше чем ничего. Реализация все равно была за мной.

Так вот — ReadGen. Блочный конструктор README-файлов. Месяц, 2-3 часа в день, React и TypeScript и небольшая пачка дополнительных библиотек для разумного облегчения жизни. Важно понимать что это не коммерческий продукт и не претендует на решение чьей-то боли. Просто техническая задача которую я давно хотел разобрать.

Читать далее

Прототипирование сайта на Тильде: какие ограничения нужно учесть до дизайна и сборки

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

Прототип сайта на Тильде нельзя рассматривать только как черновик будущего дизайна.

Тильду часто воспринимают как инструмент, где можно быстро собрать сайт из готовых блоков. Это правда, когда структура заранее ложится на логику платформы. Но если сначала нарисовать свободный макет, а потом пытаться перенести его в конструктор без учета стандартных блоков, Зеро-блока, адаптива, форм, SEO-структуры и будущего редактирования, скорость быстро исчезает.

Читать далее

Топ офлайн‑приложений для работы без интернета: от задач до карт

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

Облачные сервисы хороши, пока у вас есть стабильный интернет. Но стоит уйти в авиарежим, сесть в поезд с «едва живым» хотькаким-G или оказаться в метро без сети — и привычный таск‑менеджер, календарь, карты и почта внезапно перестают быть рабочим инструментом, превращаясь в пассивный просмотр старых данных.

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

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

Читать далее

Редизайн интернет-магазина премиальной косметики: как мы увеличили конверсию на 127%

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

Всем привет! Меня зовут Саша, и последние 12 лет моя жизнь — это дизайн.

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

В статье рассказываю, какие решения были приняты и как они повлияли на бизнес-метрики.

Читать далее

Маркетинговый сайт без дизайнера: 5 практик с Open Design и Claude Code

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

Я попробовал собрать маркетинговый сайт через Claude Design - и быстро упёрся в лимиты токенов и непрозрачность облачного тула. Перешёл на Open Design - open-source альтернативу, которая цепляет твой Claude Code, держит дизайн-систему как DESIGN.md в репозитории и работает локально. Под катом - четыре практики, которые сработали на сайте конференции: design-as-code в git, симлинк дизайнера в код сайта, два markdown-файла под бренд и дизайн токены, и как мы учили автономных агентов делать сайт с помощью нашей дизайн системы

Читать далее

Как я собрал интерактивную карту 13 000 исторических событий и научил её определять архетип любого города

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

HistoryPrint берёт любой город и говорит, какая часть человеческой истории случилась в его радиусе. ~13 000 событий за 5 000 лет, 12 категорий (войны, революции, пандемии, открытия), скоринг по экспоненциальному убыванию расстояния, и в финале — один из 20 архетипов: «Born in Fire», «Plague Walker», «Heir of Enlightenment».

Почитать дальше

Коды состояния HTTP: всё, что нужно знать бэкенд-разработчику

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

Всем привет! Я решил сделать для вас шпаргалку с основными статус-кодами протокола HTTP/HTTPS. Для более подробного погружения в тему рекомендую прочитать RFC 9110, который регламентирует статус коды и весь протокол.

Читать далее

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

Я пошутил, что разработчики больше не нужны — и мне поверили. Давайте теперь серьезно

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

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

Читать далее

SEO: Как интернет чистили от спама

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

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

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

Читать далее

Frontend Status: свежий дайджест фронтенда и AI — 06.05.2026

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

Привет!

Это 15-й выпуск Frontend Status — дайджеста по фронтенд-разработке.

В этом выпуске:

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

⚛️ React Server Components и кеширование страниц: разбираем partial page caching, чтобы ускорять загрузку и снижать стоимость рендеринга без потери актуальности контента.

🤖 AI из «вау-демо» переходит в дисциплину: разбираем рабочие промпт-пайплайны и практики Claude Code, которые дают предсказуемый результат, а не случайный успех.

🛡️ Безопасность больше не факультатив: кейс критической уязвимости в GitHub и массовый багхант в Firefox напоминают, как быстро один пропуск превращается в инцидент.

🎨 CSS и анимации взрослеют: от scroll-driven подходов до нативной случайности и новых API, которые делают интерфейсы богаче без тяжёлого JS.

⚡ JavaScript и React на новом витке: ES2025/ES2026, типизированные контракты, React Compiler, TanStack Form и useHotkeys как база для масштабируемой фронтенд-разработки.

🌐 Стандарты и платформа двигаются вперёд: Baseline, Long Animation Frames, CBOR-LD и апдейты WebGPU меняют практику производительности и межплатформенной разработки.

…и многое другое.

Читать далее

Аутентификация и авторизация в Python: сессии и JWT токены в Backend-разработке

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

В современном мире разработки программного обеспечения аутентификация и авторизация являются ключевыми концепциями, необходимыми для обеспечения безопасности и контроля доступа пользователей. В статье рассмотрим основы регистрации, аутентификации и авторизации, а также два популярных механизма аутентификации — сессионный механизм и JWT токены. Разберем их принципы работы, отличия, плюсы и минусы, а также практические аспекты реализации на Python с использованием FastAPI и SQLAlchemy. 

Материал будет полезен как начинающим, так и опытным разработчикам, стремящимся углубить свои знания в backend-разработке и безопасности приложений.

Читать далее

Давайте уже сделаем отдельный хаб: «Я собрал приложение за вечер — зачем теперь разработчики?»

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

Нет, я серьёзно — в последние месяцы на Хабре появилась особая категория статей, которая начинает бесить.

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

Серьёзно, таким постам нужен отдельный хаб. Потому что читать это в общей ленте разработки — примерно как слушать, как кто‑то решил пример на калькуляторе и теперь рассуждает о судьбе математики.

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

Читать далее

Flappy Bird: код веб-клона под микроскопом

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

В январе 2014 года мир сошёл с ума из-за игры, где нужно просто тыкать в экран. Flappy Bird приносила создателю $50 000 в день, пока он не удалил её из-за давления и бессонницы. Игру начали продавать на чёрном рынке вместе со смартфонами.

Я решил собрать свой веб-клон, чтобы понять, в чём же здесь магия. А в конце — откровенный список из 12 проблем, из-за которых мой клон всё ещё не тянет на оригинал.

Читать далее

NocoDB — бесплатная альтернатива Airtable с подключением к своей базе данных

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

Для работы с базами данных через наглядный UI-интерфейс есть много профессиональных инструментов. Но что если наоборот — нужен максимально простой способ? Чтобы просто посмотреть данные с фильтрацией по определенным параметрам, а затем отредактировать некоторые записи.

Вроде старого-доброго phpMyAdmin, но ещё проще, удобней и современней. Что-нибудь с дизайном, как в Airtable, но только с подключением к собственной базе данных PostgreSQL.

Хорошая новость — такой инструмент есть, и он называется NocoDB. И его можно без проблем поставить на собственный сервер, чтобы использовать без ограничений.

В этой статье разберём, как NocoDB может пригодится программисту в разработке, а непрограммисту — в организации личного или рабочего информационного пространства. Также посмотрим, как установить Ноко на своём сервере и начать с ним работать.

Читать далее