Веб-страница
24.5K subscribers
1.68K photos
522 videos
1 file
3.87K links
Всё по фронтенду, бэкенду и девопсу в одном месте

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/64ai
Download Telegram
Тренажёр по промисам

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

Лежит тут: https://github.com/henriqueinonhe/promises-training

#javascript #тренажер
🔥18👍1
От массивов до объектов в JavaScript: пособие для новичков

Базовая статья для новичков в JS. Как работают объекты, зачем нужны, в чём их прелесть и как они помогают организовавывать и обрабатывать данные? Всё по ссылке.

#javascript
👍6🔥1
Какие базовые способы объявления функции в JS вы знаете?

Существуют четыре базовых способа:

1️⃣ Function Declaration
function sum(a, b) { return a + b } — поднимается (hoisting), имя видно во всей области видимости.

2️⃣ Function Expression
const sum = function (a, b) { … } — выражение, часто анонимное; удобно передавать как значение. Есть вариант с именем для лучших стектрейсов.

3️⃣ IIFE (немедленно вызываемое выражение)
(function () { /* изоляция */ })() — исторический способ создать локальную область.

4️⃣ Стрелочные функции
const inc = x => x + 1 — короткий синтаксис, лексический `this` и `arguments`, нет собственного prototype, нельзя вызывать через new. Отличный вариант для коллбеков и замыканий.


#вопросответ #javascript
Please open Telegram to view this post
VIEW IN TELEGRAM
👎7👍6🔥2
Полный разбор THIS в JavaScript за 26 минут

Этот ролик — полный гайд по this в JS. Из него вы узнаете про:

🔘 this в глобальной области видимости (объекты Window и Global);
🔘 this в обычных функциях;
🔘 this в функциях-конструкторах;
🔘 особенности this в стрелочных функциях;
🔘 this в forEach и setTimeout.

И многое другое – с объяснением и примерами.

#видео #javascript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64
Что такое замыкания в JavaScript?

Замыкание в JavaScript — это функция, которая «помнит» свою внешнюю область видимости, даже если она выполняется вне неё.

Пример:

function makeCounter() {
let count = 0
return function() {
count++
return count
}
}

const counter = makeCounter()
console.log(counter()) // 1
console.log(counter()) // 2

Здесь внутренняя функция получает доступ к переменной count из makeCounter, хотя та уже завершила выполнение.

Зачем нужно:

— хранить состояние между вызовами без глобальных переменных;
— создавать приватные данные;
— передавать функции с «захваченным» контекстом.


#вопросответ #javascript
🔥9👍7🤔4
«Хватит писать try/catch вокруг fetch: история о том, как я устал ловить ошибки»

Этот мем смешной, пока не осознаешь, что в реальных проектах мы именно так и поступаем. Только заворачиваем не весь код сразу, а каждый HTTP-запрос по отдельности.

Пишешь fetch и рефлекторно добавляешь try/catch. Где-то словил TypeError, где-то таймаут, где-то сервер вернул 500. В итоге половина кода превращается в кашу проверок, а другая половина — в обработчики ошибок. Но проблема не в том, что мы ловим ошибки. Проблема в том, что fetch заставляет нас их ловить везде и всегда.

Библиотека safe-fetch решает эту проблема. Её задача проста: убрать try/catch из проектов навсегда. Как это работает и какие плюсы дает — в материале.

#библиотека #javascript
🔥7
Делегирование событий в JavaScript: когда обычного всплытия недостаточно

По мере роста фронтенд-приложений управление пользовательскими взаимодействиями становится все более важным. Добавление обработчика событий на каждый интерактивный элемент — плохая практика: это усложняет код, увеличивает расход памяти и снижает производительность. Здесь на помощь приходит делегирование событий (event delegation).

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

#javascript
👍4🤔31
Деструктуризация в JavaScript

Деструктуризация — это удобный инструмент получения данныхв JS. Он позволяет «распаковывать» сразу много значений из массивов или объектов во множество переменных. Это, например, активно используется в React-хуках.

Простейший пример:

const timers = [10, 20, 30];
const [first, second, third] = timers;


Здесь мы одной строкой задаем значения из массива сразу трём переменным — first, second, third.

Подробнее о возможностях и фишках деструктуризации можно прочитать в этой статье.

#javascript #основы
4👍4👎1
Современный способ разработки серверов на JS

Ели вы когда-нибудь заходили на главную страницу Node, то наверняка видели этот кусок кода с картинки. Это самый простой веб-сервер, с которого сегодня начинается почти каждый сервер, написанный на JS. Да, это всё может быть прикрыто фреймворком, но по сути, все такие сервера делают примерно одно и то же.

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

