Обновить
512K+

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

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

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

Умный планировщик питания на холодильнике с drag-and-drop, автосохранением сессий и вкусным и полезным продуктовым меню

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

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

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

Читать далее

Новости

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

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

Недавно я вёл урок по прототипированию сервисов в Cursor. На рабочую часть ушло максимум 40 минут: 15–20 минут я рассказывал, 20–25 минут мы работали. Из этого времени сам Cursor чистыми отработал минут десять, остальное я говорил, копировал промпты и показывал на экране. На выходе получился репозиторий с прототипом редакционного конвейера для новостного сайта: оркестратор на 10 шагов, 10 ролей‑субагентов, 8 файлов правил, канон артефактов прогона. И тут же, при зале, мы прогнали цепочку целиком: от сырых источников до готового черновика новости и вердикта авто‑судьи. Прикладного кода: ноль строк. Каталога src/ в проекте нет вообще.

Сразу сниму ожидание магии. Мы не собирали работающий сервис: ни бэкенда, ни планировщика, ни деплоя. Прогон исполнили агенты Cursor по правилам, а не какая‑то запущенная система. Целью было показать практику: алгоритм будущей системы можно целиком проработать на уровне правил, до того как написана первая строка кода.

Читать далее

От стримов к вебсокетам: как я боролся с буферизацией и наконец победил

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

Привет. Меня зовут Николай Пискунов, я руководитель направления Big Data и эксперт курса Cloud DevSecOps по безопасной разработке от Академии вАЙТИ Beeline Cloud. Продолжаю цикл статей о клиенте для облачного сервиса Ollama. В первой части я рассказал о начале работы над клиентом и оставил пасхалку про сломанный стриминг. Во второй мы переехали с PostgreSQL на MongoDB, добавили анализ проектов с уважением к .gitignore и оптимизировали фронтенд.

Читать далее

Мне было лень учиться, и я навайбкодил себе платформу для обучения

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

Всё началось с прокрастинации. Готовился к собеседованиям: SQL, git, брокеры сообщений, Django, алгоритмы. Открывал статьи, читал полтора абзаца и через десять минут обнаруживал себя где угодно, только не за материалом. К третьему заходу стало ясно: в формате «читать и запоминать» это в меня не лезет.

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

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

Смотреть, что вышло

RUINSWORLD: Возвращение невозможной игры-предупреждения

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

Все эти годы пафосные программисты говорили мне что это совершенно точно невозможно осуществить на только ноде, в браузере и на ts. А я сделяль.

Невозможная игра‑предостережение некоторое время назад была все‑таки дописана в первой играбельной минимальной версии, и вот можно уже тыкать и умирать https://ruinsworld.online/. Не забывайте пить воду, есть, охотиться. От ранений, отравлений и жажды начинает сильно качать. У вас есть союзники — это предки Роботов‑Собутыльников... На самом деле это все рюшечки, а технически решение интересно тем, что это реально эффективно работающая реализация шовного открытого мира и шутера в нем, в бро, только исключительно на ноде и ts. Писал пять лет ручками, такое уже не модно нынче. Мир сейчас развернут на всего 9 локаций (и это число тоже может быть 25 вполне), но одной переменной его можно развернуть в четыре или девять, двадцать пять копий‑процессов по столько локаций — зависит только от мощностей. Вот у меня одно ядро и поэтому только один процесс, один кластер‑биом мира. Больше копий сервера — образуют замкнутую на себя сетку практически никак не связанных «частей мира», между которыми клиенты несущие много своего состояния могут свободно перемещаться. Нагрузка практически не прирастает, только незначительно при подключении новых игроков. Ну вот это и есть, что мы, по сути, построили стабильную модель открытого мира любой величины.

Читать далее

Один комментарий на Хабре — и ещё один пакет для Django Admin

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

Недавно я опубликовал на Хабре статью о небольшом пакете django-scroll-to-top, который добавляет кнопку «Наверх» в проекты на Django. Сам пакет решает довольно локальную задачу, но обсуждение под статьёй оказалось интереснее, чем я ожидал.

В комментариях возник вполне закономерный вопрос: насколько вообще подобным интерфейсным дополнениям место в стандартной Django Admin? Ведь каждое установленное приложение добавляет свои пункты в боковое меню, и со временем административная панель действительно может начать выглядеть перегруженной.

Один из комментариев заставил меня посмотреть на эту проблему немного под другим углом. В результате вместо долгого спора появился ещё один небольшой open-source-пакет — теперь уже для сворачивания групп приложений в боковой панели Django Admin.

