Немногие знают истинную ценность Map. Между тем, применение этой структуры данных позволяет повысить производительность и улучшить пользовательский опыт. Особенно она полезна при работе со сложными структурами данных или при необходимости получить быстрый доступ к данным.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4💯1
Напишите функцию, которая принимает массив объектов и ключ. Функция должна возвращать новый массив, удаляя объекты с повторяющимися значениями указанного ключа. Сохраняйте порядок элементов.
Пример:
const data = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Alice' },
{ id: 4, name: 'Charlie' },
{ id: 5, name: 'Bob' }
];
const result = removeDuplicatesByKey(data, 'name');
console.log(result);
// Ожидаемый результат:
// [
// { id: 1, name: 'Alice' },
// { id: 2, name: 'Bob' },
// { id: 4, name: 'Charlie' }
// ]
Решение задачи
function removeDuplicatesByKey(array, key) {
const seen = new Set();
return array.filter(item => {
const value = item[key];
if (seen.has(value)) {
return false;
}
seen.add(value);
return true;
});
}
// Пример использования:
const data = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Alice' },
{ id: 4, name: 'Charlie' },
{ id: 5, name: 'Bob' }
];
const result = removeDuplicatesByKey(data, 'name');
console.log(result);
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Junior+ разработчик back-end Node.js (JavaScript, TypeScript)
Junior Backend Developer
Full-stack Web Developer
NodeJS-разработчик в интегратор amoCRM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡3🗿2
JavaScript и Node.js имеют множество библиотек тестирования и утверждений, таких как Jest, Jasmine, Qunit и Mocha. В этой статье мы рассмотрим, как использовать Mocha для тестирования, Chai для утверждений и Sinon для моков, шпионов и стабов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
path
модуль в Node.js и как он используется?path
— это встроенный модуль в Node.js для работы с файловыми путями. Он упрощает создание, объединение и нормализацию путей, обеспечивая кросс-платформенную совместимость.const path = require('path');
const fullPath = path.join(__dirname, 'files', 'example.txt'); // Объединение путей
console.log(fullPath); // Полный путь к файлу
console.log(path.basename(fullPath)); // example.txt (имя файла)
console.log(path.extname(fullPath)); // .txt (расширение файла)
🗣️ В этом примере модуль path используется для создания и анализа путей к файлам, что упрощает работу с файловой системой в Node.js.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Бэкенд разработчик
•
JavaScript, TypeScript•
Уровень дохода не указан | от 2 летСистемный аналитик
•
React, Node.js, MongoDB, PostgreSQL•
до 200 000 ₽ | Требуемый опыт не указанMiddle Typescript разработчик (Telegram боты)
•
JavaScript, Node.js, TypeScript, создание Telegram-ботов, Redis, MongoDB, REST•
Уровень дохода не указан | от 2 летРазработчик Node.js («Сборка заказов»)
•
Node.js, TypeScript, JavaScript, MongoDB, Apache Kafka, ClickHouse, Elasticsearch•
Уровень дохода не указан | от 2 летPlease open Telegram to view this post
VIEW IN TELEGRAM
👍1🥰1
В этой статье я добавлю поддержку нескольких языков в NestJS и Angular приложениях, для сообщений в ошибках, уведомлениях и данных полученных из базы данных.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте 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👎3
В статье разобраны распространенные проблемы в коде начинающих разработчиков с конкретными решениями: грамотная инъекция зависимостей, использование Scoped-сервисов, паттерн Generic Repository и создание Stateless-классов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Статья исследует облигации с доходностью до 40% и ежемесячными купонами. Описаны инструменты поиска ликвидных облигаций, риски инвестирования в ВДО и их зависимость от ключевой ставки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
😐3🤔1
Video (live-calls) streaming developer
•
WebRTC, HLS, DASH, JavaScript, Svelte/Vue/React, TypeScript, WebSocket, Node.js, Nest.js, MongoDB•
от 4 500 € | от 3 летFullstack Vue/Node.js разработчик
•
Vue.js, VUEX, Node.js, npm, Bootstrap 3-4, JavaScript, DOM, npm, git, jira, Parcel, Webpack, Gulp•
Уровень дохода не указан | от 4 летРазработчик в группу мобильных интерфейсов автономного транспорта
•
React, TypeScript, webpack, WebSockets, Linux, Playwright•
Уровень дохода не указан | Требуемый опыт не указанРазработчик Node.js («Управление контентом»)
•
Node.js, TypeScript, JavaScript, MongoDB, ClickHouse, Elasticsearch, Docker, Kubernetes, Linux, Nest.js, Nginx, GitLab CI•
Уровень дохода не указан | от 2 летPlease open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🤡1
Я профессионально работаю над веб-приложениями уже более десяти лет, и за это время пришлось научиться использовать множество различных систем и инструментов. В процессе обучения я обнаружил, что официальная документация, как правило, оказывается наиболее полезной.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
events
— это встроенный модуль в Node.js для работы с событиями. Он позволяет испускать и обрабатывать пользовательские события.const EventEmitter = require('events');
// Создаем новый экземпляр EventEmitter
const emitter = new EventEmitter();
// Добавляем обработчик события
emitter.on('greet', (name) => {
console.log(`Привет, ${name}!`);
});
// Испускаем событие
emitter.emit('greet', 'Иван');
🗣️ В этом примере событие greet создаётся и обрабатывается с использованием EventEmitter. Это основной инструмент для реализации событийной архитектуры в Node.js.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😁1
От медленного к быстрому: Использование JavaScript Performance API для оптимизации веб-приложений
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🎄3
В статье подробно разбирается метод Array.prototype.filter() в JavaScript. Поговорим о его внутреннем механизме, особенностях работы и нюансах, которые могут быть полезны разработчикам.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Сидишь за задачей, но каждые 5 минут отвлекаешься на Slack, почту или уведомления? Эти мелочи съедают фокус, даже если тебе кажется, что ты всё контролируешь.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍1
Senior backend developer (Node.JS)
Front-End Developer
Javascript Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡4❤1👍1
В руководстве рассматриваются такие шаблоны работы с DOM на JavaScript, как выбор правильного querySelector, кэширование элементов и улучшение обработки событий.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Создайте HTTP-сервер на Node.js, который раздаёт статические файлы из указанной папки. По умолчанию сервер должен обслуживать файлы из папки public и работать на порту 3000.
Создайте структуру папок:
project/
├── server.js
└── public/
└── index.html
Решение задачи
Файл server.js:
const http = require('http');
const fs = require('fs');
const path = require('path');
const PORT = 3000;
const PUBLIC_DIR = path.join(__dirname, 'public');
const server = http.createServer((req, res) => {
let filePath = path.join(PUBLIC_DIR, req.url === '/' ? 'index.html' : req.url);
fs.readFile(filePath, (err, data) => {
if (err) {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('404 Not Found');
} else {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(data);
}
});
});
server.listen(PORT, () => {
console.log(`Сервер запущен на http://localhost:${PORT}`);
});
Файл public/index.html (пример содержимого):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Static Server</title>
</head>
<body>
<h1>Добро пожаловать на мой сервер!</h1>
</body>
</html>
node server.js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1