4
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Javaプログラマ(4年目)が今まで買った技術書の棚卸しとオススメ度

Posted at

#初投稿です
前々から投稿したかったけど、怖くてできませんでした。慣らすためにとりあえず書こうと思いました。
#買った本の棚卸し
買った本の個人の棚卸し的目的も含むため、特定の用途でまとめての紹介ではございません。
ほぼ全て紙の本です。自分は技術書って電子書籍だと読みにくい
また完全に個人の感想です。

あとなんか画像勝手に持ってくるのはいやだし、Amazonのリンク貼るのもいやだし、自分の撮った写真は汚いしで面倒になったので本の画像はなしでお送りします。

★=1点
☆=0.5点

#1.リーダブルコード
オススメ度:★★★

言わずと知れた超有名な本。
新人の頃に初めて先輩に勧められて、とりあえず買ってワケ分からなくて途方にくれた思い出深い逸品。もはや御守り的にカバンに入れて持ち歩くような存在。

中身に関しては新人にはハードルが少し高く感じた。「このように書くと良いよ」を紹介してくれるのはすごく良いのだが、「もっとJavaとして書くときの書き方を教えてくれよ!」と当時は思っていた。

ただなんだかんだ書いてある内容は今も実践しているつもりだし、かなり良い本。
#2.ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック
オススメ度:★★

プログラマの自己啓発書。
まじでなんで買ったのか忘れたけど、良い買い物だった。

いろんな観点でこういう心構え・考え方だと良いという話が大半で、「どうしてテストするの?」だとか「どうしてコードの見た目に気を使うのか?」とか「システム開発ってなんだろう」みたいなのもある

個人的に一番気に入っているのは「第3部 個人的なこと」のところで、モチベーション維持だとか、学び方・停滞するなよって話の部分
「現在働いている場所では成長しておらず、チャレンジもないなら転職した方が良い(要約)」という部分はなんかすごく刺さった。

ただまぁものすごく翻訳が独特。リーダブルコード以上に英語っぽい言い回しで、ぶっちゃけ読んでて疲れるのだけはいただけない。
そういう意味で星2つ。なんかモヤモヤするときに読むといいかも
#3.初めての自動テスト ―Webシステムのための自動テスト基礎
オススメ度:★★☆

現場やベタープログラマを読んで、自動テストやりたいマンになったため購入

現状生かせてないけど、内容は丁寧かつ読みやすかった。
紹介できる内容を書けない理由は「ほぼ覚えてないから」
やっぱり実践しないと忘れますね。

ILoveBossっていうのがサンプルコードでよく出てきたのだけは異様に頭に残っている。
Amazonのレビュー見た方が良い。
#4.はじめよう!要件定義
オススメ度:★★☆

はじめよう!シリーズの1冊目。
他に「はじめよう!システム設計」「はじめよう!プロセス設計」も買ったけど、まだ読んでない。

「要件定義とかシステム設計ってなんだろうね(どうやって説明すればいいんだろうね)」って先輩に聞かれて答えられなかったので購入。

絵本チック(絵が柔らかくて可愛い)で説明も読みやすい。そして、「現実的にはこの本に書いてある内容全然やってないよね?」とめっちゃ思った。
やれば良いことはわかったけど、現実に反映するのが難しい。っていうかやってくれる気がしない。
自分が要件定義もやるかーという気分になってくきている。

新人・ど素人(こっちに仕事依頼する側)に読んで欲しいと思った。
#5.カイゼン・ジャーニー たった1人からはじめて、「越境」するチームをつくるまで
オススメ度:★

先輩に「まさみち君この本に出てくる人に似てる」みたいなこと言われたので購入

あんまり興味のある領域ではなかった。けど、刺さる人には刺さる。Amazonレビューで圧倒的に好評
リーダーなどを目指す人は買って良いと思う

チームメンバーを巻き込んでチームそのものを改善する。みたいな内容で、ストーリー仕立てで改善の仕方を紹介・提案されているのはわかりやすかった。

