garbagetown

個人の日記です

WEB+DB PRESS vol.79

もう随分前になるのですが、見本誌を頂いておりました。いつも本当にありがとうございます。

炎上案件に放り込まれてフテくされていたら、すっかり書評が遅くなってしまいました。大変申し訳ありません。

WEB+DB PRESS Vol.79

WEB+DB PRESS Vol.79

  • 作者: 成瀬ゆい,そらは(福森匠大),西磨翁,小川航佑,佐藤新悟,塚越啓介,藤原亮,堀哲也,田村孝文,桑野章弘,松浦隼人,中村俊之,田中哲,福永亘,杉山仁則,伊藤直也,登尾徳誠,近藤宇智朗,若原祥正,松木雅幸,奥野幹也,後藤秀宣,羽二生厚美,笹田耕一,平河正博,東舘智浩,渡邊恵太,中島聡,A-Listers,はまちや2,川添貴生,山田育矢,伊藤友隆,村田賢太,まつもとゆきひろ,佐野岳人,山口恭兵,千葉俊輝,平松亮介,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/02/22
  • メディア: 大型本
  • この商品を含むブログ (4件) を見る

今回の特集は「Ruby最深動向」「これからはじめるiOS 7開発」「実践メンテナンス」の三本です。また、連載記事として「Dockerによる軽量な仮想環境」「AngularJS入門」などが掲載されています。

以下、簡単ではありますが紹介します。

Ruby最深動向

2013 年クリスマスに予定通りリリースされた Ruby 2.1 の主な変更内容について五章に渡って紹介されており、最後に特別寄稿としてまつもとさんのによる『Ruby の「これまで」と「これから」』が掲載されています。

個人的に Ruby に触れる機会があまり多くないため、言語仕様の詳細な変更点についてはぴんと来なかったのですが、第四章のがベージコレクションの改善がとても面白かったです。なぜ Ruby 2.1 の GC が通常の世代別 GC と呼ばれず、RGenGC と呼ばれるのかについて、Ruby 2.0 までのマーク&スイープ方式と併せて分かり易く解説されています。

実際に業務で使用している RedmineRuby を 2.1 に上げてみたところ、はっきりと体感できるほど速くなりました。Ruby は遅いと言われ続けてきましたが、確実に改善されていることが分かります。

これからはじめるiOS 7開発

自分が記憶している限りでは WEB+DB PRESS では初めて拝見するヤフーのエンジニア面々による特集です。

iOS の基礎知識から始まり、iOS アプリ開発環境の簡単な構築手順、質問リストアプリ作成手順と続き、iOS 7 から導入されたフラットデザインの勘所、Xcode によるデバッグ、テスト、CI 、クラッシュ対策など実践的な内容まで、幅広く紹介されています。

また、コラムとして Push 通知の実装、アプリ開発で役立つ参考資料まとめまで掲載されており、Mac 一台とこの特集さえあれば、とりあえず iOS アプリ開発のはじめの一歩が踏み出せる内容です。

実践メンテナンス

新しいプロダクトの紹介に止まらず、システム開発、運用の現場に踏み込んだ WEB+DB PRESS さんらしい特集です。

サイバーエージェントの面々が、システムメンテナンスの概要から、計画/緊急メンテナンスの流れ、メンテフリーへのアプローチ(インフラ編/アプリケーション編)と紹介し、最後はガールフレンド(仮)アメーバピグで実際に発生した事例を紹介されています。

前半はメンテナンスとはなにかということを定義し、中盤ではいかにこれを行わずに済ませるかというアプローチをインフラ、アプリの側面から解説し、最後にこれらを踏まえた実践的な開発および運用手法と、実際に起きた問題および対応を紹介するという構成となっており、とても読み易いです。ガールフレンド(仮)Java 製というのが少々意外でした。

MySQL や MongoDB に関するノウハウや、Tomcat の parallel deploy, git-flow ライクな git ブランチ運用フローなど、とても参考になります。

Dockerによる軽量な仮想環境

今やその名を目にしない日はないほどの勢いで広まっている Docker の紹介です。

Docker の概要から始まり、Docker を実際に動かす手順、Docekr イメージや Dockerfile, Docker Remote API の紹介などに続き、Docker のユースケースや Immutabl Infrastructure の今後についてまとめられています。

Docker は、本連載記事のタイトルにもある通り軽量仮想環境として紹介されることが多いため、どうしても Virtualbox などの仮想環境と比較されたり、同じようなものとして誤解されることが少なくないように感じますが、本連載記事をご覧頂ければ分かるように、まったくの別物です。

個人的には、今すぐに Docker を何かしらの形で本番環境に投入するのは時期尚早だと思いますが、インフラ構成からデプロイ方法、アプリケーションアーキテクチャにまで影響を及ぼす可能性を秘めた重要なプロダクトです。しばらくの間、インフラ担当からアプリ開発者まで、Docker の動向を見守る必要がありそうです。

AngularJS入門

Backbone.js や Knockout.js を押さえて、ひとつ抜け出た感のある AngulaJS の紹介です。

AngularJS は覚えることがとても多く、誌面の関係上か主要な概念をひと通り紹介するに止まっており、本記事のみで AuglarJS のはじめの一歩を踏み出すのは難しいかもしれません。

一方、Web でよく見掛けるチュートリアル的なものでは「そういうもの」としてスルーされがちな各概念それぞれについて丁寧に説明されているので、本記事と Web 上のチュートリアルなどを併せて読むとよいと思います。

AngularJS は、同じく Google が開発する altJS である Dart へのポーティングも行われています。Google はこの他にも多くのプロダクトや規格を打ち出しており、本気を出せば Android + Chrome + Dart + Angular + SPDY/QUIC (+ Go ?) のような攻勢が可能なので、追従して損はないと思います(とも言い切れないのが Google プロダクトのような気もしますが)。

まとめ

今回は言語やフレームワークなどの技術的な側面と、メンテナンスなどの実践的な側面の両方を読むことのできる内容だったと思います。

このように旬のタイミングで記事を読むことができるということは、編集者さんは数ヶ月以上前から準備を進められているわけですし、執筆者の方々はさらに数ヶ月以上前からこれらの技術を日々使いこなされているわけで、頭が下がる思いです。

最後に、特集記事「実践メンテナンス」の第六章まとめから印象的だった文章を以下に引用します。

我々エンジニアは、現実に甘んじることなく、日々理想を追い続け、試行錯誤することで少しずつ稼働率を上げていくことこそ使命ではないでしょうか。

まだ Amazon に在庫 がありますので、ぜひ目を通してみてください。