#полезное
😊 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 используются для выполнения логики до или после вызова метода. Они подходят для таких задач, как логирование, обработка ошибок, модификация ответов и кеширование. Перехватчики реализуются через интерфейс
👉 Новости 👉 База вопросов
Interceptors в NestJS используются для выполнения логики до или после вызова метода. Они подходят для таких задач, как логирование, обработка ошибок, модификация ответов и кеширование. Перехватчики реализуются через интерфейс
NestInterceptor
и применяются через декоратор @UseInterceptors
.Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
👍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 и альфа, а также методы внедрения данных без заметного изменения картинки.
Читать статью
👉 Новости 👉 База вопросов
Статья объясняет, как спрятать данные в PNG-изображении, используя младшие биты (LSB) пикселей. Рассматривается структура PNG, каналы R, G, B и альфа, а также методы внедрения данных без заметного изменения картинки.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как спрятать любые данные в PNG
Настало время открыть Америку! Меня действительно удивило предельно малое кол-во информации на данную тему. Будем исправлять. И так, сразу к делу! Что нам нужно знать, чтобы спрятать что-то внутри PNG...
#статьи
😎 Улучшение производительности с делегированием событий
Статья объясняет технику делегирования событий в веб-разработке, показывая, как использование одного слушателя на родительском элементе упрощает управление событиями и повышает производительность.
Читать статью
👉 Новости 👉 База вопросов
Статья объясняет технику делегирования событий в веб-разработке, показывая, как использование одного слушателя на родительском элементе упрощает управление событиями и повышает производительность.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Заметки разработчика
Улучшение производительности с делегированием событий
Делегирование событий — техника управления событиями. Вместо добавления слушателей к каждому элементу, можно прикрепить одного к родительскому элементу.
❤2
#собес
🤔 Как использовать Pipes в NestJS?
Pipes в NestJS трансформируют или валидируют входящие данные до того, как они попадают в контроллер. Их можно создавать вручную, реализуя интерфейс
👉 Новости 👉 База вопросов
Pipes в NestJS трансформируют или валидируют входящие данные до того, как они попадают в контроллер. Их можно создавать вручную, реализуя интерфейс
PipeTransform
, или использовать встроенные, такие как ValidationPipe
. Pipes применяются на уровне методов, контроллеров или глобально через @UsePipes
.Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
👍2❤1
#статьи
👍 tabs-broadcast
tabs-broadcast — это библиотека, которая помогает передавать сообщения между разными вкладками браузера в одном приложении. Представь, что у тебя несколько вкладок одного сайта открыты одновременно. Если в одной вкладке что-то поменялось, например, пользователь вошёл в аккаунт, то другие вкладки автоматически узнают об этом. Делимся статьей, где автор рассказывает про эти библиотеку.
Читать статью
👉 Новости 👉 База вопросов
tabs-broadcast — это библиотека, которая помогает передавать сообщения между разными вкладками браузера в одном приложении. Представь, что у тебя несколько вкладок одного сайта открыты одновременно. Если в одной вкладке что-то поменялось, например, пользователь вошёл в аккаунт, то другие вкладки автоматически узнают об этом. Делимся статьей, где автор рассказывает про эти библиотеку.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#видео
👨💻 MobX + React: Асинхронные запросы
Продолжаем делиться циклом видео, благодаря которому ты научишься пользоваться MobX в связке с React. В этот раз речь идет про асинхронные запросы.
Смотреть видео
👉 Новости 👉 База вопросов
Продолжаем делиться циклом видео, благодаря которому ты научишься пользоваться MobX в связке с React. В этот раз речь идет про асинхронные запросы.
Смотреть видео
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Array.includes
Метод includes() проверяет, содержится ли определенный элемент в массиве, и возвращает true или false.
Обрати внимание на синтаксис. searchElement – элемент, который нужно найти в массиве. fromIndex (необязательно) – индекс, с которого начинать поиск (по умолчанию 0). Возвращает true, если элемент найден в массиве. В противном случае – false.
👉 Новости 👉 База вопросов
Метод includes() проверяет, содержится ли определенный элемент в массиве, и возвращает true или false.
Обрати внимание на синтаксис. searchElement – элемент, который нужно найти в массиве. fromIndex (необязательно) – индекс, с которого начинать поиск (по умолчанию 0). Возвращает true, если элемент найден в массиве. В противном случае – false.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#собес
🤔 Как работать с базой данных с помощью TypeORM?
TypeORM — это ORM, которая упрощает взаимодействие с базами данных. С помощью TypeORM можно определять сущности, управлять схемами и выполнять запросы через репозитории. В NestJS интеграция выполняется через модуль
👉 Новости 👉 База вопросов
TypeORM — это ORM, которая упрощает взаимодействие с базами данных. С помощью TypeORM можно определять сущности, управлять схемами и выполнять запросы через репозитории. В NestJS интеграция выполняется через модуль
Tyрe0rmModule
.Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
🍓1
#статьи
🤓 Как 9.3 уязвимость ждала открытия 3 года
Я расскажу, как мы нашли в Next.js уязвимость с оценкой 9.3, которая спокойно пряталась в middleware аж три года, пока её никто не трогал.
Читать статью
👉 Новости 👉 База вопросов
Я расскажу, как мы нашли в Next.js уязвимость с оценкой 9.3, которая спокойно пряталась в middleware аж три года, пока её никто не трогал.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как 9.3 уязвимость ждала открытия 3 года
На днях мы с Ясером Алламом (Yasser Allam), он же _inzo , объединились, чтобы провести совместное исследование. Обсудив список потенциальных жертв целей, выбор пал на уже хорошо мне знакомый Next.js ....
❤1
#статьи
😴 Что бы я хотел знать о Postgres, когда начал его изучать
Я профессионально работаю над веб-приложениями уже более десяти лет, и за это время пришлось научиться использовать множество различных систем и инструментов. В процессе обучения я обнаружил, что официальная документация, как правило, оказывается наиболее полезной.
Читать статью
👉 Новости 👉 База вопросов
Я профессионально работаю над веб-приложениями уже более десяти лет, и за это время пришлось научиться использовать множество различных систем и инструментов. В процессе обучения я обнаружил, что официальная документация, как правило, оказывается наиболее полезной.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Заметки разработчика
Что бы я хотел знать о Postgres, когда начал его изучать
Занимаясь разработкой веб-приложений более десяти лет, и освоив множество систем и инструментов. Я заметил, что официальная документация наиболее ценный источник информации.
❤1
#видео
🛞 Что такое Nuxt.js?
Nuxt.js — это фреймворк для разработки сайтов и веб-приложений на основе Vue.js. Если Vue.js — это просто инструмент для создания интерфейсов, то Nuxt.js добавляет удобные «фишки» и делает работу с Vue быстрее и проще. В данном видео автор рассказывает об особенностях 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 используются для назначения методов контроллера, которые обрабатывают определенные НТТР-запросы. Примером является
👉 Новости 👉 База вопросов
Декораторы в NestJS используются для назначения методов контроллера, которые обрабатывают определенные НТТР-запросы. Примером является
@Get
() , который указывает, что метод будет обрабатывать GET-запрос. Декораторы также могут использоваться для извлечения данных из запроса, например, @Param()
, @Query()
и @Body()
-Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
📞 Novu — это открытая платформа для управления уведомлениями, предназначенная для разработчиков!
✅ Она предоставляет единый API для отправки уведомлений через различные каналы, включая встроенные уведомления в приложении (In-App), push-уведомления, электронную почту, SMS и чаты. С помощью Novu можно создавать настраиваемые рабочие процессы и определять условия для каждого канала, обеспечивая эффективную доставку уведомлений пользователям.
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😊 localeCompare
localeCompare() — это метод строк, который сравнивает две строки с учётом языка и алфавита. Благодаря данной статье ты узнаешь, как можно с помощью этого метода правильно и удобно сортировать строки с учетом языка.
Читать статью
👉 Новости 👉 База вопросов
localeCompare() — это метод строк, который сравнивает две строки с учётом языка и алфавита. Благодаря данной статье ты узнаешь, как можно с помощью этого метода правильно и удобно сортировать строки с учетом языка.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
LocaleCompare в JavaScript: правильная и удобная сортировка строк с учетом языка
Привет, меня зовут Дмитрий, я React-разработчик, и сегодня хочу рассказать о методе localeCompare в JavaScript. Мне кажется, что этот метод не так часто используется при сортировке строк, хотя он...
❤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.
Пример:
👨💻 Алгоритм:
1⃣ Используйте динамическое программирование для нахождения минимальной стоимости до каждого индекса, начиная с первого.
2⃣ Храните путь до каждого индекса для отслеживания наименьшего лексикографического пути.
3⃣ Используя полученную информацию, восстановите путь с минимальной стоимостью до последнего индекса.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 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]
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 содержит информацию, которая помогает диагностировать проблемы. Ключевые свойства объекта ошибки - это
👉 Новости 👉 База вопросов
Объект ошибки в JavaScript содержит информацию, которая помогает диагностировать проблемы. Ключевые свойства объекта ошибки - это
name
(тип ошибки), message
(текст ошибки) и stack
(трассировка вызовов, ведущих к ошибке). Эти данные полезны для выявления причины ошибки и её устранения.Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
😊 Jest+Enzyme: Тестирование утилит
Продолжаем делиться циклом видео, где автор рассказывает про тестирование с помощью Jest и Enzyme. В этот раз речь идет про тестирование утилит.
Смотреть видео
👉 Новости 👉 База вопросов
Продолжаем делиться циклом видео, где автор рассказывает про тестирование с помощью Jest и Enzyme. В этот раз речь идет про тестирование утилит.
Смотреть видео
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Jest + Enzyme #11 Тестирование утилит (Utils Testing)
#YauhenK #webDev #Jest #Enzyme #testing
Всех приветствую в курсе «Jest + Enzyme».
В данном видеокурсе мы с вами рассмотрим тестирование React-приложения и React-компонентов с помощью Jest и Enzyme. Разберём мы данную тему на примере написания Unit тестов.…
Всех приветствую в курсе «Jest + Enzyme».
В данном видеокурсе мы с вами рассмотрим тестирование React-приложения и React-компонентов с помощью Jest и Enzyme. Разберём мы данную тему на примере написания Unit тестов.…
#полезное
🤯 Reubah — это веб-инструмент для редактирования изображений и конвертации документов!
Он представляет собой универсальное решение, поддерживающее множество форматов изображений (JPG, PNG, WebP, GIF, BMP) и документов (PDF, DOCX, DOC, ODT, RTF, TXT). Инструмент создан с акцентом на простоту использования и доступен через веб-интерфейс.
Reubah предлагает функции, такие как пакетная обработка, оптимизация изображений, удаление фона (в разработке) и изолированная среда обработки данных. Инструмент можно быстро установить с помощью Docker, что делает его удобным для локального использования или интеграции в другие проекты.
Гитхаб
👉 Новости 👉 База вопросов
Он представляет собой универсальное решение, поддерживающее множество форматов изображений (JPG, PNG, WebP, GIF, BMP) и документов (PDF, DOCX, DOC, ODT, RTF, TXT). Инструмент создан с акцентом на простоту использования и доступен через веб-интерфейс.
Reubah предлагает функции, такие как пакетная обработка, оптимизация изображений, удаление фона (в разработке) и изолированная среда обработки данных. Инструмент можно быстро установить с помощью Docker, что делает его удобным для локального использования или интеграции в другие проекты.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM