• Быстрее пули: как найти счастье с PostgreSQL
• Куда движется Laravel? Обзор интервью с Taylor Otwell
• Nexus-IoC — хорошо знакомый незнакомец в мире TypeScript и DI
• Как сделать React Server Components в Electron с помощью Next.js и без открытых портов
• 10 не самых очевидных причин, чтобы уволиться
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья рассказывает о создании симуляционной модели для тестирования комбинаций фичей в алгоритмах курьерки. Это позволило анализировать влияние наборов фичей на метрики для разных регионов без долгих А/Б тестов, ускоряя внедрение идей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая принимает путь к файлу и возвращает Promise. Функция должна читать файл построчно с использованием потоков (
streams
), подсчитывать количество строк и возвращать объект с количеством строк и содержанием первой строки.Пример использования:
const filePath = "./example.txt";
processFile(filePath)
.then(result => {
console.log(result);
// Ожидаемый результат (пример):
// { linesCount: 10, firstLine: "This is the first line of the file." }
})
.catch(error => {
console.error("Error:", error);
});
Решение задачи
const fs = require("fs");
const readline = require("readline");
function processFile(filePath) {
return new Promise((resolve, reject) => {
const stream = fs.createReadStream(filePath, { encoding: "utf8" });
const rl = readline.createInterface({ input: stream });
let linesCount = 0;
let firstLine = null;
rl.on("line", line => {
if (linesCount === 0) {
firstLine = line;
}
linesCount++;
});
rl.on("close", () => {
resolve({ linesCount, firstLine });
});
rl.on("error", error => {
reject(error);
});
});
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Backend разработчик NODE.JS
Node.js backend developer
Backend Developer (JS, OpenAI API)
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается о создании аналога знаменитого скринсейвера «Ленты» из Windows 7 для Linux с помощью Electron. Автор делится опытом адаптации найденного на GitHub JS-скрипта для создания полноценного кроссплатформенного настольного приложения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
os
модуль в Node.js и как он используется?os
— это встроенный модуль в Node.js, который предоставляет информацию о операционной системе, включая архитектуру, платформу, память и данные о процессорах. Он полезен для написания кросс-платформенных приложений и мониторинга системы.const os = require('os');
console.log('Платформа:', os.platform()); // Выводит платформу, например 'linux'
console.log('Архитектура:', os.arch()); // Выводит архитектуру, например 'x64'
console.log('Свободная память:', os.freemem()); // Количество свободной памяти
🗣️ В этом примере модуль os используется для получения базовой информации об операционной системе. Это удобно для настройки приложений под конкретные системные параметры.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
JavaScript FullStack разработчик
•
JavaScript, HTML, CSS, TypeScript, Node.js, Vue.js, SQL, Git, PostgreSQL•
от 80 000 до 130 000 ₽ | 1–3 годаРазработчик Node.js («Сборка заказов»)
•
Node.js, TypeScript, JavaScript, MongoDB, Apache Kafka, ClickHouse, Elasticsearch, Docker, Kubernetes•
Уровень дохода не указан | 2+ годаFullStack Developer
•
Node.js, Vue, GraphQL, Jest, Redis, ClickHouse, PostgreSQL, Docker, Grafana•
от 200 000 ₽ | 3+ годаPlease open Telegram to view this post
VIEW IN TELEGRAM
👎6🤡1
JavaScript и Node.js имеют множество библиотек тестирования и утверждений, таких как Jest, Jasmine, Qunit и Mocha. В этой статье мы рассмотрим, как использовать Mocha для тестирования, Chai для утверждений и Sinon для моков, шпионов и стабов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Создайте HTTP-сервер на Node.js, который по запросу возвращает случайную цитату из заранее заданного списка.
Ожидаемое поведение:
•
Сервер запускается на порту 3000.•
При GET-запросе на /quote сервер возвращает JSON с случайной цитатой.•
При запросе на другой путь возвращается сообщение об ошибке.Решение задачи
const http = require('http');
const quotes = [
"The only limit to our realization of tomorrow is our doubts of today.",
"Do not watch the clock. Do what it does. Keep going.",
"The future depends on what you do today.",
"Success is not the key to happiness. Happiness is the key to success.",
"Hardships often prepare ordinary people for an extraordinary destiny."
];
const server = http.createServer((req, res) => {
res.setHeader('Content-Type', 'application/json');
if (req.url === '/quote' && req.method === 'GET') {
const randomQuote = quotes[Math.floor(Math.random() * quotes.length)];
res.writeHead(200);
res.end(JSON.stringify({ quote: randomQuote }));
} else {
res.writeHead(404);
res.end(JSON.stringify({ error: 'Invalid endpoint' }));
}
});
server.listen(3000, () => {
console.log('Сервер запущен на http://localhost:3000');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
В статье разобраны распространенные проблемы в коде начинающих разработчиков с конкретными решениями: грамотная инъекция зависимостей, использование Scoped-сервисов, паттерн Generic Repository и создание Stateless-классов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья рассказывает о создании Vanilla Calendar Pro — датапикера, собравшего 480+ звезд на GitHub. Описывается путь от первого опыта в open source до популярного инструмента, востребованного разработчиками.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Node.js backend разработчик (Middle+/Senior)
•
Node.js, TypeScript, GraphQL, PostgreSQL, WebSockets, Redis•
от 3 000 до 4 500 $ | 3+ годаFullstack-разработчик
•
JavaScript, Node.js, PHP 8, Symfony, MongoDB, Redis, PostgreSQL, GitLab, REST API•
Уровень дохода не указан | 3+ годаSenior Backend Developer (Node.js)
•
Node.js, SQL, Apache Kafka, Redis, CI/CD•
Уровень дохода не указан | 3+ годаPlease open Telegram to view this post
VIEW IN TELEGRAM
• История: работа в чешском Red Hat
• Циничные заметки о карьере в IT от «гейткипера»
• Рецензия на книгу “Изучаем паттерны проектирования JavaScript, 2-е издание”
• Всероссийский рейтинг IT-брендов работодателей 2024
• Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки
Please open Telegram to view this post
VIEW IN TELEGRAM
Я профессионально работаю над веб-приложениями уже более десяти лет, и за это время пришлось научиться использовать множество различных систем и инструментов. В процессе обучения я обнаружил, что официальная документация, как правило, оказывается наиболее полезной.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
event loop starvation происходит, когда долгие или бесконечные операции в цикле событий блокируют выполнение других задач. Обычно это связано с асинхронными функциями, которые вызывают сами себя или используют
process.nextTick()
и Promise.resolve()
слишком часто, задерживая другие операции, такие как таймеры и I/O.function starveEventLoop() {
process.nextTick(starveEventLoop); // Постоянное добавление задач в цикл событий
}
console.log('Начало');
starveEventLoop();
console.log('Конец');
🗣️ event loop starvation может вызвать зависание или замедление работы приложения. Будьте осторожны при использовании process.nextTick() и бесконечных асинхронных циклов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
От медленного к быстрому: Использование JavaScript Performance API для оптимизации веб-приложений
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Мартин Фаулер утверждает, что делает рефакторинг ежечасно. Как это возможно? В статье разбираемся, как можно улучшать код небольшими шагами, не отрываясь от основной работы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄2
🕵️ Думай, как хакер, чтобы писать безопасный код
Если ты не можешь сломать свой код — это не значит, что никто не сможет.
👉 Совет: тренируй «атакующее мышление». Пробуй сломать свой код: вводи неожиданные данные, отключай сервисы, симулируй атаки. Чем раньше ты найдёшь уязвимость, тем меньше проблем у пользователей.
Если ты не можешь сломать свой код — это не значит, что никто не сможет.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Node.js backend разработчик (Senior)
Senior JavaScript developer
Senior Node.js developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
В статье подробно разбирается метод Array.prototype.filter() в JavaScript. Поговорим о его внутреннем механизме, особенностях работы и нюансах, которые могут быть полезны разработчикам.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2