tproger_web | Unsorted

Telegram-канал tproger_web - Веб-страница

26007

Всё по фронтенду, бэкенду и девопсу в одном месте Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/64ai

Subscribe to a channel

Веб-страница

Web API, которые функционально приближают веб-приложения к нативным

Чтобы дать пользователям доступ к функциям, привычным в нативных приложениях, и добавить новые, можно использовать Web API.

В статье подробно рассказали о них и раскрыли некоторые тонкости: https://habr.com/ru/companies/clevertec/articles/820227/

#javascript #api #react

Читать полностью…

Веб-страница

Анимация раскидывания частиц на чистом JavaScript

Вы наверняка встречали такой эффект, как на видео. Часто для его реализации используются уже готовые бибилотеки. Но в этот раз предлагаем вам посмотреть, как повторить такой эффект с помощью чистого JS-кода.

Подробнее: https://codepen.io/ma77os/pen/ExOKBay

#codepen

Читать полностью…

Веб-страница

Что такое примеси (mixins) в JS

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

Почему вообще понадобились примеси:
1. В JavaScript только одно наследование «по классам». Класс может расширять ровно один другой класс (extends). Если же необходимо поделиться возможностями между несколькими иерархиями, наследование начинает «скрипеть».
2. Составление (composition) гибче, чем наследование. Примеси позволяют «составлять» объект из маленьких независимых блоков логики, не связывая их жёстко цепочкой «родитель → потомок».

Как это выглядит в коде:

// 1. Описываем примесь как обычный объект с методами
const canLog = {
log(message) {
console.log(`[${this.name}] ${message}`);
}
};

// 2. Функция-помощник, которая «подмешивает» методы
function applyMixin(targetClass, mixin) {
Object.assign(targetClass.prototype, mixin);
}

// 3. Используем
class User {
constructor(name) { this.name = name; }
}

applyMixin(User, canLog);

const u = new User('Анна');
u.log('Привет!'); // [Анна] Привет!

Вы только что сделали любого User умеющим писать лог в консоль, не меняя иерархию классов.

Начиная с ES2015, популярна форма, где примесь — это функция, возвращающая класс:
const TimestampMixin = (Base) => class extends Base {
get createdAt() {
if (!this._createdAt) this._createdAt = Date.now();
return this._createdAt;
}
};

class Article {}
class Comment {}

class ArticleWithTime extends TimestampMixin(Article) {}
class CommentWithTime extends TimestampMixin(Comment) {}

Так вы оборачиваете любой базовый класс, не трогая оригинальную цепочку extends.

Плюсы примесей:
1. Повторное использование кода. Один раз написали — применили в нескольких местах, избавившись от копипаста.
2. Гибкая композиция. Собираете объект как конструктор LEGO из маленьких блоков логики.
3. Изолированность обязанностей. Каждая примесь решает одну задачу, поэтому код легче читать и тестировать.

#простымисловами #javascript #основы

Читать полностью…

Веб-страница

Делитесь своим опытом в опросе про облака

Мы готовим большое исследование по облачным технологиям и хотим узнать ваше мнение.

Расскажите, как вы работаете с облаками, какие у вас возникают вопросы или трудности. Фидбэк можно оставить в этой гугл-форме

Спасибо 🙏

Читать полностью…

Веб-страница

В гостях хорошо, а http://127.0.0.1 лучше

Читать полностью…

Веб-страница

SOLID на фронтенд примерах

В этом плейлисте собраны 6 уроков по SOLID для фронтенд-разработчиков. Вы узнаете про принцип единственной ответственности, использование DIP, LSP, OCP и не только.

#solid@tproger_web #фронтенд@tproger_web

Читать полностью…

Веб-страница

Пятнашки на Vue

Полезный codepen-проект для тех, кто изучает Vue. Сможете не только изучить алгоритм игры, но и посмотреть, как это реализовано на фреймворке.

https://codepen.io/leemartin/pen/VwmdyNQ

#codepen #vue

Читать полностью…

Веб-страница

Compound Component: избавляемся от props-drilling и получаем гибкий API

«Составной компонент» — паттерн, в котором родитель хранит состояние, а дочерние элементы свободно комбинируются без явной передачи пропов. В материале показан путь от обычного аккордеона с длинным списком props к контекст-ориентированной версии, где порядок и число подпроектов не ограничены. Плюсы, минусы, подводные камни — всё разобрано на живых примерах.

#фронтенд #react