Читать далее

Миграция с Flutter Web на Jaspr: наш опыт

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

Уже несколько лет мы занимаемся развитием клиентского приложения на Flutter: начинали с мобильных платформ, когда веб и десктоп вышли в бету – портировали его и на эти платформы. Последние два года PWA крутится в проде и в некоторых регионах является самой популярной платформой для нашего приложения.

Недавно мы попробовали мигрировать наше приложение с Flutter Web на Jaspr – под катом расскажем о том, почему мы это сделали, с какими трудностями столкнулись и какие выводы сделали.

Да кто такой этот Jaspr?!

GPT-5.6: передовой интеллект, который растёт вместе с вашими амбициями

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

Мы запускаем семейство моделей GPT-5.6 в общий доступ после ограниченного предварительного тестирования: наш новый флагман Sol, сбалансированную модель для повседневной работы Terra и Luna — нашу самую экономичную модель.

GPT-5.6 Sol задаёт новый стандарт одновременно в интеллекте и эффективности: модель показывает лучшие в своём классе результаты в программировании, работе со знаниями, кибербезопасности и науке, превосходя предыдущие и конкурирующие передовые модели при меньшем числе токенов и более низкой расчётной стоимости. В итоге пользователи получают более высокую отдачу на каждый потраченный доллар: больше успешно выполненной работы за тот же бюджет или сопоставимые результаты при меньших общих затратах. Мы также представляем новый способ ускорить самые сложные задачи: ultra — наш режим максимальных возможностей, который координирует несколько агентов в параллельных рабочих потоках, чтобы быстрее завершать комплексные проекты. Более уверенное использование компьютера и более точное дизайнерское чутьё делают GPT-5.6 Sol нашим самым отточенным партнёром на сегодняшний день: модель помогает проверять, дорабатывать и выдавать готовые к использованию результаты.

Читать далее

Можно ли продвигать коммерческий сайт на Tilda в 2026 году

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

Сайт на Тильде может получать поисковый трафик.

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

Поэтому вопрос лучше ставить практичнее: в каких случаях Тильда выдерживает SEO-задачу, а в каких начинает мешать работе.

Читать далее

Как мы съездили в Японию и запустили Пополаму — сервис, который знает кто кому должен

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

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

Более года назад мы готовились к поездке в Японию 🇯🇵. Нас было 6 человек и встал логичный вопрос: в чем будем вести учет общих расходов? Казалось бы, в 2024–2025 годах это давно решенная проблема, но на практике всё оказалось максимально неудобно, а делить на всех было бы не очень честно — кто‑то платил за отель, кто то за такси, другой постоянно закрывал счет в барах, хотя брал там только салат и так далее

Поездка в Японию и давняя идея сделать продукт для деления расходов сподвигли нас запустить Popolama — сервис про людей и деньги.

Читать далее

Чат для сложных продаж: YandexGPT и звонки через МТС Exolve Web Voice SDK

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

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

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

В такой момент пользователю важно дать простой способ перейти от переписки к разговору, не заставляя его искать номер телефона, оставлять заявку и ждать обратного звонка.

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

Стек: FastAPI, Pydantic, requests, YandexGPT, Vite и Web SDK МТС Exolve.

Читать далее

Вышел TypeScript 7.0

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

Сегодня мы с гордостью объявляем о выходе TypeScript 7 — нативной версии TypeScript, которая работает в 10 раз быстрее!

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

Читать далее

JSX для Go: как маленькая разметка потянула за собой рантайм, компилятор и кучу компромиссов

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

Я не начинал с идеи написать «убийцу JavaScript». Честно говоря, такие заявления обычно только мешают думать.

Сначала была гораздо более скромная мысль: мне нравится Go, мне нравится его простота, типизация и ощущение предсказуемого инструмента. Но когда дело доходит до интерактивного веб‑интерфейса, почти неизбежно оказываешься в другой вселенной: JavaScript, Node.js, сборщики, плагины, отдельная модель компонентов, отдельная экосистема.

Это нормально. Веб таким стал не случайно. Но мне было интересно проверить другую гипотезу: можно ли писать заметную часть браузерного приложения на Go, не превращая интерфейс в кашу из ручной сборки дерева узлов?

