Node.js Backend | YeaHub – Telegram
Node.js Backend | YeaHub
514 subscribers
166 photos
15 videos
416 links
Теория, подготовка к интервью и курсы для Node.js разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес
🤔 Как обрабатывать ошибки в JavaScript?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
😬 three.js: Работа с геометрией и объектами

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Регулярные выражения: Обратные ссылки

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

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#статьи
😊 Как обрабатывать сделки Bitrix24 с помощью Flask и Node.js

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес
🤔 Для чего нужны Async/await?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
😎 Nuxt.js: Обработка данных по URL

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
🥺 CSS Flexbox: Обертка элементов с размерами

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 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;
};


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Расскажите про все методы Promise?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Разработка драйверов

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Hoppscotch — это открытая платформа для разработки API, предназначенная для упрощения тестирования и взаимодействия с API!

Она предоставляет удобный и быстрый интерфейс для отправки HTTP-запросов и получения ответов в реальном времени. Поддерживаются различные HTTP-методы, включая GET, POST, PUT, PATCH, DELETE и другие. Платформа также предлагает настраиваемые темы оформления и возможность установки в виде прогрессивного веб-приложения (PWA).
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
❤️‍🔥 Typed Japanese

Для гиков: энтузиасты придумали учить языки через TypeScript.

Проект Typed Grammar учит грамматике (например, английского или японского) с помощью типов и структур программирования. И никаких зелёных сов!
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес
🤔 Что такое промисификация?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😱 Как создать Telegram bot для проверки электронной подписи

Показываю, как без строчки кода проверить электронную подпись прямо в Telegram через связку n8n и КриптоАРМ — без серверов, сложноты и лишних танцев.
Читать статью

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Эффект подсветки карточки при наведении с использованием свойства background-attachment

Мы применяем background-attachment, чтобы зафиксировать фон относительно области просмотра
Тык сюда

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2
#полезное
👍 Что такое path модуль в Node.js и зачем он используется?

Модуль path встроен в Node.js и используется для работы с путями файловой системы. Он помогает безопасно объединять, нормализовать и парсить пути, независимо от операционной системы.

Пример

const path = require('path');

const fullPath = path.join(__dirname, 'images', 'logo.png');
console.log(fullPath); // Абсолютный путь до logo.png

const ext = path.extname(fullPath);
console.log(ext); // .png


Здесь path.join() склеивает путь с правильными разделителями (/ или \), а path.extname() извлекает расширение файла. Это упрощает работу с путями и предотвращает ошибки при кроссплатформенной разработке.
Подробнее тут

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес
🤔 Цепочка промисов. Что это и для чего?

Цепочка промисов позволяет последовательно выполнять несколько асинхронных операций. Каждый вызов then() может возвращать новый промис, который будет передан в следующий then() , что упрощает обработку сложных асинхронных задач.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🫠 Какой метод глубокого клонирования в JavaScript наиболее эффективный  —  исследование

Чтобы выделить "победителя" среди методов глубокого клонирования в JavaScript, необходимо протестировать каждый из них. Предлагаем результаты серии модульных тестов.
Читать статью

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
🛞 Yaak — это приложение для взаимодействия с API (REST, GraphQL, SSE, WebSocket, gRPC), разработанное с использованием Tauri, Rust и ReactJS!

Оно поддерживает импорт коллекций из Postman, OpenAPI, Swagger и других инструментов, а также предоставляет удобные функции авторизации (OAuth 2.0, JWT и т. д.), фильтрации ответов (JSONPath, XPath), организации рабочих пространств и использования переменных окружения.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
👨‍💻 RevShells — это сервис, предоставляющий пользователям возможность быстро создавать команды для обратных оболочек и соответствующие слушатели для различных операционных систем и сценариев!

Сайт поддерживает генерацию команд для Linux, Windows и Mac, а также предлагает выбор между различными типами оболочек и методов кодирования. Кроме того, RevShells.com интегрируется с инструментом HoaxShell, предоставляя дополнительные возможности для создания нестандартных обратных оболочек.
Гитхаб
Веб-версия

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес
🤔 Перечислите свойства и методы промисов?

Основные свойства промиса - это его состояние (pending, fulfilled, rejected). Методы промиса включают then() , который используется для обработки успешного результата, catch() для обработки ошибок и finally() для выполнения кода после завершения промиса, независимо от его исхода.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM