Обновить
512K+

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

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

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

База по системному дизайну для начинающих разработчиков ПО на примере. Часть 1. Анализ задачи, декомпозиция, модули

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

Эта статья прежде всего будет полезна студентам и начинающим специалистам.

В отрасли разработки программного обеспечения под системным дизайном (System Design) понимают процесс проектирования архитектуры, компонентов, баз данных и связей информационной системы. Цель системного дизайна - обеспечить масштабируемость, отказоустойчивость и высокую производительность системы, в том числе при росте нагрузки. В этой статье я затрону базовые задачи системного дизайна - как спроектировать и разработать систему так, чтобы она обладала архитектурой, чтобы развитие и поддержка системы не приносила много страданий, чтобы доработки не ломали действующий функционал.

Читать далее

Новости

Как я хакнул рынок труда: пишем свой ИИ-комбайн для автооткликов на HH.ru

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

Всем привет! Если вы хоть раз искали работу в IT за последний год, то знаете, что рынок беспощаден к новичкам. Нужно откликнуться на сотни вакансий, а в итоге получаешь отказы от роботов. Чтобы пробиться через фильтры HR, нужно под каждую вакансию писать уникальное сопроводительное письмо.

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

Я хотел, чтобы скрипт был бесплатным, автономным и не требовал танцев с бубном вокруг платных API.

Читать далее

HTTP получил метод QUERY: зачем понадобился безопасный запрос с телом

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

В июне 2026 года опубликован RFC 10008 — «The HTTP QUERY Method». Он добавил в HTTP новый стандартизованный метод QUERY, который также появился в реестре HTTP‑методов IANA: запрос с телом к конкретному адресу, который по смыслу остаётся чтением и не должен менять данные на сервере.

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

Обычный GET для таких запросов часто неудобен: параметры быстро превращаются в длинный URI или в собственный мини‑язык фильтрации внутри строки запроса. POST удобнее для передачи структуры, но передаёт не тот сигнал промежуточной инфраструктуре.

Приглашаю посмотреть, что там в RFC напридумывали, и чем нам это грозит — и чем поможет!

Что же это за зверь, QUERY?

Настройка AI-агентов для ускорения бизнес процессов компании

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

Практический dev-story о том, почему AI-агент для реальной работы - это не чат с моделью, а система из задач, браузеров, проверок, журналов, ограничений и внешних интеграций. На примере публикационного пайплайна: сайты, CMS, соцсети, cron, browser sessions, anti-false-success, CRM, нейросеть, видео контент и SEO-грабли. От настройки до практического применения.

Читать далее

Народная карта наличия бензина: честно про цифры, архитектуру и как PostGIS прод положил

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

Коллеги всем привет, меня зовут Дмитрий Тыльный, я автор проекта gde‑benzin.ru
Народная карта наличия бензина на АЗС, где водители в реальном времени отмечают, на каких заправках сейчас есть топливо, где очередь, где скоро будет, а где уже все...

Сразу скажу про спорный момент. На волне топливного дефицита появилось сразу несколько похожих карт, и в комментариях других статей уже считают, «кто у кого скопипастил».

Мы с «гдебенз» запустились примерно в одно время, если я не путаю, зарегистрировал даже на день раньше домен, но к разработке приступил позже, по личным причинам).

Читать далее

Подвожу итоги: 3 млн рублей на моей детективной игре в Telegram

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

Разбираю, как программист запустил детективную игру, где расследование проходит прямо в Telegram. За полгода он продал 1000+ копий и вывел проект на 3 млн рублей оборота, несмотря на жесткую конкуренцию с настольными играми, квизами и другими детективными развлечениями.

Читать далее

Виртуализация адаптивной Grid разметки

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

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

С примерами работы на TypeScript, React, Vue и Angular можно ознакомиться на домашней странице проекта Layout Virtual.

Репозиторий с проектом тут.

Читать далее

Авторизация по протоколу OAuth 2.0 в интеграциях

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

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

Статья будет полезна системным аналитикам и backend-разработчикам, которые проектируют интеграции с внешними API, используют OAuth 2.0 и хотят разобраться в практических сценариях — включая фоновые операции.

Читать далее

Как я заработала $1200+ за 2,5 месяца, выпустив AI-бота для практики английского

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

Разбираю, как девушка без опыта в программировании запустила AI-бота для практики разговорного английского. И за 2,5 месяца заработала $1200, несмотря на высокую конкуренцию. 

Читать далее

DTO, schema, model, entity: почему в коде всё называется User

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

Один User сначала кажется удобным: его можно принять в запросе, вернуть из API, сохранить в базу и передать дальше.
Но со временем такой класс смешивает разные границы и перестаёт защищать код.

Разбираю на Python-примерах, чем отличаются DTO, schema, model и entity — и когда отдельные классы действительно нужны.

Читать далее

Как вайбкодинг довел меня до депрессии, а потом привел к вайб‑инжинирингу

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

Начнём с того, что по-настоящему «вайблю» я где-то с ноября 25 года. До этого моё общение с LLM строилось на копипасте в ChatGPT, DeepSeek, Gemini и обратно. Рука наловчилась, и я в целом не замечала, сколько времени это всё-таки сжирает. Казалось бы, лишнее действие.

Не сказать что я злоупотребляла общением, но когда ты начинаешь кодить, ты очень уверен в себе и думаешь, что всё делаешь правильно. А как только погружаешься в процесс, начинается это… синдром самозванца, выгорание и тревога. Не сочтите меня пессимистом, но всё так и было))

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

А потом случилась революция. И моя компания решила не тормозить.

El pueblo unido jamás será vencido!

Point0 — фулстек TypeScript-фреймворк на Bun и React, о котором я мечтал

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

Хочу анонсировать свой фреймворк Point0. Это первый Bun FullStack фреймворк сопоставимый по функционалу с Next.js и TanStack Start. Однако, имеет кардинально другой DX, ради которого и был создан.

Мне всегда не нравились существующие фреймворки, особенно Next.js и Remix (React Router). Но я думал, что, видимо, по-другому фреймворки просто не получаются, поэтому и не делают. А громоздкость, чужие строгие соглашения, неповоротливость архитектуры, это просто необходимое зло, с которым я должен смириться.

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

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

Читать далее

Кастомизация Битрикс24 на платформе Вайбкод: создаём паспорт клиента

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

Тестируем платформу Битрикс24 Вайбкод для создания полезных приложений в своём бизнес-портале с помощью ИИ-агентов.

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

Читать далее

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

ГдеЗаправка: умный подбор + как нас за сутки посетило полмиллиона

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

Год назад, в разгар топливного дефицита, я объехал три заправки подряд — и на всех был «сухой» АИ-95. Так появилась ГдеЗаправка — карта не расположения заправок, а их наличия: где прямо сейчас, по отметкам водителей, есть топливо. Недавно вышло большое обновление — и через сутки про него узнало столько народу, что наши серверы не выдержали. Рассказываю, что мы выкатили.

Карта: gdezapravka.ru

Читать далее

Flappy Bird: делаем игру сложнее и добавляем автопилот на чистой математике

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

Начнём с предыстории. Когда я опубликовал первую статью про клон Flappy Bird, я хотел получить результат, который был бы мне приятен, но вместо этого получил всего понемногу. Можно сказать, сработал эффект Зейгарник, когда незавершённая задача создаёт когнитивное напряжение, которое буквально «заставляет» нас возвращаться к мыслям о ней. Вроде поучил физику, посмотрел, как лучше работать с рендерингом, узнал, почему птица стала такой популярной игрой, но один комментарий заставил задуматься, что на этом нельзя останавливаться и стоит сделать ещё что-то, пока эффект не пропал.

Читать далее

Микрофронтенды. Стабильная интеграция нескольких SPA-приложений. Часть 2

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

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

Делимся веб-компонентами

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

Читать далее

Pivot grid без сторонних библиотек: кэш, производительность и связанные гриды

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

Расскажу, как и почему я в какой-то момент решил написать собственный pivot grid — без сторонних библиотек, на чистом JavaScript и DOM. И что из этого получилось: от первой версии с обычным GROUP BY до кэширования больших выборок и цепочки связанных гридов.

Читать далее

Микрофронтенды. Стабильная интеграция нескольких SPA-приложений. Часть 1

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

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

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

Читать далее

Оптимизация без AI: как я автоматизировал API-ручки и типы

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

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

С этим надо было что-то делать.

Читать далее

Baseline: май 2026

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

Уже почти июнь подходит к концу, а я так и не выпустил эту статью. Исправляюсь.

Обзор на браузерные API, которые стали Widely available в мае 2026. Раз в месяц я буду вам напоминать, что вы уже можете использовать в проде.

Каждый месяц выходят новые CSS-свойства, HTML-атрибуты, JavaScript-методы и WebAPI, но применять в проде мы их конечно же не будем. 2.5 года назад также каждый месяц выходили новые фичи в браузере, а вот их уже пора начинать применять.

Узнать, что можно применять в проде
1
23 ...