Обновить
354.33

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

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

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

Лучший ui/ux 2026? Пришло ли время нового интерфейса?

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

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

Читать далее

Новости

«Два стула» для данных: как мы боремся с рассинхроном в Rust-сервисе между Solana и PostgreSQL

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров657

Представьте: вы строите систему верификации дипломов. Требования простые — данные должны быть неизменяемыми (привет, блокчейн) и при этом быстро доступными для запросов (привет, PostgreSQL). Казалось бы, идеальное решение — писать в оба хранилища. Но дьявол, как всегда, кроется в деталях.

Наш проект использует паттерн двойной записи (Dual-Write):

Solana — гарантирует неизменность и прозрачность данных о выданных дипломах

PostgreSQL (Supabase) — обеспечивает быстрые выборки и сложные запросы

Звучит красиво на архитектурных диаграммах, но в production всё не так радужно. Главная проблема — частичные сбои. Транзакция в Solana прошла успешно, диплом записан в блокчейн навечно, а вот запись в PostgreSQL упала. Пользователь получил подтверждение, но половина системы о его дипломе не знает.

Сегодня я покажу, как мы столкнулись с этой проблемой лицом к лицу и какие паттерны применили для её решения.

Чтобы стулья не разъехались

Физики или лирики: чей час настал на рынке труда?

Время на прочтение6 мин
Количество просмотров2.5K

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

Читать далее

Пошаговая настройка вывода логов из .NET-автотестов в ELK (Filebeat → Logstash → Elasticsearch → Kibana)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров501

Всем привет, с вами Юрий Ковальчук, backend разработчик в ВебРайз. В этой статье разберем процесс вывода логов из приложения c автотестами на .NET в ELK с последующей визуализаций в Kibana.

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

Читать далее

Убрать рутину из регресса или как автоматизировать, не зная кода

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров704

Всем привет! Меня зовут Антон Лосев, и я QA Lead в компании AXENIX.

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

Читать далее

Vue SFC — идеальный формат для AI-разработки и вот почему

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

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

Поэтому некоторые разработчики уже перешли на Spec-Driven Development — подход, в котором требования четко описаны отдельно и всегда под рукой. Звучит логично? Но попробуйте внедрить его на реальном проекте... и вы быстро поймете, почему большинство разработчиков его не используют. Одна из основных причин — спецификации хранятся отдельно от кода, и ИИ их регулярно теряет. А еще они быстро устаревают, когда вы вносите изменения. 

Но что, если спецификацию встроить прямо в код? Именно это и предложил японский разработчик в своей оригинальной статье. Он обнаружил, что Vue SFC позволяет использовать пользовательские блоки — и создал <spec> блок для коллокации спецификации с кодом, который поможет решить устоявшиеся проблемы.

Добро пожаловать под кат: разберем, как коллокация спецификаций меняет правила игры в AI-driven разработке.

Читать далее

Обо всём и наболевшем

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

Собеседования в последнее время зачастую превращаются в фарс: вопросы от HR часто не отражают реальных навыков и опыта кандидата. Автор рассказывает о личном опыте, когда понимание технологий и умение работать с ними игнорировались, а формальные требования ставились выше здравого смысла. Также затрагивается абсурд взаимодействия с менеджерами и заказчиками на проектах, где иногда приходится отстаивать элементарное выполнение работы. Итог — IT-среда, наполненная бюрократией и людьми, далекими от технологий, превращает процесс трудоустройства и работы в испытание здравого смысла.

Читать далее

Почему мы все еще используем SASS в 2025 году

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

Привет, Хабр! На связи Герман Frontend-разработчик в Webest, и сегодня хочу поделиться тем, почему мы продолжаем использовать препроцессор SASS/SCSS в наших проектах, несмотря на растущую популярность Tailwind и CSS-in-JS решений.

К слову, мы не «олдскульные фанаты» SASS, и Tailwind тоже используем, но в зависимости от типа проекта. Комбинированный подход дает гибкость, особенно в масштабируемых фронтенд-системах.

Читать далее

Gately — мой симулятор логических схем: от «игрушки» к диплому

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

История создания логического симулятора на TypeScript: от «игрушки» на паре до архитектурного движка с DI, event-bus и системой плагинов.

Читать далее

Repository Pattern в управлении базами данных: пример интеграции NocoDB в Django

Время на прочтение8 мин
Количество просмотров2.2K

Классический сценарий: есть база данных и приложение на бэкенде. Для подключения достаточно знать адрес, порт, имя пользователя, пароль — и прямой доступ перед вами. Но что делать, если необходимо подключить no-code базу данных, которой можно управлять только через REST API? Есть ли способ интегрировать такие подключения в логику «красиво», не поломав архитектуру?

Привет, Хабр! Меня зовут Влад, в свободное время я занимаюсь разработкой. В этой статье расскажу, как мне удалось относительно нативно интегрировать работу с платформой NocoDB на бэкенде, какие можно использовать паттерны и зачем мне понадобилось разработать собственный Python-модуль. Подробности под катом!

Читать далее

Обратная связь без боли: как давать фидбэк, который не демотивирует

