TGViewer
Channel Public Channel
Node.js Backend | YeaHub

Node.js Backend | YeaHub

@yeahub_node_backend

Теория, подготовка к интервью и курсы для Node.js разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Subscribers
464
Photos
233
Videos
15
Links
592

Showing posts older than #110 · Back to latest

Older Posts 20 shown
Post #109 145
Post #108 150
#собес
🤔 Есть ли у стрелочной функции методы call, apply и bind?

Стрелочные функции могут использовать методы call, apply и bind , но эти методы не изменяют контекст this внутри стрелочной функции. В отличие от обычных функций, стрелочные функции наследуют значение this из своей внешней области видимости (лексический контекст), и методы call, apply и bind не могут его изменить.

👉Новости 👉Платформа
  • ❤ 3
Post #107 175
#статью
🤔 Почему мы выбрали gRPC вместо tRPC?

Статья объясняет, как gRPC упрощает переход от монолита к микросервисам в приложениях на основе Domain Driven Design. Рассматриваются преимущества: прямые вызовы, типизация, децентрализация и автоматизация методов.
Читать статью

👉Новости 👉Платформа
Post #106 141
#статьи
😊 Что такое реактивное программирование? Руководство для начинающих по написанию реактивного кода

Реактивное программирование — это ключ к созданию приложений, мгновенно реагирующих на события. В статье разбираются основы этой парадигмы, реализация на JavaScript/TypeScript в Node.js и её универсальное применение.
Читать статью

👉Новости 👉Платформа
Post #105 143
#статьи
🤓 Когда не стоит использовать метод find() в JavaScript

Немногие знают истинную ценность Map. Между тем, применение этой структуры данных позволяет повысить производительность и улучшить пользовательский опыт. Особенно она полезна при работе со сложными структурами данных или при необходимости получить быстрый доступ к данным.
Читать статью

👉Новости 👉Платформа
NOP::Nuances of programming Когда не стоит использовать метод find() в JavaScript Немногие знают истинную ценность Map. Между тем, применение этой структуры данных позволяет повысить производительность и улучшить пользовательский опыт. Особенно она полезна при работе со сложными структурами данных или при необходимости получить быстрый…
  • ❤ 3
  • 🍓 1
Post #104 142
#собес
🤔 Что такое lIFE и когда применяется?

IIFE (Immediately Invoked Function Expression) - это функция, которая выполняется сразу после того, как была объявлена. Это достигается оборачиванием функции в скобки и последующим вызовом. IIFE часто используется для создания изолированной области видимости, чтобы избежать конфликтов переменных в глобальном пространстве имен.

👉Новости 👉Платформа
  • 👍 3
  • 🍓 1
Post #103 163
#полезное
👍 Sitefetch

Это инструмент для скачивания и сохранения содержимого веб-сайта в текстовом формате, оптимизированный для работы с моделями искусственного интеллекта!

🔎 Он извлекает текст с указанных страниц, обрабатывая HTML в удобочитаемый текстовый файл. Это может быть полезно для обучения языковых моделей или анализа контента.

🔎 Ключевые возможности включают настройку выборки контента с использованием CSS-селекторов, фильтрацию страниц с помощью шаблонов URL, а также управление одновременным количеством запросов для повышения производительности. Sitefetch легко устанавливается через пакетные менеджеры, такие как npm, pnpm или bun, и поддерживает как командную строку, так и API для интеграции в другие приложения.
Гитхаб

👉Новости 👉Платформа
  • ❤ 1
  • 🍓 1
Post #102 146
#полезное
😬 Map: Использование индекса и массива

map() позволяет работать не только с элементом массива, но и с его индексом и самим массивом. В первом примере мы используем индекс для создания новых значений. Во втором примере мы ссылаемся на весь массив для сравнения текущего элемента с другими.

👉Новости 👉Платформа
  • 👍 2
Post #101 161
#статьи
😇 IPC в Node.js: решение проблемы с передачей данных

IPC в Node.js — мощный инструмент, но даже у него бывают сюрпризы. В версии 12.16.0 появился режим advanced serialization, но с ним иногда зависают сообщения. Разбираем, почему это происходит и как мы решили проблему.
Читать статью

👉Новости 👉Платформа
  • ❤ 1
Post #100 141
#собес
🤔 Расскажите об области видимости переменных?

Область видимости переменной определяет, где в коде эта переменная доступна. В JavaScript существуют глобальная область видимости, блочная область видимости и область видимости функции. Переменные, объявленные с var , имеют функциональную область видимости, а let и const - блочную область видимости, что означает, что они доступны только внутри блока, в котором были обьявлены.

👉Новости 👉Платформа
  • 👍 4
  • ❤ 1
Post #99 159
Post #98 169
#статьи
🛞 Отслеживание позиций торгового робота Московской биржи через CSV файл

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

👉Новости 👉Платформа
Post #97 164
#полезное
😊 PDF.js

Это библиотека с открытым исходным кодом, разработанная Mozilla, которая позволяет отображать PDF-документы непосредственно в веб-браузерах с использованием стандартов HTML5 и JavaScript!
Гитхаб

👉Новости 👉Платформа
  • ❤ 1
Post #96 179
#собес
🤔 Что такое рекурсия, когда применяется? Пример рекурсивной структуры?

Рекурсия - это метод, при котором функция вызывает саму себя для решения задачи. Она часто используется для решения задач, которые можно разбить на подзадачи меньшего размера, таких как вычисление факториала, обход деревьев или работа с вложенными структурами. Чтобы рекурсия работала, необходимо иметь условие выхода, которое остановит бесконечный цикл.

👉Новости 👉Платформа
  • ❤ 1
  • 👍 1
