Деструктуризация — это удобный синтаксис в JavaScript, который позволяет извлекать значения из массивов и объектов и присваивать их переменным. Это делает код более лаконичным и удобным, особенно при работе с объектами с множеством свойств.
// Деструктуризация объекта
const user = { name: 'Alice', age: 25 };
const { name, age } = user;
console.log(name); // 'Alice'
console.log(age); // 25
// Деструктуризация массива
const colors = ['red', 'green', 'blue'];
const [firstColor, secondColor] = colors;
console.log(firstColor); // 'red'
console.log(secondColor); // 'green'
🗣️ Деструктуризация полезна для удобного доступа к значениям из объектов и массивов, минимизируя дублирование кода и делая его более читаемым.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
JavaScript FullStack Developer
•
JavaScript, TypeScript, Node.js, RabbitMQ, Docker, React, Vue.js•
до 220 000 ₽ на руки | 3–6 летMiddle Fullstack Developer (NodeJS)
•
Node.js, TypeScript, SQL, Docker, CI/CD•
до 180 000 ₽ на руки | 1–3 годаРазработчик Node.js («Управление складскими процессами»)
•
Node.js, TypeScript, NestJS, Apache Kafka, MongoDB, Redis, ClickHouse, Elasticsearch•
Уровень дохода не указан | 3–6 летPlease open Telegram to view this post
VIEW IN TELEGRAM
Рассматриваем анализ данных Хабра за 2024 год: популярные статьи, скрытые тренды и интересные находки. Node.js, нейросети и Google Таблицы в деле!
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте простой сервер на Node.js с использованием Express, который принимает длинный URL и возвращает сокращённую версию. При переходе по сокращённому URL сервер должен перенаправлять на исходный URL.
Решение задачи
npm init -y
npm install express nanoid
const express = require('express');
const { nanoid } = require('nanoid');
const app = express();
const port = 3000;
app.use(express.json());
const urlDatabase = {};
// Создание сокращенного URLapp.post ('/shorten', (req, res) => {
const { url } = req.body;
if (!url) {
return res.status(400).json({ error: 'URL is required' });
}
const id = nanoid(6);
urlDatabase[id] = url;
res.json({ shortUrl: `http://localhost:${port}/r/${id}` });
});
// Перенаправление по сокращенному URL
app.get('/r/:id', (req, res) => {
const originalUrl = urlDatabase[req.params.id ];
if (originalUrl) {
res.redirect(originalUrl);
} else {
res.status(404).send('URL not found');
}
});
// Запуск сервера
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2👎1
Создание распределённого приложения для анализа вакансий hh.ru: микросервисы, контейнеры, брокеры сообщений и визуализация данных в действии. Полезно для аналитиков, компаний и соискателей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👎1
Разбираемся, как Backend-for-Frontend (BFF) решает вечную проблему несоответствия между фронтендом и бэкендом. Почему этот паттерн ускоряет разработку, упрощает тестирование и снижает головную боль команд?
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
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
• Чем стартап отличается от бизнеса и что выбрать
• Как оформить резюме на стажировку, если нет опыта работы
• Прийти на внедренный проект на этапе развития системы: как аналитику быстро погрузиться в процессы
• Как 97 лет назад хитрый менеджер-заяц заставил грозного лентяя сделать то, что тот очень не хотел. Смогли бы так?
• 10 лучших приёмов логирования для разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
Как эффективно оповещать жильцов о уборке снега, если объявления на подъезде никто не читает? Разбираем, насколько WhatsApp-группа помогает, и что делать с теми, кто просто копит непрочитанные сообщения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2👍1
Promise.finally
в JavaScript и зачем он используется?Promise.finally
— это метод, который выполняется после завершения промиса (успешного или с ошибкой), независимо от его результата. Это полезно для очистки ресурсов или выполнения финальных действий.const promise = new Promise((resolve, reject) => {
setTimeout(() => resolve('Успех!'), 1000);
});
promise
.then(result => console.log(result)) // 'Успех!'
.catch(error => console.error(error))
.finally(() => console.log('Завершено!'));
🗣️ В этом примере finally вызывается после завершения промиса, независимо от того, был он успешно выполнен или отклонён. Это удобно для задач, таких как закрытие соединений или очистка.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Как защитить веб-страницы паролем без серверной поддержки? Инструменты StatiCrypt и Portable Secret помогут зашифровать HTML с использованием AES-256. Статические страницы остаются безопасными даже на публичном хостинге.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😁2
В статье рассказывается, как создать Telegram-тапалку с нуля, используя современный стек технологий. Вы освоите Serverless-подход, разработку на Node.js, Vue, Supabase и деплой проектов в облаке.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Учишь новый фреймворк, но чувствуешь, что не до конца понимаешь, как он работает?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👏1
Full Stack Developer (Node.js, TypeScript, SQL)
NodeJs Developer
Senior Backend Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему разработка собственного инструмента для нагрузки на API иногда оказывается лучшим выбором? В статье обсуждается реальный кейс: задачи тестирования производительности, ограничения Postman и сложность JMeter. Узнайте, как и зачем был создан простой и эффективный API-лоадер на Node.js.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Напишите 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
🥱3👍1💩1
• Сравнение Gitlab cache и Gitlab artifacts
• JavaScript: Удобство или Угроза? Размышления о Приватности и Вебе
• Как мы учили немонохромные SVG-логотипы краситься самостоятельно
• Разбираемся с цветами: пространства, иллюзии и квантование
• Как приготовить обфускацию в JavaScript и не сжечь лабораторию: AST, babel, плагины
Please open Telegram to view this post
VIEW IN TELEGRAM
Как добавить новое поле в базу данных и связать его с фронтендом? В статье рассказывается об обновлении таблицы Webhook, создании календаря на Angular и настройке работы с временными зонами и локализацией.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱1😐1
Создайте приложение на Node.js, которое принимает URL, отправляет запрос к этому URL, и сохраняет заголовки ответа в файл
headers.json
. Программа должна также уметь выводить заголовки в консоль.•
node app.js fetch https://example.com
— выводит заголовки в консоль и сохраняет их в файл headers.json
.Решение задачи
const https = require('https');
const fs = require('fs');
function fetchHeaders(url) {
https.get(url, (res) => {
const headers = JSON.stringify(res.headers, null, 2);
console.log(headers);
fs.writeFileSync('headers.json', headers);
}).on('error', (err) => console.error('Ошибка:', err));
}
// Использование
const url = process.argv[2];
if (url) fetchHeaders(url);
else console.log('Укажите URL.');
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥱4❤1💩1
Junior Backend-программист NodeJS
Веб-программист (Nuxt3, Vue3, Node.Js, NestJs, TypeScript, PostgreSQL)
Junior Frontend разработчик (Vue\Nuxt)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1