Telegram Web Link
🔎 Подборка вакансий для джунов

Junior Node.js developer
🟢Node.js, JavaScript, SQL, HTTP, Git, TypeScript, NestJS, ORM, Unit-тесты, Jest, Linux
🟢от 70 000 ₽ на руки | Без опыта

Node.js Developer
🟢Node.js, TypeScript, Express.js, Nest.js, SQL, NoSQL, Blockchain, Web3.js, MongoDB, PostgreSQL, Swagger, RabbitMQ, RESTful API, WebSocket
🟢Уровень дохода не указан | 1–3 года

Junior QA Engineer
🟢XPath, Функциональное тестирование, Регрессионное тестирование, Интеграционное тестирование, API, JavaScript
🟢от 50 000 до 70 000 ₽ на руки | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
🤔 Как избавиться от WebSockets и сэкономить $1 млн в год: неожиданные решения для оптимизации

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⚙️ Как работает worker_threads в Node.js и зачем он нужен?

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

➡️ Пример:

const { Worker, isMainThread, parentPort } = require('worker_threads');

if (isMainThread) {
// Главный поток
console.log('Главный поток запущен');

const worker = new Worker(__filename); // Создаем воркер

worker.on('message', (msg) => {
console.log('Результат от воркера:', msg);
});

worker.postMessage('Начать расчет'); // Передаем сообщение воркеру
} else {
// Воркер
parentPort.on('message', (msg) => {
console.log('Сообщение от главного потока:', msg);
// Выполняем тяжелый расчет
const result = Array(1e6).fill(0).reduce((acc, _, i) => acc + i, 0);
parentPort.postMessage(result); // Отправляем результат обратно
});
}


🗣️ В этом примере главный поток создает воркер, который выполняет вычисление суммы чисел, не блокируя основной поток. Это позволяет использовать многопоточность в JavaScript для высоконагруженных операций.


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

Архитектор, разработчик 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
💬 Различные (и современные) способы переключения контента

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

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

Напишите скрипт, который принимает путь к папке, считывает все файлы в этой папке и записывает их имена, размеры (в байтах) и дату последнего изменения в JSON-файл.

Пример использования:

node generateFileInfo.js ./example-folder

"name": "file1.txt",
"size": 1234,
"lastModified": "2023-09-01T12:34:56.789Z"

"name": "file2.js",
"size": 456,
"lastModified": "2023-09-02T14:56:23.123Z"


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

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

const folderPath = process.argv[2];

if (!folderPath) {
console.error('Пожалуйста, укажите путь к папке.');
process.exit(1);
}

