ぐる式 (貳) より引っ越し作業中.未完.

2013年11月24日日曜日

2013/11/23 の収穫:Sipser『計算理論の基礎 [原著第2版]』,ブロック『Effective Java 第2版』,ベリン & シモーン『実践 CRC カード』,ファウラー『アナリシスパターン』,Hillegass『Objective-C Programming』,Galloway『Effective Objective-C 2.0』,『医療情報システム』,『医療情報 第2版 医療情報システム編』

2013/11/23 の収穫:讀物篇

  • Michael Sipser "計算理論の基礎 [原著第2版]", 1. オートマトンと言語, 太田和夫, 田中圭介 監訳, 阿部正幸, 植田広樹, 藤岡淳, 渡辺治 訳, 共立出版, 2008, 2012, ISBN978-4-320-12207-9, (Michael Sipser "Introduction to the Theory of COMPUTATION", 2nd ed. 2006)
  • Michael Sipser "計算理論の基礎 [原著第2版]", 2. 計算可能性の理論, 太田和夫, 田中圭介 監訳, 阿部正幸, 植田広樹, 藤岡淳, 渡辺治 訳, 共立出版, 2008, ISBN978-4-320-12208-6, (Michael Sipser "Introduction to the Theory of COMPUTATION", 2nd ed. 2006)
  • Michael Sipser "計算理論の基礎 [原著第2版]", 3. 複雑さの理論, 太田和夫, 田中圭介 監訳, 阿部正幸, 植田広樹, 藤岡淳, 渡辺治 訳, 共立出版, 2008, 2013, ISBN978-4-320-12209-3, (Michael Sipser "Introduction to the Theory of COMPUTATION", 2nd ed. 2006)
  • Joshua Bloch "Effective Java", 第2版, 柴田芳樹 訳, ピアソン・エデュケーション, 2001, 2008, 2013, ISBN978-4-89471-499-1, (Joshua Bloch "Effective Java", 2nd ed. 2008)
  • David Bellin, Susan Suchman Simone "実践 CRC カード", ロールプレイとブレーンストーミングによる大規模システム開発手法, 今野睦, 飯塚富雄, 桜井麻里 訳, ピアソン・エデュケーション, 2002, ISBN4-89471-277-6, (David Bellin, Susan Suchman Simone "The CRC Card Book", 2nd ed. 1997)
  • マーチン・ファウラー "アナリシスパターン", [新装版], 再利用可能なオブジェクトモデル, 堀内一 監訳, 児玉公信, 友野晶夫, 大脇文雄 訳, ピアソン・エデュケーション, 2002, 2006, ISBN4-89471-693-3, (Martin Fowler "Analysis Patterns", Reusable Object Models 1997)
  • Aaron Hillegass "Objective-C Programming: The Big Nerd Ranch Guide", Big Nerd Ranch Guides (Peason), 2011, 2013, ISBN978-0-321-70628-7
  • Matt Galloway "Effective Objective-C 2.0: 52 Specific Ways to Improve Your iOS and OS X Programms", Addison-Wesley Professional (Peason), 2013, ISBN978-0-321-91701-0T
  • 黒田知宏 監修 "医療情報システム", 電子情報通信学会 編, オーム社, 2012, ISBN978-4-274-21150-8
  • 一般社団法人日本医療情報学会医療情報技師育成部会 "医療情報 第2版", 医療情報システム編 篠原出版新社, 2013, ISBN978-4-88412-365-9

計算理論の基礎 [原著第2版]

2013/11/08に買った川添愛『白と黒のとびら』が,すでに3周するほど面白かったので,たまたま手近にあった H & U 本 (言語理論とオートマトン) に手を延ばしたが記述がコンパクトすぎてどうもこうも.で,『とびら』の巻末にあった「説明が分かりやすい入門者向けの本」に,このシプサ本と米田本が揚げられていたので,こちらを.

