Веб-страница
23.6K subscribers
1.81K photos
551 videos
1 file
4.01K links
Всё по фронтенду, бэкенду и девопсу в одном месте

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/64ai
Download Telegram
Почему статические сайты возвращаются и чему они научились

Помните времена, когда статический сайт был сайтом-визиткой на голом HTML, а любой серьёзный проект требовал CMS? Мы привыкли считать нормальным сайт на WordPress, «Битриксе» или хотя бы самописном Django. Статика же оставалась уделом гиков, документации и страниц о скором запуске.

В 2025 году статические сайты вернулись. Не в качестве альтернативы для бедных, а как зрелая архитектура, которая решает 90% задач быстрее, дешевле и безопаснее, чем тяжёлый бэкенд. Просто мы не сразу заметили, как они научились тому, чего раньше не умели. А об этом уже подробнее в статье.

@tproger_web
Читайте также в VK и Max
5🔥4🗿3
This media is not supported in your browser
VIEW IN TELEGRAM
Народ, что там у вас по грунту?
🤣21
Forwarded from Типичный программист
Лечим разбитое сердце вашего сайта

Представьте ситуацию: dashboard в React грузится 10 секунд вместо секунды, и вы уверены, что виноваты лишние rerender'ы или отсутствие memo. Но оказывается, что с бэкендом и React всё в подярке.

Оказывается, в Safari на M1 Max 94% CPU жрёт Layout на... сердечко ❤️. "Быстрый" COLRv1‑шрифт с SVG‑эмодзи для кроссплатформенности внезапно тормозит layout до 1600 мс на glyph (особенно ❤️ и 🤯), в то время как битмапы Apple Color Emoji летают.

Автору статьи пришлось разбираться с этой проблему. И он разобрался. А теперь делится своим опытом и рассказывает почему CoreSVG в Safari не справляется с векторными эмодзи Google.

Telegram | VK | Max | Дзен
3
В чем разница между «компонентами» и «утилитами» в Tailwind

Проблема в том, что Tailwind поощряет утилиты-first, но на практике люди создают компонентные классы через @apply или плагины — и тут начинается бардак: дублирование стилей, конфликты специфичности, сложность в поддержке. Статья предлагает чёткое разделение: утилиты в @layer utilities, компоненты в @layer components (с @apply), чтобы каскад работал правильно и утилиты всегда перекрывали.

Если вы не хотите ломать логику кода, то стоит запомнить эти простые советы. А подробнее почитать можно по ссылке.

@tproger_web
Читайте также в VK и Max
4
Интерактивный гайд по CRDT

Благодаря CRDT можно легко создавать приложения с совместным редактированием, такие как Google Docs, но без необходимости подключаться к серверу.

В этой серии статей мы узнаем, что такое CRDT. Затем напишем простой редактор, объединим его с более сложными структурами данных и, наконец, применим то, что мы выучили, чтобы создать совместный редактор, похожий на Paint в онлайне.

https://jakelazaroff.com/words/an-interactive-intro-to-crdts/

#typescript #crdt

@tproger_web
Читайте также в VK и Max
2👍1
Navigation API — удобный способ навигации,​ теперь доступен в базовой версии во всех основных браузерах

Наконец-то стал доступен официальный роутер для SPA без хаков на history.pushState. Десятилетия жалоб на History API позади.

Всё упрощается до одного слушателя navigation.addEventListener('navigate'), который ловит клики по ссылкам, формы, back/forward и даже programmatic navigation.navigate(). event.intercept() автоматически обновляет URL, историю, фокус (a11y), а ты просто рендеришь контент в handler().

Примеры и подробности в статье.

@tproger_web
Читайте также в VK и Max
10🔥3
WebKit анонсировал Interop 2026

Сделать так, чтобы ваш сайт работал во всех браузерах, может быть непросто, особенно если браузерные движки реализуют одну и ту же веб-технологию немного по-разному. Проект Interop решает эту проблему, объединяя основные браузерные движки для улучшения одного и того же набора функций в течение одного года. Interop 2026 — это уже пятая итерация совместного проекта браузерных движков (Apple/Safari, Google/Chromium, Microsoft/Edge, Mozilla/Firefox, плюс Igalia) по повышению кроссбраузерности веба.

В этом году 20 фокусных областей (15 новых, 5 carryover). Подробнее в статье.

#новости

@tproger_web
Читайте также в VK и Max
5
Возьмут, чтобы узнать продолжение

@tproger_web
Читайте также в VK и Max
🤣13😁31
Forwarded from Zen of Python
Как вам формат TOON (Token-Oriented Object Notation) вместо JSON?

Массивы объектов объявляются один раз в заголовке users[2]{id,name,role}:, а дальше идут только данные через запятую без лишних скобок и ключей. Это сокращает объём данных на 30–60%.

Для Python уже есть готовые библиотеки, например python-toon и toons. Для промтов в ИИ экономия токенов. Для людей на глаз вроде тоже проще читается.

С другой стороны это просто CSV с дополнением, вложенности не очень удобно делать. Что думаете?

@zen_of_python, также в Max
👎43🗿8🤔43🔥1💩1
Сравнение golang веб-фреймворков 2026 года: топ-5 лучших вариантов

Не можете выбрать веб‑фреймворк для проекта на Go? Мы сравнили топ‑5 вариантов 2026 года: Gin, Fiber, Echo, Chi и Beego! Разбираем плюсы, минусы и сценарии использования — читайте и выбирайте лучший!

#golang

@tproger_web
Читайте также в VK и Max
🔥32
Регулярные выражения простыми словами

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

В своем материале он постарался помочь вторым стать первыми.

Если вас тоже начинает бросать в холодный пот при виде hello(\s*,\s*|\s+)world, то эта статья явно будет вам полезна:

https://habr.com/ru/companies/selectel/articles/848114/

@tproger_web
Читайте также в VK и Max
👍81
UI-паттерны для асинхронных задач и пайплайнов

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

@tproger_web
Читайте также в VK и Max
3
Инструменты дебага LLM-приложений на JS

Антон Непша на HolyJS 2026 рассказал про инструменты для отладки приложений с большими языковыми моделями на JavaScript. Доклад — чистая практика для тех, кто строит чат-боты или агентов.

Он показал, как console.log и node inspect быстро исчерпываются. Вместо этого — LangGraph Studio, LangSmith, LangFuse, Arize Phoenix и Lunary. Каждый инструмент даёт трейсы вызовов моделей, время, токены, манипуляцию состоянием на паузе.

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

#доклад

@tproger_web
Читайте также в VK и Max
4👍3🔥3
😁35🔥102💩2🗿1
Курс по основам компьютерных сетей

Хотите разобрать компьютерные сети от физического уровня до DNS с нуля, как на экзамене с бумагой и ручкой? freeCodeCamp выложил бесплатный курс "Computer Networking Fundamentals" от Kshitij Sharma — 12+ часов глубокого погружения в стек сетей.

Смотрим по ссылке: https://www.youtube.com/watch?v=fQbBPa0ADvs

@prog_point (теперь и в Max)
1
Media is too big
VIEW IN TELEGRAM
Запросы на сервер. Fetch, XMLHttpRequest (XHR), Ajax

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

#javascript #видео
🔥1
Делаем браузер снова браузером

JustTheBrowser.com — проект, который чистит популярные браузеры (Chrome, Edge, Firefox) от навязчивых дополнений: убирает ИИ-функции вроде Copilot, телеметрию, спонсорский контент, напоминания о дефолтном браузере и прочий мусор. Всё через официальные политики групп — без модов исполняемых файлов.

Устанавливается всего одним скриптом для Windows/Mac/Linux, или вручную по гайдам. Если бесит реклама, AI-помощники и сбор данных — мастхэв.

@tproger_web
Читайте также в VK и Max
15👍2
Давно в VS Code встроенный код ревьюер появился?

@tproger_web
Читайте также в VK и Max
😁29
Что умеет новый псевдокласс :near(), который может появиться в браузерах

В CSS может появиться псевдокласс :near() — он реагирует на расстояние курсора или сенсорного ввода до элемента, измеряя его в реальных единицах вроде пикселей или сантиметров. Это откроет двери для динамических интерфейсов: например, подсвечивать кнопки при приближении мыши, показывать всплывающие подсказки до клика или заранее прогружать изображения в галерее, когда пользователь просто ведёт курсором рядом.

В отличие от :hover, который срабатывает только при прямом наведении, :near(10px) позволит задавать радиус чувствительности. Это также пригодится для touch-устройств пользователей с толстыми пальцами или VR/AR, где точность ввода плавает. Элемент уже тестируется в Chrome Canary, с полифиллами для экспериментов.

Подробный разбор с примерами кода — в статье на CSS-Tricks.

@tproger_web
Читайте также в VK и Max
🔥173🫡3
Forwarded from Zen of Python
Внезапное порно в Conda

История такая: один разработчик хотел посмотреть YouTube, открыл меню «Пуск» в винде, начал вбивать You и увидел подсказу YouPorn. Очень удивился, потому что он не смотрит порно (конечно, а как вы подумали).

Начал расследование. Оказалось, что файл с таким именем лежит в
Anaconda3\pkgs\protego\info\test\tests\test_data


Protego — Python-библиотека для парсинга файлов robots.txt. В её тестовых данных есть пример файла robots.txt с сайта YouPorn т.е. обычный тест на реальных данных из интернета. Никакого вредоносного кода, никакой атаки на supply chain, просто Windows Search проиндексировал содержимое тестовых файлов внутри пакетов Conda.

Это хороший повод напомнить: Windows Search индексирует всё подряд, включая содержимое директорий с пакетами. При разработке на винде лучше добавить такие диры в исключения. Или не разрабатывать на винде.

@zen_of_python
😁29👍2