#статьи
👍 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
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👨💻 PairDrop — это кроссплатформенное приложение для обмена файлами, которое было разработано на основе AirDrop от Apple!
С его помощью можно передавать файлы по локальной сети через веб-браузер или использовать временные публичные комнаты для передачи через интернет. PairDrop совместим со всеми устройствами, которые имеют современные браузеры, и не требует установки, настройки или регистрации.
Гитхаб
👉 Новости 👉 База вопросов
С его помощью можно передавать файлы по локальной сети через веб-браузер или использовать временные публичные комнаты для передачи через интернет. PairDrop совместим со всеми устройствами, которые имеют современные браузеры, и не требует установки, настройки или регистрации.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Как обрабатывать ошибки в JavaScript?
B JavaScript ошибки обрабатываются с помощью блока
👉 Новости 👉 База вопросов
B JavaScript ошибки обрабатываются с помощью блока
try... catch
. В блоке try
размещается код, который может вызвать ошибку, а в блоке catch
- инструкции для обработки этой ошибки. Также можно использовать finally
, чтобы выполнить код независимо от того, возникла ошибка или нет. Обработку ошибок можно расширить с помощью кастомных ошибок.Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
😬 three.js: Работа с геометрией и объектами
Продолжаем делиться циклом видео, благодаря которым ты научишься пользоваться three.js. В этот раз автор рассказывает, как создавать объекты разной формы. Ты создашь сферу, куб, пончик и плоскую поверхность.
📱 Смотреть видео
👉 Новости 👉 База вопросов
Продолжаем делиться циклом видео, благодаря которым ты научишься пользоваться three.js. В этот раз автор рассказывает, как создавать объекты разной формы. Ты создашь сферу, куб, пончик и плоскую поверхность.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
3D Дизайн на Three.JS / #3 – Работа с геометрией и объектами
Мы научимся создавать объекты разной формы при помощи библиотеки Three JS. Вы научитесь создавать сферу, куб, пончик и плоскую поверхность. Дополнительно вы добавите текстуры для отображения вместо цвета.
✅ Полезные ссылки:
– Урок на сайте itProger: ht…
✅ Полезные ссылки:
– Урок на сайте itProger: ht…
#полезное
🛞 Регулярные выражения: Обратные ссылки
Обратные ссылки в регулярках — это способ повторно использовать то, что уже найдено. Представь, что ты нашёл слово и хочешь проверить, встречается ли оно снова в строке — вот тут и выручают backreference.
Круглые скобки () создают захватывающую группу — кусок текста, который можно запомнить. Ссылки вида \1, \2, … позволяют обратиться к этому фрагменту. \1 — это «повтори то, что нашлось в первой группе (hello)».
👉 Новости 👉 База вопросов
Обратные ссылки в регулярках — это способ повторно использовать то, что уже найдено. Представь, что ты нашёл слово и хочешь проверить, встречается ли оно снова в строке — вот тут и выручают 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, проверять сумму и создавать задачи — и всё это без боли и рекурсии.
Читать статью
👉 Новости 👉 База вопросов
Автор показывает, как связать Bitrix24 с Flask и Node.js, чтобы ловить обновления по сделкам, валидировать запросы, вытаскивать ID, проверять сумму и создавать задачи — и всё это без боли и рекурсии.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как обрабатывать сделки Bitrix24 с помощью Flask и Node.js
Привет, Хабр! Сегодня мы будем строить сервис для автоматической обработки сделок в Bitrix24 , используя Flask и Node.js . Этот сервис будет: Принимать вебхуки ONCRMDEALUPDATE. Валидировать...
❤1
#Собес
🤔 Для чего нужны Async/await?
👉 Новости 👉 База вопросов
async/await
- это синтаксис, который упрощает работу с промисами, делая асинхронный код более похожим на синхронный. Функция с ключевым словом async
всегда возвращает промис, а await
приостанавливает выполнение функции до получения результата промиса. Это делает код более читаемым и упрощает обработку ошибок.Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
😎 Nuxt.js: Обработка данных по URL
Продолжаем делиться циклом видео, благодаря которому ты научишься пользоваться Nuxt.js. В этот раз ты узнаешь, как использовать метод useFetch для работы с данными по URL.
Смотреть видео
👉 Новости 👉 База вопросов
Продолжаем делиться циклом видео, благодаря которому ты научишься пользоваться Nuxt.js. В этот раз ты узнаешь, как использовать метод useFetch для работы с данными по URL.
Смотреть видео
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Nuxt JS с нуля / #4 – Обработка данных по URL
За урок вы научитесь получать данные по URL, обрабатывать их и выводить на экран. Вы научитесь использовать метод useFetch для работы с данными по URL.
✅ Полезные ссылки:
– Урок на сайте itProger: https://itproger.com/course/nuxt-js/4
⏰ Тайм-коды:
00:00…
✅ Полезные ссылки:
– Урок на сайте itProger: https://itproger.com/course/nuxt-js/4
⏰ Тайм-коды:
00:00…