#nodejs #javascript #бэкенд
👍7🗿41
Вам больше не нужен JavaScript

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

Подробнее.

#фронтенд #безопасность #javascript #css
😁28👍62💩1
Media is too big
VIEW IN TELEGRAM
Практика JavaScript: делаем целый сайт за 2 часа с нуля

Ловите полезный двухчасовой курс по созданию сайта с JavaScript, где вы:

— напишите с нуля приложение, которое сможете добавить в портфолио;
— научитесь настраивать рабочее окружение;
— поймёте зачем на самом деле нужны классы в JavaScript);
— разберётесь как принципы SOLID помогают писать расширяемый и поддерживаемый код;
— поработаете над оптимизацией приложения;
— задеплоите приложение на хостинг и сделаете многое другое.

Видео взято с YouTube, поэтому если предпочитаете смотреть там, то вот ссылка: youtu.be/0ViiJ8qTCFM

#видео #курс #javascript
🔥41
Веб-страница
Вам больше не нужен JavaScript И не потому, что вы будете писать на другом языке. Просто сегодня CSS и HTML могут заменить значительную часть JS-кода. Здесь собраны интересные решения CSS, которые сегодня отлично работают и освобождают вас от необходимости…
JavaScript, отдохни! Делаем интерактивные вещи на HTML и CSS

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

#javascript #html #css
6👍3
Кто есть кто: Обратные вызовы, промисы и асинхронные функции

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

Что это вообще такое? В каких случаях используются? Как работают? Каков их внутренний механизм? В этой статье вы раз и навсегда разберёте суть этих процессов.

#javascript
🔥63
JavaScript на блокчейне: как язык браузера стал сердцем Web3

Казалось бы, JavaScript и блокчейн — вещи из разных миров: один создавался для кнопок на веб-страницах, другой — для распределённых систем и шифрования. Но именно JavaScript оказался ключом, который открыл Web3 для миллионов разработчиков.

Здесь мы разбираемся, как язык фронтенда постепенно взял под контроль децентрализованный интернет — от кошельков до нод и смарт-контрактов.

#web3 #javascript
🔥5😁1
Media is too big
VIEW IN TELEGRAM
Учимся работать с DOM в JS

Урок для начинающих, который поможет вам разобраться, как работать с элементами DOM-дерева в JavaScript. За полчаса вы пройдёте 26 упражнений, где вы научитесь:

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

Смотреть можно здесь или на YouTube.

#видео #javascript #начинающим
🔥6
Как с помощью JavaScript убрать ботов, чтобы A/B-тесты были точнее

Боты сильно могут искажать реальные данные в любой сфере — будь то каналы в Telegram (знаю по себе) или статистика сайта. Поэтому важно иметь возможность исключить этих ботов из общей выборки.

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

#javascript
👍42
This media is not supported in your browser
VIEW IN TELEGRAM
Только посмотрите, что творит эта библиотека

TypeGPU — это модульный и открытый набор инструментов для WebGPU с расширенным выводом типов и возможностью писать шейдеры на TypeScript. То есть вы можете использовать возможности GPU для вашего сайта, не погружаясь в нюансы низкоуровневого API.

Ключевая фишка — директива 'use gpu', которая компилирует JS в WSGL для запуска на графическом процессоре.

Подробнее о библиотеке можно почитать здесь.

#javascript #typescript #библиотека
🔥222💩2
Как лучше делать отладку код JavaScript в Chrome DevTools

Поиск и исправление ошибок в JS может быть весьма ресурсозатратным мероприятием. Новичкам этот процесс может показаться неподъёмным камнем.

Но только до знакомства с отладкой в инструментах разработчика, встроенных в браузер. О ней вы узнаете в этой статье. Причём не о привычной всем console.log(), а куда более эффективных способах.

#javascript #qa
3🤔3👍2
Для JavaScript появился ещё один движок

Создал его разработчик полностью в соло. Движок называется Brimstone и написан полностью на Rust.

Несмотря на небольшой вес, Brimstone очень быстрый и на 97% реализует спецификацию ECMAScript, что позволяет использовать его практически с любым кодом. Представляет собой виртуальную машину на основе байт-кода с современной сборкой мусора, собранную по образцу V8.

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

#javascript
🤣43🗿3
Веб-страница
Для JavaScript появился ещё один движок Создал его разработчик полностью в соло. Движок называется Brimstone и написан полностью на Rust. Несмотря на небольшой вес, Brimstone очень быстрый и на 97% реализует спецификацию ECMAScript, что позволяет использовать…
Кстати, пока искал информацию про Brimstone, обнаружил сайт с каталогом JavaScript-движков

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

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

Зоопарк движков можно изучить по ссылке: https://zoo.js.org/

#javascript
6👍4