Slide 1

Slide 1 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 1/40 人間とコンピュータに架ける橋 人間とコンピュータに架ける橋 天重 誠二 弁護士ドットコム株式会社

Slide 2

Slide 2 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 2/40 ABOUT ME ABOUT ME 天重 誠二( あましげせいじ) 弁護士ドットコムという会社でプログラマーやって ます( だいたいPHP 書いてます) 美術大学の油絵科卒業しました

Slide 3

Slide 3 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 3/40

Slide 4

Slide 4 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 4/40

Slide 5

Slide 5 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 5/40 名前ってなんでしょう?

Slide 6

Slide 6 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 6/40 識別子(Identi er)

Slide 7

Slide 7 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 7/40 ところで 「これは○○さんのツイート」と どこを見て判断しますか?

Slide 8

Slide 8 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 8/40

Slide 9

Slide 9 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 9/40 コンピュータの特徴 デジタルデータしか扱わない 曖昧な命令を理解できない

Slide 10

Slide 10 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 10/40

Slide 11

Slide 11 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 11/40 セマンティックギャップ セマンティックギャップ

Slide 12

Slide 12 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 12/40 Model-View-Controller Model-View-Controller

Slide 13

Slide 13 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 13/40 MVC の目的 MVC の目的 ユーザーのメンタルモデルとコンピュータのデジタル なモデルの間にあるギャップに橋を架ける

Slide 14

Slide 14 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 14/40 ビュー : システムモデルをユーザーのメンタルモデ ルに変換する コントローラー : ユーザーのメンタルモデルをシス テムモデルに変換する

Slide 15

Slide 15 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 15/40 モデルは?

Slide 16

Slide 16 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 16/40 「モデルは知識の表象です」 「モデルは知識の表象です」

Slide 17

Slide 17 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 17/40 「知識」の「表象」 「知識」の「表象」

Slide 18

Slide 18 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 18/40

Slide 19

Slide 19 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 19/40 デカルト『省察』池田光穂訳 それでもなお同じ蜜蝋は存続してい るのか。存続していると告白しなけ ればならぬ。

Slide 20

Slide 20 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 20/40 知覚上の変化や客体物の状態変化にかかわらず 同一性が維持されている

Slide 21

Slide 21 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 21/40 オブジェクトは オブジェクトは 人間の頭の中にある 人間の頭の中にある

Slide 22

Slide 22 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 22/40 コンピュータのなかの コンピュータのなかの オブジェクト オブジェクト

Slide 23

Slide 23 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 23/40 例: 銀行口座の口座番号 引き出しを行っても口座の同一性は維持される $account = new Account("1234-5678"); $account->deposit(new Yen(10000)); $account->save();

Slide 24

Slide 24 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 24/40 同じオブジェクトだが違うものと認識する // こんなコードは書かないと思いますが $account = new Account("1234-5678"); $account->setAccountId("7890-1234");

Slide 25

Slide 25 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 25/40 識別子 = 人間の頭にあるオブジェクトの同一性の代理物

Slide 26

Slide 26 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 26/40 人間の要求 「同じアカウントの別なツイートをみたい」

Slide 27

Slide 27 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 27/40 コンピュータの理解 「アカウントID: 10342 のツイート一覧を表示する」

Slide 28

Slide 28 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 28/40 「知識」を「表象」する 「知識」を「表象」する => 人間の脳内にある「オブジェクト」を コンピュータのメモリ上に読み出す

Slide 29

Slide 29 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 29/40 これがモデルです

Slide 30

Slide 30 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 30/40

Slide 31

Slide 31 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 31/40 「My Folder 1 」が識別子 見えないところに( あるいは見えているところに) モ デルがある

Slide 32

Slide 32 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 32/40 人間とコンピュータの間の溝に 人間とコンピュータの間の溝に 橋を架ける 橋を架ける

Slide 33

Slide 33 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 33/40 MVC の目標はエンドユーザの脳とコ ンピュータの「脳」(つまりメモリ とプロセッサ)が直接結ばれている という幻想を提供することだった。

Slide 34

Slide 34 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 34/40 それから30 年後... それから30 年後...

Slide 35

Slide 35 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 35/40 GUI に取り組むとき、ユーザは2つの ことを行っている。すなわち、考え ることと実行することである。

Slide 36

Slide 36 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 36/40 モデル- ビュー- コントローラ- ユーザ を要約すれば、コンピュータと人間 のインタラクションにおける思考 ("thinking" )の部分を支えるには優 れているのだ。

Slide 37

Slide 37 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 37/40 残念ながら、オブジェクト指向では われわれが行動する("doing" )こと についてどう論理的に考えているか については、うまくとらえることが できてこなかった。インタラクショ ンが見いだされるべき明確な「場 所」はGUI 上にもコード内にも存在し ない。

Slide 38

Slide 38 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 38/40 DCI アーキテクチャ DCI アーキテクチャ

Slide 39

Slide 39 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 39/40 続きはウェブで DCI アーキテクチャ - Trygve Reenskaug and James O. Coplien

Slide 40

Slide 40 text

3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 40/40 ご清聴ありがとうござい ご清聴ありがとうござい ました。 ました。