Node.js Backend | YeaHub
420 subscribers
129 photos
13 videos
335 links
Теория, подготовка к интервью и курсы для Node.js разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
😊 p5.js — это JavaScript-библиотека, предназначенная для творческого программирования!

🚩Она создана с целью сделать кодирование доступным и инклюзивным для художников, дизайнеров, педагогов, начинающих и всех остальных. Используя метафору "наброска" (sketch), p5.js предоставляет полный набор функций для рисования, а также возможности взаимодействия с другими объектами HTML5, включая текст, ввод данных, видео, веб-камеру и звук.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Это подробное руководство по основам TypeScript!

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#собес
🤔 Как использовать интерсепторы?

Interceptors в NestJS используются для выполнения логики до или после вызова метода. Они подходят для таких задач, как логирование, обработка ошибок, модификация ответов и кеширование. Перехватчики реализуются через интерфейс NestInterceptor и применяются через декоратор @UseInterceptors .

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🍓2
#полезное
🤓 react-learning-resources — тщательно подобранный список ресурсов для быстрого изучения React и связанных технологий!

Он включает в себя материалы по TypeScript, React Router, управлению состоянием, тестированию, сборке UI-компонентов и лучшим практикам разработки. Предоставлены ссылки на видеоуроки, документацию и инструменты, такие как Jest, Cypress, Storybook и др.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#статьи
🛞 Как спрятать любые данные в PNG

Статья объясняет, как спрятать данные в PNG-изображении, используя младшие биты (LSB) пикселей. Рассматривается структура PNG, каналы R, G, B и альфа, а также методы внедрения данных без заметного изменения картинки.
Читать статью

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😎 Улучшение производительности с делегированием событий

Статья объясняет технику делегирования событий в веб-разработке, показывая, как использование одного слушателя на родительском элементе упрощает управление событиями и повышает производительность.
Читать статью

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#собес
🤔 Как использовать Pipes в NestJS?

Pipes в NestJS трансформируют или валидируют входящие данные до того, как они попадают в контроллер. Их можно создавать вручную, реализуя интерфейс PipeTransform, или использовать встроенные, такие как ValidationPipe. Pipes применяются на уровне методов, контроллеров или глобально через @UsePipes .

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
#статьи
👍 tabs-broadcast

tabs-broadcast — это библиотека, которая помогает передавать сообщения между разными вкладками браузера в одном приложении. Представь, что у тебя несколько вкладок одного сайта открыты одновременно. Если в одной вкладке что-то поменялось, например, пользователь вошёл в аккаунт, то другие вкладки автоматически узнают об этом. Делимся статьей, где автор рассказывает про эти библиотеку.
Читать статью

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#видео
👨‍💻 MobX + React: Асинхронные запросы

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Array.includes

Метод includes() проверяет, содержится ли определенный элемент в массиве, и возвращает true или false.

Обрати внимание на синтаксис. searchElement – элемент, который нужно найти в массиве. fromIndex (необязательно) – индекс, с которого начинать поиск (по умолчанию 0). Возвращает true, если элемент найден в массиве. В противном случае – false.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#собес
🤔 Как работать с базой данных с помощью TypeORM?

TypeORM — это ORM, которая упрощает взаимодействие с базами данных. С помощью TypeORM можно определять сущности, управлять схемами и выполнять запросы через репозитории. В NestJS интеграция выполняется через модуль Tyрe0rmModule .

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🍓1
#статьи
🤓 Как 9.3 уязвимость ждала открытия 3 года

Я расскажу, как мы нашли в Next.js уязвимость с оценкой 9.3, которая спокойно пряталась в middleware аж три года, пока её никто не трогал.
Читать статью

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#статьи
😴 Что бы я хотел знать о Postgres, когда начал его изучать

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#видео
🛞 Что такое Nuxt.js?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#собес
🤔 Как использовать декораторы в контроллере NestJS?

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

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

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😊 localeCompare

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

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


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

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Reubah — это веб-инструмент для редактирования изображений и конвертации документов!

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

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

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