#полезное
🛞 Реактивное программирование
Как использовать реактивное программирование с JavaScript и TypeScript в Node.js. Все для новичков: как работать с потоками и наблюдаемыми объектами, чтобы делать асинхронные приложения, которые быстро и эффективно работают с данными.
Читать статью...
👉 Новости 👉 Платформа
Как использовать реактивное программирование с JavaScript и TypeScript в Node.js. Все для новичков: как работать с потоками и наблюдаемыми объектами, чтобы делать асинхронные приложения, которые быстро и эффективно работают с данными.
Читать статью...
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Что такое реактивное программирование? Руководство для начинающих по написанию реактивного кода
Добро пожаловать в путешествие по динамичному миру реактивного программирования! Эта увлекательная парадигма направлена на создание быстро реагирующих, отказоустойчивых и адаптируемых приложений,...
👍2
Anonymous Quiz
3%
библиотека Node JS
6%
расширение Node JS
9%
технология для работы с сервером
83%
пакетный менеджер
Anonymous Quiz
10%
start()
52%
event()
13%
invoke()
6%
util()
19%
emit()
#собес
🤔 Что такое NaN? Какого типа это значение? Как можно узнать, равно ли значение переменной NaN?
NaN (Not-a-Number) - это специальное значение, представляющее результат нечисловой операции, которая должна возвращать число. NaN является типом number , но не равен ни одному значению, даже самому себе. Чтобы проверить, является ли значение NaN, используется функция isNaN() или Number.isNaN()
👉 Новости 👉 Платформа
NaN (Not-a-Number) - это специальное значение, представляющее результат нечисловой операции, которая должна возвращать число. NaN является типом number , но не равен ни одному значению, даже самому себе. Чтобы проверить, является ли значение NaN, используется функция isNaN() или Number.isNaN()
Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Какие унарные операторы вы знаете?
Унарные операторы - это операторы, которые работают с одним операндом. В JavaScript к ним
относятся: унарный плюс ( + ), унарный минус ( - ), оператор инкремента ( ++ ), оператор
декремента ( -- ), логический оператор НЕ ( ! ), оператор typeof и оператор delete.
👉 Новости 👉 Платформа
Унарные операторы - это операторы, которые работают с одним операндом. В JavaScript к ним
относятся: унарный плюс ( + ), унарный минус ( - ), оператор инкремента ( ++ ), оператор
декремента ( -- ), логический оператор НЕ ( ! ), оператор typeof и оператор delete.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😍 PGlite — полноценный Postgres-сервер на WASM. Работает прямо в браузере и Node.js
PGlite - это PostgreSQL скомпилированный в WebAssembly и упакованный в простую TypeScript/JavaScript-библиотеку. Его ключевая фишка - отсутствие "линуксового" виртуального окружения, то есть вы не тянете за собой целый образ OS.
Читать статью...
👉 Новости 👉 Платформа
PGlite - это PostgreSQL скомпилированный в WebAssembly и упакованный в простую TypeScript/JavaScript-библиотеку. Его ключевая фишка - отсутствие "линуксового" виртуального окружения, то есть вы не тянете за собой целый образ OS.
Читать статью...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
23%
const express = require(express);
26%
const express = requires('express');
0%
const express = req('express');
6%
const express = include('express');
46%
const ex = require('express');
#ЛитКод
Задача: 673. Number of Longest Increasing Subsequence
Дан массив целых чисел nums, верните количество самых длинных строго возрастающих подпоследовательностей.
Пример:
👨💻 Алгоритм:
1⃣ Объявите два массива динамического программирования length и count, и инициализируйте их значениями length[i]=1 и count[i]=1. Итерируйте i от 0 до n−1. Для каждого i итерируйте j от 0 до i−1 и, если nums[j] < nums[i], обновите length[i] и count[i] в зависимости от значений length[j] и count[j].
2⃣ Найдите максимальное значение в массиве length и сохраните его в переменной maxLength. Инициализируйте переменную result = 0.
3⃣ Итерируйте i от 0 до n−1 и, если length[i] = maxLength, добавьте count[i] к result. Верните result.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 673. Number of Longest Increasing Subsequence
Дан массив целых чисел nums, верните количество самых длинных строго возрастающих подпоследовательностей.
Пример:
Input: n = 1, presses = 1
Output: 2
Explanation: Status can be:
- [off] by pressing button 1
- [on] by pressing button 2
var findNumberOfLIS = function(nums) {
let n = nums.length;
let length = new Array(n).fill(1);
let count = new Array(n).fill(1);
for (let i = 0; i < n; i++) {
for (let j = 0; j < i; j++) {
if (nums[j] < nums[i]) {
if (length[j] + 1 > length[i]) {
length[i] = length[j] + 1;
count[i] = 0;
}
if (length[j] + 1 === length[i]) {
count[i] += count[j];
}
}
}
}
let maxLength = Math.max(...length);
let result = 0;
for (let i = 0; i < n; i++) {
if (length[i] === maxLength) {
result += count[i];
}
}
return result;
}Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Какие бинарные операторы вы знаете?
Бинарные операторы работают с двумя операндами. К ним относятся арифметические операторы (+, -, *, /, %), операторы сравнения ( ==, ===, !=, ‹, ›, ‹=, ›= ), логические операторы ( &&, || ), операторы побитовых операций ( & , |, ^, >>. << ), а также оператор присваивания (=).
👉 Новости 👉 Платформа
Бинарные операторы работают с двумя операндами. К ним относятся арифметические операторы (+, -, *, /, %), операторы сравнения ( ==, ===, !=, ‹, ›, ‹=, ›= ), логические операторы ( &&, || ), операторы побитовых операций ( & , |, ^, >>. << ), а также оператор присваивания (=).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😊 Управление Node.js 19 и NPM 9 с помощью NVM
Статья знакомит с использованием NVM для управления версиями Node.js и npm, показывая примеры с Node.js 19 и npm 9. Объясняются преимущества NVM для безопасного обновления и тестирования новых возможностей.
Читать статью
👉 Новости 👉 Платформа
Статья знакомит с использованием NVM для управления версиями Node.js и npm, показывая примеры с Node.js 19 и npm 9. Объясняются преимущества NVM для безопасного обновления и тестирования новых возможностей.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
NOP::Nuances of programming
Управление Node.js 19 и NPM 9 с помощью NVM
Обучающее практическое руководство по работе с менеджером версий Node.js - NVM.
❤1
Anonymous Quiz
5%
read()
38%
readFileSync()
21%
readFile()
17%
readSync()
19%
readFileAsync()
🔥1
#Вакансии
👨💻 Frontend разработчик React/ VueJS/ Angular, rest, docker
Локация: Удаленно
Компания: ИП Карташев
ЗП: обсуждается на собеседовании
Занятость: Проектная
Краткое описание проекта: Онлайн-сервис призван пополнять разные зарубежные и ру аккаунты, в первую очередь игровые.
🚩 Обязанности
🟡 Взять проект и довести до конца
🚩 Что есть
🔵 Макет, 7 однотипных страниц отрисованы в фигме
🔵 Документация к api
🔵 Отдельным документом логика вызова api
Важно:
Работа разовая, поэтому ищу человека минимум с парой аналогичных кейсов, т.е. обязательно наличие портфолио. Цена договорная предлагай сколько за все действо, сразу заложи 2 итерации правок в цену.
💬 Резюме отправлять: @imdeniil
👉 Новости 👉 Платформа
Локация: Удаленно
Компания: ИП Карташев
ЗП: обсуждается на собеседовании
Занятость: Проектная
Краткое описание проекта: Онлайн-сервис призван пополнять разные зарубежные и ру аккаунты, в первую очередь игровые.
Важно:
Работа разовая, поэтому ищу человека минимум с парой аналогичных кейсов, т.е. обязательно наличие портфолио. Цена договорная предлагай сколько за все действо, сразу заложи 2 итерации правок в цену.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#собес
🤔 Перечислите способы объявления функции и особенность каждого?
B JavaScript функции можно объявлять несколькими способами: через function declaration, function
expression, стрелочные функции (arrow functions), и методы в объектах. Каждый из этих способов
имеет свои особенности: function declaration подвержены "поднятию" (hoisting), function expression
нет, а стрелочные функции не имеют своего контекста this.
👉 Новости 👉 Платформа
B JavaScript функции можно объявлять несколькими способами: через function declaration, function
expression, стрелочные функции (arrow functions), и методы в объектах. Каждый из этих способов
имеет свои особенности: function declaration подвержены "поднятию" (hoisting), function expression
нет, а стрелочные функции не имеют своего контекста this.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Media is too big
VIEW IN TELEGRAM
#полезное
🤯 Визуализация JavaScript - цикл событий, веб-интерфейсы, очередь (микро)задач
Видео объясняет, как работает однопоточная природа JavaScript, включая стек вызовов, Web API, очереди задач и микрозадач, а также переход от обратных вызовов к промисам
Смотреть видео
👉 Новости 👉 Платформа
Видео объясняет, как работает однопоточная природа JavaScript, включая стек вызовов, Web API, очереди задач и микрозадач, а также переход от обратных вызовов к промисам
Смотреть видео
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3
🔥2👍1
#ЛитКод
Задача: 311. Sparse Matrix Multiplication
Даны две разреженные матрицы mat1 размером m x k и mat2 размером k x n. Верните результат перемножения матриц mat1 x mat2. Вы можете предположить, что умножение всегда возможно.
Пример:
👨💻 Алгоритм:
1⃣ Инициализация результирующей матрицы
Создайте результирующую матрицу result размером m x n, заполненную нулями.
2⃣ Хранение ненулевых элементов
Пройдите по каждой строке матрицы mat1 и сохраните индексы и значения ненулевых элементов в хеш-карте mat1_map. Пройдите по каждой колонке матрицы mat2 и сохраните индексы и значения ненулевых элементов в хеш-карте mat2_map.
3⃣ Вычисление произведения
Для каждой строки i в mat1 и для каждой колонки j в mat2: Если в mat1_map есть ненулевой элемент в строке i и в mat2_map есть ненулевой элемент в колонке j с одинаковым индексом k, добавьте произведение этих элементов к result[i][j].
😎 Решение:
👉 Новости 👉 Платформа
Задача: 311. Sparse Matrix Multiplication
Даны две разреженные матрицы mat1 размером m x k и mat2 размером k x n. Верните результат перемножения матриц mat1 x mat2. Вы можете предположить, что умножение всегда возможно.
Пример:
Input: mat1 = [[1,0,0],[-1,0,3]], mat2 = [[7,0,0],[0,0,0],[0,0,1]]
Output: [[7,0,0],[-7,0,3]]
Создайте результирующую матрицу result размером m x n, заполненную нулями.
Пройдите по каждой строке матрицы mat1 и сохраните индексы и значения ненулевых элементов в хеш-карте mat1_map. Пройдите по каждой колонке матрицы mat2 и сохраните индексы и значения ненулевых элементов в хеш-карте mat2_map.
Для каждой строки i в mat1 и для каждой колонки j в mat2: Если в mat1_map есть ненулевой элемент в строке i и в mat2_map есть ненулевой элемент в колонке j с одинаковым индексом k, добавьте произведение этих элементов к result[i][j].
var multiply = function(mat1, mat2) {
let n = mat1.length;
let k = mat1[0].length;
let m = mat2[0].length;
let ans = Array.from({ length: n }, () => Array(m).fill(0));
for (let rowIndex = 0; rowIndex < n; rowIndex++) {
for (let elementIndex = 0; elementIndex < k; elementIndex++) {
if (mat1[rowIndex][elementIndex] !== 0) {
for (let colIndex = 0; colIndex < m; colIndex++) {
ans[rowIndex][colIndex] += mat1[rowIndex][elementIndex] * mat2[elementIndex][colIndex];
}
}
}
}
return ans;
};Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#собес
🤔 Что такое стрелочные функции и чем они отличаются от обычных функций?
Стрелочные функции - это сокращенная запись функций, которая не имеет своего контекста this.
Они чаще всего используются для упрощения синтаксиса и не поддерживают некоторые
особенности обычных функций, например, arguments и this . Эти функции удобны для написания короткого кода, но их нельзя использовать в ситуациях, где важен контекст.
👉 Новости 👉 Платформа
Стрелочные функции - это сокращенная запись функций, которая не имеет своего контекста this.
Они чаще всего используются для упрощения синтаксиса и не поддерживают некоторые
особенности обычных функций, например, arguments и this . Эти функции удобны для написания короткого кода, но их нельзя использовать в ситуациях, где важен контекст.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
#полезное
😊 Кэширование информации в Redis на NestJS
Статья показывает, как подключить Redis к проекту и настроить кэширование данных с помощью @nestjs-mod/cache-manager. Рассматриваются примеры работы с Docker Compose и Kubernetes для оптимизации запросов.
Читать статью
👉 Новости 👉 Платформа
Статья показывает, как подключить Redis к проекту и настроить кэширование данных с помощью @nestjs-mod/cache-manager. Рассматриваются примеры работы с Docker Compose и Kubernetes для оптимизации запросов.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Кэширование информации в Redis на NestJS
Предыдущая статья: Интеграция внешнего файлового сервера https://min.io в фулстек приложение на NestJS и Angular На каждом фронтенд запросе к бэкенду запрашивается информация по профилю пользователя...
❤1
Anonymous Quiz
12%
fs.writeFileSync()
14%
fs.write()
4%
fs.writeSync()
53%
fs.writeFileAsync()
18%
fs.writeFile()
👍2🫡2
#вакансии
👨💻 JS React разработчик
Компания: Kvando Technologies
ЗП: 130.000 - 150.000 руб. (обсуждается)
Локация: удаленно, только из РФ
Формат: full-time.
🚩 Что нужно знать и уметь
🔵 Опыт коммерческой разработки фронтенда не менее 2-х лет;
🔵 Опыт разработки на React и TypeScript не менее 2-х лет;
🔵 Уверенное знание HTML, CSS, JavaScript;
🔵 Знания DRY/KISS, SOLID, YAGNI, ООП, Шаблонов проектирования, PWA, SPA;
🔵 Умение работать с Docker;
🔵 Опыт работы с микрофронтендами ( будет преимуществом );
🔵 Опыт работы с веб-сервисами (REST, WebSocket);
🔵 Опыт использования GitLab, Jira, Confluence или других подобных инструментов;
🔵 Опыт написания тестов.
🚩 Мы предлагаем:
🟡 Удаленный формат в РФ
🟡 Оформление по ИП
🟡 Разные проекты на выбор.
🟡 График 5/2 с 9-18:00 по мск. времени (плавающее начало дня);
tg:@Evgenya_kiseleva
Компания: Kvando Technologies
ЗП: 130.000 - 150.000 руб. (обсуждается)
Локация: удаленно, только из РФ
Формат: full-time.
tg:@Evgenya_kiseleva
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥2
#собес
🤔 Что такое замыкания в JavaScript и почему они важны?
Замыкание — это функция, которая "запоминает" свою область видимости даже после того, как внешняя функция, в которой она была объявлена, завершила выполнение. Замыкания позволяют создавать функции с доступом к переменным из внешней функции, что полезно для работы с приватными данными и сохранения состояния между вызовами функции.
👉 Новости 👉 Платформа
Замыкание — это функция, которая "запоминает" свою область видимости даже после того, как внешняя функция, в которой она была объявлена, завершила выполнение. Замыкания позволяют создавать функции с доступом к переменным из внешней функции, что полезно для работы с приватными данными и сохранения состояния между вызовами функции.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2