仮想サーファーの波乗り

仮想サーファーの日常

プログラミング・エンジニアのスキルアップ・ブログ運営などに関してよく書く雑記ブログ

➡ Udemyで8/27(木)まで割引セール開催中! 1,200円〜で普段の90%以上OFF!

【オススメ技術書55冊】Kindleセールで12/9まで半額の本をエンジニアの学ぶ目的別にまとめ

f:id:virtual-surfer:20191130162950p:plain

技術書って1冊で3000円くらいかかって結構な出費になってしまうので、買うのをためらうことありますよね...。

そんな方に朗報です!!Amazonで2019年12月9日までなら普段の50%OFFで買える技術書をまとめました!


仮に10冊買ったとして、普段なら3万円くらいするのに、1.5万円で買えてしまうことに!

控えめにいって最高ですね。

ぼくもこの期間に読みたい技術書(Kindle)を一気に買っておいて、週末の空いた時間などに読もうと思っています。

【Kindle技術書50%OFFセール(12/9まで)】を見てみる

↑この記事で紹介しているKindle Saleは、2019年12月9日で終了しました。


この記事では、Amazonで50%OFFになっている技術書の中でも、目的別にオススメの技術書を紹介していきます。


プログラミング初心者の方にオススメ

IT業界で頻繁に使う用語をざっくり学びたい

IT業界で働くなら頻繁に耳にすることになる用語を学びたい方向けの本。

図付きでザッとIT用語を学べる。こんな用語があるんだなと知っておくだけでもしておけば、仕事の会話で出てきても困らないのでサッと読んでおくとよいです。


HTML/CSSに入門したい

Webサイトの基本中の基本となる、Web上に表示する文字や画像などを指定するためのHTMLと、画面や文字のデザインを調整するためのCSSに入門したい方向けの本。

プログラミングを始めるときに最初に始めるのがHTMLとCSSになると思います。

Progateなどで簡単なHTMLとCSSを学んだ後に、実際の仕事でHTMLとCSSを書くときに何に注意すればいいのかを学べます。


JavaScriptに入門したい

人気プログラミング言語としてここ数年上位に君臨するフロントエンド言語のJavaScriptに入門したい方向けの本。

プログラミング言語を最初に学ぶときに呪文のように見える英語の羅列。そのそれぞれが何を意味しているのかフリガナがふられていて理解しやすいようになっています。JavaScriptに入門するときに読みたい本ですね。


Vue.jsに入門したい

スタートアップなどWebサービスを高速に開発するときによく利用されるJavaScriptのフレームワークVue.jsに入門したい方向けの本。

JavaScriptのフレームワークであるVue.jsに関しての入門書。JavaScriptの基礎を理解できたらVue.jsの入門として読みたい本です。


Reactに入門したい

Facebookによって開発されたJavaScriptのフレームワークであるReactに入門したい方向けの本。

JavaScriptのフレームワークであるReactに関しての入門書。JavaScriptの基礎を理解できたら読みたい本です。


Pythonに入門したい

InstagramやDropboxなど有名IT企業のWebサービスでも利用されているサーバーサイド言語のPythonに関して入門したい方向け。

こちらもフリガナがふってあって、書かれているプログラムの一語一語が何を意味しているのか初心者の方にも理解しやすいです。Pythonの入門書として読みたい本ですね。


こちらの本は、Pythonで実際に動くものをつくりあげることができるので、「実際に動くものを作ってみたい!」という方にオススメのPython入門書です。


Rubyに入門したい

日本人のエンジニアまつもとゆきひろ(@yukihiro_matz)さんによって開発されたサーバーサイド言語のRubyに関して入門したい方向け。

ProgateでRubyの基礎を学んでから、「実際に動くWebアプリケーションを作ってみたい!」と思ったときに読むと良い本です。


PHPに入門したい

簡単なWebサイトや、ECサイトなどで利用されることが多いサーバーサイド言語のPHPに関して入門したい方向け。

PHPに関して入門的な内容を図で説明した本。PHP初心者の方がざっくりPHPに関して知るために読むとよいです。


Javaに入門したい

Webサービスの開発はもちろん、Androidアプリの開発もできるなど、様々なプラットフォーム上で動かすことができるサーバーサイド言語Javaに関して入門したい方向けの本。

Javaに関しては、ぼくも初心者の頃に様々な本を手にとって比較してみましたが、こちらのスッキリわかるシリーズが一番わかりやすかったです。Javaに入門したい方にはぜひ読んで欲しい本です。


Goに入門したい

Googleによって開発され、ここ数年で急激に利用する企業が増えてきているGo言語に関して入門したい方向けの本。

こちらはGoの入門書として一番わかりやすいと思っていますが、プログラミング自体が初心者の方にとっては理解しづらい部分も多いと思います。何か他のプログラミング言語を理解した上で読むと良いと思います。


「Go言語でWebアプリケーションを作ってみたい!」という方にオススメな本です。本の説明にそって手を動かしていくことで、簡単なWebアプリケーションを作り上げることができます。


C++に入門したい

C++に入門するうえでは最適な本だと思います。C++の基礎をところどころでサンプルコードを用いて簡潔に説明されています。他の言語の経験がないと理解しづらい部分もあると思うので、サーバーサイド言語としてJavaやPythonに入門した後で読む方がいいですね。


Unity/C#(ゲーム開発)に入門したい