Post #94 180
#статьи
🤓 Важность HTTP-протокола для веб-разработчиков

Статья по ссылке ниже охватывает ключевые аспекты, такие как методы HTTP (GET, POST, PUT, DELETE), заголовки, аутентификацию и цикл запроса/ответа. Также приводятся практические примеры и лучшие практики для создания безопасных, масштабируемых и производительных API.
Чикать статью

👉Новости 👉Платформа
  • ❤ 1
Post #93 176
#статьи
👍 Как за 10 минут создать тестировщик нагрузки для API на Node.js

Почему разработка собственного инструмента для нагрузки на API иногда оказывается лучшим выбором? В статье обсуждается реальный кейс: задачи тестирования производительности, ограничения Postman и сложность JMeter. Узнайте, как и зачем был создан простой и эффективный API-лоадер на Node.js.
Читать статью

👉Новости 👉Платформа
Хабр Как за 10 минут создать тестировщик нагрузки для API на Node.js Вступительное слово Немного объясню, зачем я вообще написал код для нагрузки на API и не воспользовался готовыми инструментами. В своей работе я порой сталкиваюсь с задачами, которые, хоть и связаны с...
  • ❤ 1
Post #92 162
#собес
🤔 Какие преимущества предоставляет оператор spread по сравнению с альтернативными подходами, такими как метод concat() для массивов или Object.assign() для объектов?

Оператор spread(...) позволяет легко копировать и объединять массивы и обьекты с помощью более лаконичного и читаемого синтаксиса. В отличие от метода concat( ) , который требует явного указания массива для объединения, и Object. assign() , который может затруднить копирование объектов с вложенными структурами, оператор spread делает эти операции интуитивно понятными и менее подверженными ошибкам. Это упрощает написание кода и повышает его читаемость.

👉Новости 👉Платформа
  • 👍 2
Post #91 153
#ЛитКод
Задача: 639. Decode Ways II

Сообщение, содержащее буквы от A-Z, может быть закодировано в цифры с помощью следующего отображения: 'A' -> "1" 'B' -> "2" ... 'Z' -> "26" Чтобы декодировать закодированное сообщение, все цифры должны быть сгруппированы, а затем снова преобразованы в буквы с помощью обратного отображения (может быть несколько способов). Например, "11106" может быть преобразовано в: "AAJF" с группировкой (1 1 10 6) "KJF" с группировкой (11 10 6) Обратите внимание, что группировка (1 11 06) недействительна, поскольку "06" не может быть преобразовано в "F", так как "6" отличается от "06". В дополнение к вышеуказанным преобразованиям кодированное сообщение может содержать символ "*", который может представлять любую цифру от "1" до "9" ("0" исключается). Например, кодированное сообщение "1*" может представлять любое из кодированных сообщений "11", "12", "13", "14", "15", "16", "17", "18" или "19". Декодирование "1*" эквивалентно декодированию любого из кодированных сообщений, которые оно может представлять. Если задана строка s, состоящая из цифр и символов '*', верните количество способов ее декодирования. Поскольку ответ может быть очень большим, верните его по модулю 109 + 7.

Пример:
Input: s = "*"
Output: 9


👨‍💻 Алгоритм:

1⃣Инициализация
Создайте массив dp, где dp[i] представляет количество способов декодирования подстроки s[0:i]. Установите начальные значения dp[0] = 1 (пустая строка имеет один способ декодирования).

2⃣Обход строки
Используйте цикл для обхода строки и вычисления количества способов декодирования для каждого символа, включая обработку символа '*'.

3⃣Модульное вычисление
Поскольку количество способов декодирования может быть большим, вычисляйте результаты по модулю 10^9 + 7.

😎 Решение:
var numDecodings = function(s) {
const MOD = 1e9 + 7;
const n = s.length;
const dp = new Array(n + 1).fill(0);
dp[0] = 1;

for (let i = 1; i <= n; i++) {
if (s[i - 1] === '*') {
dp[i] = 9 * dp[i - 1];
} else if (s[i - 1] !== '0') {
dp[i] = dp[i - 1];
}

if (i > 1) {
if (s[i - 2] === '*') {
if (s[i - 1] === '*') {
dp[i] += 15 * dp[i - 2];
} else if ('0' <= s[i - 1] && s[i - 1] <= '6') {
dp[i] += 2 * dp[i - 2];
} else {
dp[i] += dp[i - 2];
}
} else if (s[i - 2] === '1') {
if (s[i - 1] === '*') {
dp[i] += 9 * dp[i - 2];
} else {
dp[i] += dp[i - 2];
}
} else if (s[i - 2] === '2') {
if (s[i - 1] === '*') {
dp[i] += 6 * dp[i - 2];
} else if ('0' <= s[i - 1] && s[i - 1] <= '6') {
dp[i] += dp[i - 2];
}
}
}

dp[i] %= MOD;
}

return dp[n];
};


👉Новости 👉Платформа
  • 😨 4
Post #90 167
#статьи
😊 Создаем Hamster Kombat почти с нуля. Практика по Vue 3 и Telegram Mini Apps

В статье рассказывается, как создать Telegram-тапалку с нуля, используя современный стек технологий. Вы освоите Serverless-подход, разработку на Node.js, Vue, Supabase и деплой проектов в облаке.
Читать статью

👉Новости 👉Платформа
Хабр Создаем Hamster Kombat почти с нуля. Практика по Vue 3 и Telegram Mini Apps Привет, Хабр! В этой статье-инструкции вы узнаете, как с нуля сделать свою собственную Telegram-тапалку на современном стеке. Важный дисклеймер: тапалка, кликер и прочее — это всего лишь форма. Цель...
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →