2011年12月11日

Javaのデザインパターンを初めて見たい人に読ませたい

Javaデザインパターン徹底攻略 日立ソフトウェアエンジニアリング(株)



私がとりあえずお店で何冊か探して、
一番優しそうなデザインパターンの本を見つけてきました。

ってか、Javaとかをやっていると特に
「デザインパターンが必須」
みたいな事を散々聞くのですけど、
デザインパターンって定型文ではないし、定石でもない。
どうやらただの方針で、
デザインパターンを覚えてもそのまま使える訳じゃない。

というよく分からない上に、
本当に役立つのか良く分からない説明がされるのが
デザインパターンというやつなんです。



でもプログラマの端くれでもあるので、
一応覚えるだけ覚えると言う事で、
デザインパターンについて書いている本を探してきました。



ちなみにこの本の良いところは
最小限の構成で説明してくれる
という所です。

初心者に優しいし、
下手な解説書なんかは、
初心者向けと言いながら、
初心者が読むにはかなり厳しいっていうくらい分かり難くて煩雑なソースコードを書いている本が結構あったりします。
初心者としては、
ほんのちいさな記述でも
「これはどういう意味があるんだろう」
と気になる所なのに、
そういう部分もふんだんに詰め込んで、
解説してたりします。

その面から言うと、
「○○というデザインパターンはどういう部分を指すのか」
という意味がこの本を見るとすごく分かりやすくかかれていて、
Wikipediaとか人のデザインパターンについての説明より、
単純に分かりやすいです。



この本にはほかにも良いところがあって、
インターフェースやらキャストやらという、
デザインパターンをやるにはどうしても必須になってしまう
基礎の基礎を、
短くさっくり説明してくれるチートシートのような物があって、
少しJavaが曖昧なままこの本を読んでも、
理解まで到達しやすいです。



さらにこの本には、
「デザインパターンはそんなに信頼出来るものじゃないんだよ」
というような、
デザインパターンと聞くと思い浮かべてしまう、
思い違いや思い込みについても説明してくれます。



この本は
Javaを初めてもう一つ上のレベルに行きたいって人にお勧めの
非常に珍しい初心者でも分かりやすく説明された本です。

ちなみにこの本を読むときは、
・Javaの基本を理解する
・デザインパターンの難しさを理解する
そして
・GoFのデザインパターンを理解する
とこの順番で章を読み進めていくと、
非常に分かりやすいと思います。
posted by 迷い猫 at 20:00| Comment(0) | TrackBack(0) | 読書続き(図書館) | このブログの読者になる | 更新情報をチェックする

2011年12月10日

2011年11月分 書籍一覧

アリアンロッドサガリプレイデスマーチ5巻
30日でできる!OS自作入門



先月は戯言シリーズを読み直すという荒行をしてきたので、
本はほとんど買ってない。

そして、結構時間がかかったけど、Begin GeekとJavaデザインパターン徹底攻略
の2冊の積み本を読破した。

ついでにこの2冊も読書感想文が書きたい

posted by 迷い猫 at 00:09| Comment(0) | TrackBack(0) | 読書続き(図書館) | このブログの読者になる | 更新情報をチェックする

2011年12月02日

反原発派というカルト宗教

反原発と堂々とプロフィールに書いていて、
しょっちゅう反原発としての意見を出すブログなどをやっていて
さらに事実でも事実じゃなくても反原発であればどんな情報でも書き出している。

そういう反原発であれば、
人が死のうが都市が滅びようが日本が破綻しようが、
むしろ大歓迎という人がいたりするわけなのですけど、

ああいう人ってほんとカルト宗教の教祖みたいなんです。


例えばTwitterでそういう情報をガンガン流す、
事実だろうと事実じゃなかろうと、
反原発であれば胡散臭すぎる情報だろうと
「これは事実ですよ」
「だから反原発にすべき」
「どんな事があっても絶対に無くすべき」
とか書いている人のやり方は、
ほぼ完全にカルトなんです。


1.事実でも事実じゃなくてもいいので出来るだけ他人を不安にさせる
 ※胡散臭すぎる情報だとかも事実のようにばらまいて拡散する行為
