Недавно мне понадобилось добавить поддержку нескольких языков в API на базе Express. Я решил поделиться кратким руководством для тех, кто хочет сделать свой бэкенд отвечающим переведенным контентом в зависимости от предпочтительного языка пользователя.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎1
Давно работаешь с одним и тем же инструментом или подходом? Это удобно, но затормаживает рост.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5
Глубокое погружение в JavaScript Символы — что это такое, чем они важны и как их эффективно использо3вать
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Напишите функцию, которая принимает строку, содержащую различные типы скобок (
(), {}, []
), и проверяет, являются ли они сбалансированными. Строка считается сбалансированной, если каждая открывающая скобка имеет соответствующую закрывающую в правильном порядке.Пример: Для строки
"{[()]}"
функция должна вернуть true, а для строки "{[(])}"
— false
.Решение задачи
function isBalanced(str) {
const stack = [];
const pairs = { ')': '(', '}': '{', ']': '[' };
for (let char of str) {
if (['(', '{', '['].includes(char)) {
stack.push(char);
} else if ([')', '}', ']'].includes(char)) {
if (stack.pop() !== pairs[char]) return false;
}
}
return stack.length === 0;
}
// Пример использования
console.log(isBalanced("{[()]}")); // true
console.log(isBalanced("{[(])}")); // false
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Статья представляет курс по созданию IT-продуктов: от выбора архитектуры до радости от разработки. Обучение включает 141 урок, доступный бесплатно, с акцентом на качество, масштабируемость и удобство работы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡1
Звучит слишком громко? Давайте уточним, чтобы избежать обманутых ожиданий: этот пакет использует немного магии вне Хогвартса, и будет действительно полезен любителям строгой типизации в PHP.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎3⚡1
Создайте Node.js скрипт, который принимает текст через стандартный ввод и сохраняет его в файл
output.txt
. Если файл уже существует, новые данные должны добавляться в конец файла.Решение задачи
const fs = require('fs');
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.question('Введите текст для записи: ', (input) => {
fs.appendFile('output.txt', input + '\n', (err) => {
if (err) {
console.error('Ошибка записи в файл:', err);
} else {
console.log('Текст успешно сохранён в output.txt');
}
rl.close();
});
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👎3👍1
Какие структуры данных помогут избежать утечек памяти в JavaScript? Статья раскрывает особенности WeakMap и WeakSet: слабые ссылки, автоматическое управление памятью и неожиданные сценарии их применения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Создайте 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
Хотите научиться создавать привлекательные карточки товара без Bootstrap и готовых шаблонов?
📅 9 сентября в 20:00 МСК на открытом уроке мы разберём, как из базовых тегов и CSS-свойств собрать мини-проект, достойный портфолио. Вы увидите, как блок <article> превратить в интерактивную витрину: текст, изображение, кнопка «Купить» и эффекты при наведении.
❗️ Вы поймёте, какие CSS-свойства (margin, padding, background-color, border) отвечают за композицию, а :hover добавит лёгкую анимацию при наведении. В реальном времени создадим карточку, применим шрифты, цвета и узнаем, как обеспечить кросс-браузерность без библиотек и фреймворков.
Урок проходит в преддверие старта курса «JavaScript Developer. Basic» и все участники получат скидку на обучение.
👉 Запишитесь на открытый урок → https://vk.cc/cPdXPo
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
📅 9 сентября в 20:00 МСК на открытом уроке мы разберём, как из базовых тегов и CSS-свойств собрать мини-проект, достойный портфолио. Вы увидите, как блок <article> превратить в интерактивную витрину: текст, изображение, кнопка «Купить» и эффекты при наведении.
❗️ Вы поймёте, какие CSS-свойства (margin, padding, background-color, border) отвечают за композицию, а :hover добавит лёгкую анимацию при наведении. В реальном времени создадим карточку, применим шрифты, цвета и узнаем, как обеспечить кросс-браузерность без библиотек и фреймворков.
Урок проходит в преддверие старта курса «JavaScript Developer. Basic» и все участники получат скидку на обучение.
👉 Запишитесь на открытый урок → https://vk.cc/cPdXPo
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
• Центральный Университет: взгляд магистра изнутри (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
Если нужной ноды не нашлось в нашем боте - напишите в поддержку мы установим ее для вас