TypeScript

OpenListの技術的な話

はじめに OpenListというWebサービスを公開したので技術的な記事を書いておきます openlist.cgig.jp Spec 使用しているものを列挙すると下記になります Next.js React TypeScript Google App Engine Firebase Authentication Firestore Material-UI 同期方法…

Prisma2でschemaファイルを分割して管理する

はじめに 最近Prismaを使い始めたんですが schema.prisma が肥大化していって辛くなってきたので分割を考えました 分割方法を調査 調べたところ、同じことを思ってる人はいるようでissueがありました Prisma1の場合はPrismaがよしなにしてくれたようなのです…

TypeScriptでクラスを初期化するときにObjectを渡して初期化したい

はじめに 下記のようなクラスがあった場合にどうやって初期化しようかと悩んだため色々試してみました class User { name: string; age: number; nickname?: string; public hello(): string { return `[${this.nickname ?? this.name}] Hello!!`; } } やっ…

Next.jsでページ遷移するときにMaterial UIのプログレスバーを表示する

はじめに Nest.jsではページ遷移がシームレスに行われるのでプログレスバーを出してあげるとわかりやすいです 大体下記のパッケージを使うのが主流かと思いますが 個人サイトではよくMaterial-UIを使用しているのでそのパターンで実装をします www.npmjs.com…

NestJSでデコレーターをまとめて使い回す

はじめに NestJSでコントローラーを作っていくと同じ用なデコレーターを定義することが多くなっていくことがあります それをまとめてみました 日に日に増えていくデコレーター @Controller('users') @ApiTags('users') @ApiBearerAuth() @UseGuards(UserGuar…