Разница между
export default xxx
и export { xxx as default }
в JavaScript может показаться малозаметной, но может повлиять на поведение кода.Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
В этом руководстве рассказывается о преимуществах запуска приложений Node.js в контейнерах Docker и о том, как создать практичный рабочий процесс разработки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
В последнее время браузеры стремительно обретают довольно важные возможности. Возможности, для реализации которых могло потребоваться несколько библиотек JavaScript (или CSS), теперь доступны в браузерах из коробки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Хочешь узнать, как обрабатывать миллионы событий в секунду и почему такие гиганты, как Netflix и Uber, без ума от Kafka? Давай разберемся, как этот инструмент может превратить поток данных в золотую жилу для твоего проекта.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Как избавиться от ненужных файлов в образе докера? Выполним контейнеризацию приложения и простую оптимизацию размеров образа Docker.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Представляем 5 полезных, но малоизвестных библиотек JavaScript! Они помогут сэкономить силы и время при форматировании дат, обработке URL-параметров и отладке веб-страниц в мобильном терминале.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте небольшое приложение на Node.js, которое симулирует простой чат. Программа должна принимать два аргумента командной строки: действие (
send
, history
) и сообщение. Программа должна сохранять все сообщения в текстовом файле (chat.txt
) и уметь добавлять новые сообщения, а также выводить историю чата.•
node app.js send "Привет, как дела?"
— добавляет сообщение "Привет, как дела?" в файл. • • node app.js history
— выводит историю всех сообщений из файла.Решение задачи
const fs = require('fs');
const action = process.argv[2];
const message = process.argv[3];
const filePath = 'chat.txt';
if (!action) {
console.log('Используйте: node app.js <send|history> [message]');
process.exit(1);
}
// Функция для добавления нового сообщения
function sendMessage(message) {
const timestamp = new Date().toLocaleString();
const formattedMessage = `[${timestamp}] ${message}`;
fs.appendFile(filePath, `${formattedMessage}\n`, (err) => {
if (err) {
console.error('Ошибка при отправке сообщения:', err);
process.exit(1);
}
console.log('Сообщение отправлено.');
});
}
// Функция для вывода истории сообщений
function showHistory() {
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error('Ошибка чтения файла:', err);
process.exit(1);
}
const messages = data.trim().split('\n');
if (messages.length === 0 || (messages.length === 1 && messages[0] === '')) {
console.log('История чата пуста.');
} else {
console.log('История чата:');
messages.forEach((msg) => {
console.log(msg);
});
}
});
}
// Логика обработки команд
if (action === 'send') {
if (!message) {
console.log('Введите сообщение для отправки.');
} else {
sendMessage(message);
}
} else if (action === 'history') {
showHistory();
} else {
console.log('Неизвестное действие. Используйте "send" или "history".');
}
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2
Ключевое слово
import
используется для импорта привязок, которые экспортируются другим модулем, а функция require()
используется для загрузки модуля в приложении Node.js. Эти два механизма похожи, но у них есть важные отличия о которых вам следует знать. Мы обсудим их в этой статье.Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Растущее комьюнити Node.js - свидетельство надежности и эффективности этого инструмента. Однако не всем удается извлечь из него максимальную выгоду. Рассмотрим самые распространенные ошибки разработчиков Node.js.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1