5 книг для фронтенд-разработчика
- 18 января 2019
ES6 и не только
Кайл Симпсон
![«ES6 и не только»](https://cs1.htmlacademy.ru/blog/js/five-frontend-books/a1e1209cc770c3f731bbfdb62a0cfb60.jpeg)
Единственная книга по ES6 на русском от хорошего автора. Особое внимание в ней уделяется новым функциям, появившимся в Ecmascript 6.
JavaScript: сильные стороны
Дуглас Крокфорд
![«JavaScript: сильные стороны»](https://cs1.htmlacademy.ru/blog/js/five-frontend-books/2886368c92516b5b6515ee940d563b80.jpeg)
Классическое руководство по самым полезным частям языка. В этой книге выделены наиболее надёжные и удобные JavaScript-конструкции, которые позволяют создавать эффективный код.
JavaScript. Шаблоны
Стоян Стефанов
![«JavaScript. Шаблоны»](https://cs1.htmlacademy.ru/blog/js/five-frontend-books/d97b4986da094459da41f167b65b9749.jpeg)
В книге с подробными пояснениями описываются примеры хорошего и плохого кода. Для её чтения необходимы хорошее знание языка и опыт написания скриптов. В руководстве также приводятся разные способы обхода недостатков языка. Рекомендую читать тем, кто уже освоил основы и готов двигаться дальше.
Practical SVG
Крис Койер
![«Practical SVG»](https://cs1.htmlacademy.ru/blog/js/five-frontend-books/72efa4e4bcec0c9efc40e330eec4d34f.jpeg)
Книга подойдёт для опытных веб-дизайнеров и разработчиков. Если вы никогда не работали с HTML, CSS, JavaScript, возможно, она покажется вам слишком непонятной. В ней разбираются основы использования SVG, инструменты сборки, анимация SVG и другие особенности векторной графики.
Accessibility for everyone
Лора Калбэг
![«Accessibility for everyone»](https://cs1.htmlacademy.ru/blog/js/five-frontend-books/e6c949ca050c50c2753b46ed84f5bb5a.jpeg)
Книга о разработке доступного интерфейса. В ней описано, как написать доступный код, и эффективно использовать лучшие практики. Из неё вы узнаете, почему доступность имеет значение, и как её реализовать.
Некоторые книги серии A Book Apart есть и на русском языке. Среди них — «CSS3 для веб-дизайнеров», «Эмоциональный веб-дизайн», «Дизайн — это работа» и другие.
Мало книг?
Посмотрите подборку для тех, кто начинает учить JavaScript, и осваивать бэкенд-разработку.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Читать дальше
![9 книг по JavaScript для начинающих в 2024](https://cs1.htmlacademy.ru/blog/js/books-javascript/preview.png)
9 книг по JavaScript для начинающих в 2024
Все вокруг говорят, что книги — прошлый век. Но вовремя прочитанная хорошая книжка может здорово помочь в изучении нового языка или технологии, а то и вообще целиком объяснить какую-нибудь важную штуку. Например, какие бывают алгоритмы, или зачем нужен рефакторинг. К тому же, хоть фреймворки меняются каждый год, основы обычно долго не меняются.
Мы опросили знакомых разработчиков, узнали, что читают они сами, и предлагаем вам подборку хороших книг по JavaScript.
- 6 марта 2024
![Объект URL в JavaScript: полный разбор](https://cs1.htmlacademy.ru/blog/js/url/preview.png)
Объект URL в JavaScript: полный разбор
Объект URL
в JavaScript представляет URL-адрес и предоставляет удобные методы для работы с ним. Он позволяет анализировать, конструировать и декодировать URL-адреса.
Создать объект URL
можно двумя способами:
Конструктор URL()
— самый распространённый способ, в котором вы передаёте любой URL в виде строки в качестве аргумента.
const url = new URL("https://www.example.com/path?query=123#hash");
Использование window.location
— это глобальный объект в браузерах, который содержит информацию о текущем URL.
const currentUrl = new URL(window.location.href);
- 23 января 2024
![Генерация QR-кодов на JS в 4 шага. Node.js + qrcode](https://cs1.htmlacademy.ru/blog/js/qr-generator/preview.png)
Генерация QR-кодов на JS в 4 шага. Node.js + qrcode
Давайте сделаем простой REST API на Node.js и Express, который будет генерировать QR-коды для любой ссылки. Если у вас ещё не установлены Node.js
и npm
, установите их с официального сайта.
- 22 ноября 2023
![ChatGPT не справляется](https://assets.htmlacademy.ru/previews/blog/2153/default1698921768956@1x.png)
ChatGPT не справляется
Притворитесь нейросетью и решите 101 задачку по JavaScript как можно быстрее.
- 2 ноября 2023
![Знакомство с JavaScript](https://cs1.htmlacademy.ru/blog/js/introduction-to-javascript/preview.png)
Знакомство с JavaScript
Теперь, когда вы знаете, как создать структуру веб-страницы с помощью HTML и оформить ее стилями с помощью CSS, пришло время оживить её с помощью JavaScript (JS). JavaScript — это мощный язык программирования, который используется для создания интерактивных и динамических веб-сайтов.
Вы можете добавить JavaScript в ваш HTML-документ двумя способами:
Встроенный JavaScript: непосредственно в HTML-документ, в тегах <script>
:
<script>
alert("Привет, мир!");
</script>
Внешний JavaScript: подключение внешнего .js
файла к HTML-документу:
<script src="script.js"></script>
- 1 ноября 2023
![Событие onclick в JS на примерах](https://cs1.htmlacademy.ru/blog/js/onclick/preview.png)
Событие onclick в JS на примерах
Интерактивность — ключевой компонент любого современного сайта. И одним из наиболее часто используемых событий для создания интерактивности является событие onclick
. В этой статье мы подробно разберёмся, что такое событие onclick
, как его использовать и приведем примеры применения.
Событие onclick
— это событие JavaScript, которое активируется, когда пользователь кликает на определенный элемент страницы. Это может быть кнопка, ссылка, изображение или любой другой элемент, на который можно нажать.
- 30 октября 2023
![Как перевернуть сайт. Самая короткая инструкция](https://assets.htmlacademy.ru/previews/blog/2141/default1698229018763@1x.png)
Как перевернуть сайт. Самая короткая инструкция
Не представляем, зачем это может понадобиться, но не могли пройти мимо.
Никакой магии. Мы вызываем JavaScript-функцию rotateBody()
, которая применяет свойство transform
с значением rotate(180deg)
к элементу <body>
. Когда вы нажмете на кнопку «Перевернуть», всё, что находится внутри <body>
будет повернуто на 180 градусов (то есть, встанет вниз головой)
function rotateBody() {
document.body.style.transform = 'rotate(180deg)';
}
<button onclick="rotateBody()">Перевернуть</button>
Но такой код повернёт страницу только один раз. Если нужно, чтобы она возвращалась обратно при втором клике, усложним код:
let isRotated = false;
function rotateBody() {
if (isRotated) {
document.body.style.transform = 'rotate(0deg)';
document.body.style.direction = "ltr";
} else {
document.body.style.transform = 'rotate(180deg)';
document.body.style.direction = "rtl";
}
isRotated = !isRotated;
}
Надеемся, вы прочитали это описание до того, как нажать на кнопку.
- 25 октября 2023
![Как узнать геолокацию: Geolocation API](https://cs1.htmlacademy.ru/blog/js/geolocation/preview.png)
Как узнать геолокацию: Geolocation API
Geolocation API позволяет сайтам запрашивать, а пользователям предоставлять свое местоположение веб-приложениям. Геолокация может использоваться для выбора города в интернет-магазине, отображения пользователя на карте или навигации в ближайший гипермаркет.
Основной метод Geolocation API — getCurrentPosition()
, но есть и другие методы и свойства, которые могут пригодиться.
- 16 октября 2023
![Что такое localStorage и как им пользоваться](https://cs1.htmlacademy.ru/blog/js/localstorage/preview.png)
Что такое localStorage и как им пользоваться
localStorage
— это место в браузере пользователя, в котором сайты могут сохранять разные данные. Это как ящик для хранения вещей, которые не исчезнут, даже если вы выключите компьютер или закроете браузер.
До localStorage
разработчики часто использовали cookies, но они были не очень удобны: мало места и постоянная передача данных туда-сюда. LocalStorage появился, чтобы сделать процесс более простым и эффективным.
- 12 октября 2023
![Случайное число из диапазона](https://cs1.htmlacademy.ru/blog/js/rand-between/preview.png)
Случайное число из диапазона
Допустим, вам зачем-то нужно целое случайное число от min
до max
. Вот сниппет, который поможет:
function getRandomInRange(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
- Math.random () генерирует случайное число между 0 и 1. Например, нам выпало число
0.54
. - (max — min + 1): определяет количество возможных значений в заданном диапазоне.
10 - 0 + 1 = 11
. Это значит, что у нас есть 11 возможных значений (0, 1, 2, ... 10). - Math.random () * (max — min + 1): умножает случайное число на количество возможных значений:
0.54 * 11 = 5.94
. - Math.floor (): округляет число вниз до ближайшего целого. Так,
Math.floor(5.94) = 5
. - ... + min: смещает диапазон так, чтобы минимальное значение соответствовало
min
. Но в нашем примере, так какmin = 0
, это не изменит результат. Пример:5 + 0 = 5
. - Итак, в нашем примере получилось случайное число 5 из диапазона от 0 до 10.
Чтобы протестировать, запустите:
console.log(getRandomInRange(1, 10)); // Тест
- 7 сентября 2023