Telegram Web Link
👩‍💻 ES2025: Атрибуты импорта JavaScript

Понимание нового синтаксиса атрибутов импорта и причин, по которым нельзя полагаться только на расширения файлов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Создание простого сервера для сокращения URL

Создайте простой сервер на Node.js с использованием Express, который принимает длинный URL и возвращает сокращённую версию. При переходе по сокращённому URL сервер должен перенаправлять на исходный URL.

Решение задачи🔽

npm init -y
npm install express nanoid

const express = require('express');
const { nanoid } = require('nanoid');

const app = express();
const port = 3000;

app.use(express.json());

const urlDatabase = {};

// Создание сокращенного URL
app.post('/shorten', (req, res) => {
const { url } = req.body;
if (!url) {
return res.status(400).json({ error: 'URL is required' });
}

const id = nanoid(6);
urlDatabase[id] = url;
res.json({ shortUrl: `http://localhost:${port}/r/${id}` });
});

// Перенаправление по сокращенному URL
app.get('/r/:id', (req, res) => {
const originalUrl = urlDatabase[
req.params.id];
if (originalUrl) {
res.redirect(originalUrl);
} else {
res.status(404).send('URL not found');
}
});

// Запуск сервера
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤨1
🔎 Подборка вакансий для джунов

Junior Backend разработчик (Node.JS)
🟢Node.js, TypeScript, PostgreSQL, Redis, RabbitMQ, Docker
🟢Уровень дохода не указан | 1–3 года

Junior разработчик/стажер Node.js, React, Fullstack
🟢Node.js, React.js, PostgreSQL, JavaScript, Git
🟢от 40 000 до 70 000 ₽ на руки | 1–3 года

Junior Backend-программист NodeJS
🟢Node.js, JavaScript, REST API, MySQL, Redis, RabbitMQ, GitHub
🟢от 70 000 ₽ до вычета налогов | 1–3 года

Junior+ Node.js разработчик
🟢Node.js, TypeScript, JavaScript, PostgreSQL, Redis, Docker, GitLab CI/CD
🟢до 120 000 ₽ до вычета налогов | Без опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Интеграция и сохранение выбранного языка пользователя в базу данных в фулстек-приложении на «Angular» и «NestJS»

Пример миграции базы данных для нового поля и добавления функционала на бэкенде и фронтенде. Пошаговый разбор: обновление схемы, логика на сервере и интерфейс для изменения данных.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое Intersection Observer в JavaScript и зачем он используется?

Intersection Observer — это API, которое позволяет отслеживать, когда элемент входит или выходит из области видимости (viewport). Оно полезно для оптимизации ленивой загрузки изображений, бесконечной прокрутки или анимаций при прокрутке.

➡️ Пример:

// Целевой элемент для наблюдения
const target = document.querySelector('.observe-me');

// Callback-функция для обработки пересечений
const observerCallback = (entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
console.log('Элемент видим:', entry.target);
observer.unobserve(entry.target); // Останавливаем наблюдение
}
});
};

// Настройки наблюдателя
const observerOptions = {
root: null, // Вся область видимости
threshold: 0.5 // 50% видимости элемента
};

// Создаем наблюдатель
const observer = new IntersectionObserver(observerCallback, observerOptions);

// Начинаем наблюдение за элементом
observer.observe(target);


🗣️ В этом примере API отслеживает, когда .observe-me становится видимым на 50%. Intersection Observer делает прокрутку более производительной, так как избавляет от необходимости использовать события scroll.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3
📝 Подборка вакансий для мидлов

Fullstack разработчик (Node.js + Vue.js)
Node.js, Vue.js, NestJS, Next.js, PostgreSQL, RabbitMQ, Redis, Kubernetes
от 240 000 ₽ на руки | 1–3 года

Node.js разработчик
Node.js, TypeScript, NestJS, PostgreSQL, MongoDB, RabbitMQ, Docker, Redis, GraphQL, GitLab, Ansible
Уровень дохода не указан | 3–6 лет

Backend Developer (Node.js)
Node.js, TypeScript, NestJS, PostgreSQL, Redis, Docker, Linux, Git
от 270 000 до 290 000 ₽ на руки | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что читали на Хабре в 2024 году: анализ статей с Node.js, Google Sheets и каплей ChatGPT

Рассматриваем анализ данных Хабра за 2024 год: популярные статьи, скрытые тренды и интересные находки. Node.js, нейросети и Google Таблицы в деле!

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Простейший сервер с маршрутизацией

Создайте Node.js сервер, который обрабатывает два маршрута:

/hello: Возвращает текст "Hello, World!".
/time: Возвращает текущую дату и время в формате ISO.

Решение задачи🔽

const http = require('http');

const server = http.createServer((req, res) => {
if (req.url === '/hello') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello, World!');
} else if (req.url === '/time') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end(new Date().toISOString());
} else {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('Not Found');
}
});