ただまぁちょっと読んでてゾワゾワした。武勇伝読んでる気分(笑

あまり今の給料でチームを改善したいとは思わないタイプなので、自分一人でできる一人朝会とタスクの見える化だけ行った。

1〜2ヶ月やったけど、よくなったという実感がもてなかったため今はやめた。でもやっぱりやめたらやめたでやった方がいけてるんじゃ・・・という気分にもなってきている。

#6.Java言語で学ぶデザインパターン入門
オススメ度:★★

デザインパターンを学ぶ上ですごい参考になった。
XXBuilderとかXXFactoryとかってそう言うことだったのか!って理解できたので疑問が解消されたのと、この本のおかげで抽象クラスやインターフェースの使い方、ジェネリクスがすごく使えるようになったと思える。
ただまぁBuilderとFactory系以外あんまみたことない。Adapterくらいかな
(Singletonは出てくる頻度がダンチだからおいといて)

#7.オラクル認定資格教科書 Javaプログラマ Gold、 Silver
オススメ度:★★(受験するなら:★★★)

いわゆる紫本。

Javaの人間なら買った方が良いとは思うが、すでに持っていて読み終わったり資格とり終わった人がいるなら借りて済ませても良い。
自分は最終的には辞書がわりに使うことになってきたので人に貸せない。

内容自体はAmazonのレビューにある通りよくて星4だけど、「どこまで覚えたらどのレベルか」を把握できるのは非常に良い。
ただし必ず版数は確認して最新版を買うこと

Silverは11も出ている。Silver 8と11のページ数比べたら100ページくらい違った(笑
#8.徹底攻略 Java SE 8 Gold,Silver 問題集
オススメ度:(受験するなら:★★★)

いわゆる黒本。

Goldとるときにはお世話になった。紫本+黒本2週ずつでGold取れたよ。
Silverの時はほぼ一切使わなかったからGoldも使わずに行けるかと思ったけど流石にそんなことはなかった。

微妙に紫本で出てない内容が出てきたりするから面食らう時もあった。

#9.Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発
オススメ度:★★

先輩が持ってた本。読ませて見てもらって良かったので購入

ただし入門というには分厚すぎるし難しい
Springを触ったことがある。かつ少し深入りする必要が出たときに辞書的に使える。
浅く広くの辞書的な意味合いでは非常に良いと思えた。
Springを使ったプロジェクトに1冊あると安心できるかな?

以下参考
令和時代に「Spring入門」「Spring徹底入門」を読むとき気をつけるべきN個のこと
https://qiita.com/suke_masa/items/392976749fce94a8ef1f

やっぱ今時コンストラクタインジェクションだよねぇ・・・

コンストラクタインジェクションが推奨されている理由を自分なりにまとめてみる
https://qiita.com/jackazu/items/aead50c699fefe56c120

#10.現場至上主義 Spring Boot2徹底活用
オススメ度:★★

Spring Bootの本。
うまく伝えられないが、実際に個人で忘年会用のwebアプリを作るときには参考になった。
ただまぁ、現場至上主義かどうかは疑問。というよりも新人の研修資料として優秀かも

先輩が新人向け研修資料の参考にする。もしくはSpring Boot触ったことない人間が参考にする。という場面で使うものに見える。
Amazonの少ないレビューが賛否両論すぎて反応に困る逸品。
#11.Javaで学ぶ自然言語処理と機械学習
オススメ度:なし

Javaで!自然言語処理かつ機械学習!?ということでタイトル書い

ぶっちゃけむっずい!チラッと読んでキッツゥ!ってなった。
あとほぼ全部手実装で紹介してる。すごい。
Javaとはいえ、ゼロから作るDeepLearning読んでる気分になった。

#12.Deep Learning Javaプログラミング 深層学習の理論と実装
オススメ度:なし〜★
JavaでDeepLearningを理解するための本かつDeepLearning4jの入門チックな内容が乗っている本

Deep Learningまじでやりたいけど、Java以外の言語に手を出すとアレルギーで死んじゃう!って人・・・いる?

ただしそもそもDeep Learning系の本自体が難しいのでその例に漏れない。(ゼロから作るDeepLearningでわかりやすいってまじかよ的な人間の感想)
#13.Java データ構造とアルゴリズム基礎講座
オススメ度:なし
「プログラマたるものアルゴリズムわかってないよだめよ」的なことをどっかで聞いたので購入

アルゴリズムとはなんぞやからわかったので良かったけど、「Javaだと既にAPIで実装されているからここで紹介したコードを実際に使うことはないと思うよ(要約)」って書いてあって「えっ」ってなった。

ある意味そのレベルの人間だったというのがわかった意味では非常に良かったが、今調べたら出版してるの2009年でビビる。古書じゃないですかー
#14.作って動かすALife ―実装を通した人工生命モデル理論入門
オススメ度:判定不能
ALifeって何?人工生命って漫画に出てきたかっこいいやつじゃん!実装できるの!?
ってなったので購入

漫画に出てくるような人工生命の実装の紹介ではなく、「コンピュータを使った生命の本質とは何かを追い求める歴史と実装の紹介」がメイン。

初めて読み終わったあとは「DeepLearningとかよりも圧倒的にすごいじゃん!人類の未来は明るい!みんなにオススメしたい!」と凄まじくハイテンションだったのだが、もう一度読み直したら全くそんなテンションにならなかったため、オススメ度は判別不能とします。まじでなんだったんだ

この技術と機械学習とかをうまく組み合わせたらすごいのできそうとは思わなくはないけど、ちょっと先取りしすぎ感はあるかなぁと
#15.ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
オススメ度:★
流行ってるから買おう!興味あるし→絶望

数学苦手な人は割と発狂すると思います。(体験談
読み返したら書き込みしてて哀愁を誘いました。

入門書ではあるがそもそもの内容が難しい。その点だけしっかりと頭に入れて買うと良い。

この本のおかげで「さっさと適当にGithubにあるプロジェクト持ってきて動かしてから理解しよう」という気分になれて、かつ多少は概念的なものとか調べ方とかの検討は付けられるようになったので買って無駄ではなかった。

#16.SQL逆引き大全363の極意
オススメ度:判定不能
もらいもののため判定なし

SQLを覚える気が皆無のため、SQL書くときは常にこれを片手にやっている。
なんでこんなに覚える気ないんだろうか。自分でも不思議。
他のSQLの本がないから比較できないけど、自分的には必須。
いい加減覚えろと言われると反論できない。

#17.深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト
オススメ度:★
勘違い?して購入

知識としては面白いけど、実装方面の話は載ってない。
というかG検定が実装とかじゃなくて事業への活かせるようにと言う目的の試験らしい
みなさんは買う前にちゃんと調べましょう

まじで教科書。読み物としては面白かった。暗記したいかは微妙

#18.プログラミング言語図鑑
電子書籍のため写真なし
オススメ度:★★
息抜きの読み物として購入。面白かった。
そもそもこんなにプログラミング言語なんてあるんだと言うことで感動。
後、Rubyが日本産の言語だなんて知らなかったよ。ごめんなさい。

特にお気に入りなのが「Brainf○ck」。もはや暗号である。

#買ってちゃんと読んだのは以上
#以下買ったけど読んでないもの
1.「Docker/Kubernetes 実践コンテナ開発入門」
Docker使ってはみた。本は読んでない。Docker使えない奴はヤベーヨって記事を見かけたので購入。
会社のPCでなぜかbiosの起動がどうやったらいいかわからないため日の目をみない。ヤベーヨ
Spring FestでGoogleの人がjibを紹介してくれたので、Docker使ってみる気になれた。jibすごい
2.「テスト駆動開発」
テスト駆動開発自体は宗教みたいな意見もあったので買ってみたけど、そもそも自動テストを自体をまもに勉強できてないから先にそっち勉強しないと
3.「アジャイルサムライ−達人開発者への道−」
カイゼンジャーニーに出てきたので買っといた。暇ができたら読む。

その他紹介するのもめんどいのが計15冊。主にオライリーの機械学習関係と資格の本。
一時期オライリーの本を集めるのにハマってた遺産

読んでない本多すぎる!

間違ってるところあったら言ってください。

以上、よろしくお願いいたします。

4
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?