Some Automata Simulator

  • Visual Automata Simulator (c) 2004-2006 Jean Bovet
    1. Deterministic Finite Automata (DFA)
    2. Non-Deterministic Finite Automata (NFA)
    3. Turing Machines (TM)
  • Automaton Simulator
    1. deterministic finite automata
    2. nondeterministic finite automata
    3. deterministic push-down automata
    4. Turing machines

    演習: オートマトンシミュレータを使った計算モデルの理解, オートマトンシミュレータについて

  • JFLAP

    JFLAP is software for experimenting with formal languages topics including nondeterministic finite automata, nondeterministic pushdown automata, multi-tape Turing machines, several types of grammars, parsing, and L-systems. In addition to constructing and testing examples for these, JFLAP allows one to experiment with construction proofs from one form to another, such as converting an NFA to a DFA to a minimal state DFA to a regular expression or regular grammar.

  • start [GOAL - Graphical Tool for Omega-Automata and Logics]

    GOAL is a graphical interactive tool for defining and manipulating Büchi automata and temporal logic formulae. It also partially supports other variants of omega-automata. The GOAL tool can be used for educational purposes, helping the user get a better understanding of how Büchi automata work and how they are related to linear temporal logics. It may also be used to construct correct and smaller specification automata, supplementing model checkers such as SPIN that adopt the automata-theoretic approach. Since the release dated 2007-06-01, most functions can be accessed by programs or scripts, making GOAL convenient for supporting research.

 M.Sipser教授の“Theory of Computation”の講義はMIT屈指の名講義で,教室には活気と笑いが絶えることはない。本書はその講義ノートをもとにまとめられた,この分野の標準的教科書である。
 定理を述べたあと直ちに証明に取りかからず,証明のアイデアを与える工夫,証明の失敗例に言及して理解を深めさせるなど,随所に講義の雰囲気が感じられる,教育的配慮の行き届いた教科書になっている。
 今回第2版では,初版の内容に「選ばれた問題」に対する解答を追加するとともに,いくつかの話題に関して,初版後の研究の進展について説明を加えた。

1. オートマトンと言語

1.正規言語
2.文脈自由言語

2. 計算可能性の理論

3.Church-Turingの定理
4.判定可能性
5.帰着可能性
6.計算可能性の理論における先進的な話題

3. 複雑さの理論

7.時間の複雑さ
8.領域の複雑さ
9.問題の扱いにくさ
10.計算の複雑さの理論における先進的な話題

Effective Java 第2版

Java の本を買うなんて,ずいぶんと久し振りだw.Processing関連を除くと ICONIX 本以来,それ以前に遡ると,なんと RMI 本以来である.しかも,今やレアなピアソン本とキたw.

リーダブルコード』(The Art of Readable Code) で,「Java のプログラムを読みやすくバグの少ないものにできる驚異的な本. Java に関する本だけど,ここで紹介されている多くの原則があらゆる言語に当てはまる.非常にオススメ」と評されている.

Javaプログラミングのベストセラー、7年ぶりの改訂版!


Google社, Sun Microsystems社でJavaプラットフォームの設計と実装をリードしてきた著者が、優れたソフトウェア設計のための知識と経験を凝縮させたルールブック。すべてのJavaプログラマにとっての必読書です!

10年前にこの本があったのならとホント思うよ。私にはJavaの本など必要ないと思われるかもしれないが、この本だけは必要だ。
 ―― ジェームズ・ゴスリン(サン・マイクロシステムズ、フェロー、副社長)
 
