投稿

ラベル(TypeScript)が付いた投稿を表示しています

TypeScript 型システム完全攻略

TypeScript の型システムを使いこなす TypeScript の型システムを使いこなす TypeScript の強力な機能の一つである型システムを最大限に活用するには、いくつかの重要なポイントを押さえる必要があります。単に型を定義するだけでは、TypeScript のパワーを十分に引き出せない可能性があります。この記事では、TypeScript の型システムを使いこなすための具体的な方法を解説します。 1. インターフェースの理解と活用 インターフェースは、オブジェクトの形状を定義するための強力なツールです。これにより、異なるコンポーネント間で共通の契約を結びつけ、コードの保守性と再利用性を高めることができます。例えば、API を利用する際に、API が提供するオブジェクトの構造をインターフェースで定義し、それを TypeScript で利用することで、型安全性を確保できます。例えば以下のようなインターフェース定義が考えられます。 interface User { id: number; name: string; email: string; } この例では、`User` インターフェースが、`id`、`name`、`email` というプロパティを持つオブジェクトの構造を定義しています。 2. ユーニョン型 (Union Types) の活用 ユーニョン型は、ある変数が複数の異なる型を持つことを明示的に示す場合に非常に便利です。例えば、ユーザーの年齢が 0 から 120 の範囲である場合、`number` 型だけでなく、`string` 型も許容するユーニョン型を定義できます。 type Age = number | string; これにより、型チェッカーは、`Age` 型の変数に数値だけでなく文字列も格納できることを認識し、誤った型の使用を検出できます。 3. ジェネリクス (Generics) を用いた再利用可能なコード ジェネリクスは、異なる型に対して同じコードを再利用するための強力なツールです。例えば、リストの操作を行う関数をジェネリクスを使用することで、さまざまな型のリストを扱えるようにできます。 function map (arr: T[], f: (...

AWS CDK入門:IaCでインフラ自動化

AWS CDKによるインフラ構築の自動化入門 近年、クラウドインフラをコードで管理する「インフラをコード(IaC)」の潮流が加速しています。AWS CDK(Cloud Development Kit)はその代表的なツールで、プログラミング言語(TypeScript、Python、Java、C#)を使ってAWSリソースを定義できる点が大きな特徴です。この記事では、CDKを使ってインフラ構築を自動化するための基本的な手順とベストプラクティスを紹介します。 1. CDKを始める前に Node.js(v14以上)とnpmがインストールされていること AWS CLIで適切なプロファイル(例: default )が設定されていること Gitリポジトリを使ってコード管理を行うこと(コミット履歴がインフラ変更の追跡に役立ちます) 2. プロジェクトの作成 まずはCDKプロジェクトを作成します。ここではTypeScriptを例にします。 # プロジェクトフォルダを作成 mkdir my-cdk-app cd my-cdk-app # CDKプロジェクトを作成 npx cdk init app --language typescript これでディレクトリ構成は以下のようになります。 my-cdk-app/ ├─ bin/ │ └─ my-cdk-app.ts ├─ lib/ │ └─ my-cdk-app-stack.ts ├─ test/ ├─ cdk.json ├─ package.json └─ tsconfig.json 3. スタック(Stack)の定義 スタックは一つのデプロイ単位です。 lib/my-cdk-app-stack.ts にリソースを定義します。ここでは簡単にVPCとS3バケットを作成します。 import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; import * as s3 from 'aws-cdk-lib/aws-s3'; import * as ec2 from 'aws-cdk-lib/aws-ec2'; export cla...