Покажу, как участие в 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('Сервер запущен на https://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
Автор исследует, почему стандартный Date в JS — боль, и как новый API Temporal спасает от хаоса со временем, часовыми поясами и форматами. Всё по делу, с примерами и выводами.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Автор вдохновился CSS Diner и спустя три года решил повторить механику — только с новой темой и на React. Рассказывает, как из идеи в голове вырос пет-проект.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Если ты не можешь быстро найти нужный кусок кода, он как будто и не существует.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Начали с простой правки в чате, а выкрутились на Backend Driven UI с конструктором сценариев. Рассказываю, как случайный кейс стал драйвером системной прокачки всего приложения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁2❤1👎1
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
👍3
Собрал мультиязычную файловую CMS с SSR и GitHub Actions, но вручную переводить устал. Подключил ИИ — не как кодер-маг, а как тиммейт. Делюсь, что из этого вышло и как всё устроено.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
• Как разработчик вышел на $400 000/мес на AI-сервисе для написания эссе
• Переводим 50 приложений на Module Federation и ничего не ломаем
• Как мы создали микросервисное приложение для анализа вакансий с hh.ru: Docker, Kafka, Elasticsearch и ещё немного магии
• Как мы мигрируем с JQuery на React
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказал, как отчаяние, Яндекс, Google и капля безумия привели меня к самодельной вращающейся ручке (кнобу), которую не нашёл в туториалах. Сам в шоке, но теперь она у меня есть.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Реализуйте функцию
fetchWithCache(url, ttl)
, которая делает HTTP-запрос по заданному URL (используя https
), и кеширует результат в файл.Если при повторном вызове с тем же URL кеш актуален (время жизни не истекло), функция должна вернуть данные из файла, не обращаясь к сети.
Поведение:
• Результат сохраняется в файл с названием, основанным на URL (можно использовать хеш).
• TTL (time to live) указывается в миллисекундах.
• Если кеш устарел или отсутствует, функция делает реальный HTTP-запрос и обновляет файл.
Решение задачи
const https = require('https');
const fs = require('fs');
const path = require('path');
const crypto = require('crypto');
function fetchWithCache(url, ttl) {
const cacheDir = path.resolve(__dirname, 'cache');
const hash = crypto.createHash('md5').update(url).digest('hex');
const cacheFile = path.join(cacheDir, `${hash}.json`);
if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir);
}
return new Promise((resolve, reject) => {
if (fs.existsSync(cacheFile)) {
const { mtimeMs } = fs.statSync(cacheFile);
const now =Date.now ();
if (now - mtimeMs < ttl) {
const cached = fs.readFileSync(cacheFile, 'utf-8');
return resolve(JSON.parse(cached));
}
}
https.get(url, res => {
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => {
fs.writeFileSync(cacheFile, data, 'utf-8');
resolve(JSON.parse(data));
});
}).on('error', reject);
});
}
// Пример использования:
fetchWithCache('https://jsonplaceholder.typicode.com/todos/1 ', 5000)
.then(data => console.log(data))
.catch(err => console.error(err));
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1👎1
Чтобы выделить "победителя" среди методов глубокого клонирования в JavaScript, необходимо протестировать каждый из них. Предлагаем результаты серии модульных тестов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Покажу, как за пару шагов подключить Node.js к Pyroscope, настроить профилирование и без Grafana увидеть, где зарываются тормоза в коде.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM