2009-02-01から1ヶ月間の記事一覧

行住坐臥

ジャック・範馬に学ぶ集中力の極意。

歓送迎会で

飲みました。水曜の夜に。1日だけの解禁。木曜夜は少し気持ちがゆらいだけれど禁酒できた。

いい社長だなー。。

リクナビについてたブクマより。昔ながらの下請け会社の人情味あふれる社長さん。こういった人たちが社会に適応できない層のバッファになってくれていたんだろうけれど、今はかなり少ないんだろうな。「世話してやってくれないか」の大人の一言で救われるん…

Mediator

かなり消化不足だけどとりあえず残しておく。結城センセイの本にあるMediatorパターンが一番わかりやすそうだけれどJavaで実装はしたことないからJavaScriptとブラウザを使おうかどうか思案中。。 name = $name; } public function getName(){ return $this-…

Facade

use strict; use warnings; { package Database; use strict; use warnings; sub new {die;} sub select_username_from_db_where_mailaddr_equal { my ($class, $mailaddr) = @_; if($mailaddr eq 'admin@hoge.com'){ return "Watasi wa kanrinin"; } else {…

Visitor

再帰の部分で苦しむ。シーケンス図を描くことで(本にも載っている)掴みやすくはなる。ShallowCopyとは何なのかDeepCopyとは何なのかとかが少し理解できていないと苦しい。なぜShallowCopyなのかもしくはDeepCopyなのかが分っていれば楽なのだろうけれどそれ…

Decorator

理解の足らない部分が見えてきたけれど、兎に角23パターン全部やってみる。 use strict; use warnings; { package Display; use strict; use warnings; sub getColumns {die;} sub getRows {die;} sub getRowText {die;} sub show { my ($self, ) = @_; for(…

「おくりびと」がアカデミー賞

成熟した社会でないと描けない内容のものであり、時代にマッチしてもいると思う。政治的配慮もあったと思うけれど今のアメリカには日本の社会に対する羨望の眼差しもあるのだと思う。

シュワルツ変換

mapやgrepがいまいち使いこなせていなかったけれど少しわかった気がする。 use strict; use warnings; my $date = [ ["2009-02-23", "a"], ["2009-02-23", "b"], ["2009-02-21", "c"], ["2009-02-24", "d"], ["2009-02-23", "e"], ]; ######################…

3.5Kmほど

体も軽く足がよく動いた。だいぶ体ができてきた気がする。

Compositeパターン

やはり再帰に苦手意識がある。以前schemeを少しかじってみたのが救いで、そこいらをやりこめば苦手意識も消えるだろうと思っている。 use strict; use warnings; { package Entry; use strict; use warnings; sub add {} sub printList {die;} sub toString …

Iteratorパターン

PHP5.1.6環境でPHP4スタイルで書きました。PHP5からは組み込みのIteratorがあるらしいけれど、基本的なことを学ぶのが目的なのでなるべくそういった便利さは省く。

Strategy

久々のエントリ。もう一つは時間の都合で移し変えず、同じstrategyで勝負しています。 use strict; use warnings; { package Hand; use strict; use warnings; my $GUU = 0; my $CHO = 1; my $PAA = 2; my $hand = [ Hand->new($GUU), Hand->new($CHO), Hand…

Factoryメソッド

createReader($filename); return $reader; } private function createReader($filename){ if($filename == 'foo.txt'){ return new FooReader($filename); } else if($filename == 'bar.txt'){ return new BarReader($filename); } else…

村上春樹のエルサレム賞

ネットでエルサレム賞の受賞を知った時は釈然としないものだけが残っていた。当然ながらにガザでの事があったからで政治的な思惑というものしか感じ取れなかったからだ。でも、ハルキさんがエルサレムに行って受賞するのって、自分が思っている以上に世間、…

ONTクリア!!

黒本中心にやりました。1回目は解答と解説だけを読む。2回目からはノートに黒本だけで読み取れる部分をしっかりと体系的にまとめていく。3回目以降は体系的に理解しているので問題の意図も汲み取れるようになります。 受験勉強そのものでしたけれどQoSとかは…

ジャンケンのアルゴリズム

Strategyパターンを練習していて出てきたジャンケンアルゴリズム。。いまさらながらプログラミングっていうのはこういったアルゴリズムを生み出すことを言うんだなと。まだまだ修行が足りません。 use strict; use warnings; { package Hand; use strict; us…

地道に継続

3.5Kmほど走る。久々にコースを変えてみた。禁酒はもう問題なさそうだ。やることいっぱいだけど、とりあえずCCNPを早く終わらせたい。

Bridgeパターン

use strict; use warnings; { package Display; use strict; use warnings; sub new { my ($class, $impl, ) = @_; my $self = { impl => $impl, }; return bless $self, $class; } sub open { $_[0]->{impl}->rawOpen(); } sub print { $_[0]->{impl}->rawP…

Builderパターン

use strict; use warnings; { package Director; use strict; use warnings; sub new { my ($class, $builder) = @_; my $self = { builder => $builder, }; return bless $self, $class; } sub construct { my $self = shift; $self->{builder}->makeTitle(…

Prototypeパターン

use strict; use warnings; { package Interface::Product; use strict; use warnings; sub use { die; } sub createClone{ die; } } { package Manager; use strict; use warnings; use Data::Dumper; sub new { my ($class,) = @_; my $self = {}; return …

AbstractFactory

最後の方は疲れてきてIteratorを使うべき所を横着している。きちんとクラス図を書いて整理するとなるほどと思う。Compositeパターンも絡んでくるとやや面倒。is-aとhas-aをきちんと区別できるかどうか。フォルダとファイルの構造と同じ。フォルダの中にフォ…

Templateパターン

手作りのabstract classを書いてみると、新鮮な発見もある感じ。 use strict; use warnings; { package Abstract::AbstractDisplay; use strict; use warnings; sub new { my $class = shift; my $self = {}; return bless $self, $class; } sub open { die;…

Singletonパターン

以下を参考にさせてもらいました。 http://d.hatena.ne.jp/hiboma/20060510/1147190899 $singleton変数はprivateなスコープになる。この辺りを追求するには以下の本がなかなか参考になりました。わりとお堅い感じの本で、途中で挫折しかかりましたが。。 use…

Factoryパターン

各クラスの意味や必要性がわかりにくい、といった場合は実装に近い側から読んでいくと掴める場合がよくある。今回は「工場で作ったカードを使う」ということが簡単に読み取れる。 コーディングもIDcardFactoryのnewから書き始めて、必要な部分を書いて、最後…

Adapter(委譲を使う)

use strict; use warnings; { package Abstract::Print; use strict; use warnings; sub printWeak { die ""; } sub printStrong { die ""; } } { package PrintBanner; use strict; use warnings; use Data::Dumper; our @ISA = qw/Abstract::Print/; sub n…

Adapter

use strict; use warnings; { package Banner; use strict; use warnings; sub new { my ($class, $string) = @_; my $self = { string => $string, }; return bless $self, $class; } sub showWithParen { my $self = shift; print "(".$self->{string}.")"…

Iterator

use strict; use warnings; { package Aggregate; use strict; use warnings; sub iterator { die "use OverRide"; } } { package Iterator; use strict; use warnings; sub hasNext { die "use OrverRide"; } sub next { die "use OverRide"; } } { package…

メソッドのチェーン

cssの指定もjQueryで可能。以下の設定ではオンクリックイベントに関連付けられている。animateメソッドの500は500ミリ秒でfontSizeを2倍にするという意味です。1秒=1000ミリ秒。 「メソッドをチェーンする」というのは、.css().css().animate()のように連携…

3.5Kmほど。

風がとても強かったので汗はそこまでかかず。距離を伸ばそうと思ったけど、今日はやめといた。