2018年もまもなく終わりですね!ということで。
今年は新しい言語にチャレンジしたりWebアプリを作ったりと、先人の知恵が詰まった素晴らしい書籍にたくさんお世話になった年だったので、同じような知識をこれから必要とする方のために今年「買って良かった・役に立った技術書」をまとめて紹介したいと思います。
せっかくなので万人におすすめかとかを一切考慮しない、個人的に特に気に入った・今年お世話になった俺得本ベスト5も選んでみました。書籍タイトルにこんな感じで順位を付けてます。
初心者向けの書籍も多いのでJavaScript、Python、Unityあたりにこれからチャレンジしてみようかなーと思ってる方は良ければ参考にしてみてください。
[toc]
JavaScript
確かな力が身につくJavaScript「超」入門
「テキストエディタとブラウザがあれば今すぐ始められます!」というタイプの本当にはじめての方にもおすすめしやすい入門書。初心者歓迎!と謳っておきながら「node.jsはインストールしておいてください」的な初学者を置いてきぼりにしてしまう本ではありません。
プログラミングやったことないけどチャレンジしてみたい、雰囲気を掴みたい、せっかくなら自分でなにか作って動かしている達成感もちょっとは感じたい!という人におすすめ。
[st-kaiwa1]6章以降は色々浅いのでサラッと流してOK。深追いしてもこの本に答えはありません。[/st-kaiwa1]
[st-mybox title=”こんな人におすすめ” fontawesome=”fa-check-circle” color=”#4FC3F7″ bordercolor=”#4FC3F7″ bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
・プログラミングに興味がありはじめて勉強してみようと思っている方
・JavaScriptやJQueryをコピペで凌いできたWebデザイナー
[/st-mybox]
【第3位】 改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
ベストではないです。ないですが、プログラミング経験者(言語問わず)で、これから素のJavaScriptを本格的に勉強しようとしてる方は必読じゃないかなと。良書です。
ただJS初学者がこれを1冊目に読むと99%挫折すると思います。日本語的に読んでいて「?」となるところも少なくなく割と読み疲れる本です。僕は疲れました。プログラミング初心者には2冊目か3冊目に読んでほしい本。
取り扱っている内容に関して個人的には大きな不満はなし。ES5メインからES6以降にシフトしていきたい人にもおすすめできます(ただしES6の仕様が網羅できるわけでない)。
一通り理解出来ればWebアプリ開発で必要な基礎知識は大体身に付きます。モダンなフレームワークを習得したい方はその前にこれ読むと良さげ。
マイナスポイントは逆引きリファレンス(辞書用)としては使いづらいところですかね。
[st-mybox title=”こんな人におすすめ” fontawesome=”fa-check-circle” color=”#4FC3F7″ bordercolor=”#4FC3F7″ bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
・ES5をおさらいしつつ、ES6以降の仕様に徐々に慣れていきたい方
・モダンなフレームワークを学ぶ前に素のJavaScript勉強しておきたい方
・Webアプリ開発に必要なDOM操作、イベント処理、Ajaxの使い方等を習得したい方
[/st-mybox]
徹底マスター JavaScriptの教科書 プログラミングの教養から、言語仕様、開発技法までが正しく身につく
言語仕様からしっかり理解させようとする意図を感じる本。構成は良いです、ただ説明が分かりづらいと感じるところが多かった。理解してる人でも混乱しそう。
初版発行2017年3月と比較的新しい書籍にも関わらずES6以降の内容が少ないなところもちょっとポイント。悪くない本ですがイマドキJSを中心に学びたい人にはあまりおすすめできません。個人的には買って良かったですが、ちょっと読み手を選ぶ気がします。
[st-mybox title=”こんな人におすすめ” fontawesome=”fa-check-circle” color=”#4FC3F7″ bordercolor=”#4FC3F7″ bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
・Java・Ruby・Pythonなどのクラスベースのオブジェクト指向に慣れているプログラマ
・ES5を中心に、JavaScriptそのもの(言語仕様)の理解を深めたい方
[/st-mybox]
JavaScriptエンジニアがTypeScriptの特徴を「超」手っ取り早く大まかに把握するための本
「最近のJavaScriptこわい」「もうヤダ、TypeScript勉強しよ」となったときにとりあえず読んでみると良い感じのやつ。価格も250円程度とお手頃なので、本格的に勉強始める前に有識者にコーヒー奢って「こんな感じだよ〜」って教えてもらうくらいの軽いノリで買うのが◎。
[st-mybox title=”こんな人におすすめ” fontawesome=”fa-check-circle” color=”#4FC3F7″ bordercolor=”#4FC3F7″ bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
・TypeScriptってどんなもの?素のJSとどう違うの?を超ざっくり把握したい人
[/st-mybox]
Python/Django
詳細! Python 3 入門ノート
Pythonで機械学習したりWebアプリ作りたい人が、とりあえず基本的な文法を学ぶのにおすすめ。
演習量が膨大なので手を動かしながら覚えたい人には相性良さそう。後半ではライブラリを使用した機械学習を体験するところまで行うので、データサイエンティスト目指す方の1冊目にも良さげです。
後半やや誤植が目立ちますが、正誤表があるので大きな問題はなし。学習環境がAnaconda前提なのはちょっと好みが分かれるかも。
[st-mybox title=”こんな人におすすめ” fontawesome=”fa-check-circle” color=”#4FC3F7″ bordercolor=”#4FC3F7″ bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
・Pythonで機械学習やWeb開発を行うためにまずは基本的な文法を学びたい方
・ライブラリを使用した機械学習を体験してみたい方
[/st-mybox]
【第1位】 現場で使える Django の教科書《基礎編》
Django待望の日本語書籍!!技術書典4で頒布された書籍をベースに加筆・修正が加えられた薄いけど薄くないDjango本です。
知りたかったことがベストプラクティスにズバリ!で自分にとってはまさに現場で使える教科書。中途半端に翻訳された公式ドキュメントに読み疲れ、詰まってはググりStack Overflowを読み漁っている全てのユーザーにおすすめします。
注意点としてはPythonの文法やそもそもフレームワークとは?といったことについては触れていないので、全くの初心者にはおそらく理解が難しい内容です。最低でもシンプルなDjangoアプリを1つ2つどうにかこうにか一通り作り切ったあとで手に取りましょう。すると「なるほど!こうすれば良かったのか!」と、きっと素晴らしい学びが得られます。
[st-kaiwa1]プログラミングやDjangoが全くの初めての方は、書籍ではないですがUdemyの「プログラミング初心者でも安心、Python/Django入門講座」を先に受講されることをおすすめします。こちらも素晴らしい講座です。[/st-kaiwa1]
[st-mybox title=”こんな人におすすめ” fontawesome=”fa-check-circle” color=”#4FC3F7″ bordercolor=”#4FC3F7″ bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
・Djangoの良質なTipsがまとまった日本語の書籍が欲しい方
・Django公式ドキュメントやStack Overflowを読み漁ることに疲弊している方
・Python/DjangoでWebアプリを開発したい全ての方
[/st-mybox]
現場で使える Django の教科書《実践編》
上で紹介した「現場で使える Django の教科書《基礎編》」の続編です。
基礎編では触れていなかったソーシャルログイン(認証周り)やAjaxの実装方法、ユニットテストの行い方、更にはクラウド環境へのデプロイまで手厚く解説してくれています。
《基礎編》と合わせて読むことでDjangoアプリを世に公開するところまで自力で辿り着けるでしょう。基礎編を読んで良かったと感じた方には間違いなくおすすめです。
(め、めちゃくちゃ良い本なのにAmazonのレビューがない…!??)
ゲームを作りながら楽しく学べるPythonプログラミング
Pythonのゲーム製作用モジュールPygameを使用したシンプルでレトロなゲームの作成方法が学べる本。サンプルゲームを遊んだりソースを読んでいるだけでも勉強になります。
一応前半はPythonの解説もありますがあまり初学者向きではないので、他の入門書等で基礎的な文法を勉強した後に手に取るのがおすすめ。レイアウトにやや難がありオンデマンド(ペーパーバック)版は見辛いというコメントが目立ちます。Kindle版で文字サイズ画面幅を好みの設定にして読むことをおすすめします。
C#
確かな力が身につくC#「超」入門
プログラミング全くの初心者でもOKなC#勉強の1冊目におすすめしたい本。Unityの人気書籍「Unityの教科書」と同じ著者の方が書かれています。
C#を理解した上でUnityでゲーム制作したい、でもプログラミング未経験だから難しい本は挫折するかも。そういう方にちょうど良い内容・難易度の書籍。
[st-mybox title=”こんな人におすすめ” fontawesome=”fa-check-circle” color=”#4FC3F7″ bordercolor=”#4FC3F7″ bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
・プログラミングが全くのはじめてでこれからC#を勉強しようと思っている方
・Unityを触る上で押さえておきたい必要最低限のC#の知識を身に付けたい方
[/st-mybox]
独習C# 新版
読みかけ。前作第3版は以前に読了済み。モダンなC#の仕様に対応したことはもちろん、訳書ではなくなったことでだいぶ内容が理解しやすくなっています。
Unityを触る前に一通り読んでおこうと購入したんですが、個人でゲームちょろっと作るくらいならここまでC#知らなくても良さそうかな…というのが正直なところです。前作同様、C#初心者〜中級者への橋渡し的な本としては優秀だと思うのでXamarin触る前にでももう一度じっくり読んでみようかなーと思っています。
スラスラわかるC# 第2版
こちらも読みかけ。2018年11月に発売されたばかりのC#入門書です。
プログラミング初心者への配慮が随所に感じられるものでありながら、中級者でも気付きを得られそうな説明が随所に見受けられやさしくも濃い印象です。良書の予感がします。一通り読んだらレビューを書き換えたいと思います。マイクロソフトちょまどさん推薦!
Unity
[st-card id=2257]
Unityの教科書 Unity 2018完全対応版 2D&3Dスマートフォンゲーム入門講座
Unityがはじめての人におすすめ。とにかく解説がていねいです。最初は戸惑いがちなUnityの画面・各種機能にまだ慣れていない方にもおすすめ。
UnityではじめるC# 基礎編
脱出ゲームの解説は個人的にも学ぶものが非常に多かったです。書籍で解説しているアプリを改造すればオリジナルゲームが割と簡単に作れそう!
【第2位】 Unityの寺子屋 定番スマホゲーム開発入門
上記「UnityではじめるC# 基礎編」の続編。前著とは異なるジャンル(放置ゲーム・クッキークリッカー・サイドビューアクション)の作り方を解説しています。
先の記事でも書いてますが、2018年最も満足度の高かったUnity本です。
Linux
標準テキスト CentOS 7 構築・運用・管理パーフェクトガイド
読みかけ。まだ1/4程度しか読めてませんがLinuxペーペーの自分でも特に詰まるところなく学べています。全960ページとボリュームがもの凄いですが、CentOSでサーバー構築運用することになったらとりあえずこれ買っとけばなんとかなりそう。そんな一冊。
Git
【第5位】 わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉
しばらく開発から離れていたのでGit使う必要がなかったんですが、今年は開発ゴリッとやるぞということで習得しようと最初に手に取った本がこちら。良書ですね。基本的なGitの使い方はこれ一冊で十分学べます。
個人開発でアプリなりゲーム作るくらいであればこの一冊でOK、黒い画面が苦手なWebデザイナーさんや非エンジニアの方にもおすすめしたいGit入門に最適な入門書です。
[st-mybox title=”こんな人におすすめ” fontawesome=”fa-check-circle” color=”#4FC3F7″ bordercolor=”#4FC3F7″ bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
・いにしえの手動バックアップから卒業したい方
・Git/SourceTreeの基本的な使い方をやさしく学びたい方
[/st-mybox]
クラウド
プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで
Google Cloud Platformの入門書。
タイトルの通り「プログラマのための」であって、インフラに精通している方や既にAWSやAzuruを触った経験がある人向けではありません(おそらく平易過ぎて得るものなさそう)。アプリケーション開発者で今までレンタルサーバーやVPSは使ってきたけど最近はクラウドもちょっと興味ある、軽く触ってみたい、そんな方の1冊目におすすめの本です。
[st-mybox title=”こんな人におすすめ” fontawesome=”fa-check-circle” color=”#4FC3F7″ bordercolor=”#4FC3F7″ bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
・AWSやGCPなど、パブリッククラウドに興味はあるが一度も使ったことがない方
・Webアプリやオンラインゲームのアプリ開発者でクラウドの利用を検討している方
[/st-mybox]
Web API
【第4位】 Web API: The Good Parts
使いやすく、美しいWeb APIは如何にして作るのかが学べる本。非常に良書です。
エンドポイント設計一つとっても必ずしも「REST」の定義に沿うことが望ましいわけではないなど、API設計前段階に知っておきたいノウハウ・考え方がコンパクトにまとめられています。
自分が今年作ったアプリもAPIを用意しAjaxで適宜必要なデータを取得する形を取っていますが、全く手を付けたことのない領域だっただけにこの本はめちゃくちゃ参考になりました。
今回紹介する中では少々マニアックな本ですが個人的にとても重宝したので俺得ランキング入りです。
[st-mybox title=”こんな人におすすめ” fontawesome=”fa-check-circle” color=”#4FC3F7″ bordercolor=”#4FC3F7″ bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
・はじめてWeb APIを開発・設計するエンジニア
・使いやすく・アップデートしやすいWeb APIの基礎的な考え方を学びたい方
[/st-mybox]
その他
その他、技術書じゃないけど合わせて読みたい本、サクッと読んだだけ、まだ未読了だけど良いと感じてる本を最後に軽くご紹介。
良いウェブサービスを支える「利用規約」の作り方
Webサービスを立ち上げる上で絶対に必要な「利用規約」「プライバシーポリシー」の作り方が学べる本。技術書ではないですがとてもお世話になりました。
実際に使える利用規約のサンプルがあるのも素晴らしいんですが、実際にあったトラブルの事例を挙げつつ「こうならないために、規約にはこう書きましょう」と解説してくれているので、自分のサービスの場合はどう書けばいいのかをしっかり考えて作ることができるのがとても良いです。
弁護士や行政書士にお願いする方でも、予期せぬトラブルを未然に防ぐために一通り読んでおくことをおすすめします。
ネットビジネスで必ずモメる法律問題
上記と合わせて読みました。
例えば外注でサイト制作してもらう場合契約書にはどんなことを書けば良いのか、どういったことが著作権侵害に当たるのか、仮想通貨に関わるサービスを立ち上げるときはどんなことに注意すればいいのか、などなど。
Webサービス含め、ネットを使ったビジネスをする上で起こりがちなトラブルを未然に防ぎ、法的リスクがないかを確認するチェックリストとして使える本です。
初めてのThree.js 第2版 ―WebGLのためのJavaScript 3Dライブラリ
HTML5で3Dコンテンツを制作するためのJavaScriptライブラリ「Three.js」の入門書。オライリー本ですが説明も分かりやすくフルカラーなのでとても読みやすいです。サンプルを動かしているだけでも楽しい!
現場のためのSwift4 Swift4.1+Xcode9.3対応
通称「鈍器」。単にiOSアプリの開発方法を解説するだけでなく、プロジェクト全体にフォーカスしてるのがよいですね。パラパラと眺めた程度ですがSwiftガッツリ勉強するときはまず手に取りたい一冊。
スッキリわかるJava入門 第2版
よくよく考えたらJavaを習得する必要が全くないことに買ってから気付いたため全部は読んでませんが、サラッと読んだ感じとても良いです。優しいです。これで挫折することはまずないでしょう。紹介するまでもない人気書籍。プログラミング初心者向け。
以上、買って良かった技術書まとめでした!
振り返り(にみせかけたポエム)
紹介した本を見ていただくと分かる通り、今年は言語としてはPython・JavaScript・C#、フレームワークはDjango、DBはMariaDB、クラウドはGCP、ゲームエンジンはUnity、サラっと触ったところとしてはモデリングでBlender・MagicaVoxelとか、あとはGit使えるようになったり、CentOS7ちょろっと触れるようになったり、Google Maps Platform(Maps JavaScript API、Places API)の知見もそこそこ溜まったかな。そんなところで遊んでました。
こうして並べてみると今年はじめて触ったものがほとんどですね。
ここ1、2年技術的なことから離れ気味だったり、不慣れなものも多い中でしたが、なんとか作りたかったものも年内に形にできたので良かったです(絶賛開発中だけど)。
改めて一年全体を振り返ってみても、今年は一年を通して上手いこと「没頭」できた年だったなーと感じます。
作りたいものが作れた!というのももちろん嬉しいことですが、今年に関しては年初から狙ってその状態を作りにいって、そしてそれが実際にできた。これが自分にとっては何よりの収穫です。だって極論それが出来たら技術だろうがなんだろうがいつでもいくらでも身につけられますからね。
何の話してんねんと思われるかもしれませんが、この記事で紹介してるようなジャンルの技術習得なんて心さえ折れなかったら誰でも出来ることなんですよ。「挫折」しないで、ワクワクした気持ちで「没頭」さえできれば。だから割と大事な話だと思ってます。
続かなかったり思うように進まないときは大体頑張り方を間違えてるだけ。イチロー選手の言葉を借りますが、自分で努力だと思ってるうちはそれは努力ではないんですよ、やっぱり。
プログラミングにもプロスポーツにも限らない話ですね。
努力は娯楽化してナンボだなと、そんなことを改めて実感した一年でした。
楽しかったぜ!\(^o^)/
2019年はあれとかあれとか
来年は引き続き先の習熟度も高めつつRuby(Rails)、Swift、Kotlin、Go、Docker、AWS、NEM API、あたりを触りたいなーと思ってます。VR/ARも興味ありますね。
いずれもド素人なので「この本おすすめだよ」とか「ここ見るとよくまとまってるよー」とかあれば是非Twitterとかで教えてください。
そんなとこですかねー。
最後に今年俺得だった5冊をまとめておきます。
[st-minihukidashi bgcolor=”#FFB74D” color=”#fff” margin=”0 0 20px 0″]2018年 俺得技術書ベスト5[/st-minihukidashi]
第1位 現場で使える Django の教科書《基礎編》
第2位 Unityの寺子屋 定番スマホゲーム開発入門
第3位 改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
第4位 Web API: The Good Parts
第5位 わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉
気になる本があればぜひ手に取ってみてください。
来年もどうぞよろしくお願いいたします。それではよいお年を〜