Как стать автором
Обновить
283
52
Igor Agapov @aio350

JavaScript Developer

Отправить сообщение

Вы правы, спасибо, пофиксил + добавил уникальные сочетания полей для моделей Post и Like.

Хм, надо будет попробовать, но кажется, что идея хорошая.

Действительно, спасибо.

В чем преимущества?

"Распределение не униформное..." - покажите реализацию на TypeScript?
"Результат обрезан до int32..." - это я погорячился, в библиотеке вместо ~~ используется Math.floor(), поправил.

Согласен, поправил. Спасибо за замечание

Действительно, поправил. Спасибо, друг.

Какое такое?) Я специально сделал оговорку, что мы пойдем простым путем. Разумеется, в реальном приложение каждое событие должно обрабатываться отдельно.

Спасибо, друг.

"К недостаткам можно случай, если при размонтировании компонента не удалить события, на которые вы были подписаны, React может продолжать отслеживать изменения, что приведет к утечке памяти и потере производительности."

useEffect(() => {
   // это
    window.addEventListener("online", () => setOnline(true));  
    window.addEventListener("offline", () => setOnline(false));
    return () => {
      // и это - разные обработчики
      // зарегистрированные обработчики удалены не будут
      // получаем утечку памяти при каждом использовании наблюдателя
      window.removeEventListener("online", () => setOnline(true)); 
      window.removeEventListener("offline", () => setOnline(false));
    };
  }, []);

Кое-что упущено:
1. Для того, чтобы иметь возможность использовать useStaticAssets и другие методы для обработки статики, приложение Nest необходимо создать следующим образом:
import { NestExpressApplication } from '@nestjs/platform-express'
const app = await NestFactory.create<NestExpressApplication>(AppModule)
2. Для того, чтобы рендерить статику с помощью EJS, требуется установить соответствующий пакет: npm i ejs
3. Для того, чтобы открыть сокет на порту 3002, приложение Nest должно быть запущено на этом порту:
await app.listen(3002)
4. Директории views и static должны находиться в корне приложения, а не в директории src.
5. Файл app.js должен находиться в директории static.

Побитовые операторы манипулируют 32-битными целыми числами от -2_147_483_647 до 2_147_483_647 включительно. С большими/меньшими значениями (например, 3_000_000_000) они работают некорректно. По поводу TS согласен.

Для создания, обновления и удаления нескольких записей в одной транзакции Prisma предоставляет такие методы, как createMany, updateMany и deleteMany, соответственно. Особенность этих методов (транзакции) состоит в том, что если хотя бы один объект в массиве окажется невалидным, операция провалится (ни один объект не будет записан etc.). Но если позаботиться о валидации заранее, то все получится) Совсем не программисту я бы не советовал начинать с NestJS, Prisma и TypeScript. Простой REST API, пожалуй, легче всего реализовать с помощью Express + Mongoose (для демонстрации хватит кластера в MongoDB Atlas).

Хорошо, реализуйте эту часть с помощью while, и увидите, что результат тот же, а кода больше.

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

Спасибо, друг.

Для этого используется стек и рекурсия. Больше вопросов вызывает разрешение конфликтов: способ, приведенный в статье, это хак, который может работать не во всех случаях.

Спасибо за дополнения.

Информация

В рейтинге
144-й
Откуда
Екатеринбург, Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Frontend Developer
Senior
JavaScript
HTML
React
TypeScript
CSS
Web development
Node.js
Express
Webpack
NextJS