fs.readdir(folderPath, (err, files) => {
if (err) {
console.error('Ошибка чтения папки:', err.message);
return;
}

const fileInfo =
files.map(file => {
const filePath = path.join(folderPath, file);
const stats = fs.statSync(filePath);

return {
name: file,
size: stats.size,
lastModified: stats.mtime.toISOString(),
};
});

fs.writeFile('files.json', JSON.stringify(fileInfo, null, 2), err => {
if (err) {
console.error('Ошибка записи файла:', err.message);
return;
}
console.log('Информация о файлах сохранена в files.json');
});
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👩‍💻 Ментальная модель потоков в Node.js

Статья исследует концепцию потоков в Node.js, объясняя их ключевую роль в модулях, таких как fs и http. Рассматриваются основные концепции и ментальная модель, помогающая понять и эффективно использовать потоки.

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

Node JS бэкенд-разработчик (частичная занятость)
Node.js, Express.js, REST API, PostgreSQL, MongoDB, Redis, Docker, Yandex.Cloud
от 250 000 ₽ | от 5 лет

Backend разработчик NodeJS
TypeScript, Node.js, MoleculerJS, PostgreSQL
Уровень дохода не указан | от 4 лет

Fullstack TypeScript разработчик [Senior]
TypeScript, Node.js, React, Kubernetes, Docker, PostgreSQL, Redis, Grafana, Prometheus
Уровень дохода не указан | от 5 лет

Fullstack (CMS Directus, Vue.js)
Node.js, Vue.js, Nuxt.js, PostgreSQL, S3, Docker, Makefile
Уровень дохода не указан | от 2 лет

Backend Developer (Node.js)
Node.js, MongoDB, TypeScript, NestJS, Kafka, Redis, Clickhouse, Elasticsearch
от 3 800 до 6 300 $ | от 5 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣2
👩‍💻 Улучшение производительности с делегированием событий

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

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

process.env — это объект в Node.js, который содержит переменные окружения. Они используются для хранения конфиденциальной информации (например, ключей API, паролей) и настройки приложений в разных средах (разработка, тестирование, продакшен).

➡️ Пример:

// Установите переменные окружения (например, в .env файле или через терминал)
// В Linux/Mac: export API_KEY=12345
// В Windows (cmd): set API_KEY=12345

// Доступ к переменным окружения
console.log(`Ваш API ключ: ${process.env.API_KEY}`);

// Используем переменные окружения для конфигурации
if (process.env.NODE_ENV === 'production') {
console.log('Запущено в режиме продакшена');
} else {
console.log('Запущено в режиме разработки');
}


🗣️ Переменные окружения через process.env позволяют настраивать поведение приложения без изменения кода. Это важно для обеспечения безопасности и управления настройками.


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

Lead NodeJS
Node.js, микросервисная архитектура, Camunda, Kubernetes, MongoDB, Apache Kafka, REST, React
Уровень дохода не указан | от 3 лет

Lead Backend Developer (Node.js) at US-based company
Node.js, JavaScript, TypeScript, RDBMS, Apache Kafka, CI/CD, Kubernetes, AWS
от 6 000 до 7 500 $ | более 6 лет

Senior Backend Developer (Node.js)
Node.js, TypeScript, NestJS, PostgreSQL, Redis, RabbitMQ, Docker, Kubernetes, AWS
от 5 000 до 6 000 $ | от 5 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Как пересылать сообщения из Telegram в SMS с помощью бота

В этом гайде пользователь объясняет, как можно написать простого Telegram чат-бота на NodeJS, который будет пересылать все входящие сообщения в SMS, используя Exolve SMS API.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🎯 Учись говорить «нет»

Тебя постоянно просят «быстренько помочь» с задачей, которую ты вообще не должен делать? Кажется, что отказ — это плохо, но на самом деле он спасает твоё время и нервы.

✔️ Совет: отвечай честно, но твёрдо. Например: «Сейчас я занят другим проектом, лучше подойти к [имя того, кто может помочь]». Не жертвуй своим временем ради чужой лени.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
📝 Подборка зарубежных вакансий

Senior Backend Engineer (Node.js)
Node.js, TypeScript, Next.js, AWS, PostgreSQL, Prisma ORM
до 4 500 $ | от 3 лет

Backend Developer Middle+ (Node.js)
Node.js, TypeScript, PostgreSQL, GraphQL, Express, Kubernetes
от 3 500 до 4 500 $ | от 3 лет

NodeJS Developer
Node.js, TypeScript, NestJS, React, PostgreSQL, Docker, Golang
от 2 500 $ | от 3 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ PHP 8.4: Curl: Новая опция CURLOPT_PREREQFUNCTION

Расширение Curl в PHP 8.4 представляет новую опцию CURLOPT_PREREQFUNCTION, позволяющую задать пользовательский callable для принятия решения о продолжении или прерывании запроса. Эта возможность доступна, если расширение собрано с libcurl 7.80.0 или более поздней версии.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤔2
👩‍💻 Поиск самого длинного слова в строке

Напишите функцию, которая принимает строку и возвращает самое длинное слово. Если несколько слов имеют одинаковую длину, вернуть первое из них.

Пример:

const sentence = "JavaScript is an amazing programming language";
const result = findLongestWord(sentence);
console.log(result);
// Ожидаемый результат: "programming"


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

function findLongestWord(sentence) {
return sentence
.split(' ')
.reduce((longest, word) => (word.length > longest.length ? word : longest), '');
}

// Пример использования:
const sentence = "JavaScript is an amazing programming language";
const result = findLongestWord(sentence);
console.log(result);
// Ожидаемый результат: "programming"
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6👍4
⚠️ Ошибки, которые я совершил, пытаясь быть «слишком правильным» в разработке

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1👎1
2025/07/11 18:23:43
Back to Top
HTML Embed Code: