LibCode»Блог

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

MySQL | PHP | Python | C++ | JavaScript

Создано при поддержке GigaChat.

JavaScript: Модули

Модули в JavaScript — это мощная возможность, появившаяся в ES6 (EcmaScript 2015), которая позволяет разделять код на отдельные файлы и организовывать его в виде независимых компонентов. Это значительно упрощает разработку больших приложений и улучшает структуру кода.

Что такое модули в JavaScript?


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

Ключевые концепции модулей:
  • Export: экспортирование функций, классов и переменных из модуля.
  • Import: импортирование экспортированных данных из других модулей.
  • Namespace: изоляция кода внутри модуля, предотвращающая конфликты имен.

Примеры использования модулей



1. Export и Import
// math.js
export function add(a, b) {
    return a + b;
}

// main.js
import { add } from "./math.js";
console.log(add(1, 2)); // 3

2...

JavaScript: Операторы rest и spread

Операторы rest (...) и spread (...) были введены в ES6 (EcmaScript 2015) и добавили в JavaScript удобные механизмы для работы с массивами и объектами. Они позволяют собирать и распаковывать элементы массивов и объекты, что значительно упрощает работу с данными.

Что такое операторы rest и spread?



1. Spread Operator (...)
Spread оператор позволяет "распаковать" элементы массива или объекта в другом месте. Обычно используется для копирования массивов, объединения массивов и объектов, а также для передачи аргументов в функции.

2. Rest Parameter (...)
Rest parameter позволяет собрать оставшиеся аргументы функции в массив. Это удобно, когда неизвестно точное количество аргументов, которые передаются в функцию.

Примеры использования операторов rest и spread



1. Распространение массива (Spread Operator)
const nums = [1, 2, 3];
const moreNums = [...nums, 4, 5]; // [1, 2, 3, 4, 5]

// Копирование массива
const copyOfNums = [...nums];

// Передача аргументов в функцию
const maxValue =
...

PHP: Синхронизация и параллельные задачи

PHP традиционно ассоциируется с однопоточным исполнением, что накладывает серьёзные ограничения на разработку высокопроизводительных приложений. В рамках классического подхода каждая HTTP-запрос исполняется последовательно, что приводит к значительным задержкам при обработке больших объёмов данных или длительных операциях.

Однако в ряде ситуаций требуется одновременное исполнение нескольких задач параллельно. Это может понадобиться для:
  • Ускорения выполнения длинных операций (например, импорта данных, обработки изображений).
  • Распараллеливания сетевых запросов (API-вызовы, загрузки файлов).
  • Асинхронной обработки событий (рассылка уведомлений, email-уведомления).

Параллельное выполнение задач в PHP



Потоки (Threads)
PHP изначально не поддерживает многопоточное исполнение на низком уровне, как в языках типа Java или Go. Однако существуют различные подходы для эмуляции параллельного выполнения задач:
  1. Fork-процессов: создание копий текущего процесса с помощью функции pcntl_fork().
  2. Process Control
...

JavaScript: Destructuring (Быстрое извлечение данных)

Destructuring (Деструктуризация) — это одна из полезных возможностей, появившихся в ES6 (EcmaScript 2015), которая позволяет быстро и удобно извлекать значения из массивов и объектов. Она помогает сделать код более лаконичным и выразительным.

Что такое деструктуризация?


Destructuring — это способ присваивания переменных из массива или объекта. Она позволяет легко получить доступ к свойствам объекта или элементам массива и присвоить их значения другим переменным.

Синтаксис деструктуризации:
  • Массивы: const [first, second] = array;.
  • Объекты: const { prop1, prop2 } = object;.

Примеры использования деструктуризации



1. Деструктуризация массивов
const fruits = ["Apple", "Banana", "Cherry"];
const [firstFruit, secondFruit] = fruits;

console.log(firstFruit); // "Apple"
console.log(secondFruit); // "Banana"

2. Деструктуризация объектов
const person = { name: "John", age: 30 };
const { name, age } = person;

console.log(name); // "John"
console.log(age); // 30

3. Переименование свойств
const use
...

JavaScript: Template literals (Шаблонные строки)

Template literals (шаблонные строки) — это мощная и удобная возможность JavaScript, представленная в ES6 (EcmaScript 2015). Они позволяют создавать динамические строки, легко вставлять переменные и выражения, а также выводить строки в несколько строк без использования специальных символов.

Что такое шаблонные строки?


Шаблонные строки — это строки, заключенные в обратные кавычки (`), которые позволяют вставлять переменные и выражения непосредственно в строку с помощью синтаксиса ${expression}.

Преимущества шаблонных строк


  1. Подстановка переменных: легко вставлять переменные и выражения прямо в строку.
  2. Multiline строки: строки могут быть разбиты на несколько строк без использования специальных символов (\n).
  3. Tagged templates: возможность применить функцию к строке, что позволяет расширить возможности использования строк.

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



1. Простая подстановка переменных
const name = "John";
const greeting = `Hello, ${name}!`;
console.log(greeting); // "Hello, John!"

2. M...