Telegram Web
👩‍💻 Создание простого сервера для статических файлов

Создайте HTTP-сервер на Node.js, который раздаёт статические файлы из указанной папки. По умолчанию сервер должен обслуживать файлы из папки public и работать на порту 3000.

Создайте структуру папок:

project/
├── server.js
└── public/
└── index.html


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

Файл server.js:

const http = require('http');
const fs = require('fs');
const path = require('path');

const PORT = 3000;
const PUBLIC_DIR = path.join(__dirname, 'public');

const server = http.createServer((req, res) => {
let filePath = path.join(PUBLIC_DIR, req.url === '/' ? 'index.html' : req.url);

fs.readFile(filePath, (err, data) => {
if (err) {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('404 Not Found');
} else {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(data);
}
});
});

server.listen(PORT, () => {
console.log(`Сервер запущен на http://localhost:${PORT}`);
});

Файл public/index.html (пример содержимого):

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Static Server</title>
</head>
<body>
<h1>Добро пожаловать на мой сервер!</h1>
</body>
</html>

node server.js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
💬 Добавление поддержки нескольких языков в NestJS и Angular приложениях

В этой статье я добавлю поддержку нескольких языков в NestJS и Angular приложениях, для сообщений в ошибках, уведомлениях и данных полученных из базы данных.

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

Создайте HTTP-сервер на Node.js с REST API для управления списком задач. Реализуйте следующие функции:

Получение всех задач (GET /tasks).
Добавление новой задачи (POST /tasks).
Удаление задачи по индексу (DELETE /tasks/:index).

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

npm init -y
npm install express

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

app.use(express.json());

let tasks = [];

// Получение всех задач
app.get('/tasks', (req, res) => {
res.json(tasks);
});

// Добавление новой задачи
app.post('/tasks', (req, res) => {
const { task } = req.body;
if (task) {
tasks.push(task);
res.status(201).json({ message: 'Задача добавлена', tasks });
} else {
res.status(400).json({ error: 'Задача не должна быть пустой' });
}
});

// Удаление задачи по индексу
app.delete('/tasks/:index', (req, res) => {
const index = parseInt(req.params.index, 10);
if (index >= 0 && index < tasks.length) {
tasks.splice(index, 1);
res.json({ message: 'Задача удалена', tasks });
} else {
res.status(404).json({ error: 'Задача не найдена' });
}
});

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

Junior developer TypeScript (JavaScript)
🟢TypeScript, JavaScript, React.js, RxJS, Node.js, PostgreSQL, AWS, Electron
🟢от 800 $ | Без опыта

Junior Developer
🟢Node.js, TypeScript, Nest.js, MongoDB, ClickHouse, Redis, SQL, Linux
🟢от 80 000 до 130 000 ₽ | Без опыта

Junior Backend-разработчик Node.js
🟢Node.js, Nest.js, TypeScript, SQL, Docker, CI/CD, Git, RabbitMQ, HTML, CSS, React
🟢Уровень дохода не указан | Без опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Базовое программирование, или Почему джуны не могут пройти к нам собеседование

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое 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
👍4
📝 Подборка вакансий для мидлов

Архитектор, разработчик node js (nest js)
JavaScript (ES5, ES6, ES7, ES8, ES9), NestJS (Node.js), Git, Docker
от 200 000 ₽ | Средний (Middle)

Backend (Node.js) разработчик
TypeScript, Node.js, JavaScript
Уровень дохода не указан | Средний (Middle)

JavaScript FullStack разработчик
JavaScript, HTML, CSS, TypeScript, Node.js, Vue.js (2 и 3 версия), Git, SQL (MySQL, PostgreSQL), OAuth-протокол
от 80 000 до 130 000 ₽ | Средний (Middle)

Frontend разработчик (Vue)
JavaScript, HTML, CSS, Vue.js, Vuex, Flexbox, Grid Layout, Gulp, Webpack, REST API, Английский язык
Уровень дохода не указан | Средний (Middle)

Node.js Backend Developer (проект СЭД)
TypeScript, Node.js, JavaScript, React, MERN-стек (MongoDB, Express/Koa, React.js, Node.js), NoSQL/SQL (MongoDB, PostgreSQL), CI/CD
Уровень дохода не указан | Средний (Middle)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎2🔥1
👩‍💻 React Server Components и Next.js 13: новый шаг к оптимальному рендерингу

