Обновить
362.28

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

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

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

11 полезных фичей Chrome DevTools часть 2

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

Всем привет!

Пока из каждого утюга рассказывают о различных ИИ-инструментах, агентах и прочих радостях упрощающих жизнь, я хочу рассказать о 11 незаслуженно потерянных фичах в недрах Chrome Devtools. Про фишки ИИ в DevTools рассказывать не вижу смысла, так как в нашем регионе они пока не работают.

Кстати, первая часть тут - тык.

Погнали!

Погнали!

Новости

Тестирование Frontend

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

В данной статье рассматриваются основные виды тестирования, включая юнит-тестирование, интеграционное тестирование и энд-ту-энд (E2E) тестирование, а также выявлены их преимущества, недостатки и ключевые особенности. Также уделяется внимание современным инструментам для разных видов тестирования, например, Jest, Cypress и Testing Library, которые предоставляют разработчикам мощные возможности для написания и выполнения тестов. Исследованы следующие подходы к тестированию: Test-Driven Development, Page Object и Continuous Integration. Выделены ключевые метрики, по которым можно определить эффективность тестирования.

Читать далее

Как работают современные браузеры. Часть 2

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

Веб-разработчики нередко воспринимают браузер как «черный ящик», который каким-то чудом превращает HTML, CSS и JS в интерактивные веб-приложения. На самом деле современный браузер — будь то Chrome (на базе Chromium), Firefox (Gecko) или Safari (WebKit) — представляет собой чрезвычайно сложное программное решение. Он управляет сетевыми запросами, разбирает (парсит) и выполняет код, рендерит графику с ускорением на графическом процессоре (GPU) и изолирует контент в отдельных процессах для обеспечения безопасности.

В этой серии статей мы подробно рассмотрим, как устроены современные браузеры, сделав акцент на архитектуре и внутреннем устройстве Chromium, но также отметим ключевые отличия в других браузерах. Мы рассмотрим весь цикл: от сетевого стека и конвейера парсинга до рендеринга с помощью Blink, выполнения JS с помощью движка V8, загрузки модулей, многопроцессной архитектуры, песочниц безопасности и инструментов разработчика. Главная цель — дать понятное и доступное объяснение того, что происходит в браузере "под капотом".

Читать далее

Вебхук слева

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

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

~300 строк кода.

Читать далее

Логирование с Serilog: как повысить отказоустойчивость и скорость

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

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

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

Читать далее

Не просто WebView: Строим движок на Flutter для конвертации сайтов в приложения с Server-Driven UI

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

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

WebView-приложения — это боль. Тормоза, убогий UX, мгновенный реджект от Apple по пункту 4.2 («Minimum Functionality»). Обычно это просто браузер без адресной строки, за который стыдно брать деньги.

Я решил не делать очередную "обертку", а подойти к задаче инженерно. Моя цель: платформа, где WebView — лишь контентный слот, обернутый в полноценный нативный UI на Flutter.

В этой статье:

Читать далее

Как мы запустили кредитное приложение за 6 месяцев. Опыт

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

С нуля собрали кредитное PWA-приложение за 6 месяцев. Рассказываем, какие решения помогли быстро выйти на рынок и выдержать рост.

Читать далее

JavaScript Distributed Assets

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

Идея вот в чем: берем стандартные JavaScript модули (ESM) и делаем их прямыми эндпоинтами для генерации любых текстовых веб-ассетов, таких как HTML-файлы, CSS, SVG или даже JSON или Markdown, используя простое соглашение о именовании исходных файлов и дефолтный экспорт результата в виде строки (JavaScript Template Literal). Проще некуда и чем-то похоже на PHP, верно? Но, что это нам дает?

Давайте разберемся, почему JSDA (JavaScript Distributed Assets) - это то, что может сделать веб-разработку "грейт эгейн", после тысячи поворотов "не туда".

Читать далее

Vanilla CSS — единственное, что вам нужно

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

Команда JavaScript for Devs подготовила перевод статьи о том, как 37signals создают современные веб-приложения без Tailwind, Sass и сборщиков. Опираясь только на возможности нативного CSS, они строят масштабируемую архитектуру, используют :has(), color-mix(), CSS Layers, container queries и другие возможности, которые многие разработчики ещё даже не пробовали.

Читать далее

Django 6.0: эволюция фреймворка в деталях

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

Команда Python for Devs подготовила перевод обзора обновлений Django 6.0. В свежем релизе фреймворк усиливает совместимость между СУБД, упрощает работу с email, улучшает ORM, добавляет удобства в шаблонах и снижает риск «выгорания» первичных ключей.

Читать далее

.NET C# и RabbitMQ Streams: превратить кролика в Kafka легко, нужно всего лишь…

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

Работа с очередями сообщений — важная часть современных систем обработки данных. В нашей команде мы используем брокер сообщений RabbitMQ, но нам пришлось столкнуться с проблемами при обработке большого объема данных. В поисках решений я начал изучать различные способы оптимизации, и таким образом познакомился с RabbitMQ Streams – плагином, добавляющим log-based потоки, работающие по аналогии с Kafka

