2009-01-01から1年間の記事一覧

浮動小数点の計算誤差

唐突に浮動小数点の計算誤差って一体何なんだろう、ということをネットで調べてみましたメモ。勿論コンピュータに詳しい人なら皆知っているであろうことなんですが、僕はさっぱり知らないので調べてみました。そういえば興味本位で受けた基本情報処理の試験…

Lucy を読む (1)

全然勉強せずに遊び呆けてます。唐突に T2-framework の Lucy に興味を持ったので読 Lucy してみます。超気まぐれ。 何で興味を持ったかというと、先日 Seasar のソースコードを読んだので別の DI コンテナのソースコード読んでみたかったというのと、T2 自…

今後の予定

またまた休んでしまいました。やれやれ。今後の計画を少々修正しようと思います。 まず、英語の勉強は暫く休止します。必要だということは十分分かっているつもりですが、どうしてもやる気が起きないので当面は延期することにしました。しばらくはコンピュー…

[読Seasar] アスペクトの織り込み 以前の記事で、ComponentDeployer の初期化時に、デプロイ対象とするクラスにアスペクトを織り込むことが分かっています。AopProxyUtil#getConcreteClass(ComponentDef componentDef) で、アスペクトを織り込んだクラスを生…

アスペクトの読み込み

S2AOP は S2Container とセットになった機能になっています。アスペクト定義は ComponentDef に含まれているはずなので、まずはどのように ComponentDef に登録されるのか見てみましょう。以前の記事を踏まえるとアスペクトの読み込みを行っているのは Aspec…

S2Container の初期化

前回までで Seasar ではどのようにコンポーネントが生成されるのかが分かりました。まず、今回 Seasar のエントリ・ポイントは SingletonS2ContainerFactory#init() でした。ここで dicon ファイルの解析が行われて S2Container が生成され、 ComponentDef …

コンポーネントの生成

さて無事に生成された S2Container ですが、次はどのように S2Container に保持された ComponentDef からオブジェクトが生成されるのかを見てみたいと思います。 まず、S2Container に登録された ComponentDef は、抽象化されたインターフェース S2Container…

Container の組み立て

難しいところは省略していくよー。 S2ContainerFactory#createからProvider#build を呼び出す。お、S2ContainerBuilder という如何にもな名前のインターフェースを発見。SingletonS2ContainerFactory#init で、設定した configPath の dicon ファイルを解析…

SingletonS2ContainerFactory~S2Container

取り敢えず "S2Container 2.4.35" をダウンロードしてみました。エントリポイントは SingletonS2ContainerFactory だと思い込んで読む。 うん、何か S2Container を生成してるだけ。Singletonの意味は、S2ContainerがSingletonって意味ですね。Singletonじゃ…

今後の計画

気がつけば随分休んでしまいました。夏といえば海!海といえばサーフィン!の季節です。 少し勉強計画を修正しようと思います。まず、英語は当面優先度を下げます。ちょこちょこ単語を覚えていこうかなと。平日の朝はソースコードリーディングをしようと思い…

第二十三章: 前置詞, 第二十四章: 接続詞

一気にForestも終了です! こちらは内容多過ぎなのでまとめはしません。後で復習だけしときます。 従属を表す "in" "in"を使って仕事に従事していることを表すことが出来る。 He is in publishing. (彼は出版関係の仕事をしている) 時を表す "at/on/in" at:…

第二十二章: 副詞

他の品詞に分類出来ないものをまとめて副詞と呼んでいる。 副詞の位置 の直後に置くことが多い。 She took my advice seriously. 助動詞があるときは助動詞と動詞の間に置く。 You should carefully look at the broken statue. 副詞の前に前置詞は置けない…

今週のまとめ

ようやく2冊読み終えたので、明日からは別の本に取りかかります! コンピュータは念願の『コンピュータの構成と設計』 英語は『TOEIC文法急所総攻撃』と『TOEICテストに出る順英単語』

第十六章: Javaのメモリモデル

JVMの話。長かった『Java並行処理』もこれで終わり。長かったー!後半、明らかに手を抜いたなぁ。 ちょっと復習も必要なんだけど、取り敢えず十六章。 安全な遅延初期化のテクニック 良くあるダブルチェックロッキングアンチパターンは、最初に があるけど、…

『Java並行処理』まとめ

一通り読み終えたことだし、復習も兼ねてまとめるよ。 それにしても今の勉強スタイルはちょっと失敗かも。ちょこちょこやってちょこちょこアップするよりは、一気にまとめた方が良いかなぁ。 JMM (Java Memory Model) 近代的なコンピュータは、処理を高速化…

