Skip to content

Instantly share code, notes, and snippets.

@QueryHandler(SessionGetQuery)
export class SessionGetQueryHandler implements IQueryHandler<SessionGetQuery, GameSession> {
private readonly queue = new BatchExecutor<string, SessionGetQuery, GameSession>({
batchSize: 1000,
getId: (item) => item.externalId,
handler: this.processBatch.bind(this),
filter(taken, curr) {
const first = taken.at(-1);
return !first || isEqual(first.relations, curr.relations);
},
// user.service.raw.ts (Raw SQL Variant)
import { Injectable } from '@nestjs/common';
import { Pool } from 'pg';
import { GetUsersDto } from './dto/get-users.dto';
@Injectable()
@vgovras
vgovras / pacstrap.txt
Last active July 21, 2024 11:14
pacstrap
pacstrap /mnt base linux linux-firmware intel-ucode nvidia nvidia-utils nvidia-settings lm_sensors iwd bluez bluez-utils networkmanager blueman pipewire pipewire-alsa pipewire-pulse pipewire-jack wireplumber sof-firmware alsa-utils vi base-devel bash-completion git neovim wget curl htop unzip sudo man-db man-pages dhclient xf86-video-intel
@vgovras
vgovras / add-product-to-warehouse.command.ts
Last active June 16, 2023 15:12
Example of warehouse on OOP
class AddProductToWarehouseCommand {
constructor(public readonly warehouseId: number, public readonly productId: number) {}
}
@CommandHandler(AddProductToWarehouseCommand)
export class AddProductToWarehouseHandler implements ICommandHandler<AddProductToWarehouseCommand> {
constructor(
@InjectRepository(WarehouseEntity)
private readonly warehouseRepository: Repository<WarehouseEntity>,
@InjectRepository(ProductEntity)

Тестовое задание (key-value базу данных)

Описание:

Написать базовую реализацию key-value базы данных, соответствующую следующим условиям:

  • Принимает входящие сообщения по RabbitMQ из очереди config.INCOME_QUEUE.
  • Отправляет ответ в очередь config.OUTCOME_QUEUE.
  • Формат сообщений разработать и задокументировать самостоятельно.
  • Поддерживает операции чтения, вставки, удаления.
  • Обеспечивает персистентность данных.