2015-12-01から1ヶ月間の記事一覧
TypeScript1.8以降で追加予定または協議中の注目の新機能を紹介します。 この記事はTypeScript アドベントカレンダー2015 25日目の記事です。 戻り値型の厳格な検査(--noImplicitReturns) [Merged] github.com github.com 戻り値が定義した型以外になること…
JavaScriptでMaybeモナドのサンプルはよくありますがEitherモナドのサンプルはあまりないのでこれを作ってみます。 この記事はTypeScript アドベントカレンダー2015 24日目の記事です。 まずはMaybeモナドで肩慣らしです。 export class Maybe<T> { private MAY</t>…
TypeScript1.8ではモジュールを結合して1つのファイルに出力できるようになり、これによりBrowserifyを使わずにIsomorphicなJavaScriptライブラリを作れるようになります。NPMのパッケージもNodeでもブラウザでもそのまま使える素敵なライブラリが簡単に作れ…
ヘキサゴナルアーキテクチャとレイヤードアーキテクチャのざっくりとした違いとヘキサゴナルアーキテクチャの利点を説明する。 ヘキサゴナルアーキテクチャは主に六角形で描かれる、多角形の全辺が外部とのインターフェイスであり、内部にさらにアプリケーシ…
TypeScriptで交差型を使って静的型に状態的な型を動的に付与していきます。 これによりサニタイズ済/未サニタイズ、エンコード済/未エンコード、不変/可変、通常文脈/エラー文脈、Truthy/Falsyといった状態を複合的に扱えるようになります。 さっそく試して…
TypeScriptで形式的証明を取り入れたプログラミングを実践します。 形式的証明とは、仕様またはモデルが数理論理学的に正しいものであり実装可能であることの形式手法による証明です。 本稿では形式手法のうち、型システムを利用した軽量形式手法による形式…