ブックマーク / hibituredure.blogspot.com (5)

  • Yコンビネータにトライ

    via おとうさん、ぼくにもYコンビネータがわかりましたよ! きしだんさんすごいっす。自分も学習のために、ラムダの復習も兼ねつつJavaScriptでトライしてみる。独学で適当にやってるので間違いも多数あると思いますが、ご容赦を。 ラムダ ラムダ式は、関数の表現形式みたいなもので、おおよそfunction式に相当する。引数が複数あるのが違うところだけど、この話は後で解決する。(非形式的な)ラムダ式ってこんなもの。 λx.x*2このラムダ式は、xを受け取ったら2倍して返す関数を表している。 最初は読むのに(特にλ記号が複数になった場合に)とても苦労したんだけど、引数を「λ」と「.」で挟み込む形で表現した関数だ、と考えるとずいぶん読みやすくなった。これをJavaScriptで表すと… function(x) { return x * 2 } こうなる。ラムダ計算の体系では、計算のすべてをラムダ

  • DDD Sample Application version1.1.0: ユースケーススライスから見たアプリケーション構造の確認(2)

    前回は、シンプルな参照の機能が、サンプル上でどのように構成されているかを確認した。今回は、積荷の一覧・詳細表示で参照機能の構成を確認しつつ、積荷の新規登録・状態更新まで確認してみたい。 配送状況の詳細表示積荷の一覧・詳細表示 積荷の新規登録積荷の状態更新配送ルート候補検索積荷への配送ルート設定配送状況の更新配送状況の更新(バッチ) 積荷一覧・詳細表示の概要 これは、商品発送側が現在管理対象になっている積荷の情報を確認するためのもの。おなじみの一覧・詳細表示アプリだ。アプリケーション内では、Booking と呼ばれている。Booking (Trackingもそうだが)はコンテキストなのだろうか? この機能は、一見すると配送状況の詳細表示と同じように思えるが、内部的には異なった作りになっており、Web層の Controller からリモートサービスとして構成された BookingService

    DDD Sample Application version1.1.0: ユースケーススライスから見たアプリケーション構造の確認(2)
  • A Life in Shinjuku.: Fowler DSLのエッセンス

    とあることからFowler DSLのエッセンスを考える機会があり、昔内輪向けに作った資料を引っ張りだして眺めてみたが、わりと良い線いってると思う。 HEAD FIRST DSL View more presentations from kentaro watanabe.FowlerのDSLが提示する価値は、おおまかに以下の3点にある。上記のスライドでは1と2にフォーカスしている。 モデルを中心に据えた思想の提示実装スタイルの分類実装テクニック集これは、紙幅の大半が3に割かれており、書いた時点では実装テクニックを全て把握していなかったことや、そもそも3はまとめがほぼ不可能、ということもあった。 モデルを中心に据えた思想の提示 従来のDSLでは、スクリプトによるモデルの組み立て、という考えが必ずしも明示的に意識されておらず、DSLがもたらす価値の源泉はDSL自身にある、と考える傾向が強かった

  • 外部DSL実装のためのAntlrチュートリアル

    アーキテクチャパネルディスカッションとラウンジ・ビアパーティでの雑談から、主にDDDに関して興味深かった話をいくつか。聞き取り能力は低いので抜けている部分もあると思いますがご容赦を。 ビジネス的な有用性はどこにあるのか Evans氏発言要旨 経営層など意思決定を行う人たちに対して、ドメイン駆動設計の有用性をどう訴えかけるのか?という問いに対して、Evans氏は主にコアドメインへの注力によって競争上の優位、市場優位につなげる部分を強調。ここから一段階細かいレベルとして、ビジネスパーソンにとって理解できるソフトウェアへと進んでいくとのこと。ただし、常に労力に見合う価値が得られるわけではないことも忘れずに付加。 雑感 この質問はなかなか難しく、聴衆の反応も微妙なものだったように思う。これは、DDDをオブジェクト指向設計方法論として受け取っている人が多く、こうした部分の有用性についての回答を期待し

  • 技術者/プログラマのためのモナドと圏論 第1回 行ってきた

    またまた行ってきた。前回(論理・ラムダ・圏)、タイトルに「圏」とありながら、実際は圏の話がほとんどできなかったことを受けてはじまった、新シリーズ。細かいところや背景知識なんてわかるわけがない(数学ほとんどやってないし)ので、わかった範囲で書きとめておく。間違いまくってる可能性大。 全体的に教科書的に進めようかと思っていたそうだが、檜山さんが体調不良で方針転換。形式的なものより、お絵かきメインで進めることになった。 というわけで、第1回の予定はこうでした。まえおき/まえせついろいろな図の描き方圏の定義と実例休憩行列の圏で遊ぶコレクション・データ実際は、3の途中まで(休憩はやったよ!)で終了しました:-D まえおき/まえせつシリーズ全体の目標としては…圏の基概念を学ぶ モナドの実例をたくさん知るモナド法則に慣れるモナドのクライスリ圏の作り方を知るモナドがモノイドであることを理解するこんなとこ

    技術者/プログラマのためのモナドと圏論 第1回 行ってきた
  • 1