#статьи
❤️🔥 Пишем Realtime для Multiple-page application в микросервисной архитектуре
Статья рассказывает, как в MPA на микросервисной архитектуре избежать потерь сообщений при перезагрузке страницы. Рассматривается метод повторной отправки пропущенных WebSocket-сообщений.
Читать
👉 Новости 👉 База вопросов
Статья рассказывает, как в MPA на микросервисной архитектуре избежать потерь сообщений при перезагрузке страницы. Рассматривается метод повторной отправки пропущенных WebSocket-сообщений.
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Пишем Realtime для Multiple-page application в микросервисной архитектуре
Исходный код, разобранный в статье, опубликован в этом репозитории Частое явление в вебе — полная перезагрузка приложения при переходе между страницами. При этом соединение WebSocket разрывается, а...
#Собес #nodejs
🤔 Какие типы приложений можно создавать с помощью Node.js?
💬 Кратко:
С помощью Node js можно создавать серверные приложения, такие как веб-серверы, REST API, чаты в реальном времени, инструменты для разработки (например, сборщики) и даже десктопные приложения через Electron.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
С помощью Node js можно создавать серверные приложения, такие как веб-серверы, REST API, чаты в реальном времени, инструменты для разработки (например, сборщики) и даже десктопные приложения через Electron.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
📞 Promises-Training — практикуй промисы в JavaScript
Promises-Training — это коллекция упражнений по промисам с автоматическими тестами, где можно прокачать работу с
Почему полезно:
🔵 Пошаговый рост сложности: от простых примеров до нетривиальных сценариев.
🔵 Автотесты сразу показывают, правильно ли решена задача.
🔵 Хорошо подходит, чтобы глубже понять асинхронность и промисы.
🔵 Есть упражнения по реальным случаям:
📦 Как начать:
Запуск проверки конкретного упражнения:
npm run check <category>/<exercise>
Итог: отличный способ на практике закрепить работу с промисами и уверенно освоить асинхронность в JS.
Лежит тут: https://github.com/henriqueinonhe/promises-training
👉 Новости 👉 База вопросов
Promises-Training — это коллекция упражнений по промисам с автоматическими тестами, где можно прокачать работу с
async/await, .then/.catch, конкурентным выполнением и ограничением параллельности. Почему полезно:
parallelMaxConcurrency, concurrencyOverride, extractingResolvers и др. 📦 Как начать:
npm create promises-training@latest
Запуск проверки конкретного упражнения:
npm run check <category>/<exercise>
Итог: отличный способ на практике закрепить работу с промисами и уверенно освоить асинхронность в JS.
Лежит тут: https://github.com/henriqueinonhe/promises-training
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
DI — это то, что позволяет проекту оставаться масштабируемым и удобным. Вместо того чтобы руками создавать объекты, мы говорим фреймворку: «подкидывай зависимости сам»
В Nest.js всё крутится вокруг провайдеров. Любой сервис, репозиторий или клиент можно зарегистрировать и потом внедрять в другие классы через конструктор
@Injectable()
export class UsersService {
constructor(private readonly repo: UsersRepo) {}
}
Nest сам найдёт UsersRepo, создаст его экземпляр и передаст в сервис
📦 Scopes (области жизни провайдера)
Нередко спрашивают на собесах, поэтому важно запомнить все скоупы
По умолчанию все провайдеры singleton — один экземпляр на всё приложение. Но иногда этого мало.
Nest поддерживает три области жизни:
1) Singleton (по умолчанию) — создаётся один раз при старте приложения
2) Request — новый экземпляр для каждого входящего запроса.
3) Transient — новый экземпляр при каждом внедрении
Request и Transient будут дороже по памяти, особенно под нагрузкой
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥2
#Собес #nodejs
🤔 Назовите преимущества Node.js перед другими фреймворками.
💬 Кратко:
Преимущества Node.js:
1. Скорость - благодаря движку V8.
2. Асинхронность - обработка большого количества запросов без блокировки.
3. JavaScript - единый язык для фронтенда и бэкенда.
4. Масштабируемость - подходит для высоконагруженных приложений.
5. Большая экосистема - npm предоставляет множество готовых модулей.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Преимущества Node.js:
1. Скорость - благодаря движку V8.
2. Асинхронность - обработка большого количества запросов без блокировки.
3. JavaScript - единый язык для фронтенда и бэкенда.
4. Масштабируемость - подходит для высоконагруженных приложений.
5. Большая экосистема - npm предоставляет множество готовых модулей.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🤯 Immich Drop Uploader - простой загрузчик для вашего Immich сервера
Легкое веб-приложение без регистрации для загрузки фото и видео на Immich. Поддерживает очередь загрузки, предотвращение дубликатов и сохранение оригинальных дат. Идеально подходит для мобильных устройств и обеспечивает конфиденциальность.
Основные моменты:
- Никаких аккаунтов — просто перетащите файлы
- Поддержка очереди с прогрессом через WebSocket
- Автоматическое добавление в альбом
- Темная тема и мобильная адаптация
- Легкая конфигурация через .env и Docker
GitHub: https://github.com/Nasogaa/immich-drop
👉 Новости 👉 База вопросов
Легкое веб-приложение без регистрации для загрузки фото и видео на Immich. Поддерживает очередь загрузки, предотвращение дубликатов и сохранение оригинальных дат. Идеально подходит для мобильных устройств и обеспечивает конфиденциальность.
Основные моменты:
- Никаких аккаунтов — просто перетащите файлы
- Поддержка очереди с прогрессом через WebSocket
- Автоматическое добавление в альбом
- Темная тема и мобильная адаптация
- Легкая конфигурация через .env и Docker
GitHub: https://github.com/Nasogaa/immich-drop
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Умное преобразование чисел с плавающей точкой
nstr автоматически исправляет проблемы с точностью чисел, улучшая отображение в интерфейсах. Забудьте о некорректных значениях, таких как 0.30000000000000004 — теперь ваши числа выглядят аккуратно и правильно.
Основные моменты:
🔵 Умное определение точности для чисел
🔵 Чистое отображение в UI-компонентах
🔵 Поддержка пользовательских настроек точности
🔵 Простой в использовании и интеграции
GitHub
👉 Новости 👉 База вопросов
nstr автоматически исправляет проблемы с точностью чисел, улучшая отображение в интерфейсах. Забудьте о некорректных значениях, таких как 0.30000000000000004 — теперь ваши числа выглядят аккуратно и правильно.
Основные моменты:
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Работа с локальным хранилищем
👉 Новости 👉 База вопросов
localStorage позволяет хранить данные на стороне клиента (в браузере). Методы setItem() используются для записи данных, getItem() для чтения данных и removeItem() для удаления данных из локального хранилища.Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #nodejs
🤔 Что такое Event Loop и Event Emitter?
💬 Кратко:
Event Loop - это механизм в Node.js, который позволяет выполнять асинхронные операции без блокировки потока. Он управляет событиями и задачами, помещая их в очередь. Event Emitter - это объект, который позволяет создавать и обрабатывать события, используя методы
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Event Loop - это механизм в Node.js, который позволяет выполнять асинхронные операции без блокировки потока. Он управляет событиями и задачами, помещая их в очередь. Event Emitter - это объект, который позволяет создавать и обрабатывать события, используя методы
.emit() и .on() -📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🤯 Обход защиты от ботов с помощью браузерного отпечатка
Этот репозиторий предлагает решения для обхода анти-бот защит при веб-скрапинге. Он включает советы и инструменты для создания незаметных ботов, которые могут эффективно взаимодействовать с различными веб-сайтами, минимизируя риск блокировки.
Основные моменты:
- Стратегии обхода защиты от ботов
- Рекомендации по использованию прокси и сервисов
- Подходы к созданию естественных браузерных отпечатков
- Инструменты для работы с JavaScript-детекцией
GitHub
👉 Новости 👉 База вопросов
Этот репозиторий предлагает решения для обхода анти-бот защит при веб-скрапинге. Он включает советы и инструменты для создания незаметных ботов, которые могут эффективно взаимодействовать с различными веб-сайтами, минимизируя риск блокировки.
Основные моменты:
- Стратегии обхода защиты от ботов
- Рекомендации по использованию прокси и сервисов
- Подходы к созданию естественных браузерных отпечатков
- Инструменты для работы с JavaScript-детекцией
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😐 Как декораторы могут упростить разработку веб-форм
В статье я буду писать о подходе, использующем библиотеку MobX. Так что если вы в своих проектах её не используете, статья может быть не так полезна. Но вы можете рассматривать её, как возможный источник вдохновения по тому, как можно разрабатывать формы.
Читать статью
👉 Новости 👉 База вопросов
В статье я буду писать о подходе, использующем библиотеку MobX. Так что если вы в своих проектах её не используете, статья может быть не так полезна. Но вы можете рассматривать её, как возможный источник вдохновения по тому, как можно разрабатывать формы.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😬 Умный мост между LSP и GitHub Copilot
Расширение для Visual Studio Code, которое интегрирует возможности любого сервера языков (LSP) с инструментами Model Context Protocol (MCP) и GitHub Copilot. Это решение улучшает взаимодействие с кодом, позволяя Copilot более эффективно находить объекты и предоставлять контекстные подсказки.
Основные моменты:
🟢 Поддержка любого языка с активным LSP в VSCode
🟢 Интеллектуальная навигация по кодовой базе
🟢 Контекстные предложения и анализ кода
🟢 Автоматическое улучшение ответов GitHub Copilot
🟢 Интуитивно понятные инструменты для работы с кодом
GitHub: https://github.com/sehejjain/Language-Server-MCP-Bridge
👉 Новости 👉 База вопросов
Расширение для Visual Studio Code, которое интегрирует возможности любого сервера языков (LSP) с инструментами Model Context Protocol (MCP) и GitHub Copilot. Это решение улучшает взаимодействие с кодом, позволяя Copilot более эффективно находить объекты и предоставлять контекстные подсказки.
Основные моменты:
GitHub: https://github.com/sehejjain/Language-Server-MCP-Bridge
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое constraint
Constraint — это ограничение, которое накладывается на данные в таблице, чтобы они оставались корректными и логичными.
Он работает на уровне БД, а не приложения — то есть защищает данные даже если код на бэке с багулей
1. PRIMARY KEY и FOREIGN KEY
2. UNIQUE — не даёт вставить дубликат
💡 Пример:
email в таблице пользователей должен быть уникальным.
3. NOT NULL — запрещает NULL, гарантирует, что поле обязательно заполнено
4. CHECK — позволяет задать собственное логическое условие
💡 Пример:
CHECK (age >= 18) — в базу не попадёт несовершеннолетний.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥2
#Собес #git
🤔 Какие различные стратегии ветвления вы знаете?
💬 Кратко:
Централизованный рабочий процесс (Centralized Workflow). Веткой разработки по умолчанию является main, и все изменения фиксируются в этой ветке. Этот рабочий процесс не требует других веток, кроме главной.
Рабочий процесс разветвления функций (Feature Branching Workflow). Основная идея рабочего процесса разветвления функций заключается в том, что разработка всех функций должна вестись в специальной ветке, а не в основной.
Рабочий процесс Gitflow. Gitflow определяет строгую модель ветвления, разработанную вокруг релиза проекта. Это обеспечивает надежную основу для управления большими проектами. Она назначает очень специфические роли различным веткам и определяет, как и когда они должны взаимодействовать. В дополнение к функциональным веткам используются отдельные ветки для подготовки, поддержки и записи релизов.
Рабочий процесс Forking. Forking Workflow принципиально отличается от других популярных рабочих процессов Git. Вместо того чтобы использовать единый серверный репозиторий в качестве "центральной" кодовой базы, он предоставляет каждому разработчику свой серверный репозиторий. Это означает, что каждый участник имеет не один, а два Git-репозитория: частный локальный и публичный серверный. Чаще всего Forking Workflow встречается в публичных проектах с открытым исходным кодом.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Централизованный рабочий процесс (Centralized Workflow). Веткой разработки по умолчанию является main, и все изменения фиксируются в этой ветке. Этот рабочий процесс не требует других веток, кроме главной.
Рабочий процесс разветвления функций (Feature Branching Workflow). Основная идея рабочего процесса разветвления функций заключается в том, что разработка всех функций должна вестись в специальной ветке, а не в основной.
Рабочий процесс Gitflow. Gitflow определяет строгую модель ветвления, разработанную вокруг релиза проекта. Это обеспечивает надежную основу для управления большими проектами. Она назначает очень специфические роли различным веткам и определяет, как и когда они должны взаимодействовать. В дополнение к функциональным веткам используются отдельные ветки для подготовки, поддержки и записи релизов.
Рабочий процесс Forking. Forking Workflow принципиально отличается от других популярных рабочих процессов Git. Вместо того чтобы использовать единый серверный репозиторий в качестве "центральной" кодовой базы, он предоставляет каждому разработчику свой серверный репозиторий. Это означает, что каждый участник имеет не один, а два Git-репозитория: частный локальный и публичный серверный. Чаще всего Forking Workflow встречается в публичных проектах с открытым исходным кодом.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#статьи
👋 Как за 10 минут создать тестировщик нагрузки для API на Node.js
Почему разработка собственного инструмента для нагрузки на API иногда оказывается лучшим выбором? В статье обсуждается реальный кейс: задачи тестирования производительности, ограничения Postman и сложность JMeter. Узнайте, как и зачем был создан простой и эффективный API-лоадер на Node.js.
Читать...
👉 Новости 👉 База вопросов
Почему разработка собственного инструмента для нагрузки на API иногда оказывается лучшим выбором? В статье обсуждается реальный кейс: задачи тестирования производительности, ограничения Postman и сложность JMeter. Узнайте, как и зачем был создан простой и эффективный API-лоадер на Node.js.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как за 10 минут создать тестировщик нагрузки для API на Node.js
Вступительное слово Немного объясню, зачем я вообще написал код для нагрузки на API и не воспользовался готовыми инструментами. В своей работе я порой сталкиваюсь с задачами, которые, хоть и связаны с...
❤1🔥1
#Собес #nodejs
🤔 Что такое V8? Как это работает?
💬 Кратко:
V8 - это движок JavaScript с открытым исходным кодом, разработанный Google для браузера Chrome. Он компилирует JavaScript-код в машинный код для быстрого выполнения. В Node.js V8 позволяет запускать JavaScript на сервере.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
V8 - это движок JavaScript с открытым исходным кодом, разработанный Google для браузера Chrome. Он компилирует JavaScript-код в машинный код для быстрого выполнения. В Node.js V8 позволяет запускать JavaScript на сервере.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🛞 AI-генератор бесконечных карт
Nano Banana Infinimap — экспериментальный генератор карт, использующий ИИ для создания бесшовных тайлов. Проект демонстрирует возможности модели Nano Banana, позволяя генерировать огромные карты с учетом соседних тайлов.
Основные моменты:
🔵 Бесконечные карты с навигацией на базе Leaflet
🔵 Генерация тайлов с использованием модели Google Nano Banana
🔵 Учет соседних тайлов для плавных краев
🔵 Локальное хранение данных
GitHub: https://github.com/seezatnap/nano-banana-infinimap
👉 Новости 👉 База вопросов
Nano Banana Infinimap — экспериментальный генератор карт, использующий ИИ для создания бесшовных тайлов. Проект демонстрирует возможности модели Nano Banana, позволяя генерировать огромные карты с учетом соседних тайлов.
Основные моменты:
GitHub: https://github.com/seezatnap/nano-banana-infinimap
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Чистая архитектура фронтенд-приложений
Чистая архитектура фронтенд-приложений — это подход к организации кода, чтобы приложение было простым в поддержке, тестировании и масштабировании. Его цель — разделить логику приложения на слои, чтобы изменения в одном слое минимально влияли на другие. Продолжаем делиться циклом статей, где автор дает советы по организации чистой архитектуры.
Читать статью
👉 Новости 👉 База вопросов
Чистая архитектура фронтенд-приложений — это подход к организации кода, чтобы приложение было простым в поддержке, тестировании и масштабировании. Его цель — разделить логику приложения на слои, чтобы изменения в одном слое минимально влияли на другие. Продолжаем делиться циклом статей, где автор дает советы по организации чистой архитектуры.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Чистая архитектура фронтенд приложений. Часть вторая
Предисловие В первой части я говорил общими терминами и больше рассуждал про бизнес-процессы (почитать можно тут ). Далее я буду более детально углубляться в структуру проекта и частные случаи,...
Разбор Promise
Promise — это встроенный в JavaScript объект, который описывает результат асинхронной операции. Асинхронной считается операция, которая выполняется не сразу, а через какое-то время. Чем полезен promise – узнаешь из этого видео.
👀Смотреть видео
#видео
Promise — это встроенный в JavaScript объект, который описывает результат асинхронной операции. Асинхронной считается операция, которая выполняется не сразу, а через какое-то время. Чем полезен promise – узнаешь из этого видео.
👀Смотреть видео
#видео
❤1