React Server Components (RSC) и Next.js 13 представляют новый виток в разработке React-приложений, предоставляя мощные инструменты для оптимизации и упрощения архитектуры.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡5👍2
👩‍💻 Упрощённый API для управления заметками

Создайте минимальный API на Node.js с использованием Express, который позволяет:

Получить список всех заметок.
Добавить новую заметку.

Требования:

1. Маршруты API:
• GET /notes: Возвращает массив всех заметок.
• POST /notes: Добавляет новую заметку (передаётся в теле запроса).
2. Хранилище данных:
Используйте массив в памяти. Каждая заметка должна содержать поля:
{
"id": "уникальный идентификатор",
"content": "текст заметки"
}

3. Требования к корректности:
Заголовок заметки (content) должен быть строкой и не быть пустым.

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

const express = require('express');
const { v4: uuidv4 } = require('uuid');

const app = express();
app.use(express.json());

let notes = [];

// Получить все заметки
app.get('/notes', (req, res) => {
res.json(notes);
});

// Добавить новую заметку
app.post('/notes', (req, res) => {
const { content } = req.body;
if (!content || typeof content !== 'string') {
return res.status(400).json({ error: 'Invalid content' });
}

const newNote = { id: uuidv4(), content };
notes.push(newNote);
res.status(201).json(newNote);
});

// Запуск сервера
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on http://localhost:${PORT}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
➡️ Как внедрить наблюдаемость в микросервисное приложение с помощью OpenTelemetry, Jaeger и Prometheus

Статья рассказывает, как наблюдаемость помогает выявлять проблемы в микросервисных приложениях. Описаны метрики, логи, трассировки и инструменты для анализа производительности системы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👩‍💻 Паттерны для эффективного манипулирования DOM с ванильным JavaScript

В руководстве рассматриваются такие шаблоны работы с DOM на JavaScript, как выбор правильного querySelector, кэширование элементов и улучшение обработки событий.

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

Senior Backend Developer (Node.js)
Node.js, TypeScript, NestJS, PostgreSQL, Docker, Apache Kafka
Уровень дохода не указан | 3+ года

Full stack developer
PHP 8, MySQL, JavaScript, Node.js, Git, React, Laravel, jQuery, Symfony, Yii framework
от 2 000 до 4 000 $ | 3–5 лет

Разработчик SharePoint
JavaScript, ASP.NET, SharePoint, SSOM, CSOM, JSOM, MS SQL Server Reporting Services, MS Analysis Services
Уровень дохода не указан | 3+ года
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ HTTP-запросы: структура, методы, строка статуса и коды состояния

Статья объясняет базовые элементы HTTP: структуру запросов, методы для выполнения операций, строку статуса и коды состояния, помогающие понять результат взаимодействия с сервером.

Читать...
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
🔥6👍2
⚙️ Интеграция и сохранение выбранного языка пользователя в базу данных в фулстек-приложении на «Angular» и «NestJS»

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Хост директивы: ключ к декомпозиции

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
📚 Не учи всё подряд — изучай по необходимости

Каждый день выходит что-то новое, и кажется, что ты не успеваешь за технологиями? Это нормально.

👉 Совет: вместо хаотичного изучения «всего и сразу» учись в контексте реальных задач. Осваивай технологии, которые помогут тебе решать конкретные проблемы в работе. Так знания закрепляются быстрее и остаются в голове.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🥰2
🔎 Подборка зарубежных вакансий

Senior Backend Developer (Node.js), Billing Team
🟢Node.js, TypeScript, Kafka, PostgreSQL, Redis, Elasticsearch, ClickHouse, Docker
🟢от 3 800 до 6 300 $ | 6+ лет

Fullstack Developer (Vue.js + Nest.js)
🟢Vue.js, Nest.js, TypeScript, Webpack, Vite, Git, Nuxt 3
🟢Уровень дохода не указан | 3–6 лет

Full Stack Developer (Node.js, TypeScript, SQL)
🟢Node.js, Express.js, React, TypeScript, SQL, RESTful API, Apache Airflow, AWS
🟢Уровень дохода не указан | 5+ лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
2025/07/11 21:38:11
Back to Top
HTML Embed Code: