C#・・・.NET っぽい本を積んでみた
内容はまた後で。
タイトルしかないものは「他にいい本があるか古いか興味の対象外」、それ以外はそれ以外です。
.NET 全般とかなんとか
実践!ソフトウェアアーキテクチャ ~VisualStudioとASP.NETによる業務システム開発方法~ (.NET TECHNOLOGY)
- 作者: 尾島良司
- 出版社/メーカー: 技術評論社
- 発売日: 2007/08/20
- メディア: 単行本(ソフトカバー)
- 購入: 8人 クリック: 64回
- この商品を含むブログ (12件) を見る
- 作者: 荒井省三
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2008/12/25
- メディア: 単行本
- 購入: 9人 クリック: 168回
- この商品を含むブログ (41件) を見る
- Microsoft .NET入門―これだけ知っておけばなんとかなる.NETの基礎知識
- 作者: ドン・ボックス,クリス・セルズ,Don Box,Chris Sells,吉松史彰
- 出版社/メーカー: 日経BPソフトプレス
- 発売日: 2003/06
- メディア: 単行本
- 購入: 8人 クリック: 191回
- この商品を含むブログ (36件) を見る
- Microsoft.NETでのテスト駆動開発
ドメイン駆動 (Programmer’s SELECTION)
- 作者: Jimmy Nilsson,尾島良司,株式会社ロングテール長尾高弘
- 出版社/メーカー: 翔泳社
- 発売日: 2008/03/20
- メディア: 大型本
- 購入: 8人 クリック: 236回
- この商品を含むブログ (34件) を見る
PowerShell
プログラマブルPowerShell ~プログラマのための活用バイブル~ (.NET TECHNOLOGYシリーズ)
- 作者: 荒井省三
- 出版社/メーカー: 技術評論社
- 発売日: 2008/01/08
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 35回
- この商品を含むブログ (11件) を見る
- 作者: Lee Holmes,マイクロソフト株式会社ITプロエバンジェリストチーム(監訳),菅野良二
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/10/23
- メディア: 大型本
- 購入: 4人 クリック: 69回
- この商品を含むブログ (15件) を見る
Windows PowerShell イン アクション [イン アクションシリーズ]
- 作者: Bruce Payette,株式会社クイープ
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2007/07/31
- メディア: 大型本
- 購入: 1人 クリック: 57回
- この商品を含むブログ (18件) を見る
C# の言語仕様よりの本たち
プログラミングMicrosoft ADO.NET2.0 (マイクロソフト公式解説書)
- 作者: デビッドセッパ,David Sceppa,日本ユニテック
- 出版社/メーカー: 日経BPソフトプレス
- 発売日: 2007/07
- メディア: 単行本
- 購入: 2人 クリック: 64回
- この商品を含むブログ (13件) を見る
- 作者: Jay Hilyard,Stephen Teilhet,鈴木幸敏
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/08/25
- メディア: 大型本
- 購入: 7人 クリック: 107回
- この商品を含むブログ (22件) を見る
- プログラミングC#―C#2.0/.NET2.0/Visual Studio2005対応
- C#.NETプログラミングマニュアル (.NETプログラマーズライブラリシリーズ)
この他に
プログラミングMicrosoft ASP.NET 3.5 (マイクロソフト公式解説書 Microsoft Visual Studi)
- 作者: Dino Esposito,株式会社クイープ
- 出版社/メーカー: 日経BPソフトプレス
- 発売日: 2008/09/08
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 75回
- この商品を含むブログ (14件) を見る
があるはずなのですが。なのですが!
何故かない・・・会社にはないと思うし、家かな・・・
・・・まさか、無くした?あんなでかい本を?
会社にありました!よかった!!
SQL/RDB っぽい本を積んでみた
内容はまた後で。
タイトルしかないものは「他にいい本があるか古い」、それ以外はそれ以外です。
RDBMS にあまり依存しない
【改訂第3版】 SQLポケットリファレンス (POCKET REFERENCE)
- 作者: 朝井淳
- 出版社/メーカー: 技術評論社
- 発売日: 2009/04/29
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 117回
- この商品を含むブログ (17件) を見る
達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)
- 作者: ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2008/02/07
- メディア: 単行本(ソフトカバー)
- 購入: 50人 クリック: 966回
- この商品を含むブログ (75件) を見る
SQL Hacks ―データベースを自由自在に操るテクニック
- 作者: Andrew Cumming,Gordon Russell,西沢直木
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/07/28
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 85回
- この商品を含むブログ (34件) を見る
- 作者: C.J.Date,藤原譲
- 出版社/メーカー: 丸善
- 発売日: 1997/03
- メディア: 単行本
- クリック: 147回
- この商品を含むブログ (22件) を見る
データベース実践講義 ―エンジニアのためのリレーショナル理論 (THEORY/IN/PRACTICE)
- 作者: C.J.Date,株式会社クイープ
- 出版社/メーカー: オライリージャパン
- 発売日: 2006/02/01
- メディア: 大型本
- 購入: 4人 クリック: 168回
- この商品を含むブログ (52件) を見る
- 作者: エンコアコンサルティング
- 出版社/メーカー: 翔泳社
- 発売日: 2006/07/07
- メディア: 大型本
- 購入: 20人 クリック: 332回
- この商品を含むブログ (26件) を見る
SQLクックブック ―データベースエキスパートのための実践レシピ集
- 作者: Anthony Molinaro,木下哲也,有限会社福龍興業
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/01/25
- メディア: 大型本
- 購入: 1人 クリック: 81回
- この商品を含むブログ (19件) を見る
- 作者: ジョー・セルコ,Joe Celko,ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2007/11/02
- メディア: 大型本
- 購入: 17人 クリック: 313回
- この商品を含むブログ (23件) を見る
アート・オブ・SQL ―パフォーマンスを引き出すSQLプログラミング手法 (Theory in practice)
- 作者: Stephane Faroult,Peter Robson,木下哲也,有限会社福龍興業
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/09/15
- メディア: 大型本
- 購入: 4人 クリック: 210回
- この商品を含むブログ (29件) を見る
- 作者: ジョーセルコ,Joe Celko,秋田昌幸
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2001/04
- メディア: 単行本
- 購入: 17人 クリック: 250回
- この商品を含むブログ (52件) を見る
RDBMS に依存する
- TECHNICAL MASTER はじめてのSQLプログラミング MySQL対応 (テクニカルマスターシリーズ)
- ためしてナットクSQL 基礎編 データベースがよくわかる
- ためしてナットクSQL 応用編 データベースがよくわかる
- Microsoft SQL Server 2005 オフィシャルマニュアル 下 (マイクロソフト公式解説書)
プログラミングMicrosoft SQL Server 2008 上 (マイクロソフト公式解説書)
- 作者: Leonard Lobel、Andrew J. Brust、Stephen Forte,(株)クイープ
- 出版社/メーカー: 日経BPソフトプレス
- 発売日: 2009/06/11
- メディア: 単行本
- クリック: 13回
- この商品を含むブログ (3件) を見る
インサイドMicrosoft SQL Server 2005 クエリチューニング&最適化編 (マイクロソフト公式解説書)
- 作者: Kalen Delaney、Sunil Agarwal、Craig Freedman、Adam Machanic、Ron Talmage,熊澤幸生((株)CSK Winテクノロジ),(株)オーパス・ワン
- 出版社/メーカー: 日経BPソフトプレス
- 発売日: 2008/06/30
- メディア: 大型本
- 購入: 2人 クリック: 17回
- この商品を含むブログ (4件) を見る
インサイド Microsoft SQL Server 2005 T-SQL編 (マイクロソフト公式解説書)
- 作者: Itzik Ben-Gan,Lubor Kollar,Dejan Sarka,Steve Kass,David Campbell,Roger Wolter,熊澤幸生,オーパス・ワン
- 出版社/メーカー: 日経BPソフトプレス
- 発売日: 2009/06/11
- メディア: 単行本
- クリック: 9回
- この商品を含むブログ (3件) を見る
思ったより少ない!
あと会社に
インサイドMicrosoft SQL Server 2005 ストレージエンジン編 (マイクロソフト公式解説書)
- 作者: Kalen Delaney,熊澤幸生,オーパス・ワン
- 出版社/メーカー: 日経BPソフトプレス
- 発売日: 2007/06/28
- メディア: 単行本
- 購入: 1人 クリック: 14回
- この商品を含むブログ (3件) を見る
が置いてあります。
Java っぽい本を積んでみた
内容はまた後で。 なんか違う本が混じってる?気のせいです><
取消線が入ってるのは「読むな危険」、タイトルしかないものは「他にいい本があるか古いか興味の対象外」、それ以外はそれ以外です。
もうちょっと詳しく知りたければコメントかなんかで聞いてくれれば答えます。
左の山
なんか場違いな本たち
- AJAX Webアプリケーション アイデアブック
- Ajaxハッカーズ・プログラミング―基礎からprototype.js、Yahoo!UIライブラリ、HTML_AJAXの活用までWebアプリケーション制作のプログラミング・テクニック
- JavaScriptハッカーズ・プログラミング?Webエキスパートが知っておきたい基本から応用まで
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/08/14
- メディア: 大型本
- 購入: 52人 クリック: 1,002回
- この商品を含むブログ (270件) を見る
Java の言語仕様に近い本たち
- 作者: マルチパラダイムシステムズ
- 出版社/メーカー: 技術評論社
- 発売日: 2005/01
- メディア: 単行本
- 購入: 3人 クリック: 12回
- この商品を含むブログ (10件) を見る
進化するJava J2SE5.0 (エクスメディアライブラリ)
- 作者: Javaプログラミング同好会
- 出版社/メーカー: エクスメディア
- 発売日: 2004/11
- メディア: 単行本
- クリック: 7回
- この商品を含むブログ (7件) を見る
- Javaスーパーリファレンス
- Java基本API+Jakarta 逆引きリファレンス (Advanced Reference)
国際化と日本語処理―CAFE BABE Javaプログラミング・ノート (UNIX MAGAZINE LIBRARY)
- 作者: 風間一洋
- 出版社/メーカー: アスキー
- 発売日: 2000/07
- メディア: 単行本
- クリック: 5回
- この商品を含むブログ (3件) を見る
Jakarta Commonsクックブック ―Javaプロジェクト必須のレシピ集
- 作者: Timothy M. O'Brien,長瀬嘉秀(監訳),株式会社テクノロジックアート
- 出版社/メーカー: オライリージャパン
- 発売日: 2005/08/20
- メディア: 大型本
- 購入: 2人 クリック: 38回
- この商品を含むブログ (37件) を見る
- 作者: スコットオークス,Scott Oaks,島田秋雄,依田光江,今野睦
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2001/11
- メディア: 単行本
- 購入: 1人 クリック: 1回
- この商品を含むブログ (6件) を見る
Java並行処理プログラミング ―その「基盤」と「最新API」を究める―
- 作者: Brian Goetz,Joshua Bloch,Doug Lea
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/11/22
- メディア: 単行本
- 購入: 27人 クリック: 426回
- この商品を含むブログ (164件) を見る
- 作者: ジョシュア・ブロック,ニール・ガフター,柴田芳樹
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 2005/11/14
- メディア: 大型本
- 購入: 3人 クリック: 83回
- この商品を含むブログ (56件) を見る
- 作者: Joshua Bloch,ジョシュア・ブロック,柴田芳樹
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 2001/12/03
- メディア: 単行本
- 購入: 5人 クリック: 121回
- この商品を含むブログ (105件) を見る
Effective Java 第2版 (The Java Series)
- 作者: Joshua Bloch,柴田芳樹
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2008/11/27
- メディア: 単行本(ソフトカバー)
- 購入: 69人 クリック: 863回
- この商品を含むブログ (255件) を見る
Javaプログラミングの処方箋 (Programmer’s foundations)
- 作者: 宇野るいも,arton
- 出版社/メーカー: 翔泳社
- 発売日: 2004/07/16
- メディア: 単行本
- 購入: 2人 クリック: 40回
- この商品を含むブログ (19件) を見る
- Javaの落とし穴
- Sun Java2認定ガイド 310-035&310-027対応
- 作者: ティムリンドホルム,フランクイェリン,Tim Lindholm,Frank Yellin,村上雅章
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2001/05
- メディア: 単行本
- 購入: 5人 クリック: 93回
- この商品を含むブログ (33件) を見る
Java言語仕様 第3版 (The Java Series)
- 作者: ジェームズゴスリン,ガイスティール,ビルジョイ,ギッラードブラーハ,James Gosling,Guy Steele,Bill Joy,Gilad Bracha,村上雅章
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2006/12
- メディア: 単行本
- 購入: 1人 クリック: 109回
- この商品を含むブログ (42件) を見る
真ん中の山
今は亡き Java World と Java Press のためのセプテット
- Java World (ジャバ・ワールド) 2006年 4月号
- Java World (ジャバ・ワールド) 2006年 12月号
- Java World (ジャバ・ワールド) 2007年 02月号 [雑誌]
- JAVA PRESS 特別総集編
- JAVA PRESS Vol.47
- JAVA PRESS Vol.46
- JAVA PRESS Vol.45
- JAVA PRESS Vol.44
- JAVA PRESS Vol.43
- JAVA PRESS Vol.42
- Java press (Vol.41)
- Java press (Vol.40)
- Java press (Vol.39)
- Java press (Vol.38)
パターンとかそう言う系
- 作者: ケント・ベック,Kent Beck,永田渉,長瀬嘉秀,株式会社テクノロジックアート
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2008/12/22
- メディア: 単行本(ソフトカバー)
- 購入: 29人 クリック: 468回
- この商品を含むブログ (87件) を見る
エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方
- 作者: 佐藤竜一
- 出版社/メーカー: 翔泳社
- 発売日: 2009/06/30
- メディア: 単行本(ソフトカバー)
- 購入: 15人 クリック: 257回
- この商品を含むブログ (49件) を見る
コーディングの掟(最強作法) 現場でよく見る不可解なJavaコードを一掃せよ! (開発の現場セレクション)
- 作者: arton,宇野るいも
- 出版社/メーカー: 翔泳社
- 発売日: 2008/09/18
- メディア: 単行本(ソフトカバー)
- 購入: 29人 クリック: 339回
- この商品を含むブログ (55件) を見る
- アジャイルソフトウェア開発の奥義
アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技
- 作者: ロバート・C・マーチン,瀬谷啓介
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2008/07/01
- メディア: 大型本
- 購入: 17人 クリック: 561回
- この商品を含むブログ (67件) を見る
- Clean Code アジャイルソフトウェア達人の技
Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)
- 作者: Robert C. Martin
- 出版社/メーカー: Prentice Hall
- 発売日: 2008/08/01
- メディア: ペーパーバック
- 購入: 1人 クリック: 62回
- この商品を含むブログ (21件) を見る
デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)
- 作者: アラン・シャロウェイ,ジェームズ・R・トロット,村上雅章
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 2005/09/16
- メディア: 大型本
- 購入: 48人 クリック: 572回
- この商品を含むブログ (115件) を見る
パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法
- 作者: ジョシュア・ケリーエブスキー,小黒直樹,村上歴,高橋一成,越智典子
- 出版社/メーカー: 日経BP社
- 発売日: 2005/08/04
- メディア: 単行本
- 購入: 11人 クリック: 305回
- この商品を含むブログ (127件) を見る
リファクタリング―プログラムの体質改善テクニック (Object Technology Series)
- 作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/05
- メディア: 単行本
- 購入: 90人 クリック: 2,993回
- この商品を含むブログ (294件) を見る
- Java言語で学ぶリファクタリング入門
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/06/19
- メディア: 大型本
- 購入: 46人 クリック: 740回
- この商品を含むブログ (385件) を見る
増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/03/21
- メディア: 大型本
- 購入: 14人 クリック: 283回
- この商品を含むブログ (194件) を見る
- Java言語で学ぶデザインパターン入門 マルチスレッド編
エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented Selection)
- 作者: マーチン・ファウラー,長瀬嘉秀,株式会社テクノロジックアート
- 出版社/メーカー: 翔泳社
- 発売日: 2005/04/21
- メディア: 単行本
- 購入: 9人 クリック: 622回
- この商品を含むブログ (137件) を見る
右の山
Web アプリとかネットワークとか
オープンソース徹底活用 WicketによるWebアプリケーション開発
- 作者: 矢野勉
- 出版社/メーカー: 秀和システム
- 発売日: 2009/03
- メディア: 単行本
- 購入: 22人 クリック: 236回
- この商品を含むブログ (43件) を見る
Jakarta Tomcatエキスパートガイド―Webアプリケーションのための環境構築
- 作者: アミツト・バコレ,中川和夫,Ja-Jakarta
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2003/08
- メディア: 単行本
- 購入: 2人 クリック: 21回
- この商品を含むブログ (14件) を見る
- JavaによるWebプログラミング基礎からわかる完全入門
- Java ネットワーク プログラミング 基礎からわかる 完全入門
- Java・J2EE・オープンソース Spring入門 ~より良いWebアプリケーションの設計と実装
- プログラミングワンダーランドへいらっしゃい (2) JSP&サーブレット編
- Eclipse3ではじめるJavaフレームワーク入門―Seasar2/Struts2対応
- Light Weight Java―JSF/Hibernate/SpringによるフレームワークでWebアプリケーションの開発効率向上
- HORBではじめるJava分散オブジェクトプログラミング
どこに入れればいいかわからなかった本たち
Apache Maven 2.0入門 Java・オープンソース・ビルドツール
- 作者: 野瀬直樹,横田健彦
- 出版社/メーカー: 技術評論社
- 発売日: 2006/12/13
- メディア: 大型本
- 購入: 7人 クリック: 140回
- この商品を含むブログ (96件) を見る
- ソースコードリーディングから学ぶ Javaの設計と実装
- 開発のプロが教える標準FindBugs完全解説―Javaバグパターンの詳細と対策 (デベロッパー・ツール・シリーズ)
データ構造とアルゴリズム
- 作者: 近藤嘉雪
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/03
- メディア: 単行本
- 購入: 1人 クリック: 70回
- この商品を含むブログ (16件) を見る
- Java データ構造とアルゴリズム基礎講座
- 作者: クリフォードシェーファー,Clifford Shaffer,久野禎子,久野靖
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/05
- メディア: 単行本
- 購入: 1人 クリック: 11回
- この商品を含むブログ (6件) を見る
あれ、これもどこに入れればいいかわからなかった本たちだ
- 作者: randy
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2005/11
- メディア: 単行本
- 購入: 6人 クリック: 164回
- この商品を含むブログ (41件) を見る
- オブジェクト脳のつくり方―Java・UML・EJBをマスターするための究極の基礎講座
- バグがないプログラムのつくり方 JavaとEclipseで学ぶTDDテスト駆動開発 (Be agile!)
GUI とかそんな感じ
Java Swing Hacks ―今日から使える驚きのGUIプログラミング集
- 作者: Joshua Marinacci,Chris Adamson,神戸博之(監訳),島田秋雄(監訳),加藤慶彦
- 出版社/メーカー: オライリージャパン
- 発売日: 2006/04/01
- メディア: 単行本(ソフトカバー)
- 購入: 7人 クリック: 93回
- この商品を含むブログ (38件) を見る
- Javaゲームプログラミングアルゴリズム (CD付)
- Javaアプリケーション作成講座―Swingプログラミング徹底攻略
- Eclipseプラグイン開発徹底攻略―Eclipse 3.2対応
- Eclipseプラグイン開発
Java の本はやっぱり多いですね!
売っちゃった本とかの中にも Java は多かった。
あと、ここには写ってない (無くした/貸し出し中) ものに、
Java 謎+落とし穴 徹底解明 (標準プログラマーズライブラリ)
- 作者: 前橋和弥
- 出版社/メーカー: 技術評論社
- 発売日: 2001/12/01
- メディア: 大型本
- 購入: 8人 クリック: 38回
- この商品を含むブログ (21件) を見る
- 作者: Kathy Sierra,Bert Bates,トップスタジオ
- 出版社/メーカー: 日経BP社
- 発売日: 2006/06/29
- メディア: 大型本
- 購入: 8人 クリック: 191回
- この商品を含むブログ (23件) を見る
の 2 つ、C++ の方に入れちゃった
JNI:Java Native Interfaceプログラミング―C/C++コードを用いたJavaアプリケーション開発 (Java books)
- 作者: ロブゴードン,Rob Gordon,林秀幸
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 1998/10
- メディア: 単行本
- 購入: 8人 クリック: 138回
- この商品を含むブログ (13件) を見る
があります。
C++ っぽい本を積んでみた
C++本16冊すべて届きました - 危ないRiSKのブログ
C++本を積んでみた - Faith and Brave - C++で遊ぼう
に乗っかって C++ っぽい本を写真に撮ってみました!
ケータイで撮ったのと写真が下手なのとでボケボケになってますけどそこはこころの目で見て!
左の山の上から、
- 作者: 石川竜也
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/03/01
- メディア: 単行本
- 購入: 2人 クリック: 6回
- この商品を含むブログ (5件) を見る
- 作者: Jasmin Blanchette,Mark S,杵渕聡|杉田研治
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/07/30
- メディア: 大型本
- クリック: 58回
- この商品を含むブログ (14件) を見る
- 作者: 平山尚(株式会社セガ)
- 出版社/メーカー: 秀和システム
- 発売日: 2008/11/15
- メディア: 単行本
- 購入: 106人 クリック: 3,403回
- この商品を含むブログ (189件) を見る
Windowsプロフェッショナルゲームプログラミング2【CD-ROM付】 (Game developer books)
- 作者: やねうらお
- 出版社/メーカー: 秀和システム
- 発売日: 2003/09/01
- メディア: 単行本
- 購入: 1人 クリック: 35回
- この商品を含むブログ (40件) を見る
- 作者: 松浦健一郎,司ゆき
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2009/03/27
- メディア: 大型本
- 購入: 7人 クリック: 132回
- この商品を含むブログ (25件) を見る
シューティングゲームアルゴリズムマニアックス (C magazine)
- 作者: 松浦健一郎
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/06
- メディア: 単行本
- 購入: 10人 クリック: 362回
- この商品を含むブログ (54件) を見る
- 作者: インフィニティ
- 出版社/メーカー: 秀和システム
- 発売日: 2004/08
- メディア: 単行本
- クリック: 3回
- この商品を含むブログ (3件) を見る
書籍版 DirectX9実践プログラミング (I・O BOOKS)
- 作者: 第二I O編集部
- 出版社/メーカー: 工学社
- 発売日: 2003/09
- メディア: 単行本
- 購入: 5人 クリック: 289回
- この商品を含むブログ (10件) を見る
次の山の上から
- 作者: επιστημη,高橋晶
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2009/04/25
- メディア: 単行本
- 購入: 16人 クリック: 219回
- この商品を含むブログ (54件) を見る
C++ Templates: The Complete Guide
- 作者: David Josuttis, Nicolai M. Vandevoorde
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2002/11/12
- メディア: ハードカバー
- 購入: 2人 クリック: 83回
- この商品を含むブログ (24件) を見る
- 作者: David Gurtovoy, Aleksey Abrahams
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2004/12/10
- メディア: ペーパーバック
- 購入: 3人 クリック: 74回
- この商品を含むブログ (29件) を見る
ジェネレーティブプログラミング (IT Architects’Archive CLASSIC MODER)
- 作者: クシシュトフ・チャルネッキ,ウールリシュ・W・アイセンアッカ,津田義史,今関剛,朝比奈勲
- 出版社/メーカー: 翔泳社
- 発売日: 2008/04/23
- メディア: 大型本
- 購入: 6人 クリック: 394回
- この商品を含むブログ (45件) を見る
C++プログラミングの処方箋―ひと味違うコードを書くための99の鉄則 (Programmer’s foundations)
- 作者: スティーブン・C.デューハースト,Stepehn C. Dewhurst,エイムネクスト
- 出版社/メーカー: 翔泳社
- 発売日: 2004/05
- メディア: 単行本
- 購入: 1人 クリック: 23回
- この商品を含むブログ (8件) を見る
επιστημηのオブジェクト指向的日常―C++,Java,STL…オブジェクト指向をめぐるお話あれこれ (DeV Selectionシリーズ)
- 作者: επιστημη
- 出版社/メーカー: 翔泳社
- 発売日: 1999/12
- メディア: 単行本
- 購入: 1人 クリック: 16回
- この商品を含むブログ (10件) を見る
JNI:Java Native Interfaceプログラミング―C/C++コードを用いたJavaアプリケーション開発 (Java books)
- 作者: ロブゴードン,Rob Gordon,林秀幸
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 1998/10
- メディア: 単行本
- 購入: 8人 クリック: 138回
- この商品を含むブログ (13件) を見る
- 作者: ジョン・ラコス,滝沢徹,牧野祐子
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2007/12/14
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 64回
- この商品を含むブログ (15件) を見る
Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
- 作者: スコット・メイヤーズ,小林健一郎
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 2006/04/29
- メディア: 大型本
- 購入: 27人 クリック: 383回
- この商品を含むブログ (179件) を見る
Effective STL―STLを効果的に使いこなす50の鉄則
- 作者: スコットメイヤーズ,Scott Meyers,細谷昭
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2002/01
- メディア: 単行本
- 購入: 9人 クリック: 148回
- この商品を含むブログ (91件) を見る
Efficient C++パフォーマンスプログラミングテクニック
- 作者: ダブブルカ,デビットメイヒュ,浜田光之,Dov Bulka,David Mayhew,浜田真理
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/07
- メディア: 単行本
- 購入: 9人 クリック: 138回
- この商品を含むブログ (31件) を見る
Modern C++ Design―ジェネリック・プログラミングおよびデザイン・パターンを利用するための究極のテンプレート活用術 (C++ In‐Depth Series)
- 作者: アンドレイアレキサンドレスク,Andrei Alexandrescu,村上雅章
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2001/12
- メディア: 単行本
- 購入: 10人 クリック: 206回
- この商品を含むブログ (100件) を見る
- 作者: ジェームズ・O.コプリン,James O. Coplien,金沢典子,羽生田栄一,平鍋健児
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2001/12
- メディア: 単行本
- クリック: 18回
- この商品を含むブログ (20件) を見る
Accelerated C++―効率的なプログラミングのための新しい定跡 (C++ In Depth Series)
- 作者: アンドリューコーニグ,バーバラ・E.ムー,Andrew Koenig,Barbara E. Moo,小林健一郎
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2001/12
- メディア: 単行本
- 購入: 10人 クリック: 112回
- この商品を含むブログ (43件) を見る
C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series)
- 作者: ハーブサッター,アンドレイアレキサンドレスク,浜田光之,Herb Sutter,Andrei Alexandrescu,浜田真理
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2005/10
- メディア: 単行本
- 購入: 20人 クリック: 358回
- この商品を含むブログ (96件) を見る
Exceptional C++―47のクイズ形式によるプログラム問題と解法 (C++ in‐Depth Series)
- 作者: ハーブサッター,浜田光之,Harb Sutter,浜田真理
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/11
- メディア: 単行本
- 購入: 8人 クリック: 128回
- この商品を含むブログ (62件) を見る
More Exceptional C++ さらに40のクイズ形式によるプログラム問題と解法 (C++ In‐Depth Series)
- 作者: ハーブサッター,Herb Sutter,浜田光之,浜田真理
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2008/11/05
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 31回
- この商品を含むブログ (19件) を見る
Exceptional C++ Style―40のクイズ形式によるプログラム問題と解法=スタイル編 (C++ in‐Depth Series)
- 作者: ハーブサッター,浜田光之,Herb Sutter,浜田真理
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2006/09
- メディア: 単行本
- 購入: 3人 クリック: 32回
- この商品を含むブログ (29件) を見る
次の山の上から
- 作者: 高橋麻奈
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2007/08/30
- メディア: 単行本
- 購入: 3人 クリック: 51回
- この商品を含むブログ (11件) を見る
組込み現場の「C++」プログラミング 明日から使える徹底入門
- 作者: 高木信尚
- 出版社/メーカー: 技術評論社
- 発売日: 2009/03/23
- メディア: 単行本
- 購入: 3人 クリック: 20回
- この商品を含むブログ (10件) を見る
- 作者: Bjarne Stroustrup,ビョーンストラウストラップ,επιστημη,岩谷宏
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/01/19
- メディア: 単行本
- 購入: 2人 クリック: 230回
- この商品を含むブログ (159件) を見る
- 作者: 稲葉一浩
- 出版社/メーカー: 秀和システム
- 発売日: 2007/07
- メディア: 単行本
- 購入: 4人 クリック: 234回
- この商品を含むブログ (33件) を見る
- 作者: 稲葉一浩
- 出版社/メーカー: 秀和システム
- 発売日: 2004/05
- メディア: 単行本
- 購入: 3人 クリック: 48回
- この商品を含むブログ (62件) を見る
- 作者: J.シャピロ,山中政秋,秋元信彦
- 出版社/メーカー: トッパン
- 発売日: 1991/09
- メディア: 単行本
- クリック: 1回
- この商品を含むブログ (2件) を見る
- 作者: ビョルン・カールソン,村上雅章
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2008/10/07
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 60回
- この商品を含むブログ (21件) を見る
マルチコアCPUのための並列プログラミング―並列処理&マルチスレッド入門
- 作者: 安田絹子,飯塚博道,青柳信吾,小林林広,阿部貴之,フィックスターズ
- 出版社/メーカー: 秀和システム
- 発売日: 2006/09
- メディア: 単行本
- 購入: 2人 クリック: 146回
- この商品を含むブログ (16件) を見る
C/C++セキュアコーディング (SEI SERIES・A CERT BOOK)
- 作者: Robert C. Seacord,JPCERTコーディネーションセンター
- 出版社/メーカー: アスキー
- 発売日: 2006/11/06
- メディア: 大型本
- 購入: 2人 クリック: 64回
- この商品を含むブログ (39件) を見る
- 作者: 大城正典
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/05/25
- メディア: 大型本
- 購入: 3人 クリック: 49回
- この商品を含むブログ (27件) を見る
です。
C っぽい本は入れてません。
・・・って、C++ 入門書の次に読む本がない。なくしたか?
Java データ構造とアルゴリズム基礎講座
- 作者: 長尾和彦
- 出版社/メーカー: 技術評論社
- 発売日: 2008/12/26
- メディア: 大型本
- 購入: 4人 クリック: 164回
- この商品を含むブログ (13件) を見る
えー、結論から言うと、正直微妙。でもまぁ、安いし薄いし、こんなもんかなぁ、とは思う。
ただし、シェルソートの計算量について調べるきっかけを作ってくれたことには超感謝。
あー、以下、目についた悪い点を指摘しているので*1、実際よりも悪い本に見えてしまうことは必至。期待を大きく下回っていたのは確かだけど、「これはひどい本」てわけじゃないので注意してくだしあ。
前書き
本を持っているだけで英語が使えるようになるわけではありません。どんなシチュエーションで使うかを知らなければ、宝の持ち腐れです。
Java データ構造とアルゴリズム基礎講座 はじめに (P.4)
とあって、これには激しく同意。英語だけじゃなくて、アルゴリズムとデータ構造にも直接当てはまることだしね。
でも・・・でも、この本自体が「どんなシチュエーションで使うか」の説明が中途半端。
UML はフローチャートじゃないよ!
問題の定義・分析を行うための図的表現である流れ図 = フローチャート (flow chart) には、複数のものが提案されています。
本書では、JIS 規格として定められている情報処理用流れ図 (JIS 流れ図) と構造化プログラミングに向く PAD 図について紹介します*4。
*4 最近ではオブジェクト指向プログラミング向けの設計のために UML (Unifiled Modeling Language) が用いられることが多くなりました。本書の対象外になりますので、本書では触れません。 Java データ構造とアルゴリズム基礎講座 1.1.3 アルゴリズムの構造とフローチャート (P.16)
うーん、これだと UML もフローチャートだと読めてしまうんだけど・・・
それに、フローチャートで問題を定義するってのにも違和感が。フローチャート書いた時点で定義はおろか、問題解決の手段 (つまりアルゴリズム) まで出来上がってるんじゃないの?
分析って言葉も、問題領域の分析という意味で使われることが多いから微妙。フローチャートはあくまで「プログラムの処理の流れを分析」するためのツールだと思う。
無限ループ
一見正しく動作しますが、無限ループに陥る場合*6 があります。
import java.util.Scanner; public class InfiniteLoop { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.println("1+2+...+n-1 の計算"); System.out.print(" nの値 : "); int n = stdIn.nextInt(); int sum=0; for (int i=1 ; i != n ; i++){ sum+=i; } System.out.println("1+2+...+n-1 は"+sum+"です"); } }
*6 ループのカウンタ変数 i は 1 から大きくなっていきますが、ループの継続条件が i != n となっているため、n < 1 の場合、停止することが出来ません。 Java データ構造とアルゴリズム基礎講座 1.1.4 アルゴリズムの停止性 (P.18-19)
えー、本当にこれ実行してみたの?このプログラムはバグは含んでるけど、無限ループにはならないよ。
何でかって、int は 32 bit だから。だからこのプログラムに n < 1 なものを渡しても、int の限界を突っ切って -2147483648 になり、それ以降もカウントアップは続いて、結果 i == n になる。
例えばこれが long 型だったりしたら「実質無限ループ」とみなしてもいいと思うけど、int じゃなぁ・・・
再帰処理自体は、いつか再帰処理を行わない条件 (終了条件) にたどり着かないといけません。そうでなければ、無限ループに陥ってしまいます。
Java データ構造とアルゴリズム基礎講座 2.3.2 再帰的定義 (P.42)
再帰呼び出しによるスタックオーバーフローも単純なものだと無限ループと呼ぶのはちょっと抵抗がある。
無限ループを名乗るには、これくらいしないと。
public class Workout { public static void main(String[] args) { workHard(); System.out.println("It's nap time."); } private static void workHard() { try { workHard(); } finally { workHard(); } } }Java Puzzlers 罠、落とし穴、コーナーケース パズル 45 : 疲れ果てたワークアウト (Exhausting Workout) (P.101)
まぁ、ここではプログラムが示されてないからこっちは言いがかりかもしれないけど。
あと、末尾最適化がかかってループに変換された結果スタックオーバーフローがおきなくなって、無限ループとか。
名前の付け方・フォーマット
なんか、名前の付け方やフォーマットに一貫性がない。例えば、
public class IntPerm { int mData[]; // 略 public void Perm(){ ... } private void _perm(int i){ ... } private void swap(int i, int j){ ... } /** * 解の評価 * オーバーライドして実際の処理をさせる。 */ public void eval(){ ... } }Java データ構造とアルゴリズム基礎講座 2.1.1 組み合わせの作り方 (P.33)
とか、
public class JobAssign extends IntPerm{ // コストテーブル[Job][Man] int constTable[][]={ ... }; // 割り当ての記録 int assign[]; int min=0; public JobAssign(int[] data){...} /* 順列の各候補に対する評価処理 * オーバーライドによる */ public void eval(){ ... } /** * 最適解の出力 */ public void showAnswer() { ... } }Java データ構造とアルゴリズム基礎講座 2.1.1 組み合わせの作り方 (P.35-36)
public class CoinsGreedy { int Coins[] = ...; int Nums[]; public CoinsGreedy(){ ... } public int checkCoins(int yen){ ... } }Java データ構造とアルゴリズム基礎講座 2.2 欲張り法 (P.40)
とか。がっちがちに縛る必要はないと思うけど、ここまでバラバラだと見ててイラつく。
最初の例ではフィールドにはプレフィックス m つけて、配列の括弧は名前の後ろに付けるのか、と思いきや、JobAssign のコンストラクタでは型に付いてるとか、public メソッドは大文字から始めるのか、と思いきや、eval は小文字からはじめてるし、メソッドの波括弧は改行せずに記述するのかな、と思いきや showAnswer ではそうじゃないし・・・
あと変数名の付け方もちょっと微妙だし・・・
もっと言うと、二項演算子の演算子とオペランドの間の空白にも一貫性がない・・・
継承の使い方については、アルゴリズムとデータ構造の本なので、誇らない限り深くは指摘しない。
分割方法
プログラムを作成するときは、処理の流れに従って機能単位に分割することが好ましいといわれます。処理の流れを直感的に理解できることからもおわかりでしょう。
Java データ構造とアルゴリズム基礎講座 2.3.1 機能的な分割の方法 (P.41)
それはプログラムという大きなくくりじゃなくて、まさに「処理をプログラムに落とし込むとき」の話。
プログラムを機能単位で分割するとか、オブジェクト全盛期にそれはないと思われ (現代魔法楽しみですね!(どうでもいい。
機能分解には、大きな落とし穴があります。つまり、分解した機能を適切な順序で呼び出す「メイン」プログラムが必要となるのです。
デザインパターンとともに学ぶオブジェクト指向のこころ (P.4)
・・・
メインプログラムには、すべてを正しく動作させる、すなわち機能の組み合わせとその呼出し順序を正しく制御するという、あまりにも大きな責任が課せられることになるのです。
オブジェクト指向プログラミング
いろいろなプログラムを作成していると、大体似ているんだけれど、少し違った機能が必要になることがよくあります。〜略〜
Java データ構造とアルゴリズム基礎講座 COLUMN オブジェクト指向プログラミング(P.51)
クラスの概念自体が、データ構造とそれに伴う操作関数 (メソッド) になっていますので、データと処理を簡潔に扱えるようになっています。さらに、クラスの中で必要なメソッドを追加したり、上書き (オーバーライド) することで、独自のクラスを最小限の作業で実現できます。
本章で見た仕事割り当て問題を解くクラス JobAssign (35 ページのリスト 2-2) では、順列生成クラス IntPerm を拡張する形で実現していました。このようなプログラムができるのもオブジェクト指向プログラミングの実力といえます。
このようなプログラムが書けてしまうのもオブジェクト指向プログラミングの弱点ですよね・・・
差分プログラミングとかなくなってしまえばいいのに (言いすぎ。
大体似てるけど少し違う・・・を安直に継承で解決してしまうのは愚の骨頂なのでやめましょう。
なんかもう色々とオブジェクト指向の原則をぶち破ることになります。
そしてそれがオブジェクト指向プログラミングの実力とか言うのもやめましょう。
原則破ってんだからどっちかって言うと弱点です。ダメダメです。
配列
配列はどんなプログラム言語でも利用できるデータ型であり、基本中の基本といえます。
Java データ構造とアルゴリズム基礎講座 配列 (P.53)
ただし手続き型言語に限る。
すみませんすみません、どうみても揚げ足取りですすみません。
まぁでも、リストが基本中の基本である言語は少なからずあるし・・・
配列やリストが利用できない言語だってあるし・・・
NULL
文字列やポインタにおける NULL (ヌル) も番兵の一種です。
Java データ構造とアルゴリズム基礎講座 3.1.3 データの終端の表現 (P.56)
Java しか出てこない本でこれはアリなのか?
それに、ヌル文字とヌルポインタは別物だから、書き方もマズイ。
プログラムもちょっと微妙。
final static int SENTINEL = -1; int size(){ int i=0; for(i=0;i<data.length;i++){ if(data[i]==SENTINEL) break; } return i; }Java データ構造とアルゴリズム基礎講座 3.1.3 データの終端の表現 (P.57)
こっちの方がよくね?スコープ狭くなるし、短くなるし。
final static int SENTINEL = -1; int size() { for (int i = 0; i < data.length; i++) { if (data[i] == SENTINEL) return i; } return data.length; }
れいがい!
public class IntStack{ int data[]; // データ保存用の配列 int top; // データの個数、次にPUSHする場所を示す private int max; // データの最大個数の制限 private static int LimitSize = 100; }Java データ構造とアルゴリズム基礎講座 4.1.1 スタックの実装 (P.68)
private の選定方法とか、命名規約とか、LimitSize は普通 final とか、色々言いたいことはあるけどそこはぐっとこらえる。
/** * コンストラクタ * @param size */ public IntStack(){ this(LmitSize); } public IntStack(int size){ top = 0; max = size; try { data = new int[max]; } catch (OutOfMemoryError e){ max = 0; } }Java データ構造とアルゴリズム基礎講座 4.1.1 スタックの実装 (P.69)
ドキュメンテーションコメントおかしくないか?ってのもこらえる。
で、コンストラクタだけど、OutOfMemoryError を握りつぶしてらっしゃる。これは・・・いいのか?
ここまで無理して復旧しなくてもいいと思うけどなぁ・・・
public int push(int x) throws RuntimeException{ if (top >= max) throw new RuntimeException(); return data[top++] = x; }Java データ構造とアルゴリズム基礎講座 4.1.1 スタックの実装 (P.70)
data[top++] = x って書き方は置いておくとして、throws RuntimeException は・・・書く必要ないよね?
というか、throw new RuntimeException(); とかやめて欲しい。
この場合だと IllegalStateException でしょ常識的に考えて。
ここの他にも RuntimeException を直接投げてるところがあるけど、もっと適切な例外を投げるべき。
java.util.Stack は・・・非推奨じゃないけど非推奨
Java には Java.util.Stack が標準で提供されています。
Java データ構造とアルゴリズム基礎講座 4.1.1 スタックの実装 (P.68)
パッケージ名は typo だろうからほっとく*2。
で、java.util.Stack だけど、これは Vector を継承するという最低なことをやっているクラスだから、これを紹介するのはいかがなものか。
より完全で一貫性のある一連の LIFO スタックオペレーションが、Deque インタフェースとその実装によって提供されています。このクラスよりもそれらを優先的に使用するようにしてください。例を示します。
Deque<Integer> stack = new ArrayDeque<Integer>();
Stack (Java Platform SE 6)
両端キューは、LIFO (後入れ先出し) スタックとして使用することもできます。従来の Stack クラスよりもこのインタフェースを優先して使用してください。両端キューがスタックとして使用される場合、両端キューの先頭から要素のプッシュとポップが行われます。Stack メソッドは、次の表に示すように Deque メソッドとまったくの等価です。
Stack メソッド 等価な Deque メソッド push(e) addFirst(e) pop() removeFirst() peek() peekFirst() 両端キューがキューまたはスタックとして使用される場合、peek メソッドも同様に機能します。どちらの場合も、要素は両端キューの先頭から取り出されます。
Deque (Java Platform SE 6)
良い子の皆は Stack 使わずに Deque 実装したクラス*3を Deque に入れて使いましょう。
Stack、Queue
インターフェイスを使ってないから、この本で紹介した配列による実装しか実装がないと勘違いしそう。
リストと配列の違い
配列と異なり、任意の型のデータを格納することができるようになっています。
Java データ構造とアルゴリズム基礎講座 リスト (P.77)
えと、配列も任意の型のデータを格納すること出来るんですけど・・・
ちょっと何を言っているのか分からない。
連結リストに対する幻想
データの挿入・削除の計算量は配列 O(n)、リスト O(1) です。
Java データ構造とアルゴリズム基礎講座 5.1.1 データの挿入と削除 (P.79)
リストは連結リストの typo だろう。
だとしても、O(1) で挿入と削除が出来るかって言うと・・・難しいよね。
連結リストはランダムアクセスが出来ないから、連結リストの任意の場所に挿入したり、任意の場所の要素を削除するためには、まず先頭から辿っていかないといけない。
この操作は O(N) なので、データを挿入・削除する場所が分かっていなければ連結リストでは挿入も削除も O(N) となってしまう。
これを書かないのはちょっとどうかと思うなー。
上はリストに対する過大評価だけど、逆にリストに対する過小評価も見られる。
Java データ構造とアルゴリズム基礎講座 表 5-1 計算量の比較 (P.94)
処理 線形リスト 双方向リスト ... ... ... 末尾への挿入 addLast(E) O(n) O(1) ... ... ... リストの長さ size() O(n) O(n) ... ... ...
連結リスト (線形リスト) で末尾へ挿入するのは、常に末尾要素を指すものを用意しておくだけで O(1) に出来るし、リストの長さだってこの本に載ってる程度の操作しか実装しないなら O(1) で実装できる。
自己参照型・・・?
フィールド data がデータを、next が次のリストセルへのポインタを格納します。next は自分自身と同じクラスのインスタンスを指すため、自己参照型と呼ばれます。
class Cell<E>{ E data; // データ Node <E> next; // 次のデータへのリンク }Java データ構造とアルゴリズム基礎講座 5.2.1 リストセルクラス (P.80)
ここでまさかの Node クラスw
もちろん、正しくはこう。
class Cell<E> {
E data;
Cell<E> next;
}
木構造・グラフ構造
post-order を戻りがけ順と訳しているけど、帰りがけ順が普通なんじゃ?
まぁ、それはどうでもいいんだけど、平衡木に触れられてもいないのはちょっと・・・
そのくせグラフの探索アルゴリズムとして、
と、かなり豊富*4。でも
本を持っているだけで英語が使えるようになるわけではありません。どんなシチュエーションで使うかを知らなければ、宝の持ち腐れです。
Java データ構造とアルゴリズム基礎講座 はじめに (P.4)
探索アルゴリズムを並べているだけでグラフの探索アルゴリズムが選択できるようになるわけではありません。どんなシチュエーションで使うかを知らなければ、宝の持ち腐れです。
データの・・・検索?
Java データ構造とアルゴリズム 基礎講座:書籍案内|技術評論社第 8 章 データの検索
8.1 線形検索
8.1.1 番兵による線形検索の改良
8.2 2分検索
検索じゃなくて探索じゃないの?
検索と探索の違いは、検索は目的の情報を探し出す基準が決まっているのに対して、探索は有効な基準(解析的な解法)がない、あるいは用いないときに、実際に試行錯誤することによって解を探す方法を取る事。
アルゴリズム
本格的な用途ではデータベースという仕組みを用いてデータの管理を行います。この仕組みの中でも本章で学習するアルゴリズムが使われています。
Java データ構造とアルゴリズム基礎講座 第 8 章 データの検索 (P.141)
うーん、線形探索やハッシュ法は使われてるだろうけど、二分探索はどうなんだろ?
インデックスって基本的には B 木系だから、二分探索は使われてないんじゃないかなぁ。
あと、二分探索木と二分探索法の関係に触れてないのはどうかと思う。
・・・って、二分探索木は本文中でも 2分探索木だけど、二分探索法は 2分検索法としてるところを見ると、全くの別物と考えてるとか?
それはないと信じたい。
で、ここでも
本を持っているだけで英語が使えるようになるわけではありません。どんなシチュエーションで使うかを知らなければ、宝の持ち腐れです。
Java データ構造とアルゴリズム基礎講座 はじめに (P.4)
探索アルゴリズムを並べているだけで適切な探索アルゴリズムが選択できるようになるわけではありません。どんなシチュエーションで使うかを知らなければ、宝の持ち腐れです。
シェルソートの計算量
シェルソートの比較回数と交換回数は n log n に比例しており、計算量 (オーダ) は O(n log n) と非常に高速です。
Java データ構造とアルゴリズム基礎講座 9.5.1 ギャップの選択 (P.168)
ん?シェルソートって O(n1.5) とか、O(n1.25) てのはよく聞くけど、O(n log n) になる数列なんてあったっけ?
・・・と思って調べてみたら、あるみたい。これに関しては後で書く。
だとしても、その数列は定数項が大きすぎて、全然実用的な速度が出ないので、「O(n log n) と非常に高速です」と書いてしまうのにはちょっとというかかなり疑問が。
追記:
やっぱりないみたい。正確には、まだ見つかっていない。あるかもしれないし、ないかもしれない。
で、どうやら O(n log2 n) を O(n log n) と等価であると思っているっぽい・・・?
O(n log2 n) は O(n1.25) よりはるかに低速なので、定数項云々関係なく低速。失礼しました。
あ、それと、挿入ソートがソート済みの並びに対して O(n) になると書いてないのは独特というか、他に類を見ない感じ。
ソート
安定なソートに関する記述がないのはどうなんだろ。
そしてもちろんここでも
本を持っているだけで英語が使えるようになるわけではありません。どんなシチュエーションで使うかを知らなければ、宝の持ち腐れです。
Java データ構造とアルゴリズム基礎講座 はじめに (P.4)
ソートアルゴリズムを並べているだけで適切なソートアルゴリズムが選択できるようになるわけではありません。どんなシチュエーションで使うかを知らなければ、宝の持ち腐れです。
で、結局どうなの?
これは、半期の授業で使う用の本だと思う。あまりにも言葉が足りなさすぎる。
なので、この本で勉強しようとは思わない方がいい。
この本を買うくらいなら、あとほんの少し出して
- 作者: 近藤嘉雪
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/03
- メディア: 単行本
- 購入: 1人 クリック: 70回
- この商品を含むブログ (16件) を見る
こっちの方がおすすめ。
ただ、古い本だからジェネリック非対応なんだよなぁ・・・
追記:
ジェネリック対応を謳った最新版、全然対応できていない非常に残念な本になってしまった。
普通に Object 使いまくってるあれのどこがジェネリック対応なんだろう・・・
バイブルというか、良書および必読の書
寝ようと思っていたら、その言語で「バイブル」と呼ばれる書籍を教えてくださいなんて質問を見つけてしまい、書いてたら長くなる長くなる・・・
言語バイブル - Strategic Choiceが元らしく、いくつかかぶってるけど気にしない方向で。
- Java
- Java言語仕様 第3版 (The Java Series) 何かと便利
- Java仮想マシン仕様 (The Java series) 同上
- Effective Java 第2版 (The Java Series) Effective なのに Java やるなら必読
- Java Puzzlers 罠、落とし穴、コーナーケース Java の落とし穴にはまりたくなければ読むべき
- Javaプログラミングの処方箋 (Programmer’s foundations) 今となっては内容がちょっと古いけど、十分通用する。Effective の次に読むような本
- コーディングの掟(最強作法) 現場でよく見る不可解なJavaコードを一掃せよ! (開発の現場セレクション) Java だけに限った話ばっかりではない
- 増補改訂版Java言語で学ぶデザインパターン入門 Java でデザパタの本
- 増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編 下の本が入手困難なので他の本がこれくらいしかない*1
- Java並行処理プログラミング ―その「基盤」と「最新API」を究める― 入手困難
- 実装パターン サンプルコードは Java だけど、Java だけに通用する話ではないので
- Clean Code アジャイルソフトウェア達人の技 同上。ただし 2009/5/28 発売予定。原著は Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)
- C++
- Accelerated C++―効率的なプログラミングのための新しい定跡 (C++ In Depth Series) C++ による C++ の入門書
- Exceptional C++―47のクイズ形式によるプログラム問題と解法 (C++ in‐Depth Series) 例外安全とか、Pimpl イディオムとか。必読
- More Exceptional C++ さらに40のクイズ形式によるプログラム問題と解法 (C++ In‐Depth Series) 上の本の続編。必読
- Exceptional C++ Style―40のクイズ形式によるプログラム問題と解法=スタイル編 (C++ in‐Depth Series) 上の本の続編。必読。スタイルとあるが、コーディングスタイルのことじゃなくて、どちらかというと設計とかの話
- Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES) C++ を C++ らしく使うための本。やっぱり Effective といいながら必読
- 新訂版 More Effective C++ (AddisonーWesley professional co) 上の本の続編。必読らしいけど・・・すんません、持ってないです><
- Effective STL―STLを効果的に使いこなす50の鉄則 こちらも Effective といいつつ*2 STL をまともに使うためには必読
- Efficient C++パフォーマンスプログラミングテクニック C++ でパフォーマンスが高いプログラムを書くための様々なテクニックや考え方を書いた本。実測値が載っていて、それについての考察もある。必読
- C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series) Effective C++ とかぶる部分も多いけど、こちらの方が新しい。やっぱり必読
- Modern C++ Design―ジェネリック・プログラミングおよびデザイン・パターンを利用するための究極のテンプレート活用術 (C++ In‐Depth Series) C++ の template は T のコンテナなんかじゃない、というのを教えてくれる本。必読
- C++テンプレートテクニック Modern C++ Design が難しすぎてわかんない!って人でも大丈夫。必読
- Boost C++ Librariesプログラミング Boost を使うなら手元に置いておきたい本
- Boost C++をチューンアップする最先端ライブラリ Boost を使うなら手元に置いておきたい本その 2。中身についても説明がある。ただしちょっと古い
- 新装版 大規模C++ソフトウェアデザイン (ADDISON-WESLEY PROFESSIONAL COMPUTI) (ADDISON‐WESLEY PROFESSIONAL COMPUTING SERIES) 積読本です・・・
- ジェネレーティブプログラミング (IT Architects’Archive CLASSIC MODER) 途中までは読んだんだ・・・
- マルチパラダイムデザイン Modern C++ Design で紹介されてるポリシーとかを使って書き直して欲しいなー。入手困難
- C++の設計と進化 C++ の言語デザインとかに関する本。必読かも
- C/C++セキュアコーディング (SEI SERIES・A CERT BOOK) C や C++ を使うなら知っておくに越したことはない
- C++ Templates: The Complete Guide 洋書でしかも積読本
- C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ In-Depth Series) 同じく洋書。テンプレートメタプログラミングに関する解説書
- PowerShell
- Windows PowerShell イン アクション [イン アクションシリーズ] 主に言語としての PowerShell の解説本
- Windows PowerShellクックブック PowerShell を使ってどういう作業がこなせるかに関するレシピ集
- Python
- 初めてのPython 第3版 Python を学ぶならこれ
- Python クックブック 第2版 やりたいことが結構載ってる本
- SQL/RDB
- プログラマのためのSQL 第2版 SQL を詳しく知りたい人向け
- 達人に学ぶ SQL徹底指南書 (CodeZine BOOKS) 後述のリレーショナル・データベースの世界の管理人、ミックさんの本
- SQLパズル 第2版 プログラミングが変わる書き方/考え方 ミックさん翻訳の本。単に翻訳しただけの本ではない
- アート・オブ・SQL ―パフォーマンスを引き出すSQLプログラミング手法 (Theory in practice) DB をどう設計すれば、どう書けば効率的な SQL が書けるかについての本
- データベースパフォーマンスアップの教科書 基本原理編 上の本と似た目的の本だけど、より実践寄りといえばいいのかな。上の本はより理論寄り。まだ全部読んでない
- データベース実践講義 ―エンジニアのためのリレーショナル理論 (THEORY/IN/PRACTICE) あー、うー、しっかり読んでないことに今気付いた。積読本++
- データベースシステム概論 概論という割には 2 部や 3 部についてこれより詳しく書いた本を知らないんですが・・・日本にないだけかも
- リレーショナル・データベースの世界 本じゃないけど必読
- 正規表現
- 詳説 正規表現 第2版 もう手に入らないかも。第 3 版とは訳者が異なり、こっちの方が自然な訳とかもある (と、思う)
- 詳説 正規表現 第3版 扱ってる内容が増え、訳者が変わった
- 正規表現ハンドブック (Technical Handbook Series) 上 2 冊は分厚すぎるんだよ・・・
- CSS
- 実践 Web Standards Design ~Web標準の基本とCSSレイアウト&Tips~ 同じスタイルを実現するための複数の方法を扱って、それぞれの利点・欠点を解説してるとてもすばらしい本
- LaTeX
- [改訂第4版] LaTeX2ε美文書作成入門 この本しか持ってないよ!この本の前の版は持ってるけど
ちょっと待って、本当にこんなに読まないとダメ?違うよね、絶対なんか違うよね。
むしろ、これだけ読めば OK って基準なんてないよね (何
追記:
「必読」って書いてますけど、「これ読まなきゃ Hoge 言語のプログラマ失格!」なんてものではないです。
あと、是非本は読んで欲しいけど、必ず本から知識を得る必要はないわけで・・・
とりあえず、読んでおくとためになる、くらいに思っておいてもらえるといいかな。
【改訂第3版】 SQLポケットリファレンス
【改訂第3版】 SQLポケットリファレンス (POCKET REFERENCE)
- 作者: 朝井淳
- 出版社/メーカー: 技術評論社
- 発売日: 2009/04/29
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 117回
- この商品を含むブログ (17件) を見る
Twitter で、SQL ポケットリファレンスの新版が出てるって情報が入ってきたから、買ってみようとつぶやいたら感想希望されたので感想です*1。
まず、この本が欲しい理由として、
「ポケットリファレンスというからには薄くて持ち運びが楽だろう。今持ってる本はそういうのに向かない本ばっかだし」
というのがあったんだけど、そこそこの厚みあるね、これw
値段を考えると、コストパフォーマンスはかなりいいほうじゃなかろうか。
で、中身はどうかというと、ポケットリファレンスという名前どおり、ある程度 SQL が分かっている人向けなのかな、という印象。
SQL に限らず、プログラミング言語は 1 つのことをするために複数の方法があるのが普通で、しかも速度とかメモリ使用量とかが全然違ってきたりするのもごく普通のことだけど、この本ではそれらの比較というものは全く無い。
同様に、WHERE 句で集計関数が使用出来ない (HAVING 句使え) ことは書いてあるけど、その理由は書いてないとか*2。
なんというか、書き方の列挙に終始している感じ。
なので、当然最初の一冊には向かないわけだけど、最初の一冊に向く本が思いつかないから、別に最初の本として使ってもいいんじゃないかな、とは思う。
とりあえず、なんか SQL の本読むたびにリレーショナル・データベースの世界を読み直せばいいんじゃないだろうか。量が多い?そんなあなたに書籍版をどうぞ。単なるサイトのダイジェスト本ではないので、両方読むのがおすすめだけどね(何
えっと、話を戻してこの本について。
3 回も改訂してるのに、それはないだろう、って間違いがあるにはある。でも、SQL をある程度知ってる人にとってはハマる部分ではないから*3、なかなかいい本だと思う。なんといっても安いし。
T-SQL の関数を調べるのにあの重いサイトをいつも使ってる身としては、ありがたい本であることは確か。
以下は気に入らなかった部分の指摘です。見つけ次第増えていく予定。
- SQL を Structured Query Language の略としているけど、そうではない。参考:SQL - Wikipedia
- 各項目の頭で示される文法*4は正しいわけではない*5
- FROM 句にインラインビューが書けないように見えるのはちょっとまずいかも
- NULL は値ではな。
参考:
3値論理
存在と無 ―― 空集合とNULL - コマンド命令、英語にすると command command
- SQL Server 2008 に対応していない
- 2000 から 2005 も大きく変わったけど、2005 から 2008 も大きく変わった
- MERGE 文とか
- 日付型の充実とか階層型 (しかも経路列挙モデルがベース!) の追加とか
- 2000 から 2005 も大きく変わったけど、2005 から 2008 も大きく変わった
- NULLIF 関数の例がやっぱり実用性皆無
- プログラミングインターフェースの内容が古い
- ADO と ODBC はまだ許せる
- SQLJ ってまだあるの?
- oo4o とか Pro*C とか ESQL/C とかは知らない
- SQL テクニックがあまりテクニックじゃない
- 列の最大値、最小値を取得するにはって・・・
- テクニックというか、ダイジェスト
- 関係代数の説明が変
- 関係代数に「表」はないだろう
- タブル (正しくはタプル) は typo だと思いたい
- 大文字・小文字の区別は文字セットの定義の仕方によるんじゃなくて、照合順序による
- UNION より UNION ALL の方がソートしなくていいから高速、くらいは書いておいて欲しかった*6
- + 演算子が ANSI 標準になっていて、それはいいんだけど、SQL Server での文字列の結合もここで説明してるから、紛らわしい
- CASE 演算子じゃなくて、CASE 式。ちなみに BNF 的には COALESCE も NULLIF も CASE 式 (case abbreviation で定義されている)
それと、この本に対する指摘ではないんだけど、このサイトはまずくないか?
この本まんまじゃん*7。
【改訂第3版】 SQLポケットリファレンス (POCKET REFERENCE)
- 作者: 朝井淳
- 出版社/メーカー: 技術評論社
- 発売日: 2009/04/29
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 117回
- この商品を含むブログ (17件) を見る
*1:SQL に対する知識は自分もまだまだ足りてません・・・
*2:SELECT 文の評価順に関係する。UNION 等を用いない単純な SQL の場合、FROM 句 → WHERE 句 → GROUP BY 句 → HAVING 句 → SELECT 句 → ORDER BY 句の順に評価する。集約・極値関数が使えるのは、GROUP BY した後なので、WHERE 句では使えない
*3:つまり、言い回しの問題であったり、あまり問題にならない問題
*4:BNF の expression 側だけ取り出したような記法で記述されている
*5:SQL:2003 の BNF はこちら→[http://savage.net.au/SQL/sql-2003-2.bnf.html:title]
*6:ただし、UNION ALL だと重複は取り除かれない
*7:コマンド命令とか、FROM 句の中身とか