LINUX

Linuxの学習におすすめの書籍

皆さんこんにちは!
WEB開発の環境として、Linuxの理解は必要不可欠です。
近年の開発では、生のLinuxマシーンを使用する事は少なくなり、Dockerなどを使用した開発が一般的になっています。

しかし、Dockerなどの仮想環境を使用するにしても、Linuxの知識は必ず必要になります。

Linux自体は、WindowsやMacOSなどと同じようなもので、何も難しいことはありません。
ただ、コマンドラインでの操作がメインなので、GUIでのPC操作に慣れている方には不便に映るかもしれません。

Linuxの理解を深める事で、開発速度や開発効率が圧倒的に高くなります。
Macを使用している方は、Linuxコマンドがほとんど、そのまま使用できるので、勉強しておくことで二重にお得です。

Linuxを触り始めたばかりの方向け

初めてLinuxを触る方は、何をすればいいのか?また何が出来るのかも分からない状況だと思います。

そこで、実際にLinux環境で手を動かして学習することが出来る書籍がお勧めとなります。

新しいLinuxの教科書

1冊目に紹介するのは、Redhat系、Debian系に対応した「新しいLinuxの教科書」です。

この書籍はLinux入門書の決定版と言えるくらい素晴らしい内容です。
Linux自身の機能だけでなく、近年見直されているシェルスクリプトの基本まで解説があり、実際に手を動かしながら学ぶことが出来ます。

この本は本当にわかりやすいです。
無駄な解説が無く、コマンドのオプションも良く使用するものは表示結果付きで解説があります。

シェルスクリプトの解説についても、実際に手を動かして学ぶことができるので、初心者や入門者がLinux環境に慣れるのには最適です。

さわって学ぶ Linux入門テキスト

Linuxサーバーの中で人気の高いディストリビューションの「centOS」の環境構築から丁寧に解説している書籍です。

1冊目に紹介した書籍よりも、更に丁寧に解説されている印象です。

私個人は、「新しいLinuxの教科書」の方が好きですが、どちらでもLinuxに慣れ親しむことが可能なので、お好きな方を選ぶと良いかと思います。

本気で学ぶ Linux実践入門 サーバ運用のための業務レベル管理術

入門書で学習した後に、手に取ってほしい書籍がこちらです。

機能を網羅的に解説してあるので、リファレンス的に使用する事も可能です。

サーバー関連の書籍の中では随分読みやすいかと思います。
サーバーやネットワーク関連の書籍は、内容が重く学習していてもかなり辛い部分だと思います。

ただ、とても大切な部分なので、書籍で体系だった知識を身につけましょう。

CentOS8で作るネットワークサーバ構築ガイド

この書籍はとても重いです。
最初から順番に読み進めるというよりは、リファレンス的な使い方をしていくと良いかと思います。

サーバー構築・運用管理に必要な項目は、丁寧な解説で網羅されていますので、手元に是非、置いておきたい書籍です。

CentOSのインストールから、DNSやWWWなどの外部公開サーバの構築、DHCPやLDAP、ネットワークサーバの管理方法まで、これ一冊でわかります。

少々高価な書籍ですが、値段に見合った価値があると思います。

Linuxプログラミングをやりたい人向けの書籍

Linuxの仕組みをシンプルに学ぶには、Linuxでのgccプログラミングを学習すると、とても効果的です。

「Linux世界が何によってできているのか」という事に、触れられるので是非、学習してみると良いかと思います。

ふつうのLinuxプログラミング 第2版

非常に丁寧に書かれていますが、プログラミングを触ったことが無い人には少し難しいかもしれません。

実際に手を動かしてLinuxコマンドを実装していくことが出来る書籍なので、動かしながら、ゆっくりと理解すると良いかと思います。

例解UNIX/Linuxプログラミング教室: システムコールを使いこなすための12講

2007年にピアソン・エデュケーションから発行された『例解UNIXプログラミング教室 ―システムコールを使いこなすための12講―』の改訂版です。

正直、C言語を触ったことが無いと、難しい書籍です。
ただ、サンプルコードが短く解説も丁寧なので、この手の書籍にしては随分と理解しやすいかと思います。

ここまでやって、初めて入門レベル卒業と言える書籍だと思いますので、是非、チャレンジしてみてください。

サーバーサイド言語の学習

Linuxサーバーを構築する人の大半は、Webプログラミングを行いたい方だと思います。

PHPは、初心者の方でも学びやすいのでPHPでWebプログラミングを学習することをお勧めします。

PHPのお勧め書籍はこちらをご確認ください。

Web開発におすすめの書籍はこちらよりご覧ください。

データーベースの学習書籍

近年の開発で必ず必要になるのが、「データベース」です。

データベースも種類が多く、また、書籍も非常に多いのでとても難しい分野になります。

ここでは、MySQLに絞って書籍をご紹介します。

基礎からのMySQL 第3版

まさに入門書の決定版と言える書籍です。
体系的にMySQLのことが学べます。

ただ、PHPとの連携は触りだけなので、その辺の知識の穴埋めは別途必要になります。

MySQL徹底入門 第4版 MySQL 8.0対応

MySQLの書籍の中のベストセラーです。
この書籍は、業務でMySQLを使用するなら必読です。

MySQLの運用で必須となる、レプリケーションなどの技術に関しても詳しく書かれていて、とても勉強になります。

MySQLは8.0以降、大きく使用が変わっているので、MySQLの5系を使用していた方も、是非、手に取ってみて下さい。

SQL 第2版 ゼロからはじめるデータベース操作

SQLはデータベースを操作する言語になります。
SQLは、多少の方言はありますが、殆どのデータベースで標準化され、使用が可能です。

SQLの初学者の方は、この書籍で学ぶと良いでしょう。

最近のサーバーサイド言語では、データベース操作をラッピングして生のSQLを書く機会が減っていますが、SQLを理解していない状態で、フレームワークを使用すると、トラブルに対応できなかったり、パフォーマンスが悪いまま運用することになったりと良いことがありません。

SQLもしっかりと理解して下さい。

まとめ

サーバー関連の書籍は、重いものが多く学習していて挫折しやすいです。

今回は紹介していませんが、Docker等の仮想化技術や、AWS等のクラウド環境での開発が近年主流です。

いきなり、AWSやDockerの学習から始めるより、遠回りに見えますが、Linuxの基礎から学ぶことで、体系的な知識が身につき、トラブルに対応することが出来るようになります。

自分でサーバーを立上げ運用していくことで、色々なトラブルに遭遇するので、ここで紹介した書籍で身に着けた技術が必ず役に立ちます。


是非、皆さんも素晴らしいWEBサービスや、アプリケーションを開発し、公開してみてください!
最後まで、ありがとうございました!