#полезное
🤓 Roadmap для веб-разработчиков
Один из самых красивых роадмэпов, который я когда-либо видел, создал разработчик из Дании.
🟠 Он составил интерактивную дорожную карту для веб-разработчиков.
🟠 К каждому пункту прилагаются ссылки на ресурсы, где можно изучить или подтянуть соответствующую тему.
Это отличный способ организовать обучение и следить за своим прогрессом в веб-разработке.
Роадмэп тут
👉 Новости 👉 Платформа
Один из самых красивых роадмэпов, который я когда-либо видел, создал разработчик из Дании.
Это отличный способ организовать обучение и следить за своим прогрессом в веб-разработке.
Роадмэп тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Anonymous Quiz
66%
WebSocket
4%
Server-Sent Events
14%
AJAX
16%
Fetch API
#вакансии
👨💻 React I Senior
Локация: Удалённо
Компания: Top Selection
ЗП: до 340 000 р. gross
Занятость: Полная
Описание проекта: Мессенджер для коммуникации (b2b/ b2с).
Оформление: ИП
Срок проекта: 6+ месяцев
🚩 Требования
🔵 Опыт работы с JS 5+ лет, опыт и ReactJS 3+ лет;
🔵 Опыт с MobX;
🔵 Выше среднего навыки Html + CSS, (верстки не много, но она сложнее обычного).
Будет плюсом
🔵 Опыт работы с Electron API.
💬 Резюме отправлять: @Elena_Stegnina
👉 Новости 👉 Платформа
Локация: Удалённо
Компания: Top Selection
ЗП: до 340 000 р. gross
Занятость: Полная
Описание проекта: Мессенджер для коммуникации (b2b/ b2с).
Оформление: ИП
Срок проекта: 6+ месяцев
Будет плюсом
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#собес
🤔 Что такое rest оператор?
Rest оператор (
функции. Он позволяет передавать переменное количество аргументов и легко работать с ними, не заботясь о
том, сколько аргументов будет передано. Это особенно удобно, когда необходимо обрабатывать множество
значений.
👉 Новости 👉 Платформа
Rest оператор (
... ) используется в JavaScript для сбора оставшихся аргументов в массив при определениифункции. Он позволяет передавать переменное количество аргументов и легко работать с ними, не заботясь о
том, сколько аргументов будет передано. Это особенно удобно, когда необходимо обрабатывать множество
значений.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#видео
🥄 Jest+Enzyme: Тестирование событий клика
Продолжаем делиться циклом видео, где автор рассказывает про тестирование с помощью Jest и Enzyme. В этот раз речь идет про тестирование пропсов.
📱 Смотреть видео
👉 Новости 👉 Платформа
Продолжаем делиться циклом видео, где автор рассказывает про тестирование с помощью Jest и Enzyme. В этот раз речь идет про тестирование пропсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Jest + Enzyme #7 Тестирование событий клика (Testing Click Events)
#YauhenK #webDev #Jest #Enzyme #testing
Всех приветствую в курсе «Jest + Enzyme».
В данном видеокурсе мы с вами рассмотрим тестирование React-приложения и React-компонентов с помощью Jest и Enzyme. Разберём мы данную тему на примере написания Unit тестов.…
Всех приветствую в курсе «Jest + Enzyme».
В данном видеокурсе мы с вами рассмотрим тестирование React-приложения и React-компонентов с помощью Jest и Enzyme. Разберём мы данную тему на примере написания Unit тестов.…
❤1
#статьи
😊 Создаем Hamster Kombat почти с нуля. Практика по Vue 3 и Telegram Mini Apps
В статье рассказывается, как создать Telegram-тапалку с нуля, используя современный стек технологий. Вы освоите Serverless-подход, разработку на Node.js, Vue, Supabase и деплой проектов в облаке.
Читать статью
👉 Новости 👉 Платформа
В статье рассказывается, как создать Telegram-тапалку с нуля, используя современный стек технологий. Вы освоите Serverless-подход, разработку на Node.js, Vue, Supabase и деплой проектов в облаке.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Создаем Hamster Kombat почти с нуля. Практика по Vue 3 и Telegram Mini Apps
Привет, Хабр! В этой статье-инструкции вы узнаете, как с нуля сделать свою собственную Telegram-тапалку на современном стеке. Важный дисклеймер: тапалка, кликер и прочее — это всего лишь форма. Цель...
#ЛитКод
Задача: 639. Decode Ways II
Сообщение, содержащее буквы от A-Z, может быть закодировано в цифры с помощью следующего отображения: 'A' -> "1" 'B' -> "2" ... 'Z' -> "26" Чтобы декодировать закодированное сообщение, все цифры должны быть сгруппированы, а затем снова преобразованы в буквы с помощью обратного отображения (может быть несколько способов). Например, "11106" может быть преобразовано в: "AAJF" с группировкой (1 1 10 6) "KJF" с группировкой (11 10 6) Обратите внимание, что группировка (1 11 06) недействительна, поскольку "06" не может быть преобразовано в "F", так как "6" отличается от "06". В дополнение к вышеуказанным преобразованиям кодированное сообщение может содержать символ "*", который может представлять любую цифру от "1" до "9" ("0" исключается). Например, кодированное сообщение "1*" может представлять любое из кодированных сообщений "11", "12", "13", "14", "15", "16", "17", "18" или "19". Декодирование "1*" эквивалентно декодированию любого из кодированных сообщений, которые оно может представлять. Если задана строка s, состоящая из цифр и символов '*', верните количество способов ее декодирования. Поскольку ответ может быть очень большим, верните его по модулю 109 + 7.
Пример:
👨💻 Алгоритм:
1⃣ Инициализация
Создайте массив dp, где dp[i] представляет количество способов декодирования подстроки s[0:i]. Установите начальные значения dp[0] = 1 (пустая строка имеет один способ декодирования).
2⃣ Обход строки
Используйте цикл для обхода строки и вычисления количества способов декодирования для каждого символа, включая обработку символа '*'.
3⃣ Модульное вычисление
Поскольку количество способов декодирования может быть большим, вычисляйте результаты по модулю 10^9 + 7.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 639. Decode Ways II
Сообщение, содержащее буквы от A-Z, может быть закодировано в цифры с помощью следующего отображения: 'A' -> "1" 'B' -> "2" ... 'Z' -> "26" Чтобы декодировать закодированное сообщение, все цифры должны быть сгруппированы, а затем снова преобразованы в буквы с помощью обратного отображения (может быть несколько способов). Например, "11106" может быть преобразовано в: "AAJF" с группировкой (1 1 10 6) "KJF" с группировкой (11 10 6) Обратите внимание, что группировка (1 11 06) недействительна, поскольку "06" не может быть преобразовано в "F", так как "6" отличается от "06". В дополнение к вышеуказанным преобразованиям кодированное сообщение может содержать символ "*", который может представлять любую цифру от "1" до "9" ("0" исключается). Например, кодированное сообщение "1*" может представлять любое из кодированных сообщений "11", "12", "13", "14", "15", "16", "17", "18" или "19". Декодирование "1*" эквивалентно декодированию любого из кодированных сообщений, которые оно может представлять. Если задана строка s, состоящая из цифр и символов '*', верните количество способов ее декодирования. Поскольку ответ может быть очень большим, верните его по модулю 109 + 7.
Пример:
Input: s = "*"
Output: 9
Создайте массив dp, где dp[i] представляет количество способов декодирования подстроки s[0:i]. Установите начальные значения dp[0] = 1 (пустая строка имеет один способ декодирования).
Используйте цикл для обхода строки и вычисления количества способов декодирования для каждого символа, включая обработку символа '*'.
Поскольку количество способов декодирования может быть большим, вычисляйте результаты по модулю 10^9 + 7.
var numDecodings = function(s) {
const MOD = 1e9 + 7;
const n = s.length;
const dp = new Array(n + 1).fill(0);
dp[0] = 1;
for (let i = 1; i <= n; i++) {
if (s[i - 1] === '*') {
dp[i] = 9 * dp[i - 1];
} else if (s[i - 1] !== '0') {
dp[i] = dp[i - 1];
}
if (i > 1) {
if (s[i - 2] === '*') {
if (s[i - 1] === '*') {
dp[i] += 15 * dp[i - 2];
} else if ('0' <= s[i - 1] && s[i - 1] <= '6') {
dp[i] += 2 * dp[i - 2];
} else {
dp[i] += dp[i - 2];
}
} else if (s[i - 2] === '1') {
if (s[i - 1] === '*') {
dp[i] += 9 * dp[i - 2];
} else {
dp[i] += dp[i - 2];
}
} else if (s[i - 2] === '2') {
if (s[i - 1] === '*') {
dp[i] += 6 * dp[i - 2];
} else if ('0' <= s[i - 1] && s[i - 1] <= '6') {
dp[i] += dp[i - 2];
}
}
}
dp[i] %= MOD;
}
return dp[n];
};Please open Telegram to view this post
VIEW IN TELEGRAM
😨4
#собес
🤔 Какие преимущества предоставляет оператор spread по сравнению с альтернативными подходами, такими как метод concat() для массивов или Object.assign() для объектов?
Оператор
👉 Новости 👉 Платформа
Оператор
spread(...) позволяет легко копировать и объединять массивы и обьекты с помощью более лаконичного и читаемого синтаксиса. В отличие от метода concat( ) , который требует явного указания массива для объединения, и Object. assign() , который может затруднить копирование объектов с вложенными структурами, оператор spread делает эти операции интуитивно понятными и менее подверженными ошибкам. Это упрощает написание кода и повышает его читаемость.Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#статьи
👍 Как за 10 минут создать тестировщик нагрузки для API на Node.js
Почему разработка собственного инструмента для нагрузки на API иногда оказывается лучшим выбором? В статье обсуждается реальный кейс: задачи тестирования производительности, ограничения Postman и сложность JMeter. Узнайте, как и зачем был создан простой и эффективный API-лоадер на Node.js.
Читать статью
👉 Новости 👉 Платформа
Почему разработка собственного инструмента для нагрузки на API иногда оказывается лучшим выбором? В статье обсуждается реальный кейс: задачи тестирования производительности, ограничения Postman и сложность JMeter. Узнайте, как и зачем был создан простой и эффективный API-лоадер на Node.js.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как за 10 минут создать тестировщик нагрузки для API на Node.js
Вступительное слово Немного объясню, зачем я вообще написал код для нагрузки на API и не воспользовался готовыми инструментами. В своей работе я порой сталкиваюсь с задачами, которые, хоть и связаны с...
❤1
#статьи
🤓 Важность HTTP-протокола для веб-разработчиков
Статья по ссылке ниже охватывает ключевые аспекты, такие как методы HTTP (GET, POST, PUT, DELETE), заголовки, аутентификацию и цикл запроса/ответа. Также приводятся практические примеры и лучшие практики для создания безопасных, масштабируемых и производительных API.
Чикать статью
👉 Новости 👉 Платформа
Статья по ссылке ниже охватывает ключевые аспекты, такие как методы HTTP (GET, POST, PUT, DELETE), заголовки, аутентификацию и цикл запроса/ответа. Также приводятся практические примеры и лучшие практики для создания безопасных, масштабируемых и производительных API.
Чикать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁2
#собес
🤔 Что такое рекурсия, когда применяется? Пример рекурсивной структуры?
Рекурсия - это метод, при котором функция вызывает саму себя для решения задачи. Она часто используется для решения задач, которые можно разбить на подзадачи меньшего размера, таких как вычисление факториала, обход деревьев или работа с вложенными структурами. Чтобы рекурсия работала, необходимо иметь условие выхода, которое остановит бесконечный цикл.
👉 Новости 👉 Платформа
Рекурсия - это метод, при котором функция вызывает саму себя для решения задачи. Она часто используется для решения задач, которые можно разбить на подзадачи меньшего размера, таких как вычисление факториала, обход деревьев или работа с вложенными структурами. Чтобы рекурсия работала, необходимо иметь условие выхода, которое остановит бесконечный цикл.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#статьи
🛞 Отслеживание позиций торгового робота Московской биржи через CSV файл
Статья посвящена созданию кроссплатформенного торгового робота для Московской биржи через API брокера. Рассматриваются проблемы готовых решений, таких как QUIK, и преимущества разработки легкого и гибкого инструмента.
Читать статью
👉 Новости 👉 Платформа
Статья посвящена созданию кроссплатформенного торгового робота для Московской биржи через API брокера. Рассматриваются проблемы готовых решений, таких как QUIK, и преимущества разработки легкого и гибкого инструмента.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Отслеживание позиций торгового робота Московской биржи через CSV файл
Нахожусь в процессе написания механизма торгового робота, работающего на Московской бирже через API одного из брокеров. Брокеров имеющих своё АПИ для МосБиржи катастрофически...
#видео
😎 MobX + React: Вычисляемые значения и реакции3
Продолжаем делиться циклом видео, благодаря которому ты научишься пользоваться MobX в связке с React. В этот раз речь идет про вычисляемые значения и реакции.
📱 Смотреть видео
👉 Новости 👉 Платформа
Продолжаем делиться циклом видео, благодаря которому ты научишься пользоваться MobX в связке с React. В этот раз речь идет про вычисляемые значения и реакции.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
MobX + React #3 Вычисляемые значения и реакции (Computed Values & Reactions)
#YauhenK #webDev #MobX #React
В данном видеокурсе мы с вами рассмотрим библиотеку MobX, которая помогает делать управление состоянием приложения простым и масштабируемым. Разберём основные концепции на которых строится MobX. React и Mobx вместе - это довольно…
В данном видеокурсе мы с вами рассмотрим библиотеку MobX, которая помогает делать управление состоянием приложения простым и масштабируемым. Разберём основные концепции на которых строится MobX. React и Mobx вместе - это довольно…
#собес
🤔 Расскажите об области видимости переменных?
Область видимости переменной определяет, где в коде эта переменная доступна. В JavaScript существуют глобальная область видимости, блочная область видимости и область видимости функции. Переменные, объявленные с
👉 Новости 👉 Платформа
Область видимости переменной определяет, где в коде эта переменная доступна. В JavaScript существуют глобальная область видимости, блочная область видимости и область видимости функции. Переменные, объявленные с
var , имеют функциональную область видимости, а let и const - блочную область видимости, что означает, что они доступны только внутри блока, в котором были обьявлены.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
#статьи
😇 IPC в Node.js: решение проблемы с передачей данных
IPC в Node.js — мощный инструмент, но даже у него бывают сюрпризы. В версии 12.16.0 появился режим advanced serialization, но с ним иногда зависают сообщения. Разбираем, почему это происходит и как мы решили проблему.
Читать статью
👉 Новости 👉 Платформа
IPC в Node.js — мощный инструмент, но даже у него бывают сюрпризы. В версии 12.16.0 появился режим advanced serialization, но с ним иногда зависают сообщения. Разбираем, почему это происходит и как мы решили проблему.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
IPC в Node.js: решение проблемы с передачей данных
В Node.js IPC (Inter-Process Communication) - это механизм, используемый для обмена данными между процессами. Начиная с версии 12.16.0 в модуле child_processes появилась поддержка режима advanced...
❤1
#полезное
😬 Map: Использование индекса и массива
map() позволяет работать не только с элементом массива, но и с его индексом и самим массивом. В первом примере мы используем индекс для создания новых значений. Во втором примере мы ссылаемся на весь массив для сравнения текущего элемента с другими.
👉 Новости 👉 Платформа
map() позволяет работать не только с элементом массива, но и с его индексом и самим массивом. В первом примере мы используем индекс для создания новых значений. Во втором примере мы ссылаемся на весь массив для сравнения текущего элемента с другими.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#полезное
👍 Sitefetch
Это инструмент для скачивания и сохранения содержимого веб-сайта в текстовом формате, оптимизированный для работы с моделями искусственного интеллекта!
🔎 Он извлекает текст с указанных страниц, обрабатывая HTML в удобочитаемый текстовый файл. Это может быть полезно для обучения языковых моделей или анализа контента.
🔎 Ключевые возможности включают настройку выборки контента с использованием CSS-селекторов, фильтрацию страниц с помощью шаблонов URL, а также управление одновременным количеством запросов для повышения производительности. Sitefetch легко устанавливается через пакетные менеджеры, такие как npm, pnpm или bun, и поддерживает как командную строку, так и API для интеграции в другие приложения.
Гитхаб
👉 Новости 👉 Платформа
Это инструмент для скачивания и сохранения содержимого веб-сайта в текстовом формате, оптимизированный для работы с моделями искусственного интеллекта!
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🍓1
#собес
🤔 Что такое lIFE и когда применяется?
IIFE (Immediately Invoked Function Expression) - это функция, которая выполняется сразу после того, как была объявлена. Это достигается оборачиванием функции в скобки и последующим вызовом. IIFE часто используется для создания изолированной области видимости, чтобы избежать конфликтов переменных в глобальном пространстве имен.
👉 Новости 👉 Платформа
IIFE (Immediately Invoked Function Expression) - это функция, которая выполняется сразу после того, как была объявлена. Это достигается оборачиванием функции в скобки и последующим вызовом. IIFE часто используется для создания изолированной области видимости, чтобы избежать конфликтов переменных в глобальном пространстве имен.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🍓1