開発覚書はてな版

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

【イベント参加】Developers Summit 2020 に参加してきました

概要

Developers Summit 2020 に参加してきました。
今回は「ともにつくる」をテーマに開催されました。
今回は2日目の午後2セッションのみ参加しました。

event.shoeisha.jp

codezine.jp

続きを読む

【Angular】Angular 9 バージョンアップで気になった箇所

概要

  • Angular 9 のバージョンアップ内容で気になった箇所をピックアップしていきたいと思います。
  • 基本的にはIvyがメインのリリースになります。

blog.angular.io

続きを読む

【Hyper-V】ゲストOSがWindows10の場合に第一世代の仮想マシンを第二世代にする

目次

  • 目次
  • 概要
  • 前提知識
  • 試した環境
  • 作業の前に
  • 手順
    • 1. HDDが空の第二世代仮想マシンを作成する
    • 2. 第一世代のVHDXファイルをコピーする
    • 3. コピーしたVHDXファイルをホストOSにマウントする
    • 4. マウントしたVHDXのディスク番号を調べる
    • 5. マウントしたVHDXをGPTに変換する
    • 6. マウントしたVHDXをアンマウント
    • 7. 1で作成した仮想マシンにGPT変換したVHDXを設定
    • 8. 仮想マシンの起動
  • おわりに

概要

続きを読む

【VSCode】おすすめ拡張機能 - Error Lens

概要

Visual Studio Code で普段利用している拡張機能ご紹介です。
今回は Error Lens です。 Visual Studio Code上のエディタ上にエラー・警告メッセージが表示されるようになります。

marketplace.visualstudio.com

続きを読む

【TypeScript】reflect-metadataでMethodDecoratorを実装する

概要

  • reflect-metadataでMethodDecoratorを実装するサンプルです。
  • メソッドにメタデータを定義するケースです。

www.npmjs.com

実装方針

  • MethodDecorator を定義する。
  • 上記のMethodDecoratorをメソッドに指定したクラスを定義する。
  • 上記のクラスからMethodDecoratorを指定したメソッドを検出して実行する。
続きを読む

【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

続きを読む