Разберём, как изменились React и Vue за 5 лет, оценим их экосистемы и перспективы на фоне развития LLM и AI-агентов. Будет много сравнений, фактов и личных выводов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👎4
Расскажу, как максимально просто организовать автоматический деплой React-приложения через CI/CD: что нужно, какие инструменты понадобятся и как сделать так, чтобы сайт был доступен в интернете.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
• Без головы — лучше! Разворачиваем собственную Headless CMS Directus в облаке
• Пишем Realtime для Multiple-page application в микросервисной архитектуре
• Как написать Google Calendar на коленке? Обзор FullCallendar
• Как внедрить наблюдаемость в микросервисное приложение с помощью OpenTelemetry, Jaeger и Prometheus
• Поддержка временных зон в фулстек-приложении на основе NestJS и Angular: работа с REST и WebSockets
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье проверяю, как справляется новый AI-ассистент Junie от JetBrains с реальной задачей, и случайно оказываюсь в ситуации из рассказа Азимова.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
fs.promises
в Node.js и зачем он нужен?Модуль
fs
в Node.js позволяет работать с файловой системой. Начиная с Node 10+, появился fs.promises
, который возвращает Promise
вместо использования колбэков.Это делает код чище и позволяет писать асинхронные операции через
async/await
const fs = require('fs/promises');
async function readFile() {
try {
const data = await fs.readFile('example.txt', 'utf8');
console.log(data);
} catch (err) {
console.error('Ошибка чтения файла:', err);
}
}
readFile();
🗣️ В этом примере файл example.txt читается асинхронно. Ошибки обрабатываются через try/catch, код становится линейным и легко читаемым.
Это современный способ работы с файлами в Node.js без "адских вложенных колбэков".
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Растущее комьюнити Node.js - свидетельство надежности и эффективности этого инструмента. Однако не всем удается извлечь из него максимальную выгоду. Рассмотрим самые распространенные ошибки разработчиков Node.js.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
JavaScript CustomEvent расширяют функциональность встроенной системы событий. Проще говоря, они позволяют программистам создавать и обрабатывать события, уникальные для их приложения, и в этой статье мы расскажем о них всё.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
При преобразовании между Buffer и String может быть указана кодировка символов. Если кодировка не указана, по умолчанию будет использоваться UTF-8
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3
Учимся работать с датой и временем в JavaScript: разбираемся с определением и способом создания объекта Data, его методами и форматами вывода.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2❤1👍1
Разместим на одном порту два приложения React с Nginx и Docker. Настроим Docker, добавим конфигурацию Nginx глобально и файл docker-compose.yml.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодняшняя тема посвящена нелегким взаимоотношениям клиентского приложения и сервера PostgreSQL: как на ровном месте, неудачной архитектурой приложения, можно обеспечить себе хронические проблемы производительности.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
«Это никогда не ломается» — последняя фраза перед катастрофой. Особенно в частях кода, которые трогают редко.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
В этой статье мы погрузимся в мир переменных среды в Node.js, рассмотрим их преимущества, примеры использования и лучшие практики эффективного управления ими.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Promise.withResolvers()
Метод
Promise.withResolvers()
повышает гибкость, позволяя удалённо разрешать или отклонять промисы, упрощая и оптимизируя асинхронный код.Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Визуализация данных — важная часть любого проекта, связанного с аналитикой и обработкой данных. Мы рассмотрим 7 библиотек: Plotly, D3.js, Nivo, Latitude, Apache ECharts, Victory и Chart.js.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2👍1
Реализуйте простой HTTP-сервер на Node.js (без фреймворков), который обрабатывает GET-запросы и возвращает
"Hello, client!"
.Но с одним условием: если IP-адрес клиента делает больше 5 запросов за 10 секунд, сервер должен временно блокировать этот IP на 30 секунд и отвечать ему
"429 Too Many Requests"
.Решение задачи
const http = require('http');
const PORT = 3000;
const requestLog = {}; // { ip: [timestamps] }
const bannedIPs = {}; // { ip: unblockTimestamp }
function cleanupOldRequests(ip) {
const now =Date.now ();
requestLog[ip] = (requestLog[ip] || []).filter(ts => now - ts < 10000);
}
const server = http.createServer((req, res) => {
const ip = req.socket.remoteAddress;
if (bannedIPs[ip] &&Date.now () < bannedIPs[ip]) {
res.writeHead(429, { 'Content-Type': 'text/plain' });
return res.end('429 Too Many Requests');
}
cleanupOldRequests(ip);
requestLog[ip].push(Date.now ());
if (requestLog[ip].length > 5) {
bannedIPs[ip] =Date.now () + 30000; // блок на 30 сек
requestLog[ip] = [];
res.writeHead(429, { 'Content-Type': 'text/plain' });
return res.end('429 Too Many Requests');
}
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello, client!');
});
server.listen(PORT, () => {
console.log(`Server listening on https://localhost:${PORT}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
В рамках этой статьи я опишу создание двух NestJS-модулей с различным способом конфигурирования: утилитарный модуль и бизнес-модуль со своей базой данных.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
JavaScript модули позволяют организовывать код для повторного использования. Существует два метода экспорта: по умолчанию и именованный. В этой статье разбираем экспорт по умолчанию и причины, почему его стоит избегать.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
В каждом языке программирования есть циклы. Циклы выполняют операцию (т. е. часть работы) несколько раз, обычно по одному разу для каждого элемента массива или списка, или просто повторяют операцию до тех пор, пока не будет выполнено определённое условие.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1