🎯 Выстрелил и забыл: 3 основные стратегии отправки сообщений в Kafka
Какой подход обеспечит вашему проекту идеальный баланс производительности и гарантии доставки: рискованная стратегия «Выстрелил и забыл» или продвинутая асинхронная отправка?
Читать...
Какой подход обеспечит вашему проекту идеальный баланс производительности и гарантии доставки: рискованная стратегия «Выстрелил и забыл» или продвинутая асинхронная отправка?
Читать...
👍1
Создайте приложение на Node.js, которое кэширует данные с ограничением по времени. Когда кэш истекает, данные должны автоматически обновляться из внешнего источника (например, из API) при следующем запросе.
•
node app.js fetch
— получает данные из кэша, а если кэш истек, то запрашивает данные заново и обновляет кэш.Решение задачи
const fs = require('fs');
const path = require('path');
const fetch = require('node-fetch');
const cacheFile = path.join(__dirname, 'cache.json');
const CACHE_TTL = 60 * 1000; // 1 минута
// Функция для обновления кэша
async function updateCache() {
const data = await fetch('https://api.example.com/data ').then(res => res.json());
const cacheData = { data, timestamp:Date.now () };
fs.writeFileSync(cacheFile, JSON.stringify(cacheData));
return data;
}
// Функция для получения данных из кэша
async function fetchData() {
if (fs.existsSync(cacheFile)) {
const cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
const isCacheValid =Date.now () - cache.timestamp < CACHE_TTL;
if (isCacheValid) {
console.log('Данные из кэша:',cache.data );
returncache.data ;
}
}
console.log('Обновление кэша...');
return await updateCache();
}
// Проверка кэша
fetchData().then(data => console.log('Полученные данные:', data));
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4👍2❤1🔥1
Сегодня мы рассмотрим, как обнаружить и реагировать на изменение атрибутов веб-компонента.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Статья исследует, как обеспечить стабильность и доступность сервиса по всему миру. Рассмотрены методы контроля скорости работы сайта и мониторинга проблем маршрутизации и цензуры, выходящие за рамки стандартных аналитических решений.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье показывают эволюцию простого счётчика — от React до чистого JS без ререндера: годы экспериментов ради компонента, в котором всё прозрачно и управляется только кодом.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
• HTTP-запросы: параметры, методы и коды состояния
• Как использовать Evolution free tier: опыт тех, кто уже запустил проект с помощью бесплатных ресурсов в облаке
• Литкод изи — это просто
• Аптайм вахтер: мониторинг веб-сервисов с помощью Globalping и уведомлениями в Telegram
• Быстрее пули: как найти счастье с PostgreSQL
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье — разбор среды выполнения JavaScript: как она устроена, что происходит с кодом во время исполнения и почему это важно понимать даже тем, кто не пишет чистый JS.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Автор делится опытом запуска Telegram-бота в Serverless-архитектуре, сравнивая Vercel и Timeweb Cloud по цене, удобству и нюансам работы с OpenAI. Про стек, боль и лайфхаки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Автор делится свежим открытием об автовывода типов в дженериках TypeScript — на реальном примере функции fetchFile. Даже спустя 7 лет язык продолжает раскрывать новые грани.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2👍1
fs.promises
в Node.js и как его использовать?fs.promises
— это API для работы с файловой системой с использованием промисов, что позволяет писать асинхронный код без коллбеков.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.message);
}
}
readFile();
🗣️ В этом примере fs.promises.readFile используется для чтения файла асинхронно, делая код чище и проще для обработки ошибок через try-catch.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Покажу, как участие в open source началось с фикса чужой опечатки, привело в core команду крупной библиотеки и почему это до сих пор один из лучших способов расти как разработчик.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1
Pet-проекты часто превращаются в бесконечные «песочницы», которые никогда не заканчиваются.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥5
Автор с нуля создаёт Reddit-подобное сообщество в Telegram, несмотря на нулевой опыт с ботами. Много граблей, но ещё больше фана и кода
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
• Вам не нужно готовое API чтобы начать писать фронтенд или краткий обзор готовых решений для мокинга данных
• Ускоряем браузерные вычисления на коленке с помощью WebAssembly на примере генерации шума
• JavaScript-консоль для QA-инженера: от поиска багов до автоматизации
• Абсурдная незащищенность проекта @gamee
• CI/CD для начинающих: деплой React-приложения без боли
Please open Telegram to view this post
VIEW IN TELEGRAM
Автор разбирает, как работает продвинутая reCAPTCHA Enterprise, зачем она нужна сайтам и почему автоматизаторам она как кость в горле
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказываю, как с помощью Google Stitch за 30 секунд получил готовый дизайн приложения, а потом с Gemini за пару часов превратил его в работающий сервис с голосовым вводом
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Автор разбирает три типовых задачи с собесов для JS-мидлов: про hoisting, ловушки работы с объектами и связные списки. Много edge-кейсов и проверка, не на автомате ли ты всё это пишешь
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
В этой статье рассмотрим, почему безобидная строчка await fetch() неожиданно превращается в тормоз, где именно она зарывает драгоценные миллисекунды — и что можно сделать с этим.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Напишите сервер на Node.js, который обрабатывает POST-запрос и парсит JSON-тело без использования фреймворков и внешних зависимостей. Это полезно для понимания низкоуровневой работы с HTTP-запросами.
Решение задачи
const http = require('http');
const server = http.createServer((req, res) => {
if (req.method === 'POST' && req.url === '/data') {
let body = '';
// Сбор данных из потока
req.on('data', chunk => {
body += chunk;
});
// После завершения получения данных
req.on('end', () => {
try {
const parsedData = JSON.parse(body);
console.log('Полученные данные:', parsedData);
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ message: 'Данные получены успешно' }));
} catch (err) {
res.writeHead(400, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ error: 'Невалидный JSON' }));
}
});
} else {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('Not Found');
}
});
server.listen(3000, () => {
console.log('Сервер запущен на http://localhost:3000');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Node.js крут не из-за JS, а потому что умеет асинхронность без Web API. В статье — как libuv, цикл событий и многослойная магия делают это возможным. Теперь станет понятно, что за фазы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1