Обновить
256K+

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

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

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

Параметризованные отчёты в CSV без таймаута

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

Эта идея появилась у меня давно.

Когда мы внедряли BI в крупном банке, я заметил одну вещь: больше всего внедрению радовались руководители. У них появлялись дашборды, графики, показатели, визуальная картина происходящего.

А вот люди, которые каждый день работали с данными, не всегда были в таком же восторге.

BI хорошо показывает, что что-то изменилось: появилась аномалия, просел показатель, выросло значение, изменилась динамика. Но после этого почти всегда возникает следующий вопрос: почему так произошло?

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

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

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

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

Так появилась первая версия программы: она формировала отчёты в Excel и хранила на сервере историю выгрузок.

Читать далее

Аутентификация в MCP в 2026: как было, как есть и как будет

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

Пару лет назад мы масштабно столкнулись с совершенно новой технологией, которая пришла вместе с развитием агентов и LLM — MCP. Она заточена на то, чтобы дать модели интерфейс для общения с какой‑либо системой, программой или сервером.

Изначально MCP были локальными и скромными: «запусти калькулятор», «проверь календарь», «удали лишние фоточки из галереи». Но очень быстро они доросли до remote‑серверов: вставляешь в Claude адрес своего MCP, и он сразу понимает, что сервер умеет, куда подключаться и как с ним общаться. Большое спасибо за это протоколу, который в ноябре 2024 придумали в Anthropic. И как только MCP стал remote, аутентификация перестала быть опциональной. Именно про это сегодня и пойдет речь.

Читать далее

Как я навайбкодил каталог бесплатных парковок Петербурга и России

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

Привет, сообщество! Уже долгое время я отмечал на для себя на карте бесплатные парковочные места в центре города; Этот список быстро начал "ходить по рукам" среди друзей и знакомых. Мне пришла в голову идея, а что если развить "списочек для друзей" в какой-то более общественно полезный проект? И с какими техническими челленджами придется столкнуться при попытке навайбкодить мало-мальски production-ready приложение?

Что было дальше?

Если я в чем‑то и опытнее всех, так это в активном поиске работы

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

В свое время я выбрал не самую востребованную специальность.

И когда я слышал, что другим пишут надоедливые рекрутеры, я удивлялся и не верил.

Сейчас, спустя годы, и ко мне рекрутеры иногда сами выходят на связь (ничего себе). Но тогда, в начале, работу я не выбирал, а выцарапывал. В то время я довольно быстро закрыл глаза на качество откликов и включил количество.

Не знаю, повод ли это для гордости. Но опыт в узкой нише мне это точно дало и научило меня тому, о чем я хочу рассказать.

Читать далее

От WordPress-сайта до $220 000 в месяц: как два друга сделали сервис для музыкантов и заработали $1,8 млн

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

Когда говорят про SaaS, чаще всего представляют продукты для бизнеса: системы учета, аналитики или автоматизации бизнеса.

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

Сегодняшняя история как раз про такой проект.

Михаил и его партнер Дмитрий запустили сервис музыкальной дистрибуции для независимых артистов. За несколько лет они прошли путь от WordPress-сайта, собранного практически без понимания того, как строятся SaaS-продукты, до компании с двумя инвестиционными раундами, командой из 30 человек и выручкой около $220 000 в месяц.

Мы поговорили про запуск, ошибки, инвестиции, маркетинг и то, как удалось добиться такого роста. 

Читать далее

Общая информация о принципе действия Joomla 6. Жизненный цикл Приложений Joomla

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

Как работает ядро Joomla 6 на уровне Приложения (Application)? Сколько видов Приложений на самом деле есть в Joomla и в чём между ними разница? Какой жизненный цикл каждого Приложения Joomla, включая роутинг, диспетчеризацию и события плагинов? На эти и другие вопросы попытается дать ответ эта статья, опирающаяся на кодовую базу Joomla 6.1.0. Также в статье хронология вызова триггеров плагинов в разных сценариях.

👉 Бонус для любопытных читателей: а вы знали, что Joomla можно использовать в качестве daemon-процесса?

Читать многотекст

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

ИИ для английского: как мы выпустили ии для изучения английского языка

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

El pueblo unido jamás será vencido!

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Карта: gdezapravka.ru

Читать далее

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

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

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

Читать далее