「原稿を一通りレビューアさんに送ったんだよ」
という話を奥さんにしたら、
奥さんから「じゃあ、すぐ本になるわね」と言われてしまった。
すみません…まだ読み直しがあるんです…
編集部にはまだ送ってもいないんです…(^_^;。
うちの奥さんはときどき編集者よりも後押しがうまい…。
ところで、『Java言語で学ぶデザインパターン入門』
マルチスレッド編の作業ログをまとめておこう。
もしかしたら、これから本を書こうとする人の参考になるかもしれない。
ならないかもしれない。
-
2001年7月 次の本について考える
-
2001-07-19 「次の本」の目次を考え始める(まだマルチスレッドの本とは考えていない)
-
2001-07-24 思いつくまま書いていく。丁寧に。
-
2001-07-26 目次案を編集部に送り、意見を受け取る。
-
2001-07-27 マルチスレッド編としてまとめた方がしっくりくる、と判断。SingleThreadedExecutionの例。
-
2001年8月 目次を考える。試しに少し書く。レビューア募集開始。
-
2001-08-01 考えていることをエディタで吐き出す。ブレーンストーミング。
-
2001-08-05 このあたり、体調不良。
-
2001-08-18 [日記]デザパタ本続編について。
-
2001-08-20 パターンランゲージにして考えようとしている。
-
2001-08-20 Schmidt先生の本を読む。
-
2001-08-22 ProducerConsumerの例, ThreadSpecificStorageの例, Doug先生の本を読む。
-
2001-08-22 ReadWriteLockの例, TwoPhaseTerminationの例, WorkerThreadの例。
-
2001-08-23 図の描き方で悩む。UMLの勉強。Immutableの例。ネットで勉強。
-
2001-08-24 ActiveObjectの例。SingleThreadedExecutionの例。
-
2001-08-24 [日記]編集長とデザパタ本の続編のための打ち合わせ。方向性の確認。
-
2001-08-25 図の描き方で悩む。
-
2001-08-25 Wikiを読む。マルチスレッドのデバッグは難しい。デバッグプリントすら難しい。
-
2001-08-25 Doug先生に図に関するメールを出す。すぐに許可と励ましのメールが来る。
-
2001-08-25 GuardedSuspension簡単すぎて例題が難しい。
-
2001-08-26 導入部分を書く。
-
2001-08-27 章立てを考える。12章にする予定。JavaHouseの調査。SingleThreadedExecutionの記述練習。
-
2001-08-28 章の入れ替え。SchedulerをやめてThread-Per-Messageにする。ThreadPerMessageの例。
-
2001-08-28 Doug先生のWebページを読む。デッドロック作成の練習。
-
2001-08-28 SingleThreadedExecution, GuardedSuspention, TwoPhaseTermination
-
2001-08-29 [日記]UMLのシーケンス図でデッドロックを表現する方法は?
-
2001-08-29 TwoPhaseTermination
-
2001-08-29 Futureの例。
-
2001-08-30 ThreadPerMessage
-
2001-08-30 [日記]参考書の著者にメールしてみた
-
2001-08-31 レビューア募集開始。目次を編集部へメール。
-
2001-08-31 「はじめに」
-
2001年9月 レビューア募集〆切。悩みつつも書き、描く。レビューアへ送付開始。
-
2001-09-01 SingleThreadedExecution, ActiveObject, ReadWriteLock
-
2001-09-01 SingleThreadedExecutionを題材に、章内の構成を考える。
-
2001-09-01 図ファイルのファイル名ルールを考える。
-
2001-09-01 レビューア専用ページを準備。
-
2001-09-01 Threadについての章。
-
2001-09-02 ThreadPerMessage。サンプル整理。難しいのは練習問題へ。
-
2001-09-02 ReadWriteLockの図。
-
2001-09-02 ReadWriteLock。実はこのプログラムはずいぶん不完全。
-
2001-09-03 ReadWriteLock
-
2001-09-03 Thread。丁寧に書き進める。とてもよい。
-
2001-09-03 表紙の絵も考えなくっちゃ。
-
2001-09-05 WorkerThread。すごく面白くなってきた。
-
2001-09-05 ThreadPerMessage, ThreadSpecificStorage
-
2001-09-06 SingleThreadedExecutionの図。
-
2001-09-06 GuardedSuspentionを読んでいるうちに、DougのSemaphore.javaに疑問を感じ、Dougにメール。
-
2001-09-06 Is 'notify()' necessary in 'acquire()'ing Semaphore?
-
2001-09-06 でも、私が間違っていた。concurrent.zipのソースを読むのは重要だなあ。
-
2001-09-07 TwoPhaseTerminationのサンプルを書く。
-
2001-09-08 [日記]レビューア募集〆切
-
2001-09-08 ProducerConsumer。パターン記述の部分は、やっぱりカタログ形式だとやりにくい。
-
2001-09-08 まだ「つかんで」いないなあ。
-
2001-09-08 ProducerConsumer。エラーを起こす例というのは作るのが難しい。
-
[DP/Review2] No.000 2001-09-08 ごあいさつと事務連絡
-
2001-09-09 ReadWriteLock。たぶんできたように思う。まだシングルロック。
-
2001-09-11 Futureの図。POSA2に登場するパターンを少し含める。
-
2001-09-11 TwoPhaseTermination冒頭部を書く。
-
2001-09-11 ThreadSpecificStorage練習問題を書く。
-
2001-09-12 「はじめに」の図。
-
2001-09-13 wait, notify, notifyAllの図を描く。
-
2001-09-13 Thread。だいぶ形になってきた。
-
2001-09-14 Future。章の構成はやはり前著にあわせよう。
-
2001-09-14 ReadWriteLock。シンプルにした。複雑なのは練習問題へ。
-
[DP/Review2] No.001 2001-09-16 目次
-
2001-09-14 [日記]図と練習問題
-
2001-09-17 ReadWriteLock。だいぶ形になってきた。
-
2001-09-17 章の構成も、具体的に章を書いてみないとわからないことが多いなあ。
-
[DP/Review2] No.002 2001-09-19 はじめに
-
2001-09-18 [日記]原稿ファイルからソースを切り出す FileSplitter.pm
-
2001-09-20 Immutable, ThreadPerMessage
-
2001-09-20 意識して、パターン全般の話とJavaの話をわけよう。synchronizedというのはJavaの話。
-
[DP/Review2] No.003 2001-09-22 (参考)レビューアから / FileSplitter.pm
-
2001-09-24 レビューアにrefer.txtをつぎに送ろう。
-
2001-09-24 章のまとめの部分は「ミニ・パターンカタログ」にする→これはなかなか難しいな。
-
2001-09-24 Context-Problem-Solution-Implementation。
-
[DP/Review2] No.004 2001-09-24 付録:参考文献
-
2001-09-26 情報を盛り込むことだけを考えないように。
-
2001-09-26 「次が送られるまでにレビュー報告を送らなければならない」と勘違いしているレビューアさんがいるので対応考慮。
-
2001-09-27 やはり序章は少し分解しよう。評価基準の章に「表」を入れよう。
-
2001-09-28 序章を分解。
-
2001-09-28 Doug先生に、本の目次を送る。
-
2001-09-28 Simplifying code / contents of my pattern book
-
2001-09-28 Doug先生から、コメントと励ましのメッセージをいただく。
-
[DP/Review2] No.005 2001-10-01 『Java言語のスレッド』(1)
-
[DP/Review2] No.006 2001-10-01 『Java言語のスレッド』(2)
-
[DP/Review2] No.007 2001-10-01 『マルチスレッドプログラムの評価基準』
-
2001年10月 どんどん書き進める。どんどんレビューアに送る。
-
2001-10-03 パターンカタログではなくパターン言語に近づくように、というアドバイスあり。
-
2001-10-03 Two-Phase Terminationの扱いをどうするか悩む。他のパターンと入れ替えるか?
-
2001-10-03 うーん、Two-Phase Terminationも、「まあ、いいかな」という気になってきた。
-
2001-10-03 自分の理解が進むと、自明に見えてつまらなく感じるのかもしれない。
-
2001-10-04 イラストを描いている。
-
2001-10-05 パターン同士の関係を表した「大きな図」がやっぱり必要そうだ。
-
[DP/Review2] No.008 2001-10-05 『Single Threaded Execution』(1)
-
[DP/Review2] No.009 2001-10-05 『Single Threaded Execution』(2)
-
2001-10-10 Immutable。
-
[DP/Review2] No.010 2001-10-11 『Immutable』(1)
-
[DP/Review2] No.011 2001-10-11 『Immutable』(2)
-
2001-10-11 Guarded Suspension。
-
[DP/Review2] No.012 2001-10-12 『Guarded Suspension』(1)
-
[DP/Review2] No.013 2001-10-12 『Guarded Suspension』(2)
-
2001-10-16 Fork/Join?
-
[DP/Review2] No.014 2001-10-16 『Balking』(1)
-
[DP/Review2] No.015 2001-10-16 『Balking』(2)
-
2001-10-17 Producer Consumer。
-
2001-10-18 Producer Consumer。
-
2001-10-18 fork/joinにしよう。
-
2001-10-18 これはdivide-and-conquerのMT版、recursive callのMT版である。
-
2001-10-19 Producer Consumer。
-
[DP/Review2] No.016 2001-10-19 『Producer-Consumer』(1)
-
[DP/Review2] No.017 2001-10-19 『Producer-Consumer』(2)
-
2001-10-21 再利用性はプログラマが苦労しないため。
-
2001-10-21 パフォーマンスはコンピュータが苦労しないため。
-
[DP/Review2] No.018 2001-10-23 『Read-Write Lock』(1)
-
[DP/Review2] No.019 2001-10-23 『Read-Write Lock』(2)
-
[DP/Review2] No.020 2001-10-23 『Thread-Per-Message』(1)
-
[DP/Review2] No.021 2001-10-23 『Thread-Per-Message』(2)
-
2001-10-25 レビューアに「参考になった点」を返してあげるのはよいかもしれない。
-
2001-10-25 WorkerThreadの例が複雑になりすぎたので、小休止。
-
2001-10-25 Balking:レビューアの意見を反映。
-
[DP/Review2] No.022 2001-10-26 本書に登場するパターンの関係図
-
2001-10-27 スレッドの状態遷移図を作りかけ。
-
2001-10-30 single notificationを覆すメソッドの例。
-
[DP/Review2] No.023 2001-10-30 『Worker Thread』(1)
-
[DP/Review2] No.024 2001-10-30 『Worker Thread』(2)
-
2001-10-31 [日記]9個目のお話を書きながら、 12個目のお話——最後のお話——のことも視野に入れる。
-
2001年11月 何度も何度も書き直す。
-
2001-11-01 [日記]スレッドおばけ
-
[DP/Review2] No.025 2001-11-02 『Future』(1)
-
[DP/Review2] No.026 2001-11-02 『Future』(2)
-
2001-11-04 [日記]10個目のお話のプログラムは何回書き直したことでしょう
-
[DP/Review2] No.027 2001-11-05 『Two-Phase Termination』(1)
-
[DP/Review2] No.028 2001-11-05 『Two-Phase Termination』(2)
-
[DP/Review2] No.029 2001-11-12 【要返信】名前公開に関する重要なお願い
-
2001-11-11 [日記]何度も何度も11個目を書き直している
-
[DP/Review2] No.030 2001-11-20 『Thread-Specific Storage』(1)
-
[DP/Review2] No.031 2001-11-20 『Thread-Specific Storage』(2)
-
[DP/Review2] No.032 2001-11-30 【重要】名前表記の確認
-
2001年12月 やっと全体がまとまってきた
-
2002年1月 レビューアへの送付があらかた終わる。これから読み直しだ。
-
[DP/Review2] No.035 2002-01-12 【重要】名前表記の確認
-
[DP/Review2] No.036 2002-01-12 『マルチスレッドプログラミングのパターン・ランゲージ』(1)
-
[DP/Review2] No.037 2002-01-12 『マルチスレッドプログラミングのパターン・ランゲージ』(2)
-
[DP/Review2] No.038 2002-01-12 レビューアアンケート
-
[DP/Review2] No.039 2002-01-17 『付録:Javaのメモリモデル』