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

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

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

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

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

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

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

Но есть решения, которые помогают обойти эти ограничения. Мы собрали подборку таких решений, указав их ключевые особенности и возможности. В ней вы узнаете, как получить доступ к возможностях ChatGPT, Claude и Gemini, а также других нейросетей.

А что предпочитаете вы?

❤️ — ChatGPT
👍 — Claude
😂 — Gemini


#chatgpt #claude #ИИ
🗿208👍8🤣5🤩1
Псевдоэлемент vs Псевдокласс: Практические советы для реальных проектов

Что такое псевдоэлемент?
Псевдоэлемент позволяет добавить виртуальный элемент внутрь выбранного, не изменяя HTML-разметку. Это похоже на добавление штампа к документу: элемент остаётся прежним, а его оформление дополняется декоративными деталями, например, первой буквой абзаца или декоративной линией.

Пример:
p::first-letter {
font-size: 2em;
color: red;
}


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

Псевдоэлементы бывают следующими:

::before — добавляет контент перед содержимым элемента.
::after — добавляет контент после содержимого.
::first-letter — стилизует первую букву элемента.
::first-line — оформляет первую строку текста.
::grammar-error — позволяет оформить часть документа, содержащую грамматическую ошибки, подсвеченную браузеров.
::marker — стилизует поле маркера пункта, как маркированного, так и нумерованного.
::selection — соответствует части документа, которая была выбрана.
::spelling-error — как и ::grammar-error выделяет ошибку, отмеченную браузером, но уже орфографическую

Что такое псевдокласс?
Псевдокласс меняет внешний вид элемента в зависимости от состояния, как будто элемент «перевоплощается» в зависимости от вашего взаимодействия с ним. Это работает, когда пользователь наводит курсор, активирует элемент или переводит его в фокус.

Пример:
a:hover {
color: green;
}


Псевдоклассы применяются для управления активностью элемента — от наведения до фокуса — и помогают улучшить интерактивность пользовательского интерфейса.

Псевдоклассов очень много. Вот некоторые популярные виды псевдоклассов:
:hover — применяется при наведении курсора.
:active — активируется во время нажатия.
:focus — используется, когда элемент находится в фокусе (например, форма ввода).
:visited — для посещённых ссылок.
:not() — позволяет исключить элементы из селектора.

Когда использовать каждый вариант?
Псевдоэлементы добавляют декоративные или вспомогательные элементы визуально, не нарушая структуру HTML. Если вам нужно, чтобы страница выглядела ярче или содержала дополнительные визуальные подсказки (например, стрелочки, рамки, иконки), выбирайте псевдоэлементы.

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

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

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

Как вы применяете псевдоэлементы и псевдоклассы в своих проектах? Поделитесь опытом в комментариях!

#простымисловами #фронтенд #css
👍123🤔1
Пишем игру на JS/TS и развиваем навык работы с кодом

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

Сохраните, чтобы не потерять: https://tproger.ru/articles/pet-proekt-pishem-igru-na-js-ts-i-razvivaem-navyk-raboty-s-kodom/

#typescript #javascript #петпроект
👍7🤔2
This media is not supported in your browser
VIEW IN TELEGRAM
«Разработку не вели...» с Леонидом Каневским
🤣48😁11👍21
Асинхронная итерация по-новому: как работает Array.fromAsync в JavaScript

Асинхронные задачи — это обычное дело во фронтенде. Но лаконичного способа обработать их сразу пакетами до недавнего времени не было. Array.fromAsync — свежий инструмент для простого и элегантного обхода промисов в массивах.

В статье — нюансы работы метода, примеры из жизни и сценарии, где он может здорово сэкономить нервы и строчки кода.

#javascript #фронтенд
👎6🔥41
Привет, на связи Tproger!

Мы хотим лучше понять нашу аудиторию и её интересы. Помогите нам — пройдите небольшой опрос по ссылке.

Спасибо и отличного дня!
👎9🫡31
Вопросы с собеседований: что такое специфичность CSS-селекторов и как она работает?

