Node.JS [ru] | Серверный JavaScript
11.5K subscribers
92 photos
6 videos
25 files
3.16K links
Все о разработке backend части на JavaScript (Node JS).
А так же: Express JS, Next JS, Nest, Socket.IO

Канал на бирже - https://telega.in/c/we_use_js

По вопросам рекламы или разработки: @g_abashkin

РКН: https://vk.cc/cJPGOP
Download Telegram
➡️ Опыт работы с Serverless-архитектурой для Telegram-бота на Vercel и Timeweb Cloud

Автор делится опытом запуска Telegram-бота в Serverless-архитектуре, сравнивая Vercel и Timeweb Cloud по цене, удобству и нюансам работы с OpenAI. Про стек, боль и лайфхаки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Автовыведение типов в TypeScript: мощь дженериков и функций

Автор делится свежим открытием об автовывода типов в дженериках 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-проект? Ограничь его правилами

Pet-проекты часто превращаются в бесконечные «песочницы», которые никогда не заканчиваются.

👉 Совет: перед стартом задай себе рамки: цель, ограничение по времени, минимум фич. Работай над проектом как над продуктом. Тогда это будет и полезно, и завершено.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥5
⚙️ Как я создал мини-реддит на базе Telegram

Автор с нуля создаёт Reddit-подобное сообщество в Telegram, несмотря на нулевой опыт с ботами. Много граблей, но ещё больше фана и кода

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
⚙️ ReCAPTCHA Enterprise: подробный разбор способы распознавания и варианты обхода, какие решатели капчи существуют

Автор разбирает, как работает продвинутая reCAPTCHA Enterprise, зачем она нужна сайтам и почему автоматизаторам она как кость в горле

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Pocupochki: когда лень писать список покупок, но есть 2 часа и доступ к Gemini

Рассказываю, как с помощью Google Stitch за 30 секунд получил готовый дизайн приложения, а потом с Gemini за пару часов превратил его в работающий сервис с голосовым вводом

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Middle JavaScript: как избежать ловушек hoisting'а, объектов и связных списков на собеседованиях

Автор разбирает три типовых задачи с собесов для JS-мидлов: про hoisting, ловушки работы с объектами и связные списки. Много edge-кейсов и проверка, не на автомате ли ты всё это пишешь

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
⚙️ Почему твой await fetch тормозит — и как это исправить

В этой статье рассмотрим, почему безобидная строчка await fetch() неожиданно превращается в тормоз, где именно она зарывает драгоценные миллисекунды — и что можно сделать с этим.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
👩‍💻 Парсинг тела POST-запроса без сторонних библиотек в Node.js

Напишите сервер на 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

Node.js крут не из-за JS, а потому что умеет асинхронность без Web API. В статье — как libuv, цикл событий и многослойная магия делают это возможным. Теперь станет понятно, что за фазы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
👩‍💻 Temporal и в целом работа с датой, временем и часовыми поясами

Автор исследует, почему стандартный Date в JS — боль, и как новый API Temporal спасает от хаоса со временем, часовыми поясами и форматами. Всё по делу, с примерами и выводами.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
⚙️ Как я с помощью ChatGPT и Midjourney браузерную игру для изучения регулярных выражений создавал

Автор вдохновился CSS Diner и спустя три года решил повторить механику — только с новой темой и на React. Рассказывает, как из идеи в голове вырос пет-проект.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🔎 Улучшай не только код, но и поиск по нему

Если ты не можешь быстро найти нужный кусок кода, он как будто и не существует.

👉 Совет: структурируй проект так, чтобы названия файлов, функций и переменных были максимально предсказуемыми. Пользуйся соглашениями, чтобы любой grep или поиск в IDE находил нужное мгновенно. Навигация — это часть DX.
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⚙️ Фронтенд и бэкенд больше не будут общаться как прежде: создаём конструктор сценариев на базе Backend Driven UI

Начали с простой правки в чате, а выкрутились на Backend Driven UI с конструктором сценариев. Рассказываю, как случайный кейс стал драйвером системной прокачки всего приложения.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁21👎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
⚙️ LLM-first: парная разработка без вайбкодинга

Собрал мультиязычную файловую CMS с SSR и GitHub Actions, но вручную переводить устал. Подключил ИИ — не как кодер-маг, а как тиммейт. Делюсь, что из этого вышло и как всё устроено.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2