すばらしい本だ。プログラミング言語Javaとオブジェクト指向プログラミング全般を使いこなすためのアドバイスがぎっしり詰まってる。
―― ギッラード・ブラーハ(Java言語仕様 第3版、共著者)


 本書は、プログラミング言語Java とその基本ライブラリーを、最も効果的に使用する手助けになることを目的としています。経験に基づいたプログラマのための必須のルール78個をまとめることで、日々のプログラミングで直面するさまざまな問題を解決するベストプラクティスを提供します。本書を活用すればJavaを深くまで理解でき、今まで以上にきれいで正確な、頑健で再利用可能なコードが書けるようになるでしょう。

 第2版では、初版から7 年が経過しており、リリース1.5 で新たに導入されたジェネリックス、enum、および、アノテーションに関する項目が、第5 章「ジェネリックス」、第6 章「enum とアノテーション」として新規に追加されています。また、初版の「スレッド」の章はタイトルも変更されて第10 章「並行性」となっており、その内容のかなりの部分が書き直されています。

 本書は、Ken Arnold、James Gosling、David Holmes による『プログラミング言語Java 第4 版』を補完する内容であり、初版のタイトルにあった「プログラミング言語ガイド」の名にふさわしいものです。James Gosling の言葉は誇張ではありません。Java でプログラミングするすべてのソフトウェアエンジニア必読の書といえるでしょう。

【目次】

日本語版によせて
訳者まえがき
Effective Java によせて
まえがき
謝辞
第1章 はじめに
第2章 オブジェクトの生成と消滅
 項目1 コンストラクタの代わりにstatic ファクトリーメソッドを検討する
 項目2 数多くのコンストラクタパラメータに直面した時にはビルダーを検討する
 項目3 privateのコンストラクタかenum 型でシングルトン特性を強制する
 項目4 privateのコンストラクタでインスタンス化不可能を強制する
 項目5 不必要なオブジェクトの生成を避ける
 項目6 廃れたオブジェクト参照を取り除く
 項目7 ファイナライザを避ける
第3章 すべてのオブジェクトに共通のメソッド
 項目8 equals をオーバーライドする時は一般契約に従う
 項目9 equals をオーバーライドする時は、常にhashCode をオーバーライドする
 項目10 toString を常にオーバーライドする
 項目11 clone を注意してオーバーライドする
 項目12 Comparable の実装を検討する
第4章 クラスとインタフェース
 項目13 クラスとメンバーへのアクセス可能性を最小限にする
 項目14 public のクラスでは、public のフィールドではなく、アクセッサーメソッドを使う
 項目15 可変性を最小限にする
 項目16 継承よりコンポジションを選ぶ
 項目17 継承のために設計および文書化する、でなければ継承を禁止する
 項目18 抽象クラスよりインタフェースを選ぶ
 項目19 型を定義するためだけにインタフェースを使用する
 項目20 タグ付クラスよりクラス階層を選ぶ
 項目21 戦略を表現するために関数オブジェクトを使用する
 項目22 非static のメンバークラスよりstatic のメンバークラスを選ぶ
第5章 ジェネリックス
 項目23 新たなコードで原型を使用しない
 項目24 無検査警告を取り除く
 項目25 配列よりリストを選ぶ
 項目26 ジェネリック型を使用する
 項目27 ジェネリックメソッドを使用する
 項目28 API の柔軟性向上のために境界ワイルドカードを使用する
 項目29 型安全な異種コンテナーを検討する
第6章 enum とアノテーション
 項目30 int 定数の代わりにenum を使用する
 項目31 序数の代わりにインスタンスフィールドを使用する
 項目32 ビットフィールドの代わりにEnumSet を使用する
 項目33 序数インデックスの代わりにEnumMap を使用する
 項目34 拡張可能なenum をインタフェースで模倣する
 項目35 命名パターンよりアノテーションを選ぶ
 項目36 常にOverride アノテーションを使用する
 項目37 型を定義するためにマーカーインタフェースを使用する
第7章 メソッド
 項目38 パラメータの正当性を検査する
 項目39 必要な場合には、防御的にコピーする
 項目40 メソッドのシグニチャを注意深く設計する
 項目41 オーバーロードを注意して使用する
 項目42 可変長引数を注意して使用する
 項目43 null ではなく、空配列か空コレクションを返す
 項目44 すべての公開API 要素に対してドキュメントコメントを書く
第8章 プログラミング一般
 項目45 ローカル変数のスコープを最小限にする
 項目46 従来のfor ループよりfor-each ループを選ぶ
 項目47 ライブラリーを知り、ライブラリーを使う
 項目48 正確な答えが必要ならば、float とdouble を避ける
 項目49 ボクシングされた基本データより基本データ型を選ぶ
 項目50 他の型が適切な場所では、文字列を避ける
 項目51 文字列結合のパフォーマンスに用心する
 項目52 インタフェースでオブジェクトを参照する
 項目53 リフレクションよりインタフェースを選ぶ
 項目54 ネイティブメソッドを注意して使用する
 項目55 注意して最適化する
 項目56 一般的に受け入れられている命名規約を守る
第9章 例外
 項目57 例外的状態にだけ例外を使用する
 項目58 回復可能な状態にはチェックされる例外を、プログラミングエラーには実行時例外を使用する
 項目59 チェックされる例外を不必要に使用するのを避ける
 項目60 標準例外を使用する
 項目61 抽象概念に適した例外をスローする
 項目62 各メソッドがスローするすべての例外を文書化する
 項目63 詳細メッセージにエラー記録情報を含める
 項目64 エラーアトミック性に努める
 項目65 例外を無視しない
第10章 並行性
 項目66 共有された可変データへのアクセスを同期する
 項目67 過剰な同期は避ける
 項目68 スレッドよりエグゼキューターとタスクを選ぶ
 項目69 wait とnotify よりコンカレンシーユーティリティを選ぶ
 項目70 スレッド安全性を文書化する
 項目71 遅延初期化を注意して使用する
 項目72 スレッドスケジューラに依存しない
 項目73 スレッドグループを避ける
第11章 シリアライズ
 項目74 Serializable を注意して実装する
 項目75 カスタムシリアライズ形式の使用を検討する
 項目76 防御的にreadObject を書く
 項目77 インスタンス制御に対しては、readResolve よりenum 型を選ぶ
 項目78 シリアライズされたインスタンスの代わりに、シリアライズ・プロキシを検討する
付録
初版に対応する項目
参考文献
索引

実践 CRC カード

これもピアソン拾遺.まぁ,まず間違いなく復刊されんだろうから.ちなみに,序文を書いてるのは Kent Beck & Ward Cunningham.

 CRCカードは,本書で述べるあらゆるチーム活動の中心です。CRCカードは,もの,オブジェクト,オブジェクト指向プログラムの部分を表現します。プログラムのあらゆるオブジェクトが,この目的のために存在します。これは,他のオブジェクトと協調することによって果たす責務を持ちます。CRCカードは,オブジェクトのクラスに割り当てられた責務を継続して追跡する手ごろな手法です。これがCRC,つまり,クラス(Class),責務(Responsibility),協調(Collaboration)です。

 本書では,実際の設計セッションの雰囲気を伝えるために,チームの会話形式でテクニックを説明しています。もちろん会話だけでなく,筆者は事例の後に設計状況についても詳述しています。その結果,概念的な議論をより具体的にしますので,設計状況の詳細から抽象化された洞察は必ず役立ちます。

 このように,最初にCRCカードを作成すると,最初のグループ設計はその日のうちに実施されます。つまり,CRCカードの作業というアイディアの採用により,常に社会的な活動となるのです。

アナリシスパターン

これもピアソン拾遺.こちらは,まぁ,ファウラー人気で再刊されるかも知れん.

オブジェクトモデルを企業の大規模情報システムに適用してきた著書の経験をもとに、オブジェクト指向のコンピュータシステム「分析者および設計者」などプロのソフトウェアエンジニアを対象に、ヘルスケアや企業代務、在庫管理と会計、金融取引など、実際の業務のモデリングで共通な構造を表す概念グループのアイデアである「アナリシスパターン」と、これをより広い文脈で適合させていくための「サポートパターン」について提案し、解説。

Objective-C Programming

ピアソンから出てた『Objective-C プログラミング』の原著.サイズがデカくてびっくりだw. B5 版相当だな,これは.

Want to write applications for iOS or the Mac? This is the guide for you. Based on Big Nerd Ranch's legendary Objective-C Bootcamp, this book covers C, Objective-C, and the common programming idioms that will help you make the most of Apple technologies.

This introduction to programming and the Objective-C language is the first step on your journey from someone who uses apps to someone who writes them. The guide features short chapters and an engaging style to keep you motivated and moving forward. All while developing your critical thinking skills as a programmer. After all, Aaron is determined to help you understand what you’re doing - and why you’re doing it.
Topics covered include:
Programming basics: variables, loops, functions, etc.
Objects, classes, methods, and messages
Pointers, addresses, and memory management
Using Xcode, Apple’s documentation, and other tools
Classes from the Foundation framework
ARC and retain cycles
Properties
Blocks
Categories
Delegation, target-action, and notification design patterns
Compatible with Xcode 4.2, iOS 5, and Mac OS X 10.7 (Lion)

Effective Objective-C 2.0

翔泳社から 2013/11/01 に出た『Effective Objective-C 2.0: iOS/OS Xプログラミングをスムーズに行うための52項目』の原著.なんと,カラーだったんですね.

Addison-Wesley Professional から出てる Effective Software Development Series の1冊.

Write Truly Great iOS and OS X Code with Objective-C 2.0!

 

Effective Objective-C 2.0 will help you harness all of Objective-C’s expressive power to write OS X or iOS code that works superbly well in production environments. Using the concise, scenario-driven style pioneered in Scott Meyers’ best-selling Effective C++, Matt Galloway brings together 52 Objective-C best practices, tips, shortcuts, and realistic code examples that are available nowhere else.

 

Through real-world examples, Galloway uncovers little-known Objective-C quirks, pitfalls, and intricacies that powerfully impact code behavior and performance. You’ll learn how to choose the most efficient and effective way to accomplish key tasks when multiple options exist, and how to write code that’s easier to understand, maintain, and improve. Galloway goes far beyond the core language, helping you integrate and leverage key Foundation framework classes and modern system libraries, such as Grand Central Dispatch.

 

Coverage includes

  • Optimizing interactions and relationships between Objective-C objects
  • Mastering interface and API design: writing classes that feel “right at home”
  • Using protocols and categories to write maintainable, bug-resistant code
  • Avoiding memory leaks that can still occur even with Automatic Reference Counting (ARC)
  • Writing modular, powerful code with Blocks and Grand Central Dispatch
  • Leveraging differences between Objective-C protocols and multiple inheritance in other languages
  • Improving code by more effectively using arrays, dictionaries, and sets
  • Uncovering surprising power in the Cocoa and Cocoa Touch frameworks

医療情報システム

MIS (Medical Information System) の概説書.この手の本は,さすがにジュンク堂でも少ない.あと,現場の医療体系にがっちり捕捉されているので,すでにソフィアの子とは言えない.

医療情報システムの専門家を目指す学生や実務者の必須書

 本選書は、最近、電子情報通信でまとまった知識が必要とされている分野について、周辺分野の専門技術者・研究者、学生も含めて体系的な知識が得られるようまとめたものです。
 本書は、医療分野で進められているさまざまな電子化・情報化について、システム全般の基礎から応用までをていねいに概説するものです。また、本分野の専門家でなくても読み進められるように図などを多く掲載します。

主要目次
はじめに
1章 病院情報システム
2章 医事会計と病院経営
3章 医療業務とオーダエントリー
4章 記録情報の管理
5章 端末群とネットワーク
6章 物流管理への貢献
7章 医療安全への貢献
8章 部門の情報管理
9章 診療記録の活用
10章 診療画像情報の活用
11章 遠隔医療
12章 医療情報の共有と活用
13章 医療情報の未来
おわりに

医療情報 第2版 医療情報システム編

え,これって教科書だったの?w

日本医療情報学会医療情報技師育成部会実施、「医療情報技師」能力検定試験の完全対応教科書です。


0 件のコメント:

コメントを投稿