depp

【サービスリリース】容疑者画像メーカーを公開しました

サイトはこちらです yougisya.cgig.jp 悪い顔選手権を見ていたら作りたくなりました www.youtube.com ブラウザで動くので誰でも簡単に使うことができます 悪い顔をして遊んでみてください Canvasを初めてちゃんと使ったので楽しかったですw

HTML Canvasで文字を中央に配置する

タイトル通りですがCanvasで文字を中央に配置する方法です。 textAlign に center 、textBaseLine に middle を指定して開始位置を中心に持ってくるようにするだけです export type Rect = { width: number, height: number, x: number, y: number }; const …

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…

Slackで見逃された投稿をスヌーズ機能で気づくようにする

はじめに Slackに問い合わせが来た時に、複数人が対応するような体制だと「今は手が離せないから対応できないけど、誰かやってくれるやろ」ということが起きるかと思います。 たまに全員がこのマインドになった時に見逃されることがあります。 それを見逃さ…

SlackのチャンネルIDを取得する

はじめに Incoming Webhooksでメッセージを送るときや、 message historyを取得したい時などにチャンネルIDが必要になったので方法を記録しておきます ブラウザで取得する チャンネルIDを取得したいチャンネルを開きます アドレスバーに表示されているURLのc…