Читать полностью…

Веб-страница

Старожилы веб-разработки на месте? К вам вопрос

Споры про выбор инструмента для работы с фронтендом не утихают и никогда не утихнут. React, Vue, Svelte или какая-то ещё библиотека или фреймворк всегда будут иметь последователей.

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

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

#обсуждение

Читать полностью…

Веб-страница

Container Queries: адаптивные компоненты без медиазапросов

Представьте карточку-виджет, которая сама подстраивается к ширине блоков сетки, не глядя на размеры экрана. Container Queries дают такую гибкость: элемент ориентируется на контейнер и меняет стили при порогах вроде @container (min-width: 40rem).

В этой статье подробно о контейнерных запросах — понятная теория, примеры кода и обзор текущей поддержки во всех основных браузерах.

#фронтенд #css #адаптивность

Читать полностью…

Веб-страница

Расскажите про свой опыт поиска работы

Мы сейчас проводим исследование — хотим разобраться, как айтишники ищут работу: на что обращаете внимание в вакансии, что для вас точно красный флаг, а что — зеленая простыня. Мы хотим из первых уст узнать про все боли, подводные камни и нюансы рекрутинга в ИТ в 2025 году, поэтому просим вашей помощи — пройдите опрос, который займет у вас около 15 минут.

Давайте поможем компаниям и специалистам эффективнее и быстрее находить друг друга.

#опрос

Читать полностью…

Веб-страница

GSAP теперь доступна бесплатно

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

Все подробности в блоге команды GSAP: https://gsap.com/blog/3-13/

#новости #gsap

Читать полностью…

Веб-страница

Относительные цвета в CSS

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

Посмотрите его и, возможно, вы сможете отказаться от препроцессоров в своих проектах:
https://ishadeed.com/article/css-relative-colors/

#css

Читать полностью…

Веб-страница

React 19 — новые хуки за 15 минут

Владилен Минин коротко демонстрирует useActionState, useOptimistic и улучшенный useDeferredValue, чтобы вы поняли, как ускорить UI без лишних перерендеров.

#react@tproger_web

Читать полностью…

Веб-страница

CSS для печати на бумаге

Интересная статья, в которой рассмотрели особенности стилизации веб-страниц для экспорта в печатный вид: https://habr.com/ru/articles/798765/

#css@tproger_web

Читать полностью…

Веб-страница

Мини-Reddit в Telegram: бот + React-мини-апп за неделю

В этой статье показан полный путь создания сообщества «как на Reddit», но прямо в Telegram Mini App. Бот на node-telegram-bot-api управляет постами и голосами, мини-приложение на React рендерит древовидные комментарии и недельный ТОП, API-сервер на Express раздаёт данные, а MySQL и Redis держат хранилище. MVP подняли за одну рабочую неделю, активно используя ИИ для генерации 80–90 % кода.

#фронтенд #бэкенд #telegram

Читать полностью…

Веб-страница

Большой сборник задач для фронтендеров

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

Проверить себя можно тут: https://bigfrontend.dev/

#фронтенд #инструменты

Читать полностью…

Веб-страница

Каким был интернет 2000-х 👨‍🦳

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

Скорость 56 кбит/с была роскошью, а «выйти в сеть» превращалось в ритуал: отключить телефон, запустить модем и посвятить этому весь вечер. Мы сохраняли страницы на диск, читали письма и тексты офлайн, чтобы не тратить драгоценные минуты, знали коды вроде *17#.

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

Читать полностью…

Веб-страница

Без сборщика: подключаем JS-библиотеку напрямую

Чтобы притянуть стороннюю библиотеку в проект, не обязательно городить Webpack или Vite. Здесь разбираются три вида файлов, которые обычно лежат в npm-дистрибутиве: модули ES, «классические» глобальные переменные и CommonJS, способы находить нужный вариант в dist, писать компактный import map и подключать сложные модули даже без Node.

В довесок — чек-лист инструментов (esm.sh, download-esm, JSPM) и подсказки, как определить тип файла за пару секунд.

#фронтенд #javascript

Читать полностью…

Веб-страница

Матовое стекло следующего уровня с backdrop-filter в CSS

Для создания эффекта матового стекла на веб-сайте самый просто способ — использования filter: blur(). Но Джош Комо предлагает вариант с помощью backdrop-filter: blur(), ещё одного CSS-свойства, которое делает эффект круче.

