В статье объясняется, как Atomics помогает синхронизировать потоки, предотвращая хаос при одновременной работе с общими данными. Простыми примерами покажем, как управлять многопоточностью.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👎1
Статья предлагает использовать прокси и кэширование для реестра npm с помощью Verdaccio или Nexus, чтобы повысить безопасность и ускорить установку пакетов. Также обсуждаются риски скриптов жизненного цикла npm и способы их безопасного использования.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Напишите скрипт на 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
❤1
Росатом ищет системного аналитика на удалённую занятость!
✅Наш идеальный кандидат обладает опытом работы от 5 лет, а также навыками разработки Web-приложений, проектирования, документирования и интеграции (REST, SOAP, брокеры сообщений), умеет декомпозировать крупные задачи, понимает принципы построения микросервисной архитектуры ПО, может работать с agile/scrum методологией, BPMN, UML, SQL, OpenProject и Postman. Опыт реализации и внедрения систем ECM, ERP, MES, CRM, HRM будет плюсом.
🤝Мы предлагаем работу в команде самого динамично развивающегося разработчика продуктов для HR-автоматизации на российском рынке, стабильную «белую» зарплату дважды в месяц, обучение за счёт работодателя и ДМС со стоматологией с первого дня. А ещё — возможность расти по карьерной лестнице и вносить свой вклад в создание современного флагманского проекта для крупных предприятий.
✅Наш идеальный кандидат обладает опытом работы от 5 лет, а также навыками разработки Web-приложений, проектирования, документирования и интеграции (REST, SOAP, брокеры сообщений), умеет декомпозировать крупные задачи, понимает принципы построения микросервисной архитектуры ПО, может работать с agile/scrum методологией, BPMN, UML, SQL, OpenProject и Postman. Опыт реализации и внедрения систем ECM, ERP, MES, CRM, HRM будет плюсом.
🤝Мы предлагаем работу в команде самого динамично развивающегося разработчика продуктов для HR-автоматизации на российском рынке, стабильную «белую» зарплату дважды в месяц, обучение за счёт работодателя и ДМС со стоматологией с первого дня. А ещё — возможность расти по карьерной лестнице и вносить свой вклад в создание современного флагманского проекта для крупных предприятий.
hh.ru
Вакансия Системный аналитик в Москве, работа в компании Гринатом. ИТ
Зарплата: не указана. Москва. Требуемый опыт: более 6 лет. Полная. Дата публикации: 03.10.2025.
❤1😁1
В статье рассказывается, как настроить рабочее пространство VSCode для разработки. Обзор полезных расширений, которые повышают удобство и продуктивность, и советы по их применению.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Git rebase — мощный инструмент, помогающий перенести или объединить один, или несколько коммитов в новый базовый коммит, переписав историю проекта так, чтобы ваша ветка выглядела созданной из другого коммита. Он помогает поддерживать более чистую и линейную историю.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Если ошибка «маловероятна», значит, она обязательно случится — в самый неподходящий момент.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Статья объясняет, как с помощью Proxy в ванильном JavaScript реализовать реактивные сигналы, упрощая управление состоянием. Рассматриваются основные принципы и примеры применения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья объясняет, как gRPC упрощает переход от монолита к микросервисам в приложениях на основе Domain Driven Design. Рассматриваются преимущества: прямые вызовы, типизация, децентрализация и автоматизация методов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Как в приложении Node.js происходит обработка клиентских запросов? Какая функция помогает обрабатывать тот или иной запрос? Чтобы ответить на эти вопросы, заглянем в "закулисье" маршрутизации фреймворка Express.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите скрипт, который принимает название города и выводит текущую температуру в этом городе, используя бесплатный API OpenWeatherMap.
Пример использования:
node weather.js London
Текущая температура в London: 15°C
Решение задачи
const https = require('https');
const city = process.argv[2];
const apiKey = 'your_openweathermap_api_key'; // Замените на свой API-ключ
if (!city) {
console.error('Пожалуйста, укажите город.');
process.exit(1);
}
const url = `https://api.openweathermap.org/data/2.5/weather?q=${city}&units=metric&appid=${apiKey}` ;
https.get(url, (res) => {
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
const weather = JSON.parse(data);
if (weather.main) {
console.log(`Текущая температура в ${city}: ${weather.main.temp}°C`);
} else {
console.error(`Не удалось получить данные о погоде для города: ${city}`);
}
});
}).on('error', (err) => {
console.error('Ошибка:', err.message);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Хотите интегрировать ShakaPlayer в приложение Lightning для управления воспроизведением? Изучите краткое руководство по расширению стандартного медиаплеера в Lightning и использованию его с ShakaPlayer.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Детальный разбор того, как простой анализ производительности помог обнаружить неэффективность WebSocket и оптимизировать передачу данных.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
Давайте уделим немного времени рассмотрению Dialog API, Popover API и остальных. Рассмотрим, когда лучше использовать каждый из них в зависимости от требований. Модальные или немодальные? JavaScript или чистый HTML/CSS? Не уверены? Не волнуйтесь, мы разберёмся во всём этом.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите скрипт, который принимает путь к папке и выводит количество файлов каждого расширения в этой папке.
Пример:
node fileExtensions.js ./example-folder
txt: 3
js: 5
json: 2
Решение задачи
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 extensionCount = files.reduce((acc, file) => {
const ext = path.extname(file).slice(1); // Получаем расширение без точки
if (ext) {
acc[ext] = (acc[ext] || 0) + 1;
}
return acc;
}, {});
console.log('Расширения файлов:');
for (const [ext, count] of Object.entries(extensionCount)) {
console.log(`${ext}: ${count}`);
}
});
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья исследует концепцию потоков в Node.js, объясняя их ключевую роль в модулях, таких как fs и http. Рассматриваются основные концепции и ментальная модель, помогающая понять и эффективно использовать потоки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Статья объясняет технику делегирования событий в веб-разработке, показывая, как использование одного слушателя на родительском элементе упрощает управление событиями и повышает производительность.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#вакансия #удаленка #fulltime #backend
Backend Engineer (Nodejs + Python) — сначала быстро, потом
Мы делаем продукт для BTC-майнинга. Пишем веб-бэкенды на Node.js + Python, гоняем клиентский трафик и телеметрию, храним метрики в Clickhouse, биллинг в Postgres. Нам нужен человек, который быстро доставляет ценность, не боится грязных MVP и умеет превращать их в чистые, наблюдаемые сервисы.
Формат:
- Full-time, remote-friendly (UTC±2 ок).
- Язык: RU на уровне команды.
- Техническая команда: веб-фулстэк, Rust-бэкенд, CTO.
- Решения принимаем быстро, мерджим часто, катим сразу, рефакторим планово.
- Вилка: $3000-$6000
Чем заниматься:
- Проектировать и делать веб-API (REST/WebSocket) для кабинета и админки: биллинг, выплаты, нотификации, вспомогательные сервисы.
- Интеграции: Clerk (auth, impersonation), Postgres (RLS, миграции), ClickHouse (агрегаты статистики), Redis (кэш/lock), R2/S3 (CDN).
- Наблюдаемость: метрики/логи/трейсинг, дашборды и алерты (Prometheus/Grafana/Loki).
- Производительность: индексы, EXPLAIN, профилирование, backpressure.
Технологии (основное):
- Node.js (TypeScript, Express/Nest/Fastify), Python (FastAPI/aiohttp), async I/O.
- Postgres (SQL, триггеры и хранимки, индексы, планировщик), ClickHouse, Redis
- Docker, GitHub Actions.
- Линтеры/тайпчекеры: ESLint/Prettier, ruff/black/mypy, pyright.
Как мы работаем («быстро на костылях → потом нормально»):
- Спринт 1–3 дня: узкий MVP, минимум слоёв, прямые SQL/SDK, фича-флаг, happy-path e2e.
- Дожим после релиза: типизация, валидация (Pydantic/Zod), идемпотентность, ретраи с backoff, метрики, алерты, интеграционные тесты, миграции и docs (короткие ADR).
- В PR ждём: чёткие таймауты, поведение при ошибках, метрики и лог-ключи для дебага.
Требования (must-have):
- 4+ лет в бэкенде, реально продуктивен в Node.js и/или Python, готов работать в обоих.
- Сильный SQL/Postgres: индексы, EXPLAIN, блокировки, миграции; понимаешь, где узкие места.
- Асинхронщина, очереди, кэш, идемпотентные API, ретраи/таймауты/backoff, at-least-once/дедуп.
- Наблюдаемость как привычка: метрики до кода, лог-корреляция, дешёвые SLO.
- Умение быстро «прибить костыль» и потом довести до прод-качества.
Будет плюсом:
- ClickHouse, высоконагруженная телеметрия.
- Понимание домена: финтех, крипто.
- Pulumi, Prometheus/Grafana/Loki.
- Supabase (RLS), Clerk, R2/S3.
Что считаем успехом (30/60/90):
- 30 дней: 3–4 фичи в проде, метрики/алерты на свои сервисы, первое снятие узкого места (индекс/кэш).
- 60 дней: закрыт e2e «регистрация → начисления → баланс», выплаты в sandbox, стабилизирован оффлайн-детект.
- 90 дней: берёшь end-to-end зону (Billing или Notifications), выжигаешь технический долг v0, покрытие интеграционными тестами ≥60% на своём коде, минус 3 главных перф-бутылочных горлышка.
Кому точно к нам:
- Ты делаешь PR в тот же день, не ждёшь идеального ТЗ.
- Тебя не пугает переписывать свой код через неделю, если так быстрее для бизнеса.
- Любишь цифры: latency, error-rate, p95, RPS — не «где-то там», а в твоём дашборде.
Кому лучше не к нам:
- Нужен «архсовет на 6 встреч» перед Hello World.
- Болит от временных решений и фича-флагов.
- Не готов брать на себя поддержку того, что выкатил.
Процесс найма:
- Выполнение тестового задания.
-60 мин созвон: разбираем тестовое задание, короткий deep-dive по одному твоему проекту (где ты сначала сделал «как попало», а потом правильно).
Финальное собеседование с CEO.
-Как откликнуться: пришлите 1–2 ссылки на репо/PR + 3–5 предложений про ваш «костыль → нормальное решение» (какие компромиссы, какие метрики улучшили).
— Готовы «возить углём» и шипить быстро? Поговорим.
Telegram: @dishsh
Backend Engineer (Nodejs + Python) — сначала быстро, потом
Мы делаем продукт для BTC-майнинга. Пишем веб-бэкенды на Node.js + Python, гоняем клиентский трафик и телеметрию, храним метрики в Clickhouse, биллинг в Postgres. Нам нужен человек, который быстро доставляет ценность, не боится грязных MVP и умеет превращать их в чистые, наблюдаемые сервисы.
Формат:
- Full-time, remote-friendly (UTC±2 ок).
- Язык: RU на уровне команды.
- Техническая команда: веб-фулстэк, Rust-бэкенд, CTO.
- Решения принимаем быстро, мерджим часто, катим сразу, рефакторим планово.
- Вилка: $3000-$6000
Чем заниматься:
- Проектировать и делать веб-API (REST/WebSocket) для кабинета и админки: биллинг, выплаты, нотификации, вспомогательные сервисы.
- Интеграции: Clerk (auth, impersonation), Postgres (RLS, миграции), ClickHouse (агрегаты статистики), Redis (кэш/lock), R2/S3 (CDN).
- Наблюдаемость: метрики/логи/трейсинг, дашборды и алерты (Prometheus/Grafana/Loki).
- Производительность: индексы, EXPLAIN, профилирование, backpressure.
Технологии (основное):
- Node.js (TypeScript, Express/Nest/Fastify), Python (FastAPI/aiohttp), async I/O.
- Postgres (SQL, триггеры и хранимки, индексы, планировщик), ClickHouse, Redis
- Docker, GitHub Actions.
- Линтеры/тайпчекеры: ESLint/Prettier, ruff/black/mypy, pyright.
Как мы работаем («быстро на костылях → потом нормально»):
- Спринт 1–3 дня: узкий MVP, минимум слоёв, прямые SQL/SDK, фича-флаг, happy-path e2e.
- Дожим после релиза: типизация, валидация (Pydantic/Zod), идемпотентность, ретраи с backoff, метрики, алерты, интеграционные тесты, миграции и docs (короткие ADR).
- В PR ждём: чёткие таймауты, поведение при ошибках, метрики и лог-ключи для дебага.
Требования (must-have):
- 4+ лет в бэкенде, реально продуктивен в Node.js и/или Python, готов работать в обоих.
- Сильный SQL/Postgres: индексы, EXPLAIN, блокировки, миграции; понимаешь, где узкие места.
- Асинхронщина, очереди, кэш, идемпотентные API, ретраи/таймауты/backoff, at-least-once/дедуп.
- Наблюдаемость как привычка: метрики до кода, лог-корреляция, дешёвые SLO.
- Умение быстро «прибить костыль» и потом довести до прод-качества.
Будет плюсом:
- ClickHouse, высоконагруженная телеметрия.
- Понимание домена: финтех, крипто.
- Pulumi, Prometheus/Grafana/Loki.
- Supabase (RLS), Clerk, R2/S3.
Что считаем успехом (30/60/90):
- 30 дней: 3–4 фичи в проде, метрики/алерты на свои сервисы, первое снятие узкого места (индекс/кэш).
- 60 дней: закрыт e2e «регистрация → начисления → баланс», выплаты в sandbox, стабилизирован оффлайн-детект.
- 90 дней: берёшь end-to-end зону (Billing или Notifications), выжигаешь технический долг v0, покрытие интеграционными тестами ≥60% на своём коде, минус 3 главных перф-бутылочных горлышка.
Кому точно к нам:
- Ты делаешь PR в тот же день, не ждёшь идеального ТЗ.
- Тебя не пугает переписывать свой код через неделю, если так быстрее для бизнеса.
- Любишь цифры: latency, error-rate, p95, RPS — не «где-то там», а в твоём дашборде.
Кому лучше не к нам:
- Нужен «архсовет на 6 встреч» перед Hello World.
- Болит от временных решений и фича-флагов.
- Не готов брать на себя поддержку того, что выкатил.
Процесс найма:
- Выполнение тестового задания.
-60 мин созвон: разбираем тестовое задание, короткий deep-dive по одному твоему проекту (где ты сначала сделал «как попало», а потом правильно).
Финальное собеседование с CEO.
-Как откликнуться: пришлите 1–2 ссылки на репо/PR + 3–5 предложений про ваш «костыль → нормальное решение» (какие компромиссы, какие метрики улучшили).
— Готовы «возить углём» и шипить быстро? Поговорим.
Telegram: @dishsh
❤2🔥1😁1
В этом гайде пользователь объясняет, как можно написать простого Telegram чат-бота на NodeJS, который будет пересылать все входящие сообщения в SMS, используя Exolve SMS API.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
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