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
591

Showing posts older than #192 · Back to latest

Older Posts 20 shown
Post #191 132
#полезное
👋 Разработка драйверов

WebUSB — это API, предоставляемое браузером (в основном Chrome и Chromium-based), которое позволяет веб-приложениям напрямую взаимодействовать с USB-устройствами. Это особенно полезно, если у тебя есть кастомное устройство или, например, Arduino, и ты хочешь управлять им из браузера. Благодаря данной статье ты узнаешь, как можно создавать драйвера с помощью WebUSB.
Читать статью

👉Новости 👉База вопросов
Post #190 116
#Собес
🤔 Расскажите про все методы Promise?

Основные методы промиса включают: then() - для обработки успешного выполнения, catch() - для обработки ошибок, finally() - для выполнения кода по завершению промиса, независимо от результата. Есть также методы Promise.all(), Promise.race(), Promise.allSettled() И Promise.any() , которые позволяют работать с несколькими промисами одновременно.

👉Новости 👉База вопросов
YeaHub YeaHub — тренажер собеседований по IT 5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
Post #189 111
#ЛитКод
Задача: 652. Find Duplicate Subtrees

Если задан корень бинарного дерева, верните все дублирующие поддеревья. Для каждого вида дублирующих поддеревьев достаточно вернуть корневой узел любого из них. Два дерева являются дублирующими, если они имеют одинаковую структуру с одинаковыми значениями узлов.

Пример:
Input: root = [1,2,3,4,null,2,4,null,null,4]
Output: [[2,4],[4]]


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

1⃣Выполните обход дерева и используйте сериализацию для представления каждого поддерева.

2⃣Храните все сериализованные представления поддеревьев в хэш-таблице и отслеживайте частоту их появления.

3⃣Найдите поддеревья, которые появляются более одного раза, и верните корневые узлы этих поддеревьев.

😎 Решение:
function TreeNode(val, left, right) {
this.val = (val===undefined ? 0 : val)
this.left = (left===undefined ? null : left)
this.right = (right===undefined ? null : right)
}

var findDuplicateSubtrees = function(root) {
const count = new Map();
const result = [];

const serialize = (node) => {
if (!node) return "#";
const serial = `${node.val},${serialize(node.left)},${serialize(node.right)}`;
count.set(serial, (count.get(serial) || 0) + 1);
if (count.get(serial) === 2) {
result.push(node);
}
return serial;
};

serialize(root);
return result;
};


👉Новости 👉База вопросов
Post #188 134
#видео
🥺 CSS Flexbox: Обертка элементов с размерами

Продолжаем делиться циклом видео, благодаря которому ты научишься пользоваться технологией Flexbox. В этот раз речь идет про вложенность, а также обертку элементов с размерами.
📱 Смотреть видео

👉Новости 👉База вопросов
YouTube CSS Flexbox #10 Вложенность. Обёртка элементов с размерами (Nesting. Flex-basis & Flex-wrap) #YauhenK #webDev #CSS #Flexbox В данном видеокурсе мы с вами рассмотрим технологию Flexbox. Flexible Box Layout Module (Flexbox) - представляет собой способ компоновки элементов, в основе лежит идея оси. Другими словами все элементы можно располагать вдоль…
Post #187 112
#видео
😎 Nuxt.js: Обработка данных по URL

Продолжаем делиться циклом видео, благодаря которому ты научишься пользоваться Nuxt.js. В этот раз ты узнаешь, как использовать метод useFetch для работы с данными по URL.
Смотреть видео

👉Новости 👉База вопросов
YouTube Nuxt JS с нуля / #4 – Обработка данных по URL За урок вы научитесь получать данные по URL, обрабатывать их и выводить на экран. Вы научитесь использовать метод useFetch для работы с данными по URL. ✅ Полезные ссылки: – Урок на сайте itProger: https://itproger.com/course/nuxt-js/4 ⏰ Тайм-коды: 00:00…
Post #186 100
#Собес
🤔 Для чего нужны Async/await?

async/await - это синтаксис, который упрощает работу с промисами, делая асинхронный код более похожим на синхронный. Функция с ключевым словом async всегда возвращает промис, а await приостанавливает выполнение функции до получения результата промиса. Это делает код более читаемым и упрощает обработку ошибок.

👉Новости 👉База вопросов
Post #185 121
#статьи
😊 Как обрабатывать сделки Bitrix24 с помощью Flask и Node.js

Автор показывает, как связать Bitrix24 с Flask и Node.js, чтобы ловить обновления по сделкам, валидировать запросы, вытаскивать ID, проверять сумму и создавать задачи — и всё это без боли и рекурсии.
Читать статью

👉Новости 👉База вопросов
Хабр Как обрабатывать сделки Bitrix24 с помощью Flask и Node.js Привет, Хабр! Сегодня мы будем строить сервис для автоматической обработки сделок в Bitrix24 , используя Flask и Node.js . Этот сервис будет: Принимать вебхуки ONCRMDEALUPDATE. Валидировать...
  • ❤ 1
Post #184 122
#полезное
🛞 Регулярные выражения: Обратные ссылки

Обратные ссылки в регулярках — это способ повторно использовать то, что уже найдено. Представь, что ты нашёл слово и хочешь проверить, встречается ли оно снова в строке — вот тут и выручают backreference.

Круглые скобки () создают захватывающую группу — кусок текста, который можно запомнить. Ссылки вида \1, \2, … позволяют обратиться к этому фрагменту. \1 — это «повтори то, что нашлось в первой группе (hello)».

👉Новости 👉База вопросов
  • 👍 1
Post #183 122
#видео
😬 three.js: Работа с геометрией и объектами

Продолжаем делиться циклом видео, благодаря которым ты научишься пользоваться three.js. В этот раз автор рассказывает, как создавать объекты разной формы. Ты создашь сферу, куб, пончик и плоскую поверхность.
📱 Смотреть видео

👉Новости 👉База вопросов
YouTube 3D Дизайн на Three.JS / #3 – Работа с геометрией и объектами Мы научимся создавать объекты разной формы при помощи библиотеки Three JS. Вы научитесь создавать сферу, куб, пончик и плоскую поверхность. Дополнительно вы добавите текстуры для отображения вместо цвета. ✅ Полезные ссылки: – Урок на сайте itProger: ht…
Post #180 119
#Собес
🤔 Как обрабатывать ошибки в JavaScript?

B JavaScript ошибки обрабатываются с помощью блока try... catch . В блоке try размещается код, который может вызвать ошибку, а в блоке catch - инструкции для обработки этой ошибки. Также можно использовать finally, чтобы выполнить код независимо от того, возникла ошибка или нет. Обработку ошибок можно расширить с помощью кастомных ошибок.

👉Новости 👉База вопросов
Post #179 130
#полезное
👨‍💻 PairDrop — это кроссплатформенное приложение для обмена файлами, которое было разработано на основе AirDrop от Apple!

С его помощью можно передавать файлы по локальной сети через веб-браузер или использовать временные публичные комнаты для передачи через интернет. PairDrop совместим со всеми устройствами, которые имеют современные браузеры, и не требует установки, настройки или регистрации.
Гитхаб

👉Новости 👉База вопросов
Post #178 117
#полезное
🤯 Reubah — это веб-инструмент для редактирования изображений и конвертации документов!

Он представляет собой универсальное решение, поддерживающее множество форматов изображений (JPG, PNG, WebP, GIF, BMP) и документов (PDF, DOCX, DOC, ODT, RTF, TXT). Инструмент создан с акцентом на простоту использования и доступен через веб-интерфейс.

Reubah предлагает функции, такие как пакетная обработка, оптимизация изображений, удаление фона (в разработке) и изолированная среда обработки данных. Инструмент можно быстро установить с помощью Docker, что делает его удобным для локального использования или интеграции в другие проекты.
Гитхаб

👉Новости 👉База вопросов
Post #177 105
Post #176 109
#Собес
🤔 Что содержит объект ошибки?

Объект ошибки в JavaScript содержит информацию, которая помогает диагностировать проблемы. Ключевые свойства объекта ошибки - это name (тип ошибки), message (текст ошибки) и stack (трассировка вызовов, ведущих к ошибке). Эти данные полезны для выявления причины ошибки и её устранения.

👉Новости 👉База вопросов
Post #175 108
#ЛитКод
Задача: 656. Coin Path

Вам дан целочисленный массив монет (1-индексированный) длины n и целое число maxJump. Вы можете перейти на любой индекс i массива coins, если coins[i] != -1 и вы должны заплатить coins[i] при посещении индекса i. Кроме того, если вы в данный момент находитесь на индексе i, вы можете перейти только на любой индекс i + k, где i + k <= n и k - значение в диапазоне [1, maxJump]. Изначально вы находитесь на индексе 1 (coins[1] не -1). Вы хотите найти путь, который достигнет индекса n с минимальной стоимостью. Верните целочисленный массив индексов, которые вы посетите в таком порядке, чтобы достичь индекса n с минимальной стоимостью. Если существует несколько путей с одинаковой стоимостью, верните лексикографически наименьший такой путь. Если невозможно достичь индекса n, возвращается пустой массив. Путь p1 = [Pa1, Pa2, ..., Pax] длины x лексикографически меньше, чем p2 = [Pb1, Pb2, ..., Pbx] длины y, если и только если при первом j, где Paj и Pbj отличаются, Paj < Pbj; если такого j нет, то x < y.

