🤩Многопоточность JavaScript с SharedArrayBuffer и Atomics: основы
В этой статье мы рассмотрим примеры использования SharedArrayBuffer и Atomics для создания счетчика для отслеживания активных запросов в реальном времени, параллельной обработки массива данных и синхронизации состояния между потоками.
Читать...
В этой статье мы рассмотрим примеры использования SharedArrayBuffer и Atomics для создания счетчика для отслеживания активных запросов в реальном времени, параллельной обработки массива данных и синхронизации состояния между потоками.
Читать...
Специалисты, имеющие отношение к параллельному проектированию, иногда сталкиваются с так называемым состоянием гонок. Сегодня поговорим о том, чем чревато такое явление, что его вызывает и как с ним бороться.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
React вводит новые крутые функции, которые могут значительно повлиять на процесс разработки. В этой статье мы детально разберем основные изменения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое «плавная миграция», в чем ее сложность и основные проблемы? Подробно разберем подход стратегии миграции на уровне брокеров объединенного кластера.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Получить аргумет. Если он больше 0 — вывести в консоль
"Hello"
, если меньше — "olleH"
:node script.js 1
# Output: Hello
node script.js -1
# Output: olleH
Решение задачи
const args = process.argv.slice(2);
// Проверяем, есть ли аргумент и является ли он числом
if (args.length > 0 && !isNaN(args[0])) {
const number = Number(args[0]);
// Выводим сообщение в зависимости от значения аргумента
if (number > 0) {
console.log("Hello");
} else if (number < 0) {
console.log("olleH");
} else {
console.log("The number is zero.");
}
} else {
console.log("Please provide a valid number as an argument.");
}
Please open Telegram to view this post
VIEW IN TELEGRAM
• Микросервисы в представлении среднего разработчика, и как всё на самом деле
• Playwright и Allure как хорошая практика для разработки веб-приложения
• HTTP <AntexGate> Modbus конвертор Linux
• Как настроить SEO при создании сайтов самостоятельно?
• Playwright и Allure как хорошая практика для разработки веб-приложения
Please open Telegram to view this post
VIEW IN TELEGRAM
…когда пишешь плохой код. О том, как применять пул соединений, а не просто копипастить найденный в интернете код.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В Node.js программно манипулировать файлами можно с помощью встроенного модуля fs, содержащего функции, необходимые для чтения, записи, удаления и перемещения файлов на сервере. Рассмотрим эти функции в действии.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
С появлением Bun - среды выполнения JavaScript, заменившей Node.js, - создавать высокопроизводительные API стало гораздо проще. Предлагаем пошаговое руководство по разработке сетевого API с помощью Express.js, MongoDB и Bun.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Базы данных играют ключевую роль в веб-приложениях, обеспечивая хранение, управление и доступ к данным. Разработчикам важно подобрать подходящую базу данных для своего проекта. Рассмотрим пять популярных баз данных, часто используемых в веб-приложениях.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Калькулятор
light
. Получить 2 аргумента, перемножить их и вывести результат в консоль:nodejs script.js 2 3
Result: 6
Решение задачи
const args = process.argv.slice(2);
// Проверка на наличие двух аргументов
if (args.length !== 2) {
console.error('Please provide exactly two arguments.');
process.exit(1);
}
// Преобразование аргументов в числа
const num1 = parseFloat(args[0]);
const num2 = parseFloat(args[1]);
// Проверка на корректность числовых значений
if (isNaN(num1) || isNaN(num2)) {
console.error('Both arguments must be valid numbers.');
process.exit(1);
}
// Перемножение чисел
const result = num1 * num2;
// Вывод результата в консоль
console.log(`Result: ${result}`);
Please open Telegram to view this post
VIEW IN TELEGRAM
• HTTP <AntexGate> Modbus конвертор Linux
• Изучение случайности в JavaScript
• Гайд по деплою web-приложений для новичков. Часть 1. Shared-хостинг
• Docker для Angular-приложений: от простого к несложному
• Гайд по деплою web-приложений для новичков. Часть 2. VPS и настройка окружения
Please open Telegram to view this post
VIEW IN TELEGRAM
События на стороне сервера - все еще не до конца изученное явление, которое может серьезно озадачить как новичка, так и профи. Тем не менее они могут принести и пользу. Рассказываем, как с помощью этих событий решить проблему генерации субтитров.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Пошаговое руководство поможет создать простейшее чат-приложение с помощью серверной платформы node.js и библиотеки socket.io. Чат-бот сможет отвечать на заданные вопросы и послужит для заказа билетов, еды и прочих продуктов или услуг.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Реализуем обработку временных сбоев в Spring Boot, рассмотрим аннотации для соответственных поведений. Проверим механизм в действии, отправив HTTP-запрос.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Вводя обычный текст, пользователи легко обнаруживают, что Caps Lock включен. Но когда вводится пароль, проблема не столь очевидна. В результате пароль не принимается, и это раздражает пользователя. В идеале разработчики могли бы предупреждать пользователя о том, что у него включен Caps Lock.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Advanced калькулятор: Получите 3 аргумента: 1 число, мат. операцию и 2 число. Выполните операцию и выведите результат в консоль.
Реализуйте сложение, вычитание, умножение и деление. Учтите, что операторы должны быть в кавычках для правильной передачи в скрипт.
nodejs script.js 2 "*" 3
Result: 6
nodejs script.js 2 "-" 3
Result: -1
nodejs script.js 2 "+" 3
Result: 5
nodejs script.js 2 "/" 3
Result: 0.6666666
Решение задачи
// Получение аргументов командной строки
const args = process.argv.slice(2);
// Проверка количества аргументов
if (args.length !== 3) {
console.log("Usage: node script.js <number1> <operation> <number2>");
process.exit(1);
}
// Парсинг аргументов
const num1 = parseFloat(args[0]);
const operation = args[1];
const num2 = parseFloat(args[2]);
// Проверка на корректность чисел
if (isNaN(num1) || isNaN(num2)) {
console.log("Both arguments must be valid numbers.");
process.exit(1);
}
// Выполнение математической операции
let result;
switch (operation) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
console.log("Invalid operation. Use one of +, -, *, /");
process.exit(1);
}
// Вывод результата
console.log(`Result: ${result}`);
Please open Telegram to view this post
VIEW IN TELEGRAM
В дополнение к таким API, как Promise.finally, ECMAScript 2018 принес нам еще один способ работы с итераторами. Это асинхронные итераторы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Supabase - инструмент с открытым исходным кодом, который не стоит игнорировать. Он не только доступнее и надежнее, чем Firebase, но и обладает впечатляющим спектром возможностей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Redux вроде как изучили вдоль и поперек, но от этого он не стал идеальным. В данной статье мы детально разберем один из самых неприятных механизмов в Redux, которым многие стреляют себе в ногу – useSelector.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Подробно разберем передовые методы обеспечения безопасности, дадим идеи для их реализации. Попробуем выстроить многоуровневую линию обороны.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM