Веб-страница
24.2K subscribers
1.73K photos
527 videos
1 file
3.92K links
Всё по фронтенду, бэкенду и девопсу в одном месте

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/64ai
Download Telegram
Новогодний подгон для поклонников Svelte

Про вас не забыли и сделали персональный адвент-календарь. Он уже в разгаре и завершится 23 декабря. Внутри полезные советы и короткие видео, которые помогут эффективнее работать с фреймворком.

Забираем по ссылке: https://advent.sveltesociety.dev/2025

#svelte
3
Перестаньте использовать JavaScript для решения проблем с CSS

Недостаток знаний подталкивает людей к чрезмерному усложнению, и рано или поздно это сказывается на производительности. Например, content-visibility: auto. Он делает то же, что и React-Window, без использования JavaScript и с минимальным весом пакета. Та же история с современными единицами измерения области просмотра (dvh, svh, lvh), которые позволяют избавиться от window.innerHeight в коде. Обе функции получили 90 % глобальной поддержки в 2024 году. Тем не менее мы по-прежнему используем JavaScript в силу привычки.

Эта статья призвана исправить это и показать, что вам не нужно столько JS-кода, как вы привыкли.

#javascript #css
3😁3👍2🤯2
Google собрала все обновления CSS для Chrome в одном месте

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

https://chrome.dev/css-wrapped-2025/

#chrome #css
🔥15👎2
Как мигрировать на Node.js 22 без рисков: инструкция

Node.js 18 больше не получает обновлений безопасности, а поддержка 20-й версии закончится в апреле 2026 года. Наиболее стабильной LTS-версией стала Node.js 22 — вокруг неё уже сформировалась зрелая экосистема, а крупные команды успели протестировать релиз в продакшене.

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

#nodejs
👍41
Forwarded from Типичный программист
Браузерные расширения украли переписки с ИИ более чем 8 миллионов пользователей

Под видом VPN и инструментов приватности эти расширения для Google Chrome и Microsoft Edge собирали и передавали злоумышленникам полные диалоги пользователей с ChatGPT, Gemini, Claude, Copilot, Perplexity, Grok и другими ИИ-платформами.

Главный виновник — Urban VPN. У него более 6 млн установок в Chrome, высокий рейтинг (4,7 звезды) и даже статус Google Featured, который создавал ощущение надежности. Также вредоносными оказались 1ClickVPN Proxy, Urban Browser Guard и Urban Ad Blocker. Все они распространялись через официальные магазины браузеров.

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

#новости #vpn
🤔3
Философское отношение к программированию

Недавно вышел познавательный подкаст Владилена Минина с Сергеем Бережным, где он рассказывает о своём 20-летнем опыте в разработке.

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

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

Отдельно упоминают и AI. Не как угрозу профессии, а как инструмент, который помогает разработчику усилить себя. Потому что ценность всё чаще оказывается не в количестве кода, а в собственном стиле, который в последнее время так редко можно встретить, от чего ценность ручного труда ещё выше. Кроме того, есть и особенный эстетский кайф от продуманного интерфейса, чистого решения и лаконичной архитектуры.
2🔥2
Номер квартиры 404
😁32🤣8🤯4
This media is not supported in your browser
VIEW IN TELEGRAM
Создаём портфолио в формате 2D-игры на JavaScript

Это один из креативных способом показать свои скилы и впечатлить рекрутера/тимлида/интервьюера.

Гайд по разработке: https://youtu.be/wy_fSStEgMs
Демо: https://jslegenddev.github.io/portfolio/
Исходники: https://github.com/JSLegendDev/2d-portfolio-kaboom

#javascript
9
NestJS ужасен?

Если что, это не мнение редакции. Так считает пользователь Reddit и при этом он приводит довольно резонные аргументы:

🔘 Множество переусложнённых решений — например, собственная система внедрения зависимостей, которая мешает новичкам и AI‑инструментам, хотя стандарт ES уже предлагает необходимые механизмы.
🔘 Кодовая база излишне сложна без необходимости, а ревью PR занимает больше времени, чем их написание, из-за скрытых побочных эффектов.
🔘 Много дублирующих и самодельных решений: например, NestJS использует внутренний шаблонизатор, сильно похожий на EJS, но написанный с нуля.
🔘 Проблемы с безопасностью: команда медленно реагирует на найденные уязвимости, принимая исправления спустя месяцы, несмотря на готовые PR с демонстрацией проблемы и решения.
🔘 Масса ненужных зависимостей — зачем NestJS включает webpack в продакшн-сборку?!
🔘 Плохая совместимость с экосистемой.

А вы как считаете? Согласны с этими тезисами? Пишите в комментарии, что думаете.

#обсуждение #nestjs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13👎51
И новый фреймворк
13👍8
Кликджекинг без JavaScript — это возможно

Researcher Lyra Rebane открыла уязвимость, которая ломает классические защиты: атаку можно провести чистым CSS и SVG, обходя Content Security Policy и X-Frame-Options.