スマホアプリ向けゲームやVRゲームなどゲーム開発時に利用することが多いUnity(C#)に関して入門したい方向けの本。

Unity未経験でも本の解説にしたがって手を動かしながら読み進めることで、ゲーム開発の流れを理解しながら簡単なゲームを作り上げることができます。Unityさわったことないけど、ゲーム開発してみたいという方にオススメです。


Unityでかんたんなゲームを開発する方法を、どのようにプログラムを設計すればいいのかとともに学ぶことができる良書です。C#に関して基本的な文法を理解した上で読むとよいです。


Gitに入門したい

チームで開発するときに必ず利用することになるバージョン管理システムのGitに入門したい方向けの本。

ProgateでGitに関しての講座をやり終わり、実際にGitを使っている人がGitの仕組みをきちんと学びたいときに読むとよい本です。業務で利用するコマンドは一通り網羅されているので、これを読んでおけば業務で困ることはないでしょう。


プログラミングの仕組みを学びたい

プログラミングの仕組みや基本的な考え方に関して学びたい方向けの本。

コンピューターはどのような仕組みでできているのか、プロウグラムはどんな仕組みで動いているのかを学べる良書です。「コードを書いてプログラムが動くことはわかったけど、なんでプログラムって動くの?」などコンピュータの基礎に関して知りたくなったら読むとよい本です。


コンピューターの仕組みを学びたい

プログラミングをする上で避けては通れないコンピューターの仕組みに関して、ざっくりと学びたい方向けの本。

サーバーとは何か、サーバーにはどのような機能があるのか、どのような仕組みで動いているのかなど、サーバーの基礎に関して学びたい方向けの本です。


アルゴリズムを学びたい

動くだけのプログラムではなく、データ量が増えても計算量を少なくして高速に処理をするために必要なアルゴリズムに関して入門したい方向けの本。

ソートや探索など、基本的なアルゴリズムの種類に関して、図つきで理解できる入門者向けの本です。「もっと効率的な処理の方法ないのかな...?」と悩むことが増えたら学びたいところ。


データベースを学びたい

Webサービスの命といっても過言ではないデータ。そのデータを保管しておき、参照・更新することができる機能を提供しているデータベースに関して入門したい方向けの本。

そもそもデータベースとはなんなのか、データベースにデータを登録し、参照するためにはどうすればいいのかを学ぶことができる入門者向けの本です。


Webアプリケーションを開発する上で利用するデータベースとして選択されることが多いMySQL。そのMySQLの基本的な仕組み、運用方法、よく使うコマンドなど網羅的に解説された良書です。


データを登録・更新・削除・参照するときにデータベースとやりとりするために使われる言語であるSQL。そのSQLに関して、基本的なコマンドを理解するために活用できる初心者向けの良書です。


セキュリティを学びたい

Webアプリケーションを公開するときに知っておかないと、とんでもない損失を生みかねないセキュリティに関して入門したい方向けの本。

そもそもWebセキュリティとは?安全なパスワードとは?どうやってWebサイトを攻撃するのか?など、実例をもとにセキュリティの基礎が説明されていて、頭に入ってきやすい良書です。


セキュリティ関連の用語を網羅的に学ぶことができる入門者向けの本です。図付きで説明されているので、Web初心者の方にとっても理解しやすい本になっています。


ネットワークを学びたい

不正アクセスを検知したときや障害発生時などに調査するときに必要となるネットワーク知識。知っておかないと何もできなくなってしまう。エンジニアとして働くなら基礎だけは必ず理解しておきたいネットワークに関しての本。

ネットワークの基礎に関して学ぶうえで、この本が一番理解しやすかったです。エンジニア1年目に読みましたが、読んでよかった一冊。


Webエンジニアとしてさらに成長したい方向け

より拡張性・保守性の高いソフトウェアを開発したい、Webエンジニア1〜2年目で周りと差をつけたい方向けの本。


オブジェクト指向を学びたい

開発効率を長期的に高い水準に保ち、バグをうめこみにくくするために必須となるオブジェクト指向の知識を学びたい方向けの本。

この本がオブジェクト指向に関して一番理解しやすかったです。オブジェクト指向がなぜ必要となったのか?オブジェクト指向で開発しないとどんな辛いことが待っているのかが理解できます。へたな例を使わず、オブジェクト指向とは何かを説明しているのもよいです。


デザインパターンを学びたい

数年のうちに取って代わってしまうプログラミング言語よりも、十年やそれ以上変わらず活用できるデザインパターンに関して学びたい方向けの本。

同じ処理はまとめ、変更する際は一部だけを変更すればいいようにするなど、長期的に保守しやすいプログラムを書くために使われるパターンがまとめられたGoFのデザインパターン。そのデザインパターンをJavaの実例を元に理解できる良書。


ドメイン駆動設計を学びたい

ソフトウェアの設計パターンのひとつ、ドメイン駆動設計に関して学びたい方向けの本。

ドメイン駆動設計を学べる教科書のような存在である本。小手先の理論や実例にとらわれないように汎用的な内容にしようとされているためか、抽象的な説明が多いので読みにくい点も多いです。ドメイン駆動設計に関してしっかりと学びたい方向けの本ですね。


レガシーコードとの付き合い方を学びたい

長期的に運用されたシステムであれば必ず抱える技術的な負債をどう返済していくかを学びたい方向けの本。

長期的に運用保守されてきた歴史あるコード(レガシーコード)と戦う全ての人に読んで欲しい本。レガシーコードを運用保守していく上でなぜ単体テストが必要なのか、どのようにレガシーコードをリファクタリングしていけばいいのかなど、業務で活用できる事例(JavaとC++でのサンプルコード)が満載な良書です。


よりよいデータベース設計を学びたい

アプリケーションよりも寿命が長くなる場合が多いデータベースのよりよい設計方法を学びたい方向けの本。

データベースを設計するときに気をつけるべき考え方、設計のバッドノウハウなどがわかりやすく説明されている良書。データベースを設計する前に読んでおくことで、よくあるアンチパターンを埋め込まずに済みます。


SQLを扱う全てのエンジニアが読むべき本。SQLの基礎は理解したけど、複雑なデータ構造のデータを取得することはできないこともある、効率的なクエリをかけるようになりたいと思ったら読むとよいです。


設計レビューの仕方を学びたい

エンジニアとして働く上で、8割以上の時間はコードを読む時間になる。そのうちの半分以上の時間を費やしているレビューを効率的に進めたい方向けの本。

効率的な設計レビューの進め方、設計レビューでよくしてしまう失敗、設計レビューをするときに気をつけるべき考え方など、なんとなく設計レビューをしてしまっている全てのエンジニアが学びたい内容が詰まっている良書です。


テストから逃げないチームを作りたい

いまいち理解できていないテストの重要性を理解したい、テストを習慣化したチームを作りたいという方向けの本。

ソフトウェアテストの技法を学べる良書。「重要なロジックにテストコード書いて、画面上で動かして問題なさそうならリリースしていいでしょ!」という考えがいかに浅はかか痛感できるのでぜひ読んで欲しい一冊。


ソフトウェアをテストする上で重要な考え方(鉄則)がこれでもかとまとめられている。うなづきポイントが多すぎて首がもげそうになる。全部は無理でも、心に刺さった鉄則のいくつかを業務に生かしたいですね。


スクラムの基礎を学びたい

事業環境が凄まじいスピードで変わっていくのにともなって、ソフトウェアの要件も頻繁に変わってしまう。その環境でも柔軟に対応できる開発手法として注目されているスクラムの基礎を学びたい方向けの本。

スクラムでの開発手法をイメージしたいときに読む本。スクラムに関して漫画形式でわかりやすく説明されているので、実務での経験がなくても理解しやすいです。


アルゴリズムの誕生背景を学びたい

世界的によく使われているアルゴリズムがなぜ誕生したのか、どのような必要性から生まれたのかを知りたい方向けの本。

Webの世界で頻出する機能がどのようなアルゴリズムを使って実装されているのかが理解できる良書。アルゴリズムに興味がない人にこそ読んで欲しい本です。


認証技術/暗号技術

安全なWebアプリケーションを設計するために必須となる認証技術・暗号技術に関して学びたい方向けの本。

認証認可に関してググって記事でなんとなく理解したけど、体系的に理解したいという方に読んで欲しい良書。変化の早い認証・認可の技術ですが、2019年1月の出版なので最新の事例が学べます。


暗号技術に関して、この本がもっともわかりやすくて面白かったです。コンピューターの基礎知識が理解できていればプログラミングの経験がほとんどなくても難なく読め、暗号技術の概念と実践的な用途と業務でどのように生かすかを同時に学べる良書ですね。


後悔のないエンジニアキャリアを進めたい方にオススメ

エンジニアとしてのこれからのキャリアを考えたいと思ったときに読みたい本。

エンジニアとしての自身のキャリア像が描けていない方にぜひとも読んで欲しい本。ソフトウェアエンジニアとしてもっと成長していきたいとやる気がみなぎってきます。自分がこれからできること・選べるキャリアには何があるのかを知れるので、選択肢がより広くクリアに見える良書です。


エンジニアが知っておくべきお金の話をこれでもかと説明してくれる良書。エンジニアは技術を伸ばすことももちろん大事ですが、自由に使える時間をどう確保するか。そのためにお金が生まれる仕組みをどうやって作っていくか。人生の早い段階で出会いたかった本です。


機械学習エンジニア向け

2020年にはAIなど最先端技術を扱えるエンジニアが4.8万人以上も不足するだろうと予測されています。そんな売り手市場間違いなしの機械学習エンジニアを目指している方、機械学習エンジニアとしてより成長したい方向けの本。


機械学習をこれから学びたい

まだ機械学習エンジニアとして働いていないけど、機械学習をこれから学んでいきたいという方向けの本。

Webアプリケーションエンジニアから機械学習エンジニアになるためには、どのようにスキルを伸ばし、どのような機会選択していけばいいのか具体的に説明されている良書。これから機械学習エンジニアとして働きたいと思っている方はぜひ読みたい一冊です。


機械学習を学習する際に必ず問われるアルゴリズムの基本的なものに関して、図付きで紹介されている本。初心者向けにわかりやすく解説されているので、アルゴリズム初心者にとってもとっつきやすい本ですね。


機械学習を学ぶ上で理解しておきたいデータの扱い方、データの分析方法など基本的なことがまとまっている良書。実際に業務でどうデータ分析活用するかの事例も説明されていて、業務での活用にもつなげやすいです。


人工知能技術の各領域に関して、つまみ食いができる本。人工知能という広い概念の中にざっくりとどんな技術があるのかを知りたい方は読んでみるとよいです。


機械学習を活用して何か作ってみたい

機械学習の理論を学ぶよりも、機械学習を利用して実際に何か作ってみたいという方向けの本です。

統計の基本的な知識があってPythonで統計分析したい場合に読むと良い本です。逆にいうと統計の基礎知識とPythonの基本的な文法が理解できていないと読み進めるのがつらいです。


実際に手を動かしながら機械学習と深層学習の基礎、データの扱い方、よく利用するライブラリの利用方法などを学べる。


機械学習の理論を学びたい方向け

機械学習を実践的に利用する上で活用することになるPyTorchフレームワークやTensorFlowライブラリを理解するために補助的に使いたい本。

Facebookのメンバーが開発しているOSSの深層学習フレームワークであるPyTorchを用いた深層学習モデルの作成方法を学べる本。公式ドキュメントだけではPyTorchの使い方が理解できなかったという方は読むとよいです。


TensorFlowのGithubレポジトリを読んでいてわからなかった箇所を理解するために解説書として読みたい本。業務でTensorFlowを使っている人でないと活用する機会は少なそうです。


インフラエンジニア向け

最後に、インフラエンジニアの方向けの本です。


シェルプログラミングを学びたい

サーバの構築設定をする時などに活用する機会が多いシェルスクリプトを改めて学びたい方向けの本。

シェルスクリプトをなんとなく書いていた方向けの本ですね。シェルスクリプトを書くときに必要な知識はほぼ全て網羅されているのではないでしょうか。


障害対応の事例に関して学びたい

システム障害の事例に関して数多く紹介されている本です。障害対応時に素早く対応できるかどうかは、どれだけ障害対応の事例を経験しているかに大きく依存すると思います。その経験を伝聞経験的に学ぶことができます。


DevOpsの基礎に関して学びたい

DevOpsの基本的な概念、どのように導入すればいいのかがわかる本です。コンテナ、CI/CD、Infrastructure as CodeなどDevOpsに必要な基本的な用語が網羅されているので基礎理解をしたい方にぜひ読んでほしいです。


生産性の高い開発組織をつくっていくためには何が必要なのか、開発組織はいかにして改善していけばいいのかその考え方を学ぶことができる本です。開発組織の定量的指標の例など、参考になる部分も多いですね。


AWSの基礎に関して学びたい

AWSでEC2インスタンスを立て、Route53でドメイン切り替えを行うなど、AWSを運用する上での初歩的なことを手を動かしながら学べる良書です。AWSに入門したいという方はぜひ読んでみてください。


Lambdaでコードを実行し、S3とDynamoDBにデータを参照しにいき、Auth0で認証するなど、AWSでよく使うサービスに関して学べます。サーバーレスアプリケーションを開発する上での基礎的なシステム構成とそこで必要になるサービス知識を手を動かしながら学びたい方にぜひ読んで欲しい一冊です。


Elasticsearchに関して学びたい

全文検索システムとして採用されることが多いElasticsearchの実務での活用方法を学びたい方向けの本。

Elasticsearchを導入する方法、Elasticsearchで検索する方法、ログを分析する方法など、豊富な事例と応用的な使い方も書かれている良書。実務でElasticsearchを使うことになったら読みたい一冊ですね。


まとめ

以上、「【Kindle技術書セール】12/9まで50%OFFで買える!エンジニアの学ぶ目的別にオススメ超まとめ」でした。

「なんでこの本紹介してないのさ!」と思われた方もいるかもしれませんが、12/9までAmazonで50%OFFで購入できる本のなかで選んだことにご了承いただければと思います。

今回紹介した技術書以外にも、50%OFFの技術書をみてみたいという方は、こちら↓から飛べます。

【Kindle技術書50%OFFセール(12/9まで)】を見てみる


安くなっているタイミングで一気に買ったら、積読せずに年内には読み切りたいですね...!

ぼくも強い意志をもって読みきります。

では。