第二十一章: 形容詞

1時半就寝、7時半起床。 形容詞を並べる順序 形容詞が名詞を修飾する際、形容詞が複数あるときには決まった順序で形容詞を並べる。 冠詞・所有格 数量 主観的判断 (cuteなど) 大小 年齢・新旧 色 材料・出所 I'm looking for a large brown leather bag. 注…

アトミック変数とノンブロッキング同期化

1時半就寝、7時40分起床。 CAS (Compare And Swap) これは前に読んだ記憶があるぞ。Atomicクラスの実装に使われている手法だったような。 アトミックなread-modify-writeをロックを使わずに実装したい場合、CASで実現可能。実行性能はロックよりも良好。 CAS…

第十九章: 冠詞

知ってることだなー。 他のものと区別出来ないときや、機能に着目した場合は無冠詞になる。 We can't completely control nature.(区別出来ない自然) What time do you go to bed ?(bedの機能に着目した文) She want to the post office by bicycle.(bi…

第十八章: 名詞

1時就寝、7時45分起床。 数える場合, 数えない場合 一般に数えてはいけない名詞でも、具体的な一つの出来事や行為を表す場合には数える。 Tom lowered his face in shame. (気持ちは数えられない) It's a shame to waste all the food.(出来事・行為は他と…

第二十章: 代名詞

漠然と人々を表す "you/they/we" これは結構気付いてなかったかも。 You can't get driver's license until you're eighteen.(18歳になるまでは運転免許を取ることは出来ません) They say she is getting married next month.(彼女は来月結婚するらしい)…

復習

今日気になったので再読。 否定疑問文への答え方 英語のYes/Noは、相手の質問の形に関わらず、自分の答えが肯定の内容ならYes, 否定の内容ならNoを用いる。 つまり、相手が "Do you ... ?" と尋ねても、 "Don't you ... ?" と尋ねても、返事は同じになる。 D…

第十三章: 明示的なロック

普通のlockには制限があるので、その制限から逃れたい場合にはReentrantLockを使うと良いですよ、って内容。 finally句でのunlockが必要で、忘れがちなので通常はlockやsynchronizedを使う方が良い。但し、ポーリングやインタラプト、時間制限などを用いたい…

第十四章: カスタムシンクロナイザを構築する

条件キューのお話。 条件キュー Javaオブジェクトにはステートの条件を待つための仕組みが備わっている。 lock, wait, notify, notifyAll がそれに該当する。notifyは任意のスレッドが選択されて通知される。例えば、サイズ制限付きバッファを実装する際、「…

第十六章: 名詞構文・無生物主語

名詞構文 動詞か形容詞を書き換えて、その周りに必要な要素をつける。 The manager collects the membership fees every month. この文章は「マネージャが毎月会費を集める」という意味になる。何かの会に参加したとき、毎月会費を集めることを示す文として…

第十七章: 強調・倒置・挿入・省略・同格

ここは自然な英語を使うためのエッセンスといった感じ。感覚的に大体分かるので飛ばし読みです。本当は大事なところなんだけど・・・。 Do/Does/Did を使った強調 Do/Does/Didを助動詞と使って動詞を強調する。助動詞に続く動詞は原型になる。 Do feel free …

第十二章: 試験

2時就寝、7時半起床。 うーん、ここはパス。難しいというよりはまだ必要ではない。

第十五章: 話法

ちょっと忙しくてさぼってしまった・・・。 1時就寝、7時起床。 話法 直接話法と間接話法がある。 誰が話しているのか、を意識して、時制の一致と指示語などに注意すれば問題ない印象。 sayとtell say: 話す相手を示さずに使える。示すときは "said to me" …

第十四章: 否定

否定語 not: 一般動詞のときはdo/does/didを使う no: 名詞と結びつく。数えられる名詞・数えられない名詞のどちらにも結びつくことが出来る。 I have no money with me. 何を否定するか? 基本的にはnotに続く部分を否定する。但し、述語動詞の前に否定語が…

第十一章: 実行性能とスケーラビリティ

1時半就寝、7時45分起床。 うーん、正直この辺りは今はさっと見るだけで良いかな。何より安全なコードを書ける方が大事なので。 チューニング 並行プログラムのチューニングにおいては、推測でチューニングせず、実測でチューニングすること。 アムダールの…

今週のまとめ

なんだか今週は色々とプライベートに落ち込む出来事があり、駄目だった・・・。もうすぐ新年度が始まるなぁ。