Типы селекторов расположены по возрастанию специфичности:
— Селекторы типов элементов (например, h1) и псевдоэлементов (например, ::before).
— Селекторы классов (например, .example), селекторы атрибутов (например, [type="radio"]) и псевдоклассов (например, :hover)
— Селекторы идентификаторов (например, #example).

Универсальный селектор (*), комбинаторы (+, >, ~, ' ') и отрицающий псевдокласс (:not()) не влияют на специфичность. Но селекторы, объявленные внутри :not(), влияют.

Стили, обьявленные в элементе (например, style="font-weight:bold"), всегда переопределяют любые правила из внешних файлов стилей и, таким образом, их специфичность можно считать наивысшей.

Расчёт специфичности:
— тег и псевдоэлемент имеют специфичность 0001;
— класс, псевдокласс, атрибут — 0010;
— id имеет специфичность 0100;
— инлайновый стиль имеет приоритет 1000.

#простымисловами #собеседование #css
👍11🔥62👎1🤯1
Nuxt JS - Vue + SSR: вводный курс за 70 минут

Nuxt JS — это фреймворк, который ещё больше упрощает создание веб-приложений с помощью Vue.js. В этом небольшом видео вы изучите основы работы с технологией и сможете создавать свои собственные проекты на Vue с сервер-сайд рендерингом.

#видео #nuxtjs #vue
💩8🔥61
This media is not supported in your browser
VIEW IN TELEGRAM
kiro.dev | IDE для вайб-кодинга

Убийца Cursor по версии Amazon, на сей раз с поддержкой MCP (Model Context Protocol — «щупалец» LLM). Покуда проект на стадии Preview, многие фичи достаются задаром. Если вовремя подбирать такие аналоги, наверное, можно и не платить никому по $20 ежемесячно 😜

Цена: пока бесплатно
Сайт проекта
@prog_tools
💊 — Если после этого нужна таблетка
👎123💩3🔥2
Друзья, пора забыть о JS. И вот аргумент:
This media is not supported in your browser
VIEW IN TELEGRAM
😁47🤣40🤔4👍3🔥3💩2
WHIP — стандартный протокол общения WebRTC приложений

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

В этой статье вы узнаете не только подробности о WebRTC, но и познакомитесь со стандартами WHEP/WHIP.

#webrtc
👍7🔥5
Возможно, что эти HTML- и CSS-ошибки есть в вашем коде

Казалось бы, основные грабли веб-верстки давно известны, но ловушки ждут в деталях — от неожиданных эффектов font-size в rem и px до проблем с outline и адаптацией стилей к accessibility.

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

https://habr.com/ru/companies/ruvds/articles/928018/

Я вот не задумывался о некоторых нюансах, описанных в статье. А вы?

#фронтенд #css #html
👍43🔥3
Media is too big
VIEW IN TELEGRAM
Эффект пикселизации с помощью CSS и JS

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

Код можно посмотреть здесь.

#codepen
🤩7👍2
Типизация в React Router: ещё больше надёжности для вашей навигации

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

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

#react #фронтенд #typescript
👍62🤩1
Создание Typing Test приложения

Typing Test App — это приложение, которое позволяет проверять скорость и точность печати. Для его создания автор выбрал React и TypeScript , а для работы с состоянием использовал Redux Toolkit.

С подробным туториалом, а так же с репозиторием проекта вы сможете ознакомиться по ссылке:

https://tproger.ru/articles/sozdanie-typing-test-prilozheniya-na-react-typescript-redux-toolkit/

#react #typescript
👍3🤩1
Вселенная пушит тебе знаки…

Стоит ли сегодня деплоить на прод, начинать новый проект или лучше затаиться и почистить кэш? Вытащи карту из нашей цифровой колоды и получи мудрый совет судьбы перед новым релизом, багфиксом или планёркой: https://tprg.ru/romB

Реклама
🗿2😁1
Forwarded from Zen of Python
​​5 архитектурных ошибок, которые мы совершаем при старте проектов

Многие из нас с головой уходят в реализацию идеи, не задавая себе главный вопрос: а что будет, когда проект вырастет? 

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

В статье Tproger 5 самых частых архитектурных ошибок, которые мешают проектам расти и развиваться.

#основы
@zen_of_python
🙊 — Если сам так писал
9
ECMAScript 2025: что нового появилось в JavaScript

Очередная версия языка уже одобрена и теперь настала пора познакомиться с новинками этого года. В статье — обзор ключевых фич ECMAScript 2025, которые действительно пригодятся в работе: импорт атрибутов, Promise.try(), экранирование регулярок, помощники итераторов и многое другое.

#javascript #фронтенд #es2025
19👍3
Подключаем оплату на сайте за 7 шагов — просто, быстро и безопасно

Если вы — веб‑разработчик, добавляющий оплату в проект или SaaS-продукт, этот материал станет настоящим гайдом. В нём пошагово рассказано, как выбрать платёжный агрегатор, пройти верификацию, получить API-доступ и интегрировать форму оплаты без боли и путаницы.

Вы узнаете о:

— критериях выбора сервиса оплаты;
— порядке регистрации, верификации и безопасного получения ключей;
— советах по настройке сервера, платежной формы, endpoint-ов и прочего.

#бэкенд #платежи
🔥5
Как работают разные методы разработки на примере полетов на Марс
😁25👍12