Создайте Node.js сервер, который предоставляет API для конвертации валют с фиксированными курсами. Запрос включает исходную валюту, целевую валюту и сумму для конвертации, а сервер возвращает результат.
Требования:
•
GET /convert
:
•
Параметры: from
, to
, amount
.
•
Возвращает результат конвертации.•
Фиксированные курсы валют (например, USD → EUR = 0.85).•
Обработка ошибок: некорректные параметры или неподдерживаемая валюта.Решение задачи
const express = require('express');
const app = express();
const PORT = 3000;
// Фиксированные курсы
const rates = { USD: { EUR: 0.85 }, EUR: { USD: 1.18 } };
app.get('/convert', (req, res) => {
const { from, to, amount } = req.query;
if (!from || !to || !amount || isNaN(amount)) {
return res.status(400).json({ error: 'Некорректные параметры' });
}
const rate = rates[from]?.[to];
if (!rate) return res.status(400).json({ error: 'Валюта не поддерживается' });
const converted = (amount * rate).toFixed(2);
res.json({ from, to, amount: parseFloat(amount), converted });
});
app.listen(PORT, () => console.log(`Сервер: https://localhost:${PORT}`));
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2👍1
Откройте для себя возможности управления приоритетами и контроля выполнения задач в JavaScript с помощью нового Scheduler API. Новый подход поможет вам стать более продуктивными и эффективными в своей работе.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3⚡1
⚡️ @asouei/safe-fetch — всего 3kb, но решает все боли с fetch:
Один из подписчиков написал либу которая сильно упрощает работу с запросами. Думаю вам будет интересно.
Было:
Стало:
✅ без исключений — всегда
✅ типизированные ошибки
✅ умные ретраи с backoff
✅ общий таймаут
✅ поддержка
📦
📖 [GitHub + Readme](https://github.com/asouei/safe-fetch#readme)
Пишите что думаете, думаю автору будет интересно ваше мнение.
Один из подписчиков написал либу которая сильно упрощает работу с запросами. Думаю вам будет интересно.
Было:
try {
const res = await fetch('/api/users');
if (!res.ok) throw new Error(res.status);
const data = await res.json();
} catch (e) {
// непонятно, что за ошибка
}
Стало:
const res = await safeFetch.get('/api/users');
if (res.ok) {
console.log(res.data);
} else {
console.error(res.error.name); // NetworkError | TimeoutError | HttpError
}
✅ без исключений — всегда
{ok: true/false}
✅ типизированные ошибки
✅ умные ретраи с backoff
✅ общий таймаут
✅ поддержка
Retry-After
📦
npm i @asouei/safe-fetch
📖 [GitHub + Readme](https://github.com/asouei/safe-fetch#readme)
Пишите что думаете, думаю автору будет интересно ваше мнение.
GitHub
GitHub - Asouei/safe-fetch: Tiny, type-safe fetch wrapper: safe results, retries, timeouts & validation
Tiny, type-safe fetch wrapper: safe results, retries, timeouts & validation - Asouei/safe-fetch
🔥2😁2
В статье объясняется асинхронное программирование в JavaScript. Разбираются основы работы с промисами, async/await и методы управления параллельными операциями для повышения читаемости и эффективности кода.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
• Центральный Университет: взгляд магистра изнутри (1 семестр)
• Стартап vs корпорации vs предпринимательство: кому, куда и зачем?
• Почему соискателям не стоит постить нюдсы, что такое culture fit и чем IT-индустрия напоминает подростка
• Лидерами рождаются или становятся? Откуда берутся управленцы и лидеры в IT
• Работать или переработать: как победить в себе заядлого удаленщика
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀Нужны качественные ноды для работы?
📌У нас лучшие цены на рынке!
📌Безлимитные запросы!
📌Выделенные ноды от 87$
📌Shared - 50$ за 1шт
📌Работайте с комфортом!
Бот для покупки лучших нод - @Flash_Node_bot
Контакт поддежки - https://t.iss.one/Flash_Node_support
Если нужной ноды не нашлось в нашем боте - напишите в поддержку мы установим ее для вас
Напишите в поддержку что вы от "xCode" и получите 30% скидку на первый заказ!
📌У нас лучшие цены на рынке!
📌Безлимитные запросы!
📌Выделенные ноды от 87$
📌Shared - 50$ за 1шт
📌Работайте с комфортом!
Бот для покупки лучших нод - @Flash_Node_bot
Контакт поддежки - https://t.iss.one/Flash_Node_support
Если нужной ноды не нашлось в нашем боте - напишите в поддержку мы установим ее для вас
👍1
Как защитить веб-страницы паролем без серверной поддержки? Инструменты StatiCrypt и Portable Secret помогут зашифровать HTML с использованием AES-256. Статические страницы остаются безопасными даже на публичном хостинге.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍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
👍1
В статье рассказывается, как создать Telegram-тапалку с нуля, используя современный стек технологий. Вы освоите Serverless-подход, разработку на Node.js, Vue, Supabase и деплой проектов в облаке.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Давно работаешь с одним и тем же инструментом или подходом? Это удобно, но затормаживает рост.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3