В чём суть:
🔘 SVG фильтры (feBlend, feComposite) работают как полноценные логические вентили;
🔘 можно перехватить пиксели со скрытых iframes, не используя JS;
🔘 защита от XSS есть, но от CSS-атак ещё нет.

Proof-of-concept: атака на Google Docs — украдены текст документа через фальшивую кнопку «Generate Document».

Google выплатила $3133.70 за bug report. Уязвимость всё ещё не пофиксена и затрагивает Chrome, Firefox и другие браузеры.

Полный разбор читайте по ссылке:
https://www.theregister.com/2025/12/05/css_svg_clickjacking/

#безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Сборник около 160 шпаргалок разработчика на любой вкус

Очередная годнота — Quick Reference. Тут собраны шпаргалки не только по стандартным программерским темам по типу регулярок, JS и Markdown, но и есть выжимки с советами по использованию различных сервисов и инструментов: ChatGPT, Vim, Homebrew, FileZilla и многое-многое другое.

Налетаем

#шпаргалка
4
Джун: «Эти книги подняли меня на новый уровень программирования!»

Новый уровень программирования:
😁25👎2🤣2
21 рекомендация по HTML

Нашёл материал для тех, кто решил погрузиться в мир фронтенд-разработки. Здесь собраны довольно базовые советы. Тем не менее, они будут крайне полезны тем, кто только начинает свой путь. Вы найдёте рекомендации по семантической вёрстке, правильному использованию базовых тегов и многому другому.

Подробнее в материале.

#html #веб
🔥8👍2
Как понять, ты Boy, Teen или Man в CSS на примере одного бургер-меню?

Попробуйте «тест Кнута для фронтенда» и узнайте, какой у вас уровень в CSS:

Boy: бургер как Unicode-символ — быстро, но без контроля пропорций и анимаций;
Teen: три div ‑а, flex‑контейнер и полный контроль над геометрией и анимацией;
Man: один псевдоэлемент ::after + box-shadow для трёх полосок, плюс скрытая подпись ради доступности.

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

#css #фронтенд
7👍3🤯1
Forwarded from Zen of Python
pyreqwest — новый HTTP-клиент на Rust для Python. GIL-free, HTTP/2 из коробки, sync и async с одинаковым API. Автор — тот же разработчик, который открыл issue #3215 в httpx о 10x просадке производительности при конкурентных запросах.

Зачем переходить с httpx
httpx/httpcore имеют давние проблемы с connection pooling — при 20 конкурентных запросах httpx в 10+ раз медленнее aiohttp. Эти баги висят годами. pyreqwest решает их на уровне архитектуры, потому что connection pool реализован на Rust.

➡️ Если httpx работает — можно не трогать. Но в высоконагруженных системах он станет бутылочным горлышком.

Фичи
🔘HTTP/1.1 и HTTP/2 (у aiohttp нет HTTP/2)
🔘Автодекомпрессия: zstd, gzip, brotli, deflate
🔘TLS через rustls
🔘Connection pooling, стриминг, multipart
🔘Куки, прокси, редиректы, таймауты
🔘Полные type hints, zero Python-зависимостей
🔘Встроенный мок для тестов + подключение к ASGI напрямую

Быстрый старт:
# uv add pyreqwest

from pyreqwest.client import ClientBuilder, SyncClientBuilder

async def example_async():
async with ClientBuilder().error_for_status(True).build() as client:
response = await client.get("https://httpbun.com/get").query({"q": "val"}).build().send()
print(await response.json())

def example_sync():
with SyncClientBuilder().error_for_status(True).build() as client:
print(client.get("https://httpbun.com/get").query({"q": "val"}).build().send().json())


📎 Код на GitHub

@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2🤩2
Можете не открывать вишлист программиста — мы уже знаем, что там

Cобрали большую и удобную подборку из 65 новогодних подарков для айтишников, разбитую по категориям и бюджету.

Внутри есть идеи для всех: джунов, мидлов, сеньоров и даже тимлидов.

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

А ещё — отдельный бонус-раздел с неудачными подарками, чтобы точно не промахнуться и не прослыть тем самым человеком из офиса.
5👍2
Снимайте треники — Новый год вы отмечаете в ОТПадном луке! 

OTP Tech принес вам timeless образ того самого квотербека, который скоро станет королем школы. 

+2026 очков к удаче в грядущем году, если отправите этот скин трём друзьям и с первого раза поймаете его в нашей виртуальной примерочной!
1
Что такое WebRTC — как работает, преимущества и примеры использования

Web Real-Time Communications — относительно новая технология, которая вывела онлайн-коммуникации на принципиально новый уровень. Она имеет открытый исходный код и отвечает за потоковую передачу данных с использованием API JavaScript для связи между браузерами и приложениями в формате peers-to-peers (точка-точка).

WebRTC применяется в таких секторах как образование, управление персоналом и HR, банкинг, страхование, здравоохранение и многих других.

Подробнее о технологии и её особенностях, рассказали в статье.

#webrtc #веб
👍52