Telegram Web Link
👩‍💻 Задачка по NodeJS

Напишите скрипт, который создаёт HTTP-сервер. При запросе на сервер он должен возвращать текст "Hello, World!".

Сервер запускается на порту 3000.
При обращении к http://localhost:3000 в браузере или через curl возвращается строка "Hello, World!".

Решение задачи ⬇️

const http = require('http');

const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello, World!');
});

server.listen(3000, () => {
console.log('Сервер запущен на http://localhost:3000');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👎6
👩‍💻 Испортили git rebase?

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
👩‍💻 Задачка по NodeJS

Напишите скрипт на Node.js, который скачивает файл по указанному URL и сохраняет его на диск с заданным именем.

Скачивание должно быть реализовано с использованием стандартного модуля https.
Если процесс скачивания прерывается, в консоли должна отображаться ошибка.

➡️ Пример:

node downloadFile.js https://example.com/file.txt saved_file.txt


Решение задачи ⬇️

const https = require('https');
const fs = require('fs');

const [,, url, fileName] = process.argv;

if (!url || !fileName) {
console.error('Использование: node downloadFile.js <url> <fileName>');
process.exit(1);
}

const file = fs.createWriteStream(fileName);

https.get(url, (response) => {
if (response.statusCode !== 200) {
console.error(`Ошибка: Невозможно скачать файл. Статус HTTP: ${response.statusCode}`);
response.resume(); // Освобождаем память
return;
}

response.pipe(file);

file.on('finish', () => {
file.close();
console.log(`Файл успешно сохранён как ${fileName}`);
});
}).on('error', (err) => {
fs.unlink(fileName, () => {}); // Удаляем файл в случае ошибки
console.error(`Ошибка скачивания: ${err.message}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
🔎 Подборка вакансий для джунов

Junior/middle Node.js-разработчик
🟢Node.js, TypeScript, JavaScript, MongoDB
🟢до 100 000 ₽ на руки | Без опыта

Junior backend разработчик Node.js, JavaScript
🟢Node.js, JavaScript, CSS3, HTML5, PostgreSQL, Docker, Git, Puppeteer
🟢от 60 000 ₽ на руки | 1–3 года опыта

Junior Backend Developer Node.js
🟢Node.js, Express, Nest.js, JavaScript, TypeScript, SQL, Docker, CI/CD, Git, RabbitMQ, HTML, CSS, React
🟢Уровень дохода не указан | Без опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Различные (и современные) способы переключения контента

Давайте уделим немного времени рассмотрению Dialog API, Popover API и остальных. Рассмотрим, когда лучше использовать каждый из них в зависимости от требований. Модальные или немодальные? JavaScript или чистый HTML/CSS? Не уверены? Не волнуйтесь, мы разберёмся во всём этом.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👩‍💻 Что такое libuv в Node.js?

libuv — это библиотека, используемая Node.js для управления асинхронным вводом/выводом через событийный цикл и пул потоков. Она предоставляет абстракцию над операционными системами, что позволяет Node.js быть кроссплатформенным и эффективно управлять асинхронными операциями, такими как работа с файловой системой, сетевые операции и таймеры.

➡️ Пример: В Node.js работа с асинхронными функциями, такими как fs.readFile, происходит через libuv. Функция передаёт запрос на выполнение в пул потоков, и когда операция завершится, событие добавляется в очередь событий для обработки.

const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});


🗣️ libuv лежит в основе асинхронной природы Node.js, управляя низкоуровневыми операциями и обеспечивая эффективное выполнение ввода/вывода на уровне ядра.


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

Middle fullstack developer (NodeJS)
Node.js, TypeScript, SQL, Docker, CI/CD
до 180 000 ₽ | Требуемый опыт не указан

Архитектор, Backend разработчик Nest js
JavaScript, NestJS, Node.js, TypeScript, Git, Docker, REST
от 200 000 ₽ | Требуемый опыт не указан

Node.js Backend Developer (проект СЭД)
TypeScript, Node.js, JavaScript, React
Уровень дохода не указан | Требуемый опыт не указан
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁1
👩‍💻 Улучшение производительности с делегированием событий

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задачка по NodeJS

Напишите скрипт на Node.js, который считывает JSON-файл, фильтрует данные по указанному ключу и значению, и выводит результат в консоль.

➡️ Пример:

node filterJson.js data.json age 30

[
{ "name": "Bob", "age": 30 },
{ "name": "Charlie", "age": 30 }
]


Решение задачи ⬇️

const fs = require('fs');

const [,, filePath, key, value] = process.argv;

if (!filePath || !key || !value) {
console.error('Использование: node filterJson.js <filePath> <key> <value>');
process.exit(1);
}

fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error('Ошибка чтения файла:', err.message);
process.exit(1);
}

try {
const jsonData = JSON.parse(data);
const filteredData = jsonData.filter(item => item[key] == value);
console.log(JSON.stringify(filteredData, null, 2));
} catch (parseErr) {
console.error('Ошибка парсинга JSON:', parseErr.message);
process.exit(1);
}
});
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1👎1👏1
👩‍💻 Как использовать npm без опаски

Статья предлагает использовать прокси и кэширование для реестра npm с помощью Verdaccio или Nexus, чтобы повысить безопасность и ускорить установку пакетов. Также обсуждаются риски скриптов жизненного цикла npm и способы их безопасного использования.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как избавиться от WebSockets и сэкономить $1 млн в год: неожиданные решения для оптимизации

Детальный разбор того, как простой анализ производительности помог обнаружить неэффективность WebSocket и оптимизировать передачу данных.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚠️ Ошибки, которые я совершил, пытаясь быть «слишком правильным» в разработке

Статья исследует ошибки, связанные с попытками создать «идеальный» код. Автор делится опытом, где стремление к универсальности, избыточное кэширование и усложнённые решения усложнили задачи вместо упрощения.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
⚙️ Кэширование информации в Redis на NestJS

Статья показывает, как подключить Redis к проекту и настроить кэширование данных с помощью @nestjs-mod/cache-manager. Рассматриваются примеры работы с Docker Compose и Kubernetes для оптимизации запросов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
👩‍💻 Как работают модули CommonJS и ES Modules в Node.js?

CommonJS и ES Modules (ESM) — два способа работы с модулями в Node.js. CommonJS является стандартом, который использовался с момента создания Node.js, в то время как ES Modules соответствуют стандарту JavaScript ES6 и обеспечивают более современный подход.

➡️ Отличия:

CommonJS:

Использует require() для импорта модулей и module.exports для экспорта.
Выполняется синхронно.

// commonjs-module.js
module.exports = function greet(name) {
return `Hello, ${name}!`;
};

// main.js
const greet = require('./commonjs-module');
console.log(greet('Alice')); // Hello, Alice!


ES Modules (ESM):

Использует import и export ключевые слова.
Выполняется асинхронно.

// esm-module.mjs
export function greet(name) {
return `Hello, ${name}!`;
}

// main.mjs
import { greet } from './esm-module.mjs';
console.log(greet('Alice')); // Hello, Alice!


🗣️ В современных приложениях рекомендуется использовать ES Modules благодаря их соответствию стандарту ES6 и поддержке асинхронности. Однако, CommonJS по-прежнему актуален для старых проектов.


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

Node.js Backend разработчик (удаленно)
Node.js, TypeScript, JavaScript, TCP/IP, PostgreSQL, ClickHouse, Google Pub/Sub, Kafka, RabbitMQ
от 180 000 до 660 000 ₽ | от 2 лет

Системный аналитик
BPMN, UML, SQL, OpenProject, Postman
от 200 000 до 300 000 ₽ | от 3 лет

Middle/Senior Node.js developer
Node.js, PostgreSQL, MongoDB, Redis, TypeScript, Docker, Kubernetes, RESTful API
Уровень дохода не указан | от 3 лет

Backend Developer (Node.js)
Node.js, Oracle DB, PostgreSQL, SQL, RabbitMQ, Kafka
Уровень дохода не указан | от 3 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
📈 Отслеживание позиций торгового робота Московской биржи через CSV файл

Статья посвящена созданию кроссплатформенного торгового робота для Московской биржи через API брокера. Рассматриваются проблемы готовых решений, таких как QUIK, и преимущества разработки легкого и гибкого инструмента.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
📂 Разгружай голову, а не храните всё в ней

Держать в памяти всю структуру проекта, сроки задач и дедлайны? Это рецепт для выгорания.

👉 Совет: используй инструменты вроде Notion, Obsidian или Trello для сохранения идей, задач и технических заметок. Мозг лучше работает над задачей, если не перегружен рутиной.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
👩‍💻 Как спрятать любые данные в PNG

Статья объясняет, как спрятать данные в PNG-изображении, используя младшие биты (LSB) пикселей. Рассматривается структура PNG, каналы R, G, B и альфа, а также методы внедрения данных без заметного изменения картинки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
2025/07/08 13:33:37
Back to Top
HTML Embed Code: