Создайте 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
👍2
В статье разобраны распространенные проблемы в коде начинающих разработчиков с конкретными решениями: грамотная инъекция зависимостей, использование Scoped-сервисов, паттерн Generic Repository и создание Stateless-классов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья исследует облигации с доходностью до 40% и ежемесячными купонами. Описаны инструменты поиска ликвидных облигаций, риски инвестирования в ВДО и их зависимость от ключевой ставки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡3👎2
Я профессионально работаю над веб-приложениями уже более десяти лет, и за это время пришлось научиться использовать множество различных систем и инструментов. В процессе обучения я обнаружил, что официальная документация, как правило, оказывается наиболее полезной.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
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
👍6
От медленного к быстрому: Использование JavaScript Performance API для оптимизации веб-приложений
Читать...
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
💩3💊1
В руководстве рассматриваются такие шаблоны работы с DOM на JavaScript, как выбор правильного querySelector, кэширование элементов и улучшение обработки событий.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
• Слабоумие и отвага: как найти ликвидные облигации с доходностью до 40% и ежемесячными фиксированными выплатами
• Nuxt I18n Micro: Как я решил написать свой i18n для NuxtJS
• Четыре пункта, как улучшить код Backend стажера
• Получение серверного времени через WebSockets и отображение его в Angular-приложении
• Добавление поддержки нескольких языков в NestJS и Angular приложениях
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье начальник отдела разработки делится опытом собеседований и объясняет, почему выпускники курсов часто не дотягивают до требований, а внутреннее обучение приносит больше результатов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🖕4
Статья объясняет базовые элементы HTTP: структуру запросов, методы для выполнения операций, строку статуса и коды состояния, помогающие понять результат взаимодействия с сервером.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👎1
В статье показано, как разработчику с нуля разобраться с CI/CD без боли и официоза: что делать, зачем делать и как использовать Gitlab CI для React‑приложения. Всё — через личный опыт.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Middle Backend Developer (Node.js)
Middle fullstack developer (JavaScript/Node.js/React)
Разработчик Node.js, back end
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡12👍2
Автор показывает, как связать Bitrix24 с Flask и Node.js, чтобы ловить обновления по сделкам, валидировать запросы, вытаскивать ID, проверять сумму и создавать задачи — и всё это без боли и рекурсии.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Автор разбирается, что нужно предустановить на CI-сервере, чтобы команды вроде eslint и npm run build не падали с ошибками. Готовит чеклист — от ОС до нужных пакетов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
React Server Components (RSC) и Next.js 13 представляют новый виток в разработке React-приложений, предоставляя мощные инструменты для оптимизации и упрощения архитектуры.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎3👍1
Создайте минимальный API на Node.js с использованием Express, который позволяет:
•
Получить список всех заметок.•
Добавить новую заметку.Требования:
1. Маршруты API:
• GET /notes
: Возвращает массив всех заметок. • POST /notes
: Добавляет новую заметку (передаётся в теле запроса).2. Хранилище данных:
•
Используйте массив в памяти. Каждая заметка должна содержать поля:{
"id": "уникальный идентификатор",
"content": "текст заметки"
}
3. Требования к корректности:
•
Заголовок заметки (content
) должен быть строкой и не быть пустым.Решение задачи
const express = require('express');
const { v4: uuidv4 } = require('uuid');
const app = express();
app.use(express.json());
let notes = [];
// Получить все заметки
app.get('/notes', (req, res) => {
res.json(notes);
});
// Добавить новую заметкуapp.post ('/notes', (req, res) => {
const { content } = req.body;
if (!content || typeof content !== 'string') {
return res.status(400).json({ error: 'Invalid content' });
}
const newNote = { id: uuidv4(), content };
notes.push(newNote);
res.status(201).json(newNote);
});
// Запуск сервера
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on http://localhost:${PORT}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Статья рассказывает, как наблюдаемость помогает выявлять проблемы в микросервисных приложениях. Описаны метрики, логи, трассировки и инструменты для анализа производительности системы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
path.resolve()
в Node.js и зачем оно используется?path.resolve()
— это метод модуля path
в Node.js, который возвращает абсолютный путь, объединяя переданные сегменты пути. Он полезен для построения пути к файлам и директориям независимо от текущей рабочей директории.const path = require('path');
// Построение абсолютного пути
const fullPath = path.resolve('folder', 'subfolder', 'file.txt');
console.log(fullPath); // Например: /Users/username/project/folder/subfolder/file.txt
🗣️ В этом примере path.resolve() объединяет сегменты пути и возвращает абсолютный путь к файлу. Это помогает избежать проблем с относительными путями и улучшает кросс-платформенность приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1