2.あなたは選ばれた人だという意識を持たせて、周りより優れていると思わせる
 ※自身が行動しなければ地球の未来は守れないみたいな、少年漫画的な方向性
3.発信者がたくさんの情報を提供する
 ※事実かどうか関係なし、大量の情報を提供する事で必要不可欠な存在とする

1と2は疑心暗鬼と選民思考による心の隙を作り、
何かに頼りたいとか自分は特別でその私が頼りにしている人はもっと特別だから、
頼りにしている人の言葉は自分よりも他の情報ソースよりも正しいはずだ
と思わせるような方向。
3はそれに対してさらにたたみかける行為

まぁ宗教による洗脳なのよね。
頭の悪い人ってのは一定以上いるし、
他人の情報をそのまま信じる人もネット上には結構多い。
100人に配信したら、うち数人は引っかかるかもしれない。
それくらいの気持ちでやると、
こういうのって結構信者が集まるみたいなんだよね。

そういう心理学ってよく知らないけど、
人が不安になればなるほど、
判断力が鈍って普通だと信じない事も信じちゃうくらいの現象が起こる。



上で言ってたような新参カルト教祖みたいな反原発派の人ってのは、
何かしらそういう方向が多いんだわ。
で、自分がいろんな事の中心
みたいな感覚を体験をすると、
もっと話を盛り上げれば、自分の株が上がる
みたいな方向で

盛り上げて盛り上げてってやってるうちに
カルト教祖のできあがり。



反原発がどうたらとか言いながら、
被災者の事を気にかけずに原発の事だけを気にかけてたり、
命を守るためとかきれい事言いながら、
積極的に募金をしている風な所は一切無かったり、
原発を無くす為なら、警察に捕まるのも正義だとか、
ブログに結構な数の広告があって、
そんな事よりアフィリエイトとして小銭稼ぐ為だけに原発をだしにしているんじゃないかみたいなブログがあったりだとか、

反原発と強く言えば強く言っている人ほど
売名の為に、突き詰めると自身の稼ぎや名誉欲の為に反原発の知名度を使ってるとか、
突き詰めていくと胡散臭い人が多かったり、
犯罪を行う事がステータスみたいな反社会的な人が結構いたりするんです。



おいしい話とか、
いかにもな話とか、
人を不安にする話とか、
私が正しいという話とか、

そういう話ほど、
信頼も信憑性もない情報である事が多いという話なんです。
posted by 迷い猫 at 01:18| Comment(2) | TrackBack(0) | 特ダネです(新聞屋さん) | このブログの読者になる | 更新情報をチェックする

2011年11月15日

【PHP】Javaで言うClass#newInstanceみたいに、クラスを作成する

PHPでクラスを生成して、
それをどこかの関数かクラスに渡して、
その中でクラスのコピーを量産したい。

そんな状況が必要になりました。

単純にクラスをコピーする場合
// PHP5以上
$newClass = clone $baseClass;

とやると普通にコピー出来ます。



いや!違う!
コピーはコピーだけど、
これでコピーしたら、$baseClassにいろいろ詰め込んだ変数とかも全部コピーされちゃうじゃないか!
今欲しいのは空っぽのnewしたてのようなコピーだ

意外な事に、
PHPって定義したクラス変数を他のデータに渡して、
型の定義を深く知らなくてもいい、
オブジェクト指向な事をしようとすると、
クラス名を知らなくては、newで新しく生成する事が出来ないわけです。



と言う事で、クラス名を取得して、
そのクラスを新しく定義するにはこんな感じで定義する事が出来ます。
$className = get_class($baseClass);
$newClass = new $className();


人によっては若干気持ち悪いかもしれないですけど、
変数(可変変数によるクラス定義)を使う事で、
クラスをコピーする事が出来ます



実はもっと簡単にさっくり単純にJavaのnewInstanceみたいな形でクラスが作れたりする訳なんです
$newClass = new $baseClass;

いや、それでいいのか?
ってくらいに簡単で単純だけど、
PHPならこれで新しいクラスが作れる。
※クラスとか関数の中でOOP的にクラスの型を知らなくても、なそんな時に役立つ



ついでにクラスの中で良ければ、
class xxxClass {
public static factory(){
return new static;
}
}
$newClass = xxxClass::factory();

という、スタティッククラスの中でよければ、こんなnewでクラスを作る事も出来ます。
これは完全にファクトリークラスを作る時とかに非常に役に立ちます。
特に継承とかを前提にすると、
Javaよりやりやすい。
※ファクトリークラスとかで役に立つ

2011年11月03日

2011年10月分 書籍表

アリアンロッド・リプレイ・セカンドウィンド2
日経Linux 11月号
make改訂版
PHP5徹底攻略 エキスパート編
ムー大陸探検辞典



今月は基本的にコンピュータ関係の物中心。
西尾維新をちょこっと読み直ししてたり、
コンピュータ系の本で捜し物があったりした、
それと漫画関連も何冊か買い進めた。



規模の大きな開発環境で使用するmake
仕事の関係でLinux関連の開発も少しやる必要があったのですが、
その開発が少しややこしい開発だった関係で購入しました。
MakeFileについてちゃんと書いている書籍自体ほとんどないし、
ホームページでの解説でも、
頭から先までちゃんとまとめて解説しているサイトが非常に少ないので、
このmake改訂版はそのあたりの情報を調べるために非常に役に立ちました。

そしてムー大陸探検辞典は
レベルがあまりに高すぎてついていけない。
韓国の歴史教科書とかウリジナルって言われるくらい、
事実とは違う理想ばっかり書いてると有名だけど、
これはそれと同等かそれ以上にレベルの高い
極論・無茶論・自己理論・非論理的な話が解説されていました。
途中まで読んで、
もうとことん読み飛ばそうと思ったくらいに
いろいろと酷い話だった
posted by 迷い猫 at 19:03| Comment(0) | TrackBack(0) | 読書続き(図書館) | このブログの読者になる | 更新情報をチェックする

2011年10月27日

単項式と多項式の概念

6/2(1+2)= ?
http://anond.hatelabo.jp/20110507090156

ガジェット通信の人は数学得意じゃないんだねというのはともかく、
そういえば単項式と多項式って中学の勉強で習った記憶があるわ。

単項式:2aとか3bのように単体の値だけを表す式
多項式:2a+3bのように単項式が複数組み合わさっている式


よく考えれば上記の計算式で9が正しいんでしょ
と言っている人で中学生時代の数学を勉強している人であれば、
6=a,2=b,1=c
a/b(c+b)を計算してみれば分かってくる話なんです

多項式という概念を間接的にでも覚えていれば、
a

bc+2b

6

2*1 + 2*2

これで正しい式が出てくる。



そういえば数学で使われている数字というのも
究極的には記号でしかないわけなんです。
そして数学は記号を演算することで、
どんな事象であろうと、完璧に絶対的に正しい論理を使って、結論を出す
すべての学問において最も論理的な解釈を行う学問であるわけ。

数字が記号であることを考えれば、
数字であるときと変数(アルファベット)であるときでは
計算式とかが違ってくる
なんてことはありえない。
数字であろうと文字列であろうと、
数学上のルールというのは、完全不変で存在しているだけなのです。
posted by 迷い猫 at 00:56| Comment(0) | TrackBack(0) | 数学(神社) | このブログの読者になる | 更新情報をチェックする

2011年10月25日

どうして、かけ算は足し算より先に計算しなければいけないのか?

算数の計算式を解く場合には、
足し算の前にかけ算を全部計算しておく必要があるんだけど、

なぜ、前に計算するのかっていう理由を説明出来る人は非常に少ないのです。

ずばり言うと、
かけ算は足し算の定義の上に覆い被さるように定義されているから。
かけ算は足し算を繰り返すという定義を持った計算ルールである

足し算を拡張したかけ算という概念は、
足し算より後に行ってしまうと、
その定義がスルーされてしまうという現象が起こります。
※このあたりC言語のマクロあたりに大きくつながってくる

ようは、テレビが前提にあるからビデオ録画が出来るのに、
そのテレビを消化してしまうと、ビデオが宙ぶらりんになってしまうという感じですかね。

ちなみに計算式の中には、
かけ算をさらに拡張した
累乗(3^n = 3*3*3・・・・)
階乗(3! = 3*2*1)
というものもあるんだけど、
かけ算を拡張しているからこそ、
かけ算より先に計算するというルールが定義されています
そのため
2 * 3^4 は 6^4とイコールにはなる事はありません

で、数学にはさらにそういう物を拡張したような物がいろいろとあるのですが、

やはり、
拡張された定義というのは、
拡張された定義であればあるほど、優先順位が高い為出来るだけ最初に計算する必要がある、
というのは変わらないようです。



そういう、歴史と拡張、
数学者が数学者の為に数学式をどんどん拡張していった結果、
このようなルールと計算する際の順番という定義が式の中に埋め込まれたと言えます。

※このあたり、足し算とかけ算だけ見ていると、よく分からないのかもしれませんが、
 数学界にあるいろんな計算ルールを眺めていると、
 一つのルールとしての計算順番があるのです


ついで
6+5*3
・かけ算は足し算の拡張型である為、5*3を先に計算する。
・6+15=21

6/2(1+2)
・括弧内から計算する為、1+2を計算する
・2(3)は一種の関数になっているっぽい(f(x)なんてのを大学受験で見たことがある人は多いと思う)
 (プログラミング言語で言うラムダ関数のようなもの)
 この2(3)は計算式ではなく、一つの値(関数)として定義される為、
 こちらを先に計算する
・=1




ちなみに、
この計算順番の定義は、
私が持ってる雑学とプログラミングや数学知識を前提に、
一番つじつまが合いそうな理由とルールを組み合わせて、
事実に対して理論づけた物になります。
これが確実に正しいのかは知らないので、
詳しい人がいたら教えてください。
posted by 迷い猫 at 00:27| Comment(0) | TrackBack(0) | 数学(神社) | このブログの読者になる | 更新情報をチェックする

2011年10月19日

アリアンロッドの前のセッションのネタ

いろいろあって前回のセッションでは大してネタも工夫も入れられなかったので、
小さいネタをちょこちょこと



クライマックス
・常に馬車に乗りながらの戦闘
・馬車以外にいるキャラはイニシアチブプロセスで10m自動的に移動する
ある程度移動スキルがそろってるパーティなので、
外に出ると置いていくよ、という設定にしました。
陣形でガンガン移動すると集中攻撃も範囲攻撃も当てられないので、
馬車というオブジェクトを作っておいて、
プレイヤーの移動範囲を制限する事で、
範囲攻撃も集中攻撃もしやすくする。
というかたちで採用。
狙いはある程度当たったけど、バランス調整に失敗して、ほとんど役に立たなかったけど



夜のお店と昼のお店
・街には治安の為の警備員がいるため、
 20歳未満のキャラが外出した場合は10の幸運判定
 この判定に失敗した場合は、探索に失敗する
「君、ずいぶん若いね。何歳なのかな?」
と、真っ黒なスーツに黒いサングラスという男が声をかけてきた。
「い、いや、これでも十分な大人ですよ。若く見えるだけです」
「年齢確認出来る物は?」
(ざわ・・・ ざわ・・・)
おかしい。
20歳未満のキャラがギルドの半分を占めてるんだから、
このイベントで自動的に2パーティに分断されて、
そのままギルドが別れたままで戦闘に入るはずなのに、
なぜ、PC1だけが警備員に捕まって出てこれないんだ。
そして、PC1がたどり着いた所で、強制イベントが入って、
PC1以外は状況が分からないという、
主役が置いてけぼりなイベントへと・・・