Время на прочтение9 мин
Количество просмотров744

С 2021 года сотрудники в разных исследованиях всё чаще говорят: «я хочу регулярный, полезный фидбэк». В разных выборках от 80% до 96% респондентов отмечают пользу обратной связи и её влияние на мотивацию. Но статистика показывает ужасную разницу между желанием и реальностью: по данным Gallup и Happy Job, более 75% сотрудников не получают достаточно обратной связи, и лишь около 16% считают её действительно полезной.

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

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

Читать далее

Full-stack разработка в 2025: Какой стек технологий выбрать?

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

Если вы хотите узнать, какие связки технологий наиболее популярны в 2025 и что стоит доучить, чтобы стать full-stack разработчиком, эта статья вам поможет! Я три раза анализировал вакансии на разных площадках, в начале, середине и конце года, чтобы данная информация была наиболее полезной и честной. Также, если давно думали сделать свой пет-проект, но не знали, на чем сделать вторую часть приложения, тут есть ответ и на этот вопрос.

Читать далее

Long Polling и Webhooks. Обработка событий в Telegram-ботах

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

Есть два способа, которые позволяют вашему боту получать обновления от серверов Telegram. Это long polling и вебхуки. Давайте разберемся, что это такое и когда какой вариант лучше использовать.

Сравнить подходы

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

Prompt Caching в Claude: Как мы снизили затраты на AI в 2 раза

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

Кейс по оптимизации затрат на Claude API в проекте по автоматизации поиска работы. AI анализировал вакансии и генерировал сопроводительные письма. При 100 пользователях затраты достигали $180/месяц. Решение: Prompt Caching от Anthropic. Экономия 52% ($0.51 → $0.245 за batch из 50 вакансий). Теперь можно делать в 2 раза больше AI-вызовов с тем же бюджетом.

Кому полезно: всем, кто работает с LLM API и хочет оптимизировать затраты.

Читать далее

Идеально размещённые тултипы: база

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

Тултипы — классика веб-разработки. Кликаешь по элементу — и рядом всплывает небольшой «бабл» с дополнительной информацией. Но за этим простым кликом почти всегда стоит JavaScript, который рассчитывает, где именно показать тултип.

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

В этой статье я покажу, как написать хороший JavaScript, который обработает все такие случаи…

Шучу! Мы обойдёмся CSS и посмотрим, как современный Anchor Positioning API может помочь со всем этим. Никакого тяжёлого JS и лишних проблем с производительностью.

Читать далее

Как я прокачал VK Teams: от кастомных реакций до AI-ассистента с записью звонков

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров872

Как я прокачал VK Teams: от кастомных реакций до AI-ассистента с записью звонков.
История о том, как простое желание поставить эмодзи-клоуна переросло в полноценное расширение с искусственным интеллектом

Читать далее

Как перестать писать спагетти-код: ключевые идеи ООП

Время на прочтение8 мин
Количество просмотров13K

На собеседованиях часто можно услышать вопрос: «Назовите принципы хорошего кода». Даже начинающие, но уже имеющие практический опыт программисты интуитивно понимают: хороший код — это читаемый, переиспользуемый, легко расширяемый и поддерживаемый. Но что обеспечивает эти качества? Ответ кроется в объектно-ориентированном программировании (ООП).

Читать далее

Как это сделано: процесс проектирования Figma-плагина Mirage для быстрой генерации тестовых данных в таблицах

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров326

Всем привет! Меня зовут Денис Ланин, я один из старших дизайнеров в Юзтехе. В этой статье я поделюсь опытом создания своего плагина Mirage для Figma, который помогает быстро генерировать тестовые данные в таблицах и облегчает рутинные задачи дизайнеров. Я расскажу о процессе проектирования, с какими сложностями столкнулся, как их решал и что получилось в итоге.

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

Читать далее

Как сделать сайт бесконечно ленивым. Часть 4: Преждевременная загрузка

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров950

Ранее мы говорили о том, как улучшить кэширование наших проектов и правильно загружать поставщиков. А в этой статье мы рассмотрим следующее:
- Как мы можем использовать стратегии предварительной загрузки, включая что такое "магические" комментарии Webpack, и что такое спекулятивная/ручная предварительная загрузка;
- Как мы можем запрашивать данные с сервера, не дожидаясь загрузки наших статических файлов;
- А также какие сторонние или наши собственные решения могут быть использованы для этого.

Читать далее

Как сделать сайт бесконечно ленивым. Часть 3: Вендоры и кэш

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров717

Ранее мы поговорили о том, как сделать дерево зависимостей нашего проекта максимально чистым и почему это важно для ленивой загрузки. А в этой статье мы расскажем о следующем:
- Как мы должны загружать вендор файлы с точки зрения правильной организации ленивой загрузки.
- Что общего между стратегиями оптимизации "ленивой загрузки" и "кэширования", и как использование одной из них влияет на другую.
- Что такое кэшируемость и как сделать наше приложение максимально кэшируемым.
- А также как правильно настраивать группы кэша в Webpack и не испортить кэшируемость.

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

Вклад авторов