В этой статье вы узнаете, чем оно отличается от классического свойства filter, как браузер вычисляет «то, что под элементом», какие эффекты (blur, brightness, contrast…) сочетаются между собой и где сегодня есть поддержка. В конце — интерактивная песочница: меняйте параметры и сразу видите результат.

#фронтенд #css

Читать полностью…

Веб-страница

Синтезатор в браузере: создаём музыкальный инструмент на Web Audio API

AudioContext, OscillatorNode и GainNode — всё, что нужно, чтобы браузер зазвучал. Этот пошаговый материал научит вас превращать вашу клавиатуру в мини-аккордеон: вы подготовите таблицу частот, подключите осцилляторы разной формы волн, пропишите обработчики keypress/keyup и настроите все в Svelte.

В итоге вы получите полноценный JavaScript-инструмент с открытым исходным кодом. Все подробности в статье.

#фронтенд #svelte

Читать полностью…

Веб-страница

С 20 мая по 2 июня 2025 года в школе углублённого изучения Golang – GOLANG NINIJA – пройдёт традиционная весенняя распродажа.

Скидки коснутся всех представленных на данный момент курсов:

Искусство безмолвной паники. ~3 недели на прохождение. Вы узнаете о лучших практиках и популярных мифах вокруг defer, panic и recover, а также вскроете их вплоть до кода рантайма и ассемблера.
Искусство работы с ошибками. ~6 недель на прохождение. Грамотная обработка ошибок – это залог отказоустойчивости вашего приложения. Узнаете о стандартной библиотеке и не только, а также проследите эволюцию языка в этом холиварном вопросе.
Искусство написания сервиса. ~5 месяцев на прохождение. Глобальная задача курса – написать с нуля бэкенд для чата поддержки банка со всеми вытекающими. После прохождения курса не должно остаться непонятных моментов в том, как могут быть разработаны и устроены сервисы на Go.

Ведущий автор – Антон Телышев, архитектор решений, технический лидер, контрибьютор в Golang непосредственно и в open source вокруг. Не пропустите!

Это #партнёрский пост

Читать полностью…

Веб-страница

Милое объяснение оператора JOIN в SQL

Оператор JOIN в SQL — это инструмент, который помогает соединить данные из двух или более таблиц, если у них есть что-то общее, например, одинаковые значения в определённых столбцах (ID, названия и т. д.).

Держите ролик, где простыми словами объясняют работу этого оператора, а что самое главное — всё это наглядно и с котиками.

#sql #бд

Читать полностью…

Веб-страница

Я: Зацени мои крутые проекты на GitHub

Также мои проекты:

Читать полностью…

Веб-страница

curl-impersonate | Запросы к сайту, как от живого человека

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

Цена: бесплатно
Репозиторий проекта

@prog_tools

Читать полностью…

Веб-страница

15 продвинутых приёмов TypeScript, о которых знают не все

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

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

#typescript@tproger_web #фронтенд@tproger_web

Читать полностью…

Веб-страница

Вот это действительно юзер френдли интерфейс

Читать полностью…

Веб-страница

Как сделать галерею обложек со Scroll-Driven анимацией

Отличная статья, в которой Эдди Османи показал, как сделать эффект галереи, как в iPod, используя современные возможности CSS. Подробнее: https://addyosmani.com/blog/coverflow/

#css

Читать полностью…

Веб-страница

Мечтаете о зимовке в другой стране, но начальник держит вас в офисе?

Тогда вам в Точку. Здесь можно работать откуда угодно. Это не просто «удалёнка», это свобода жить и работать там, где хочется.

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

Над всем этим работают 1300 крутых специалистов: разработчики, продакты, дизайнеры, аналитики, тестировщики, девопсы. Здесь ценят ум, инициативу и реальный результат.

Хотите работать без привязки к месту? Всё самое интересное — по ссылке.

Это #партнёрский пост

Читать полностью…

Веб-страница

Освойте Promises в JavaScript: пошаговое руководство

Асинхронный код — неотъемлемая часть современного JavaScript. Промисы (Promise) помогают управлять такими операциями, обеспечивая чистый и понятный синтаксис. В этом руководстве вы узнаете, как создавать промисы, обрабатывать их состояния (pending, fulfilled, rejected) и использовать методы .then(), .catch() и .finally() для управления результатами асинхронных операций. Примеры кода и наглядные схемы помогут закрепить материал и применять его на практике.

#фронтенд #javascript #асинхронность

Читать полностью…
Subscribe to a channel