Так появился мой небольшой экспериментальный проект GoFrame. Сейчас это не готовый фреймворк для продакшена, а исследование в сторону Go‑first подхода для браузера через WebAssembly: маленький рантайм, JSX‑подобная разметка .gox, компиляция этой разметки в обычный Go‑код и утилита goxc, которая способна сгенерировать, собрать и упаковать приложение. В README проекта это прямо описано как экспериментальный Go‑first фреймворк и набор инструментов для интерактивных браузерных приложений на WebAssembly; там же честно указано, что проект не заявляет готовность к продакшену, стабильный API 1.0, SSR, гидратацию, серверные API, форматтер или LSP.

В этой статье я не хочу пересказывать ридми. Интереснее другое: как маленькая идея «а что если сделать JSX для Go?» довольно быстро потянула за собой компилятор, компонентную идентичность, состояния, эффекты, маршрутизацию, проверки в браузере и даже бюджет размера WebAssembly‑бандла.

К рантайму и компромиссам

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

Frontend CTF, или Как связаны Мона Лиза и искусственный интеллект

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

Привет, Хабр! Меня зовут Никита, и я один из тех, кто каждый год делает Frontend CTF в рамках конференции «Я 💛 Фронтенд». Сегодня хочу с вами поделиться, как и зачем мы ежегодно делаем соревнование для тех, кто любит пробираться сквозь загадки, секреты и спрятанные подсказки в браузерной игре.

Читать далее

DS MCP: как дать AI-агенту знание о вашей дизайн-системе

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

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

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

Внутри: Figma MCP, свой DS MCP, React, Jetpack Compose и SwiftUI, поиск по компонентам, ChromaDB, RAG, embeddings, препроцессор для описания дизайн-системы, грабли с чтением файлов, шумом в контексте, устаревающим SKILL.md и честное сравнение подходов по tool calls, токенам и результату.

Заходите, читайте и рассказывайте, как вы решаете эту проблему у себя ❤️

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

Canvas или SVG для карты офиса: как мы выбрали и справились с неочевидными граблями

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

Если к вам придут с задачей внедрения интерактивной карты офиса, какой рендер вы выберете? Canvas или SVG? Верхнеуровневый обзор скажет, что Canvas хорош для частых перерисовок (географические карты, игры), а SVG — когда важна работа с отдельными элементами, которые естественным образом присутствуют в DOM.

Мы выбрали SVG.

В этой статье не будет глубокого анализа, это живая история о том, почему мы отказались от идеи использовать Canvas, как строили карту с нуля, какие инструменты использовали, как организовали связь между SVG-элементами и данными в БД, и как сделали админку, где карту могут менять дизайнеры без участия разработчиков.

Читать далее

Многоэтапные сборки в Docker: как уменьшить образ с 1,2 ГБ до 50 МБ

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

Знакомая картина: вы написали микросервис, набросали Dockerfile из четырёх команд — и получили образ на 1,2 ГБ. В единичном случае не страшно, но этот гигабайт гоняется по сети десятки раз в день: при каждом коммите в CI, на preview-окружениях, при деплое в кластеры. В итоге — минуты ожидания пайплайнов, счета за трафик и хранение, плюс лишние системные пакеты с десятками CVE. Показываем на Node.js и Go, как ужать образ с 1,2 ГБ до 50 МБ через multi-stage — без единой строчки правок в коде.

Раскатать без боли →

Попросили Claude создать WCAG-доступный DatePicker на React и потратили 3 дня на доработки

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

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

Нам понадобился настраиваемый DatePicker на React для процесса записи на прием к врачу, где пользователи, работающие с keyboard navigation, и люди, использующие screen reader’ы, должны были выбрать дату без лишних затруднений.

Claude сделал нам хорошую первую версию: структуру компонента, ARIA-атрибуты, базовую keyboard navigation и логику календаря. На первый взгляд результат выглядел почти готовым.

Затем мы запустили NVDA, VoiceOver и протестировали сценарий keyboard navigation.

Фокус выходил за пределы диалогового окна; некоторые даты озвучивались неверно; переключение между месяцами сопровождалось слишком тихим звуком; нажатие клавиши «Esc» закрывало календарь, но оставляло пользователя без контекста; режим высокой контрастности Windows нарушал отображение выбранного состояния.

Код выглядел нормально, но UX оставлял желать лучшего.

В этой статье мы рассмотрим реальную работу, стоящую за WCAG-доступным DatePicker'ом: где AI сэкономил нам время; где он не справился; как нам помог WAI-ARIA APG; какие детали нам пришлось исправлять вручную и почему доступность нельзя проверить, просто прочитав сгенерированный код.

Приготовьтесь к инсайтам, багам и победам!

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