Создайте приложение на Node.js, которое считывает большой текстовый файл построчно и анализирует количество слов в каждой строке. Приложение должно использовать потоковое чтение (streams), чтобы эффективно обрабатывать большие файлы, не загружая их целиком в память.
•
node app.js analyze filename.txt
— считывает файл filename.txt построчно, подсчитывает слова в каждой строке и выводит их общее количество для каждой строки в консоль.Решение задачи
const fs = require('fs');
const readline = require('readline');
const path = require('path');
function analyzeFile(filePath) {
const lineReader = readline.createInterface({
input: fs.createReadStream(filePath),
crlfDelay: Infinity
});
lineReader.on('line', (line) => {
const wordCount = line.trim().split(/\s+/).filter(Boolean).length;
console.log(`Строка: "${line}" - Количество слов: ${wordCount}`);
});
lineReader.on('close', () => {
console.log('Анализ файла завершён.');
});
}
const filePath = process.argv[2];
if (!filePath) {
console.error('Укажите путь к файлу для анализа.');
process.exit(1);
}
const fullPath = path.resolve(filePath);
analyzeFile(fullPath);
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Сегодня мы рассмотрим, как обнаружить и реагировать на изменение атрибутов веб-компонента.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Опыт работы со Strapi и настройка отправки файлов в S3. В статье поделюсь шагами интеграции и кастомными скриптами для работы с облачным хранилищем S3. Удобные решения для новичков и не только.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Разработчик Node.js
•
Node.js, Nest.js, TypeScript, TypeOrm, Redis, Memcached, PostgreSQL, Kafka•
Уровень дохода не указан | от 3 лет опытаNode.JS разработчик
•
Node.js, NestJS, Next.js, Oracle, MsSql, PostgreSQL, REST, SOAP, XML, JSON, RabbitMQ, Kafka, ActiveMQ, ELK, Docker, Kubernetes, SOLID, Git, JIRA, Confluence•
Уровень дохода не указан | от 3 лет опытаFullstack Vue/Node.js разработчик
•
Vue.js, VUEX, Node.js, Bootstrap 3-4, JavaScript (DOM), npm, git, jira, Oracle, Unit-тестирование, Webpack, Gulp•
Уровень дохода не указан | от 4 лет опытаPlease open Telegram to view this post
VIEW IN TELEGRAM
• Пришёл на вакансию дизайнера, а стал питонистом: как IT-специалисты нашли свою первую работу
• На сколько денег может рассчитывать ИТ-предприниматель в разных ветках развития
• Анализ задачи с собеседования в Google: конь и телефонные кнопки
• Быстрый старт в QA Fullstack: чем вооружиться будущему стажеру в Альфа-Банке
• Как убить самоорганизацию в команде: вредные советы для лидера
Please open Telegram to view this post
VIEW IN TELEGRAM
♟ Эпопея шахматных движков: мой опыт в разработке шахматной программы
В этой статье я расскажу про личный опыт написания шахматной программы на языке TypeScript. С какими проблемами столкнулся и пути к их решению.
Читать...
В этой статье я расскажу про личный опыт написания шахматной программы на языке TypeScript. С какими проблемами столкнулся и пути к их решению.
Читать...
👍2
process.nextTick()
в Node.js?Метод
process.nextTick()
добавляет коллбэк в очередь "next tick" в Node.js, позволяя выполнить функцию после текущей операции, но перед следующей итерацией цикла событий. Это полезно, когда нужно завершить текущую операцию, а затем немедленно перейти к следующей задаче, не дожидаясь полного завершения цикла событий.console.log('Начало');
process.nextTick(() => {
console.log('Вызов в nextTick');
});
console.log('Конец');
// Вывод:
// Начало
// Конец
// Вызов в nextTick
🗣 В этом примере process.nextTick() срабатывает сразу после выполнения синхронного кода, но до обработки задач из очереди цикла событий. Это делает nextTick() полезным для выполнения задач с высоким приоритетом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Статья знакомит с использованием NVM для управления версиями Node.js и npm, показывая примеры с Node.js 19 и npm 9. Объясняются преимущества NVM для безопасного обновления и тестирования новых возможностей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🤷♀1
В статье разбираются ключевые особенности Electron, его развитие и влияние на разработку десктопных приложений. Обсуждаются преимущества, примеры использования и удивительная история создания от GitHub.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Каждый раз вручную делаешь сборку, деплой или запускаешь тесты? Это тратит драгоценные минуты (а иногда часы).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Full-stack Developer / Technical Partner (TS, Node.JS)
Backend Engineer (Node.js)
Full Stack Developer (Node.js, TypeScript, SQL)
Please open Telegram to view this post
VIEW IN TELEGRAM
😐2👍1
JavaScript, незаменимый компонент современной веб-разработки, отличается универсальностью и мощью. Однако даже у такого популярного инструмента есть свои сложности. Давайте разберёмся в дополнительных, часто упускаемых из виду аспектах, делающих JavaScript менее идеальным в определённых ситуациях.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Напишите скрипт, который создаёт HTTP-сервер. При запросе на сервер он должен возвращать текст
"Hello, World!"
.•
Сервер запускается на порту 3000.•
При обращении к http://localhost:3000
в браузере или через curl
возвращается строка "Hello, World!"
.Решение задачи
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello, World!');
});
server.listen(3000, () => {
console.log('Сервер запущен на http://localhost:3000');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👎6
• SMS-автоответчик с обновлением статуса: еще один канал связи для клиентов, которым мало интернета и звонков
• Попробуйте Tauri
• Новый оператор безопасного присваивания в JavaScript: ?=
• Как ускорить компонентную frontend-разработку с помощью продуктового подхода: опыт Рунити
• PostgreSQL Antipatterns: валим «слона» — highload на ровном месте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Git rebase — мощный инструмент, помогающий перенести или объединить один, или несколько коммитов в новый базовый коммит, переписав историю проекта так, чтобы ваша ветка выглядела созданной из другого коммита. Он помогает поддерживать более чистую и линейную историю.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Напишите скрипт на Node.js, который скачивает файл по указанному URL и сохраняет его на диск с заданным именем.
•
Скачивание должно быть реализовано с использованием стандартного модуля https
.•
Если процесс скачивания прерывается, в консоли должна отображаться ошибка.node downloadFile.js https://example.com/file.txt saved_file.txt
Решение задачи
const https = require('https');
const fs = require('fs');
const [,, url, fileName] = process.argv;
if (!url || !fileName) {
console.error('Использование: node downloadFile.js <url> <fileName>');
process.exit(1);
}
const file = fs.createWriteStream(fileName);
https.get(url, (response) => {
if (response.statusCode !== 200) {
console.error(`Ошибка: Невозможно скачать файл. Статус HTTP: ${response.statusCode}`);
response.resume(); // Освобождаем память
return;
}
response.pipe(file);
file.on('finish', () => {
file.close();
console.log(`Файл успешно сохранён как ${fileName}`);
});
}).on('error', (err) => {
fs.unlink(fileName, () => {}); // Удаляем файл в случае ошибки
console.error(`Ошибка скачивания: ${err.message}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
Junior/middle Node.js-разработчик
Junior backend разработчик Node.js, JavaScript
Junior Backend Developer Node.js
Please open Telegram to view this post
VIEW IN TELEGRAM
Давайте уделим немного времени рассмотрению Dialog API, Popover API и остальных. Рассмотрим, когда лучше использовать каждый из них в зависимости от требований. Модальные или немодальные? JavaScript или чистый HTML/CSS? Не уверены? Не волнуйтесь, мы разберёмся во всём этом.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
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
👍4❤2👎1
Middle fullstack developer (NodeJS)
•
Node.js, TypeScript, SQL, Docker, CI/CD•
до 180 000 ₽ | Требуемый опыт не указанАрхитектор, Backend разработчик Nest js
•
JavaScript, NestJS, Node.js, TypeScript, Git, Docker, REST•
от 200 000 ₽ | Требуемый опыт не указанNode.js Backend Developer (проект СЭД)
•
TypeScript, Node.js, JavaScript, React•
Уровень дохода не указан | Требуемый опыт не указанPlease open Telegram to view this post
VIEW IN TELEGRAM
❤1😁1