Skip to content

Instantly share code, notes, and snippets.

@asufana
asufana / フロー形式での在庫管理.markdown
Last active September 12, 2016 12:41
フロー形式での在庫管理モデル

フロー形式での在庫管理モデル

『UMLモデリングの本質』での題材(酒問屋の在庫管理)を、Javaコードでサンプル実装する。

テストコード

ビール在庫.quantity() にて在庫数をフロー形式にて導出取得する。

public class ScenarioTest extends UnitTest {
@asufana
asufana / 要約在庫管理モデル.markdown
Last active September 12, 2016 12:41
要約勘定パターンによる要約在庫管理モデル

要約勘定パターンによる要約在庫管理モデル

UMLモデリングの本質:モデリングの実践1(酒問屋の在庫管理)での題材をJavaコードでサンプル実装する。

要約在庫

要約在庫とは、実在庫を任意のグループでまとめた在庫。任意の要約、および階層数で在庫を管理できるようにする。

@asufana
asufana / 航空券予約モデル.markdown
Last active January 6, 2016 10:05
航空券の予約モデル

航空券の予約モデル

UMLモデリングの本質:モデリングの実践2(航空券の予約)での題材をモデリングする。

① 行き先種別を管理する

  • 羽田や成田、新千歳は、空港という分類でまとめられる
  • 実装的には(ややこしい)振る舞いがあれば継承構造、そうでなければEnum

ソフトウェア2段階認証

ソフトウェアトークン生成器による2段階認証(Two-factor authentication)の仕様と実装について。

2段階認証?2要素認証?

Googleではこの認証機能を 2-Step Verification と呼んでいる。一般的には Two-factor authentication、あるいは Multi-factor authentication と呼ばれている様子。

和訳の定義はまちまちだが、

@asufana
asufana / PlayFramework1 プラグイン開発.markdown
Last active December 14, 2015 03:00
PlayFramework1 プラグイン開発
@asufana
asufana / Play1.xのJava8対応.markdown
Last active July 24, 2018 08:33
PlayFramework 1.2.x Java8対応

PlayFramework 1.2.x Java8対応

Java8対応の1.3がリリースされそうな様子がないため、1.2.xブランチにJava8対応コミットを適用して利用する。

PlayFramework1リポジトリをforkする

  • GitHubサイト上で PlayFramework1リポジトリ をforkする

  • タグ 1.2.5.4 をチェックアウトして新しいブランチ 1.2.5.4-java8 を生成する

@asufana
asufana / Java8 ラムダ式入門2.md
Last active February 7, 2023 04:30
Java8 ラムダ式入門2

Java8 ラムダ式入門2

Javaのファーストクラスオブジェクト

Javaのファーストクラスオブジェクトはクラスである。なので引数はクラスかインスタンス(クラスのオブジェクト)で渡す必要がある。

例えばリストの中身を1つずつ取り出して処理するために forEach というメソッドがある。

@asufana
asufana / Java8 Optional.md
Last active December 14, 2015 03:01
Java8 Optional

Java8 Optional

Null参照の発明は10億ドルの損失

2009年のカンファレンスでNull参照を発明したことについて謝罪している。[10][11] それは10億ドルにも相当する私の誤りだ。null参照を発明したのは1965年のことだった。当時私はオブジェクト指向言語 (ALGOL W) における参照のための包括的型システムを設計していた。目標はコンパイラでの自動チェックで全ての参照が完全に安全であることを保証することだった。しかし、私は単にそれが容易だというだけで、無効な参照を含める誘惑に抵抗できなかった。これは後に数え切れない過ち、脆弱性、システムクラッシュを引き起こし、過去40年間で10億ドル相当の苦痛と損害を引き起こしたとみられる。 http://goo.gl/SjpucB

@asufana
asufana / Java8 デフォルトメソッド.md
Last active December 14, 2015 03:01
Java8 デフォルトメソッド

Java8 デフォルトメソッド

インターフェースに実装を持たせることができる。

インターフェース、、、ということは、継承と違って、多重継承が可能!

プリミティブな振る舞いをインターフェース化しておけば、好きなものを合成して簡単に機能性を拡張できる!

@asufana
asufana / Java8 StreamAPIその2.md
Last active April 10, 2020 05:44
Java8 StreamAPI

Java8 StreamAPI

filter:抽出する

引数:Predicate(引数を1つ取り、戻り値がboolean)

//DX04で文字列が終わる値を抽出する
Arrays.asList("EPS-DX04", "EPS-SX04", "EPS-AP-DX04", "D3-M-DX04-C")