Напишите Node.js скрипт, который читает текстовый файл и выводит количество строк в нём. Если файл не существует, скрипт должен выводить сообщение об ошибке.
Решение задачи
const fs = require('fs');
const filePath = process.argv[2];
if (!filePath) {
console.error('Укажите путь к файлу как аргумент.');
process.exit(1);
}
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error('Ошибка чтения файла:', err.message);
return;
}
const lines = data.split('\n').length;
console.log(`Количество строк в файле: ${lines}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
• Сравнение Gitlab cache и Gitlab artifacts
• JavaScript: Удобство или Угроза? Размышления о Приватности и Вебе
• Как мы учили немонохромные SVG-логотипы краситься самостоятельно
• Разбираемся с цветами: пространства, иллюзии и квантование
• Как приготовить обфускацию в JavaScript и не сжечь лабораторию: AST, babel, плагины
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Статья изучает шаблоны наследования в JavaScript, основанные на прототипах. Рассматриваются их уникальные особенности и применение, чтобы выбрать наиболее подходящий подход для задач.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Напишите HTTP-сервер на Node.js, который записывает информацию о каждом входящем запросе (метод, URL, время) в текстовый файл
requests.log
. Сервер должен возвращать "Запрос обработан"
на любой запрос.Пример:
node server.js
curl http://localhost:3000/test
curl -X POST http://localhost:3000/api
[2024-11-11T12:00:00Z] GET /test
[2024-11-11T12:00:05Z] POST /api
Решение задачи
const http = require('http');
const fs = require('fs');
const logFile = 'requests.log';
// Создание HTTP-сервера
const server = http.createServer((req, res) => {
const logEntry = `[${new Date().toISOString()}] ${req.method} ${req.url}\n`;
// Записываем лог в файл
fs.appendFile(logFile, logEntry, (err) => {
if (err) {
console.error('Ошибка записи лога:', err.message);
}
});
// Отправляем ответ
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Запрос обработан');
});
// Запуск сервера на порту 3000
server.listen(3000, () => {
console.log('Сервер запущен на http://localhost:3000');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
Node.js Разработчик
Junior FullStack Developer (React + Node.js)
Junior+/Middle Full-Stack Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰1
Как добавить новое поле в базу данных и связать его с фронтендом? В статье рассказывается об обновлении таблицы Webhook, создании календаря на Angular и настройке работы с временными зонами и локализацией.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👻1
fs.promises
в Node.js и как его использовать?fs.promises
— это API для работы с файловой системой с использованием промисов, что позволяет писать асинхронный код без коллбеков.const fs = require('fs').promises;
async function readFile() {
try {
const data = await fs.readFile('example.txt', 'utf8');
console.log('Содержимое файла:', data);
} catch (err) {
console.error('Ошибка чтения файла:', err.message);
}
}
readFile();
🗣️ В этом примере fs.promises.readFile используется для чтения файла асинхронно, делая код чище и проще для обработки ошибок через try-catch.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2❤🔥1
FullStack разработчик (Vue, Node)
•
Node.js, Vue.js, MySQL, Docker, Webpack, Git•
Уровень дохода не указан | 3–6 летNode.js Backend Developer
•
Node.js, TypeScript, PostgreSQL, Koa, Liquibase, Sequelize•
Уровень дохода не указан | 3–6 летNode.js Backend разработчик (удаленно)
•
Node.js, TypeScript, PostgreSQL, REST API, Redis, Microservices•
от 180 000 до 660 000 ₽ на руки | 1–3 годаPlease open Telegram to view this post
VIEW IN TELEGRAM
Расширение Curl в PHP 8.4 представляет новую опцию
CURLOPT_PREREQFUNCTION
, позволяющую задать пользовательский callable
для принятия решения о продолжении или прерывании запроса. Эта возможность доступна, если расширение собрано с libcurl 7.80.0 или более поздней версии.Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4👎3👏1😁1
Статья исследует концепцию потоков в Node.js, объясняя их ключевую роль в модулях, таких как fs и http. Рассматриваются основные концепции и ментальная модель, помогающая понять и эффективно использовать потоки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Fullstack разработчик
•
Node.js, SQL, Jenkins, MySQL, GitLab, Grafana, DevOps, Puppet•
от 1 500 $ на руки | 3–6 летSenior Fullstack Developer (Nest / React)
•
TypeScript, Node.js, React, Nest.js, Redux, TypeORM, MySQL, RabbitMQ•
от 3 000 до 4 000 $ на руки | Более 6 летSenior Backend Developer (Node.js)
•
Node.js, TypeScript, MongoDB, Apache Kafka, ClickHouse, Elasticsearch•
от 3 800 до 6 300 $ на руки | Более 6 летPlease open Telegram to view this post
VIEW IN TELEGRAM
Асинхронный JavaScript: разница между отправкой запроса и его результатом. Узнай, почему проверка response.ok важна для обработки ошибок на сервере, и как избежать ловушки, надеясь только на блок catch.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
process
— это глобальный объект в Node.js, который предоставляет информацию и управление текущим процессом. Через process.argv
можно получить массив аргументов командной строки.// Запуск: node script.js привет мир
const args = process.argv.slice(2); // Убираем первые два аргумента (node и имя файла)
console.log(args); // ['привет', 'мир']
🗣️ В этом примере process.argv позволяет извлечь пользовательские аргументы командной строки, что полезно для CLI-приложени
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Узнайте, как использовать хуки React (useTransition, useDeferredValue и useOptimistic) для создания более отзывчивых интерфейсов. Советы, примеры и приёмы для плавной работы с данными!
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
В статье рассказывается, как настроить рабочее пространство VSCode для разработки. Обзор полезных расширений, которые повышают удобство и продуктивность, и советы по их применению.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3
Ты можешь использовать IDE или текстовый редактор годами, но не знать половины его возможностей. Это как иметь Ferrari и ездить только на первой передаче.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
NodeJs Developer
Full Stack Developer
PHP-разработчик на WordPress (Бекенд)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Что означают номера портов для веб-разработчиков? Статья исследует практическое применение портов, объясняет их выбор в популярных инструментах и рассказывает, как порты влияют на настройку локальных серверов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Напишите HTTP-сервер на Node.js, который записывает информацию о каждом входящем запросе (метод, URL, время) в текстовый файл
requests.log
. Сервер должен возвращать "Запрос обработан"
на любой запрос.Пример:
node server.js
curl http://localhost:3000/test
curl -X POST http://localhost:3000/api
[2024-11-11T12:00:00Z] GET /test
[2024-11-11T12:00:05Z] POST /api
Решение задачи
const http = require('http');
const fs = require('fs');
const logFile = 'requests.log';
// Создание HTTP-сервера
const server = http.createServer((req, res) => {
const logEntry = `[${new Date().toISOString()}] ${req.method} ${req.url}\n`;
// Записываем лог в файл
fs.appendFile(logFile, logEntry, (err) => {
if (err) {
console.error('Ошибка записи лога:', err.message);
}
});
// Отправляем ответ
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Запрос обработан');
});
// Запуск сервера на порту 3000
server.listen(3000, () => {
console.log('Сервер запущен на http://localhost:3000');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1