HTMLから始めたド素人がwebサービスをリリースするまでに読んだオススメの本10冊

 どうも、naotyです。年末なので、他のエンジニアの方々にならって、僕も一年のまとめをしようと思います。

 昨年5月に、就活にあきてエンジニアになろうと思ってから1年7ヶ月後、おかげさまでひとつのwebサービスを公開できるまでになりました。お世話になった方々への感謝の意味と、あと昔の自分と同じように、これからエンジニアの道を歩み始めようとしているあなたへのエールの意味を込めて、これまで読んできた技術書のなかでオススメのものを10冊まとめてみました。ぜひ参考にしてください。

HTML/CSS

HTML/XHTML&スタイルシートレッスンブック―ステップバイステップ形式でマスターできる

HTML/XHTML&スタイルシートレッスンブック―ステップバイステップ形式でマスターできる


 一番はじめに買った本。なにを買っていいのかわからなかったので、とりあえずAmazonのレビューが高いものを買いました。最初なので、別になんでもいいような気もします。

Ruby

たのしいRuby 第3版

たのしいRuby 第3版


 たのしいですよ、Ruby。ただ、最初はRubyの環境を整えるまでで挫折する可能性が高いですね、"Windows"の場合は。ええ。

Rails

Ruby on Rails 3 アプリケーションプログラミング

Ruby on Rails 3 アプリケーションプログラミング


 僕が最初にRailsと出会った頃は、まだRails2.3.6とかだったと思いますが、Rails3以降では、この本が一番分かりやすいし、初心者でも分かってきた人にも合ってるいい本だと思います。でも、will_paginateを紹介してるところで、「そこはKaminariだろうがぁ!」と言いたいところ。
Railsについては、いろんなサイトやブログで情報が発信されているし、Rails自体もいろんなことを覚えなくてはいけないため、本だけではとても十分とは言えません。ググりましょう。

JavaScript(jQuery)

jQuery逆引きマニュアル Webデザインの現場で役立つ基本と実践

jQuery逆引きマニュアル Webデザインの現場で役立つ基本と実践


 個人的な意見では、なまのJavaScriptの参考書(サイ本など)から勉強しようとすると間違いなく挫折すると思ってます。CSSが分かってきたら、たぶんjQueryもなんとか理解できると思ってます。少なくともサイ本よりは。この本を読む前に、すでにサイ本を挫折するなどして、JavaScriptの雰囲気はわかっていたということもあるので、この本だけではJavaScriptの理解は不十分だと思います。特にTitaniumなんかやる場合は、jQueryじゃなくてサイ本的なのが必要かもしれません。

ネットワーク

小悪魔女子大生のサーバエンジニア日記 ――インターネットやサーバのしくみが楽しくわかる

小悪魔女子大生のサーバエンジニア日記 ――インターネットやサーバのしくみが楽しくわかる


 紹介した10冊のなかで一番読みやすいです。インターネットの仕組みの基本的なこと(IPアドレス、MACアドレス、DNSなどなど)をかわいいイラストをふんだんに使って説明している本です。webサービスをリリースするにあたって直接ためになったわけではないんですが、ド素人だった僕には「そもそもインターネットとは?」的な部分の理解ができてよかったです。

サーバー全般

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)


 「サーバー、サーバーっていうけど、サーバーってなんなの?」っていうときに読んだ本です。上で紹介した本に比べると、いきなり難しくなります。なんとなく負荷分散とか、そもそも負荷って何よ?ってところを理解できました。

webサーバー(nginx)

ハイパフォーマンスHTTPサーバ Nginx入門

ハイパフォーマンスHTTPサーバ Nginx入門


 どうやらApacheよりnginxの方が速いし設定もラクというのを聞いてnginxを使っているんですが、いまのところ日本語で書かれたnginxの本はこれしかないような気がします。インストールから細かい設定まで詳しく説明されています。これと合わせて、nginxのwikiも参考にされるといいかと思います。

DB(MySQL

Linux-DB システム構築/運用入門 (DB Magazine SELECTION)

Linux-DB システム構築/運用入門 (DB Magazine SELECTION)


 これは最初から読んですぐに挫折したのですが、途中のインデックスに関する説明がとてつもなくわかりやすかったので、ピックアップしました。SQL文の解説とかはのってませんので、まるっきりの初心者にはオススメできません。

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド


 はじめてのLinuxMySQLをインストールする際に参考にしました。rpmでのインストールから、my.cnfの書き方を参考にしましたが、まだ1/3も読んでません。おそらくこれからサービスを本格的に運用するにあたって真価を発揮すると思われる一冊です。

セキュリティ

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践


 CDが付属されていて、読みながら実践して確認できるタイプの本です。実践しながらなのでとてもわかりやすいし、実際にセキュリティの穴を確認できるので危機感をもてます。また、セキュリティ上の問題が類型化されているため、体系的に学ぶことができて初心者でも読みやすかったです。また、PHPが中心ですが、Rubyの僕でも問題はありませんでした。

  • -

 オススメの10冊は以上です。ここにはないけど、Linuxの初歩やバージョン管理システムなど、まだまだ覚えることはたくさんあります。もちろん、技術書を読んだだけでは、プログラムは書けるようにはなりません。実践していく中で、こうした本に載った知識を吸収していくことが必要だと思います。

 それでは、(なんかエラそうだけど)初心者の方がいち早く成長して、素敵なプロダクトをリリースすることを期待しています。差し支えなければ、himazinz.comも宜しくお願い致します。