server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⚙️ Хост директивы: ключ к декомпозиции

Directive Composition API в Angular 15: hostDirectives в @Component/@Directive позволяет автоматически добавлять standalone-директивы, упрощая декомпозицию логики и внедряя новые подходы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Как мы создали микросервисное приложение для анализа вакансий с hh.ru: Docker, Kafka, Elasticsearch и ещё немного магии

Создание распределённого приложения для анализа вакансий hh.ru: микросервисы, контейнеры, брокеры сообщений и визуализация данных в действии. Полезно для аналитиков, компаний и соискателей.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для сеньоров

Senior back-end NodeJS / TypeScript developer (Web3, blockchain)
🟢Node.js, TypeScript, NestJS, PostgreSQL, MongoDB, Redis, RabbitMQ, Docker, Kubernetes, Web3, Blockchain
🟢до 6 000 $ на руки | 3–6 лет

Senior Backend Developer (Node.js)
🟢Node.js, TypeScript, PostgreSQL, Docker, Kafka, Kubernetes, REST API
🟢до 200 000 ₽ на руки | Более 6 лет

Middle+/Senior Node.js Developer
🟢Node.js, TypeScript, PostgreSQL, Redis, RabbitMQ, Docker, Web3
🟢от 2 000 до 3 500 $ на руки | 3–6 лет

Middle / Senior Fullstack / Backend разработчик
🟢TypeScript, Node.js, NestJS, Vue.js, PostgreSQL, REST API, Docker, Git
🟢от 150 000 до 250 000 ₽ на руки | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Интернационализация (i18n) бэкенда в Express с использованием Intlayer

Недавно мне понадобилось добавить поддержку нескольких языков в API на базе Express. Я решил поделиться кратким руководством для тех, кто хочет сделать свой бэкенд отвечающим переведенным контентом в зависимости от предпочтительного языка пользователя.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
⚙️ Что такое process.nextTick в Node.js и зачем он используется?

process.nextTick позволяет выполнять функцию сразу после текущей операции, но перед началом следующего цикла событий (event loop). Это полезно для выполнения задач с высоким приоритетом.

➡️ Пример:

console.log('Начало');

process.nextTick(() => {
console.log('Выполнено в nextTick');
});

console.log('Конец');

// Вывод:
// Начало
// Конец
// Выполнено в nextTick


🗣️ В этом примере process.nextTick выполняет функцию между выводом "Конец" и началом следующего цикла событий. Это помогает при обработке срочных задач.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
🔎 Подборка вакансий для лидов

Ведущий back-end программист (удаленно)
🟢Python, Node.js, TypeScript, PostgreSQL, Redis, Docker, SQL, Git, Linux
🟢от 200 000 ₽ на руки | 3–6 лет

Tech Lead (TypeScript+React+Node.js)
🟢TypeScript, React, Node.js, MobX, Jest, Webpack, NestJS, PostgreSQL, REST, WebSockets, Electron
🟢от 400 000 ₽ на руки | Более 6 лет

Team Lead Back-end Node.JS (B2B Team)
🟢Node.js, SQL, NoSQL, PostgreSQL, Redis, Docker, Kubernetes
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Изучение Символов JavaScript

Глубокое погружение в JavaScript Символы — что это такое, чем они важны и как их эффективно использо3вать

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😢1
🔎 Подборка зарубежных вакансий

Продакт Разработчик Growth React/Node.js Full stack (Удаленно)
🟢React, Node.js, JavaScript, TypeScript, PostgreSQL
🟢от 2 500 до 3 200 $ на руки | 3–6 лет

Full-Stack разработчик (Node Js - React Js) (middle+)
🟢TypeScript, React, Effector, Vite, Styled Components, NestJS, PostgreSQL, TypeORM, Docker, SOAP, Node.js
🟢от 1 000 000 ₸ на руки | 3–6 лет

Backend-разработчик
🟢JavaScript, Node.js, TypeScript, Web3, Blockchain, Cryptocurrency, Fullstack
🟢от 3 500 до 4 500 € на руки | Более 6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
➡️ Бесплатное обучение фулстек-разработке веб-сервиса с нуля по видео-урокам с исходным кодом и поддержкой

Статья представляет курс по созданию IT-продуктов: от выбора архитектуры до радости от разработки. Обучение включает 141 урок, доступный бесплатно, с акцентом на качество, масштабируемость и удобство работы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Проверка сбалансированных скобок

Напишите функцию, которая принимает строку, содержащую различные типы скобок ((), {}, []), и проверяет, являются ли они сбалансированными. Строка считается сбалансированной, если каждая открывающая скобка имеет соответствующую закрывающую в правильном порядке.

Пример: Для строки "{[()]}" функция должна вернуть 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
2025/07/09 20:21:56
Back to Top
HTML Embed Code: