woshidan's loose leaf

ぼんやり勉強しています

2015-06-01から1ヶ月間の記事一覧

最近の知見 20150630

週末にデザパタ残りは、まとめてまた書こうかな。最後まで書きたい。 エクストリームプログラミング買った。言い訳はするだろうけど、色々考えるのも面倒だし、思ったより自分の考えている事と離れていなかったので、少しずつ寄せていきたい...。 (開くまで…

最近の知見 20150629

勉強してないわけじゃなくて、先月より大分自分のペースで過ごせてます。 ただ、Mementoパターンがfluxっぽくない?って思って記事書こうとして、 風呂敷広がりすぎて書けなくなってるだけです。 まだなじみのあるディスパッチャくらいにしとけや。 ディスパ…

Facadeパターン

Facadeパターンは割と意識することは多いんですが、実際書くか、というとどうでしょう...。 Facadeパターンの中身が闇すぎて、Facadeパターンらしく包まれたAPIによって呼び出されているバッチ処理がこけたときに、画面を開いてうっ...となる気持ちがありま…

Chain of Responsibilityパターン

処理できる人が出来るまで、オブジェクトの間を渡り歩いていくクラスですが、実は、実装方面では今のところ余り気にした事がありません。 ただ、メソッドを書くときにいつも気にしている気がします。 RubyやJavaScriptではいつも、あるオブジェクトのメソッ…

Visitorパターン

オブジェクト指向プログラミングでは、データ構造と処理は基本的にそれを扱うクラスの中に一緒に書きます。 ただ、そうじゃなくて、 データ構造である集合や集合の要素を扱う側が処理を知っているのではなくて、 それらを使うクラスが別個にあり、そちら側だ…

Decoratorパターン

実害のあるドジなので、昼寝してたらベッドの底が抜けて泣いてた。 (ねじが2,3本足りてなくて、底の板がスライドして斜めになって間から落ちたらしい) さて、Decoratorパターンで思い浮かべたのはcssで装飾用や動作の仕組まれたdivにどんどん包んでいく感じ…

実践SQL入門 2章まとめ

2章は特にExplain関係なかったので、普通に個人的なまとめ。 内容 ビューを作る INの中のサブクエリ 作業用SQLのメモ 検索CASE式と単純CASE式 CASE式を文字列の読み替えに使う UNION INTERSECTとEXCEPTはMySQLにない ウィンドウ関数もMySQLにはない ランキン…

実践SQL入門のPostgresSQLとOracleの例をMySQLで確認していく

2章の見出しに母国語を話すようにって書いてあって、母国語が不自由であることに定評がある自分は...。 続くかどうかは知らないが、一章分。 相変わらず、 実践SQL入門 と http://nippondanji.blogspot.jp/2009/03/mysqlexplain.html を眺めています。 一章…

Date.todayをtravel_toのブロックで使ったら他の部分のテストがこけた

テストで travel_to Date.today + 3.days { create(:model, some_date: Date.today) } とやったら、他の部分のActiveRecordの保存時刻がずれてテストがこけて原因が分からず大変だったので、あれこれ確認してみた。 結局原因はよく分からなかったけど、上の…

Compositeパターン

こう、他にやる事いっぱいあっても、デザパタの復習とデータベースの勉強は好んでやるから、今のところ、この辺がすきなんだろうなぁ、と。 (叩き上げすぎてこの辺やら無いと即死するだけですね) Compositeパターンは、 Leaf 中身。この中に何も入れる事が出…

Strategyパターン

ちょっともにょることもあるけれど、大分ましになってきました。 前の記事の追記みたいなことが好き勝手に出来るから、loose leafはよい感じ。 一日/1個(転送速度)な感じです。 Strategyパターンは、ソートや選択のアルゴリズムを入れ替えたり複数用意した…

Bridgeパターン

「機能のクラス階層と実装のクラス階層」 「機能のクラス階層と実装のクラス階層」ああ、そういう言葉あったわーというか、なんか最近そう言うの書いたかもしれない、 ということをふまえながら、読んでみます。 機能のクラス実装は、 新しい機能を追加した…

Abstract Factoryパターン

もう駄目だ。昨日何やってたっけ? というのは置いておいて、部品の組み合わせ方だけをコーディングできる状態の抽象的なFactoryと、 それぞれの部品の具体的な表現を持ったFactoryの2層がある、Abstract Factoryのパターンの話ですが。 正直、これも書いた…

Builderパターン

もうお前は何回ActiveRecordを取り上げるんだ、という感じですが、これで一旦最後じゃないですかね。 あるいは、この例はAndroidのNotificationBuilderでもいいんですが。 Builderパターンについて、ここで使うといいなと思っている場面が二つあります。 任…

Prototypeパターン

Prototypeパターンもいまいちぴんと来ていない。 なんていうか、この辺は以下に言語そのものを学ぶ、とか、仕事とは関係なくツールを作るということをして来なかったか、の現れなのかもしれない。 まず、結城先生の本でそれぞれに上がっている本のユースケー…

Singletonパターン

Singletonパターンは、Singletonパターンという単語を覚えた初心者がどんどんSignletonパターンを書き出すという事で悪名高いらしいですが... むしろBuilderパターンという単語を覚えた初心者が、BuilderクラスのためのBuilderメソッドを書き連ねて...という…

Factory Methodパターン

Template Methodパターンをインスタンスの生成の場面に適用したものがFactory Methodパターンだそうです。 具体的なもので言うと、ActiveRecordとか、それっぽいというか、 ActiveRecordのコードをちょっと読んだときにfactoryという言葉を見かけて以来、 取…

Template Methodパターン

テンプレートパターン、実はファクトリーパターンとの区別がちゃんとついていなかったりする。 というより、Template Methodパターンなのですね(え)。 サブクラスがいくつかのメソッドを持っていることを前提に、 スーパークラス(抽象クラス)でそれらのメソ…

Adapterパターン

Adapterパターンは去年知った当時は何をしたいのか、メソッドの内容が分かりやすい割に あんまり分からなかったのだけど、最近少しだけ分かる気がした。 インターネット上に転がっているAmazonの商品情報だったりを取得するために、 外部のAPIを利用するとす…

Iteratorパターン

去年一回読み終わってから、もう一回デザパタを読むと決めてたんですよ(忘れてきただけ)。 1つ1つ数え上げる、という見出しがついていたんですが、 集合を扱う抽象クラス(Aggregate)と、 集合の要素を走査する方法を扱う抽象クラス(Iterator)と、 集合の具…