Обновить
1

Fullstack-разработчик

1
Подписчики
Отправить сообщение

Затенение в JavaScript

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели5.5K

В статье о глобальной области видимости в JavaScript, мы коротко коснулись темы затенений (бурж. variable shadowing), в данной статье мы рассмотрим это явление подробнее.

В одной области видимости, не может быть переменных или аргументов с одинаковыми именами. Нарушение данного правила ведёт к ошибке...

Что такое затенение?

Утечки памяти в замыканиях JavaScript

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.4K

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

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

Что за неочевидные ссылки?

Замыкания в JavaScript

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели6K

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

Подробнее о замыканиях

Глобальная область видимости в JavaScript

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.7K

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

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

Какие ещё формы?

Всплытие переменных и функций в JavaScript

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.3K

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

Ииии что это за особенность?

Дочерние процессы в Node.js

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели5.5K

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

Если воркеры запускают отдельный поток внутри одного процесса в котором работает программа, то модуль child_process порождает новый процесс в ОС, что является гораздо более тяжёлой операцией. Архитектура многопоточки в JavaScript, такова что потоки максимально изолированы друг от друга и не имеют общей памяти. Тем не менее есть масса способов обойти это ограничение если очень нужно и в своих статьях я приводил подобные примеры. С процессами всё иначе. Они жёстко изолированы, один от другого и пробить этот барьер способов нет.

Если говорить простым языком то воркер, это как нанять ещё одного гребца на Вашу галеру. С ним можно быстро и легко общаться, ведь вы буквально находитесь на одном суде (процессе) и даже на прямую без посредников обмениваться сообщениями (SharedArrayBuffer). Но вот если он зарулит на скалы, то и потоните вы тоже вместе. Дочерний процесс же это как построить новую галеру с другим капитаном и экипажем. Дорого, долго, обменивать данными можно только через медленные записки (IPC), зато он полностью независим от Вас, а Вы от него.

Как-же запустить эти дочерние процессы?

Передачи данных в воркеры JavaScript

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели6.6K

Передача данных между воркерами в JavaScript, не так проста и имеет массу особенностей завязанных на реализации потоков в языке. Хотите узнать о том какие ограничения накладывает архитектура многопоточки JS и как эти ограничения безопасно обойти?

Хочу!

Аргументы воркеров в Node.js и на что они влияют

Уровень сложностиСложный
Время на прочтение18 мин
Охват и читатели5.9K

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

Чё ещё за аргументы?

Веб-воркеры — многопоточность в JavaScript

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.8K

Даже самые зелёные новички в вебе знаю, что скрипты JS, нужно располагать в самом низу страницы перед закрывающим тегом `` и всё знаю что это повышает скорость загрузки страницы. Но Вы когда-нибудь задумывалась почему оно так?

JavaScript по своей природе однопоточный язык, но мало того, он делит этот единственный поток сразу с HTML и CSS. Это приводит к тому, что встречая тег <script>, браузер начинает, исполнять его код, при этом останавливая дальнейшую обработку HTML и CSS и в результате пользователь наблюдает белый экран, вместо сайта, до тех самых пор пока, браузер не закончит с кодом JavaScript. Именно потому убирая подключения скриптов, в самый конец страницы, мы даём интерфейсу сайта максимально быстро погрузится и не бесить пользователей белой простынёй.

Но подобный подход годен не везде, иногда жизненно необходимо, чтобы код JS, начал исполнение как можно раньше. Да и при подключении в самом низу, крупный JS-бандл, может здорово подкосить перфоманс сайта. Как быть в таких ситуациях? Смирится с тем что пользователи будут испытывать определённый дискомфорт во время загрузки сайта? Конечно же нет, можно попробовать вынести наш код в веб-воркеры!

Так что такое эти ваши веб-воркеры?

Node.js — асинхронность по умолчанию

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.4K

Возможно Вам доводилось слышать о том что Node.js идеален для создания веб-серверов. В этой статье я объясню, почему оно так и какие архитектурные принципы заложенные в основу серверного JavaScript, делают его таким подходящим для приложений с высокой интенсивностью ввода/вывода.

Узнать почему?

Работа с атрибутами HTML элементов в JavaScript

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.5K

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

Как работать с атрибутами в JavaScript?

Селекторы HTML элементов в JavaScript

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели13K

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

Основных методов селекторов в JavaScript всего 2 и оба они являются методами классов Document и Element:

Каких?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Фулстек разработчик
JavaScript
Vue.js