Я потратил некоторые время, вникая в принципы работы RabbitMQ Streams с .NET и хочу представить вам краткий обзор, который призван упростить погружение в эту систему

Читать далее

Что выбрать новичку для домашнего веб-сервера: Nginx, Caddy или Apache

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

Каждый раз, когда в айтишных чатах всплывает тема веб-серверов, кто-то пишет: «Apache умер», «Nginx — наше всё», «за Caddy — будущее, просто попробуйте». В статье разберём, в каких случаях веб-сервер действительно нужен, в чём плюсы и минусы популярных решений и как сделать выбор под свою задачу. Детали внутри.

Читать далее

Внешний мониторинг доступности IT-приложений

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

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

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

Читать далее

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

OWASP Top Ten: как оценивали веб-угрозы 20 лет назад и сейчас

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

Первый список OWASP Top Ten был выпущен в 2004 году. И с того момента появилось 7 обновлений, последнее из которых представлено в ноябре 2025 (пока в статусе Release Candidate). Эксперты WMX проанализировали все выпуски, чтобы разобраться, как с каждым годом и даже десятилетием менялась оценка угроз.

Путь осы

Методы массивов. Часть 1

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

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

Привет, Хабр! Меня зовут Александр Дудукало, я автор базового курса по JavaScript. Сегодня мы поговорим о методах массивов. Если коротко, вы узнаете, как легко и элегантно работать со списками данных, не используя громоздкие циклы. Детали внутри.

Читать далее

Не спешите выкидывать Webpack: разбор альтернатив и реальных сценариев миграции

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

Привет, Хабр! На связи Никита Ли, я Frontend-разработчик в Рунити. Вокруг сборщиков последние годы кипят страсти: большинство боготворит Vite, кто-то экспериментирует с esbuild, а энтузиасты активно продвигают инструменты на базе Rust — прежде всего Rspack и SWC. На фоне этого Webpack нередко называют пережитком, который якобы тормозит развитие команд.

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

Читать далее

Postgresus 2.0: новая версия open source инструмента для резервного копирования PostgreSQL

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

С момента первого релиза Postgresus прошло 6 месяцев. За это время проект получил 246 коммитов, новые функции, а также ~2.7 звёзд на GitHub и ~40к загрузок из Docker Hub. Сообщество проекта тоже подросло, сейчас в проекте числится 11 контрибьюторов, а группа в Telegram — 85 человек.

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

Читать далее

Что такое LLMs.txt и LLMs-full.txt и как заставить AI знать документацию наизусть

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

Мы привыкли к классическому набору любого сайта: robots.txt экономит ресурсы сервера, запрещая поисковикам сканировать мусорные страницы, а sitemap.xml, наоборот, скармливает поисковикам каждую доступную страницу для полной индексации.

Однако ситуация изменилась, когда сайты начали читать не только поисковые роботы, но и языковые модели. Для них существующие стандарты не подходят: sitemap избыточен и ресурсоёмок, а HTML-код создаёт слишком много шума.

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

В сентябре 2024 года Джереми Ховард (создатель fast.ai) предложил решение в виде стандарта /llms.txt. Давайте разберемся, как он работает, чем отличается от llms-full.txt, какую пользу из этого могут извлечь разработчики и как быстро добавить его поддержку в свой проект.

Читать далее

Книга: «Head First. Изучаем программирование на JavaScript. 2-е изд.»

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

Привет, Хаброжители!

Новое, полностью переработанное издание легендарной книги проведет вас по всему пути изучения JavaScript, начиная с фундаментальных понятий и заканчивая самыми актуальными современными возможностями. Вы погрузитесь в тонкости типов JavaScript и его функций, научитесь разбираться в классах, объектах и замыканиях, приобретете практический опыт работы с DOM (Document Object Model) в браузере и откроете для себя неожиданные возможности JavaScript. Вас ждет не просто чтение — вы будете играть, решать головоломки, размышлять над загадками и взаимодействовать с JS так, как никогда не пробовали ранее. А еще вы будете писать реальный код (и много!) и сразу приступите к построению собственных приложений.

Вы готовы сделать шаг вперед в веб-программировании и перейти от верстки в HTML и CSS к созданию полноценных динамических страниц? Тогда пришло время познакомиться с самым «горячим» языком програм- мирования — JavaScript! Особенностью этого издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O'Reilly в ряду множества скучных книг, посвященных программированию.

Читать далее

Код пишет нейросеть. Что остается разработчику?

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

Все говорят, что скоро Claude и GPT заменят программистов. Я руковожу студией разработки и вижу другую картину: AI не заменяет инженеров, но беспощадно наказывает за лень и отсутствие архитектурного мышления.

В этой статье я на живом примере покажу разницу между популярным «вайб-кодингом», который порождает неработающих монстров, и подходом Spec-Driven Development. Продемонстрирую, как превратить LLM из генератора случайного кода в костюм Железного человека для инженера, поделюсь ссылкой на репозиторий с реальным кодом и спецификацией, написанными ИИ, и расскажу, какие 5 навыков теперь нужны разработчику, чтобы оставаться в профессии.

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

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