開発覚書はてな版

個人的な開発関連の備忘録

【NestJS】Custom providersで文字列をキーにする

概要

  • Custom providers で文字列を指定したサンプルです。
  • Moduleのprovidersに { provide: 文字列キー, useClass: サービスクラス } で定義します。
  • 定義したサービスはModuleRefを使用してContoller内部で生成します。

docs.nestjs.com

docs.nestjs.com

続きを読む

【VSCode】ESLintを使用してコードを自動フォーマットする

概要

Visual Studio Code の TSLint拡張機能eslint-plugin-prettier を使用してソースコードを自動フォーマットすることが出来ます。 各種設定や使用ライブラリ等を記載します。

marketplace.visualstudio.com

github.com

TSLintの自動フォーマットについては以下の記事を参考にしてください。

kakkoyakakko2.hatenablog.com

続きを読む

【Angular/class-validator】C#/WPF の INotifyDataErrorInfoをTypeScriptで実現する

概要

  • C#/WPF では INotifyDataErrorInfoとDataAnnotations を使用した入力バリデーションが存在します。今回はそれをAngular版にしてみました。
  • 今回はclass-validator + Angular + TypeScriptで実現します。

INotifyDataErrorInfo実装サンプル

github.com

続きを読む

【TypeScript】jsonファイルから型の抽出・生成

概要

  • TypeScript の resolveJsonModule オプションを使用することでJSONファイルから型の抽出・生成を行います。
  • TypeScript 2.9以降で使用できます。

www.typescriptlang.org

続きを読む

【読書】.NET、Javaでの標準化

概要

  • .NET FrameworkJavaなどプロジェクトで標準化を行った際に参考した書籍を紹介。

対象の本

Effective Java 第3版

Effective Java 第3版

続きを読む

【TypeScript】生産性・保守性を上げる記事一覧

目次

  • 目次
  • 概要
  • パスエイリアス
  • index.ts(バレル)
  • 定数クラス
  • 拡張メソッド
  • 自動フォーマット(要VSCode

概要

  • TypeScriptで生産性・保守性を上げる記事一覧を記載。
  • このサイトの過去記事より抜粋。
  • このあたりが一通り実装されているプロジェクトは自分が過去に関わった or 自分の関わったプロジェクトから流用された可能性があります。
続きを読む

【Node.js+Docker】nodemailer+Docker+MailHogのサンプル

概要

  • Docker 上に MailHog を立ち上げて、そこに対してメールを送信するサンプルです。
  • メールは nodemailer を使用して送信します。
  • MailHog起動中は http://localhost:8025/ をブラウザで開くと送信メールの確認が出来ます。

実行環境

  • Node.js - 10.x
  • Docker - 19.x
  • Docker Compose - 1.24.x
    • MailHog - latest

使用ライブラリ

  • nodemailer - 6.3.x
続きを読む

【Angular】HttpClient.get使用時にURLクエリパラメータを配列で渡す

概要

  • Angular で HttpClient.get メソッド使用時にURLクエリパラメータを配列で渡す場合のサンプルです。

実装方針

  • HttpParams の生成時に fromObject で配列を指定する。
続きを読む

【VSCode】おすすめ拡張機能 - Jest Test Explorer

概要

Visual Studio Code で普段利用している拡張機能ご紹介です。
今回は Jest Test Explorer です。 Visual Studio Code上のTest Explorer から Jest を実行できる機能です。

marketplace.visualstudio.com

続きを読む