В этой статье мы рассмотрим замыкания в JavaScript. Вы познакомитесь с определением замыкания и разберетесь в его работе на примере.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Buffer
в Node.js?const buffer = Buffer.from('Hello, World!');
console.log(buffer.toString('hex')); // 48656c6c6f2c20576f726c6421
console.log(buffer.toString()); // Hello, World!
🗣️ В отличие от строк, которые являются последовательностями символов, Buffer хранит данные как последовательность байтов. Это важно для работы с сетевыми протоколами, шифрованием, или любыми другими операциями, где требуется управление сырыми байтами.
Buffer.from()
создает буфер из строки, а методы toString('hex')
и toString()
позволяют преобразовать буфер в шестнадцатеричное представление и обратно в строку соответственно.Please open Telegram to view this post
VIEW IN TELEGRAM
В версии 5.5 TypeScript предлагает ряд новшеств, которые делают код более надежным и читаемым. Рассмотрим ключевые изменения, включая предикаты выводимых типов и оптимизацию работы с массивами.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Представляем два малоизвестных, но очень полезных метода управления асинхронными задачами: AbortSignal.timeout() и AbortSignal.any(). Оба эти метода поддерживаются основными веб-браузерами и позволяют корректно прервать асинхронные операции.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Собрали для вас 15 плагинов, которые облегчат жизнь веб-разработчику. Тут всё: от работы с HTML до интеграции с Figma и Docker.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте приложение на Node.js, которое принимает строку JSON в качестве аргумента командной строки, парсит её и выводит значение всех свойств, которые являются числовыми, в формате "ключ: значение".
Решение задачи
const jsonString = process.argv[2];
try {
const parsedObject = JSON.parse(jsonString);
Object.entries(parsedObject).forEach(([key, value]) => {
if (typeof value === 'number') {
console.log(`${key}: ${value}`);
}
});
} catch (error) {
console.error('Невозможно распарсить JSON:', error.message);
}
Please open Telegram to view this post
VIEW IN TELEGRAM
• Как объединить фронтенд с бэкендом и не сломать веб-приложение
• Telegram Mini App. Как создать Web App с нуля
• JavaScript: структуры данных и алгоритмы. Часть 3
• Сборка приложений на NestJS и Angular и запуск их в двух вариантах: через PM2 и через «Docker Compose»
• Как я создавал онлайн игру «нарды» (часть третья). Сервер
Please open Telegram to view this post
VIEW IN TELEGRAM
CSS-анимации не только более производительны, чем их JavaScript-аналоги, но и проще в реализации. В этой статье мы рассмотрим 13 библиотек, которые помогут вам создавать впечатляющие анимационные эффекты.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создавать документацию вручную — это долго и легко напортачить. Ловите подборку крутых инструментов, которые автоматизируют эту рутину и дадут вам возможность полностью сосредоточиться на кодинге, а не на писанине.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
setImmediate
?console.log('Before setImmediate');
setImmediate(() => {
console.log('Inside setImmediate');
});
console.log('After setImmediate');
setImmediate
часто используется для выполнения задач сразу после завершения текущего блока операций, но до обработки следующих операций ввода-вывода.🗣️ В отличие от setTimeout, которая запускает функцию после указанной задержки, setImmediate запускает функцию на следующем цикле событий без какой-либо задержки, но после всех текущих операций ввода-вывода.
Please open Telegram to view this post
VIEW IN TELEGRAM
Крутые приемы для разработки: разбираемся с функциональной архитектурой, мемоизацией и разделением кода. Избавляемся от ненужных вычислений и перерисовок — качаем производительность до максимума.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Ресурсы приложения - вещь дефицитная. Узнайте, как оптимизировать их работу, чтобы повысить стабильность, производительность и эффективность системы. Научитесь использовать потенциал Node.js по максимуму!
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Пошагово сделаем минималистичный фреймворк HTTP-сервера с подробным разбором кода и синтаксиса, возможностью создания системы маршрутизации. Затем запустим его в контейнере Docker.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте приложение на Node.js, которое принимает строку в качестве аргумента командной строки и выводит все возможные перестановки символов в этой строке.
Пример выполнения:
Все перестановки для строки "abc":
abc
acb
bac
bca
cab
cba
Решение задачи
function permute(str) {
if (str.length <= 1) return [str];
const permutations = [];
for (let i = 0; i < str.length; i++) {
const char = str[i];
const remainingChars = str.slice(0, i) + str.slice(i + 1);
for (const perm of permute(remainingChars)) {
permutations.push(char + perm);
}
}
return permutations;
}
const input = process.argv[2];
if (!input || input.length === 0) {
console.log("Ошибка: Передайте непустую строку.");
} else {
const result = permute(input);
console.log(`Все перестановки для строки "${input}":`);
console.log(result.join("\n"));
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Включите в свой арсенал 4 суперполезных пользовательских хука React. Они повысят эффективность работы, а также масштабируемость и читаемость кода.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Вот пять простых способов, как добавить динамический контент на страницу с помощью чистого JavaScript. Все методы безопасные и удобные для работы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Теперь писать код станет ещё проще и быстрее! Новые фичи, такие как Object.groupBy, регулярки с флагом V, Promise.withResolvers и методы изменения массивов, решают современные проблемы и делают код более понятным и эффективным.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Cluster — это модуль Node.js, позволяющий создавать несколько процессов (воркеров) для выполнения кода параллельно. Это полезно для улучшения производительности на многопроцессорных системах, так как Node.js работает в однопоточном режиме.
const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Создание воркеров на основе числа ядер процессора
console.log(`Master ${process.pid} is running`);
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`Worker ${worker.process.pid} died`);
});
} else {
// Каждый воркер будет запускать сервер
http.createServer((req, res) => {
res.writeHead(200);
res.end(`Hello from worker ${process.pid}\n`);
}).listen(8000);
console.log(`Worker ${process.pid} started`);
}
➡️ Cluster позволяет создавать несколько экземпляров сервера на каждом ядре процессора, увеличивая масштабируемость и производительность приложений на Node.js.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4❤1😁1
В этой статье рассказывается, как сделать приложение на Vue JS, которое показывает погоду в зависимости от того, какое место введет пользователь.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4👍2❤1
Предлагаем создать веб-приложение, которое преобразует аудиозаписи на разных языках в текст. Задача предполагает работу с моделью Whisper от OpenAI.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1