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
Чтобы выделить "победителя" среди методов глубокого клонирования в JavaScript, необходимо протестировать каждый из них. Предлагаем результаты серии модульных тестов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Создайте приложение на Node.js, которое считывает URL из аргумента командной строки и проверяет статус этого URL (код ответа HTTP). Если URL доступен (код 200), приложение должно вывести "Доступен", если нет — "Недоступен".
Решение задачи
const https = require('https');
const url = process.argv[2];
https.get(url, (res) => {
if (res.statusCode === 200) {
console.log('Доступен');
} else {
console.log('Недоступен');
}
}).on('error', (e) => {
console.log('Недоступен');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
• Flutter Web. Часть 1
• О том, как я пытался сделать свой агрегатор фриланс-проектов, но он не взлетел
• Апи версионирование по-взрослому
• Как я свалил рутинные задачи на low-code-платформу и не пожалел
• Бесплатный аналог Notion на своем сервере за 10 минут. Локальный запуск, настройка и деплой Wiki.JS
Please open Telegram to view this post
VIEW IN TELEGRAM
Прогрессивные приложения – один из главных трендов веб-разработки. Рассказываем, из каких компонентов состоят PWA, как они могут заменить стандартные веб- и мобильные приложения, и какие компании уже убедились в их высокой эффективности.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Хорошая документация экономит время, привлекает контрибьюторов и пользователей. Мы рассмотрим два open-source проекта с образцовой документацией, на которые стоит равняться каждому разработчику.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
libuv
— это библиотека, используемая Node.js для управления асинхронным вводом/выводом через событийный цикл и пул потоков. Она предоставляет абстракцию над операционными системами, что позволяет Node.js быть кроссплатформенным и эффективно управлять асинхронными операциями, такими как работа с файловой системой, сетевые операции и таймеры.fs.readFile
, происходит через libuv
. Функция передаёт запрос на выполнение в пул потоков, и когда операция завершится, событие добавляется в очередь событий для обработки.const fs = require('fs');
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
🗣️ libuv лежит в основе асинхронной природы Node.js, управляя низкоуровневыми операциями и обеспечивая эффективное выполнение ввода/вывода на уровне ядра.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👏3
Иногда возникает необходимость сделать так, чтобы отдельные строки выполнялись в какой-то определенный момент, а не синхронно со всем остальным кодом.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM