Amanjackのブログ

プログラミング初心者、FX初心者の成長日記

スッキリわかるJava入門実践編 第2版

「スッキリわかるJava入門(実践編)第2版」を読みましたので振り返っていきます。

スッキリわかる Java入門 実践編 第2版 (スッキリシリーズ)

スッキリわかる Java入門 実践編 第2版 (スッキリシリーズ)

  • 作者:中山 清喬
  • 発売日: 2014/09/22
  • メディア: 単行本(ソフトカバー)

はじめに

この本には入門編があり、その続編となります。私は先日、入門編を読みましたのでこちらの本にステップアップしました。前作に引き続き、全体的に読みやすかったです。入門編も765ページありボリュームがすごかったですが、こちらの実践編は627ページと減ってはいますがなかなかのボリュームです。重たくて電車で読みづらいです。

この本は実践編として応用的な技術の話が多いですが、ほとんどの技術は今の現場で使っているためJavaを使っている大規模システムに従事している方には必須レベルのことだと思われます。

実践編だけあって、Java文法の説明は少なく実践的な内容です。覚えるというより技術を理解して使えるようにすることが重要だと思います。外部ツールの操作方法や連携方法、企業で開発時に必要になる知識の解説がメインとなります。

初見の人のためなのか、第3章のコレクションまでは前作の入門編の後半と全く同じ内容が続きます。微妙に違う部分もありますが、些細な違いで章末の問題など全く同じです。入門編を読んだばりの人は飛ばしても良いかもしれません。私は貧乏性のため読みましたが。

章タイトルごとの一言解説

第0章 Javaを使いこなす技術者を目指そう

第1部

第1章 文字列の操作
文字列を操作する際に使うStringクラスには利用頻度の高いメソッドがたくさんあります。
第2章 日付と時間の取り扱い
日付の処理はややこしくて覚えにくいです。
第3章 コレクション
List, Set, Map配列を使い分けてネスト構造で使いこなすのは一苦労です。
第4章 インスタンスの基本操作
ハッシュ値を理解することによりインスタンスの操作にエラーが少なくなります。
第5章 さまざまな種類のクラス
インナークラスは使う機会が少ないようなので、頭の片隅に入れておきます。
第6章 ラムダ式と関数オブジェクト
関数オブジェクトの代入 → 変数=クラス::メソッド
ラムダ式の代入 → 変数=引数 -> 処理
第7章 JVM制御とリフレクション
このあたりから個人では使わない、企業システムでしか使わないような技術が出てきてとっつきにくいです。
第8章 非標準ライブラリの活用
Apatchソフトウェア財団は多数の有料ライブラリを公開しています。
オープンソースを使う際にはGPLに感染するのを気をつけましょう。

第2部 外部資源へのアクセス

第9章 外部資源のアクセス
ファイル読込の概念であるストリームとファイルの読み書きの方法を学びます。
第10章 さまざまなファイル形式
CSV形式とXML形式を学び、ファイルの保存を行います。
第11章 ネットワーク通信
ネットワーク通信の基本的な話とjava.netパッケージのSocketを使って通信する話です。
第12章 データベースアクセス
JDBC APIを使ってDBMSを操作します。

第3部 効率的な開発の実現

第13章 基本的な開発ツール
JDKに備わっているツールや仕組みの話です。
第14章 単体テストアサーション
JUnitアサーションは今の現場では裏側で動いるだけなので直接は使っていないですね。
第15章 メトリクスとリファクタリング
ソースコードの品質を高めるためのテストの手法と改善の方法を身につけます。
第16章 コードとタスクの共有
チーム開発での分業の際の共有をチケットを使って効果的に行います。
第17章 アジャイルな開発
古臭いウォーターフォール開発とは違いアジャイル開発には魅力を感じますが、盲目的な過信には要注意です。

第3部 効率的な開発の実現

第18章 設計の原則とデザインパターン
先人たちが作ってきた優れたソースコードの定石をデザインパターンと言います。
第19章 スレッドによる並列処理
Threadクラスを用いることにより並列処理を行えるようになります。
付録 エラー解決・虎の巻
エラーの解決はとても重要!