Пример:
Input: coins = [1,2,4,-1,2], maxJump = 2
Output: [1,3,5]


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

1⃣Используйте динамическое программирование для нахождения минимальной стоимости до каждого индекса, начиная с первого.

2⃣Храните путь до каждого индекса для отслеживания наименьшего лексикографического пути.

3⃣Используя полученную информацию, восстановите путь с минимальной стоимостью до последнего индекса.

😎 Решение:
var minCostPath = function(coins, maxJump) {
const n = coins.length;
if (coins[0] === -1) return [];

const dp = new Array(n).fill(Infinity);
dp[0] = coins[0];
const path = Array.from({ length: n }, () => []);
path[0] = [1];

const heap = [[coins[0], 0]];

while (heap.length) {
heap.sort((a, b) => a[0] - b[0]);
const [current_cost, i] = heap.shift();
if (current_cost > dp[i]) continue;
for (let k = 1; k <= maxJump; k++) {
if (i + k < n && coins[i + k] !== -1) {
const new_cost = current_cost + coins[i + k];
if (new_cost < dp[i + k] || (new_cost === dp[i + k] && path[i].concat(i + k + 1) < path[i + k])) {
dp[i + k] = new_cost;
path[i + k] = path[i].concat(i + k + 1);
heap.push([new_cost, i + k]);
}
}
}
}

return dp[n - 1] === Infinity ? [] : path[n - 1];
};


👉Новости 👉База вопросов
Post #174 104
#полезное
😊 localeCompare

localeCompare() — это метод строк, который сравнивает две строки с учётом языка и алфавита. Благодаря данной статье ты узнаешь, как можно с помощью этого метода правильно и удобно сортировать строки с учетом языка.
Читать статью

👉Новости 👉База вопросов
Хабр LocaleCompare в JavaScript: правильная и удобная сортировка строк с учетом языка Привет, меня зовут Дмитрий, я React-разработчик, и сегодня хочу рассказать о методе localeCompare в JavaScript. Мне кажется, что этот метод не так часто используется при сортировке строк, хотя он...
  • ❤ 1
  • 👍 1
Post #173 102
#полезное
📞 Novu — это открытая платформа для управления уведомлениями, предназначенная для разработчиков!

✅Она предоставляет единый API для отправки уведомлений через различные каналы, включая встроенные уведомления в приложении (In-App), push-уведомления, электронную почту, SMS и чаты. С помощью Novu можно создавать настраиваемые рабочие процессы и определять условия для каждого канала, обеспечивая эффективную доставку уведомлений пользователям.
Гитхаб

👉Новости 👉База вопросов
  • 👍 1
Post #172 108
#собес
🤔 Как использовать декораторы в контроллере NestJS?

Декораторы в NestJS используются для назначения методов контроллера, которые обрабатывают определенные НТТР-запросы. Примером является @Get () , который указывает, что метод будет обрабатывать GET-запрос. Декораторы также могут использоваться для извлечения данных из запроса, например, @Param(), @Query() и @Body() -

👉Новости 👉База вопросов
YeaHub YeaHub — тренажер собеседований по IT 5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
Post #171 105
#видео
🛞 Что такое Nuxt.js?

Nuxt.js — это фреймворк для разработки сайтов и веб-приложений на основе Vue.js. Если Vue.js — это просто инструмент для создания интерфейсов, то Nuxt.js добавляет удобные «фишки» и делает работу с Vue быстрее и проще. В данном видео автор рассказывает об особенностях Nuxt.js.
📱 Смотреть видео

👉Новости 👉База вопросов
  • ❤ 2
Post #170 138
#статьи
😴 Что бы я хотел знать о Postgres, когда начал его изучать

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

👉Новости 👉База вопросов
Заметки разработчика Что бы я хотел знать о Postgres, когда начал его изучать Занимаясь разработкой веб-приложений более десяти лет, и освоив множество систем и инструментов. Я заметил, что официальная документация наиболее ценный источник информации.
  • ❤ 1
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 →