ニンジャ戦隊
「闇夜の支配者 コンシール・ブラック!」(渋いおっさん)
「涼やかな制圧 コンシール・ブルー!」(女)
「圧倒的な暴力 コンシール・イエロー!」(相撲取り)
「灼熱の根性 コンシール・レッド!」(いかにも熱血)
「完全なる隠密 コンシール・クリア!」(全裸)
「「「正義を貫く コンシール・ファイブ!!!」」」
どうしても、全裸のキャラを出したくなったので(ry
装備をきていないキャラをみんな全裸全裸言うから、
そんなに全裸が良いなら、出さなきゃいけない状況!
もう、葉っぱ一枚でクリティカルパンチを決める!



いろんなネタを詰め込む時間がなかったせいで、
システム的なおもしろいネタがほとんど入れられなかった。
その代わり「忍ばない全裸ニンジャ」「メイド服のマッスル」
とか、キャラクターのネタに特化した感じになった。
posted by 迷い猫 at 00:38| Comment(0) | TrackBack(0) | アリアンロッド | このブログの読者になる | 更新情報をチェックする

2011年10月06日

2011年09月分 書籍表

GOSICK'sU 桜庭一樹
なれる!SE5 夏海公司
神様のメモ帳8巻 杉井光

Javaデザインパターン徹底攻略 日立ソフトウェアエンジニアリング
Begin Geek オライリー



今月は大して本読んでない。
その代わり、技術系の本がいつもより少し多い感じです。
ただJavaのデザパタに関しては、
なかなかスピーディーに読める物じゃないし、
BeginGeekは
一つ一つがWeb上のコラムのように出来ているので、
途中で切れちゃうと読みにくくなっちゃいそうな感じ。
posted by 迷い猫 at 23:45| Comment(0) | TrackBack(0) | 読書続き(図書館) | このブログの読者になる | 更新情報をチェックする

2011年09月20日

神様のメモ帳 8巻

1〜8巻まで全部読んでるけど、
その中でも今回の話はかなり大きな話を飛ばしてきました。



雀荘荒らしを見つける為に台打ちやれ。
そんな依頼に巻き込まれた鳴海は、
四代目の父親と争う事になる。

と、こんな導入から、
「親子麻雀編」
「アニメ1話ベースプロット編」
「赤い羽の天使編」
※この3つのタイトルは私が勝手に付けた物です

の3種類の少しずつ絡み合う
エンジェルフィックス完結編(※このタイトルも勝手に付けた物)
となっています。



では3つの話を勝手に感想書いていきます。


・親子麻雀編
 四代目を押しつぶす為に現れた父親
 チート相手にイカサマ返しを狙う、
 荒唐無稽に対して荒唐無稽を掛け合わせようとする話なんです。
 そこまでするか。
 というような締めに注目の話

・アニメ1話ベースプロット編
 アニメの1話では、原作のエンジェルフィックスを使わずにオリジナルの話を持ってきました。
 原作知ってる側からは「黒くなくて物足りない」と言わせた話です。

 基本的な話は1話にかなり近い
 援助交際している女子高生を襲う輩がいる
 という話なのですが、
 後半の結末や話の裏側に蠢く思考は大きく違ってきます。
 1話で物足りないと思った人でも、
 杉井光っぽい黒い話で良いじゃないかと言える話になっています。

・赤い羽根の天使編
 上記の2話の裏側に密かに絡んでくる1年前の悪夢。
 1年の沈黙の後、再び現れたエンジェルフィックスは、
 彩夏の過去を巻き込みながら、
 不気味な流れで街を取り囲んでいく。

 1巻や3巻では明かされなかった、
 小さな埋もれた謎を回収する話になります。
 そしてその謎はあまりに不気味で残酷な結果に向かっていきます。
 7巻もかなり残酷な話でしたが、
 これが一番残酷な話だと言えます。

 何が起こるのかは一切言えませんが、
 死ぬ。
 どうしようもなく死ぬ。
 そして事件のすべての元凶は、
 残虐なまでにどうしようもなく救いのない天使。



7巻の発売からわずか2ヶ月という超短期間で出てきた話なのであまり期待はしていませんでしたが、
今までの積み残しの回収。
そのための救われない話。
3種の話が切られずに載っている関係で、
話の変わりが分かり難く読みにくく感じる構造ではあるのですが、
後半部の話がどうしようもない話だったと言う事で、
今まで読んできたファンとしては非常に良くできたと評価出来る完成度でした。
posted by 迷い猫 at 23:20| Comment(0) | TrackBack(0) | 読書続き(図書館) | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。