試験公開中

このエントリーをはてなブックマークに追加

なるほどUnixプロセス ― Rubyで学ぶUnixの基礎

達人出版会

3,200円+税

『Working with Unix Processes』待望の完訳。並列処理やデーモン、プロセス生成、そしてシグナルといったUnixの基礎であるプロセスについてRubyで解説する、「今どきの」開発者に向けた新しいUnixプログラミングの手引きです。

※本書の公式ハッシュタグは#naruhounix になります。

関連サイト

原著者による公式ページと訳者らによるサポートページがあります。

日本語版刊行によせて

Ruby は Unix の子供です。私が若い頃にはろくなプログラミング環境がなかったので、満足できるプログラミング環境をはじめて手にしたのは、大学に入学して Unix 環境を使えるようになってからです。それからずいぶん経ちましたが、いまだに Unix 環境で幸せなプログラミングを行なっています。私は Unix は現存する中で最高のプログラミング環境だと信じています。もちろん、やや古びた印象は否めませんし、別の評価軸では、もっと優れた環境が存在していることも知っていますが。

そのように Unix 環境で育った私が設計した言語である Ruby ですから、冒頭で述べた通り「Unix の子供」と言っても言い過ぎではないでしょう。Ruby のあらゆるところはUnixのシステムコールや文化・思想を反映しています。

本書は Ruby を使って Unix のプロセスをはじめとする基本的なプログラミングを解説しています。Unix について学ぶとなると、Unix における代表的言語である C を使うのが普通でしょう。しかし、そうなると、Unix そのものの考え方の他に C のリソース管理や低レベルプログラミングについても同時に学ばなければなりません。しかし、Ruby であればそのような低レベルなことは言語に任せてしまうことができます。事実、本書でも教材として取り上げられている Resqueや Unicorn はそのようにして、Ruby を使って Unix のパワーを最大限に活用するソフトウェアです。

現代のサーバーサイドの標準になっていると言っても過言ではないUnix(特に Linux)のパワーを最大限に活用するため、本書の与える知識はとても役に立つでしょう。それは Ruby 以外の言語を用いたプログラミングにおいても、みなさんがより良いプログラマーになるために有効だと心から信じています。

2013年8月 まつもと ゆきひろ

(この「日本語版刊行によせて」はクリエイティブ・コモンズの表示ー非営利ー継承によって許諾されています)

内容紹介

Ruby on Railsを使ったWebアプリケーションを開発している皆さん! きっと皆さんはRailsアプリならどんどん書けることかと思います。でもちょっと待ってください。日々の開発作業をこなしながら実は「Unixの基礎的なところがおそろかになってるなあ」と不安に感じていたりはしませんか? そこで『なるほどUnixプロセス』です。

本書では、以下のような内容を学べます:

  • ファイルディスクリプタって何? どう動いているの?
  • デーモンプロセスが必要な場合と、そうではない場合の判断の仕方
  • fork(2)を使って子プロセスを生成する、とは?
  • プロセスを終了させる方法が4つもある
  • スクリプトから外部コマンドを実行する際の懸念事項とその回避方法
  • プロセス生成のコストと落とし穴について
  • 見よう見まねじゃない、シグナルハンドラの定義の仕方
  • ResqueとUnicornの内部ではUnixプロセスをどう扱ってるか

コード例を多数掲載しているのでお手元のCRubyインタプリタで実際に試しながら学べます。オペレーティングシステムを実装するようなプログラマ向けではなくて、Unixをうまいこと使ってプログラミングできるようになりたい人向けの1冊です。

本書を読むのに必要なこと

本書は読者がUnix系OS(Mac OS X, Linux, FreeBSD など)を使っていることを前提にしています。また、コード例はRuby 1.9.xで書かれており、Rubyの基本的な知識があることも前提にしています。

書誌情報

  • 著者: Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳)
  • 発行日:
  • 最終更新日: 2014-09-21
  • バージョン: 1.1.2
  • ページ数: 130ページ(PDF版換算)
  • 対応フォーマット: EPUB, PDF, ZIP
  • 出版社: 達人出版会

対象読者

自分の書いているWebアプリが動く仕組みを知る手がかりを探しているプログラマ。RubyのKernel#forkやProcessクラスの使い方の背景にある考え方を学んで練度を上げたいRubyist。

著者について

Jesse Storimer

プログラマであり哲学者。 ここ数年はRuby on Railsで開発された世界でも有数な大規模EコマースサイトShopifyにて、難問の解決にあたっている。
Unixプログラミングの世界への旅は、Webのインフラを学ぶところから始まり、順調に続いている。
カナダの田舎、オンタリオに妻と娘とともに暮らしているUnixあごひげ。ブログはjstorimer.com

島田浩二

(株)えにしテック共同創業者兼代表取締役。一般社団法人日本Rubyの会理事。Ruby札幌発起人。著書に『Ruby逆引きレシピ』(共著、翔泳社)、『プロダクティブ・プログラマ』(監訳、オライリー・ジャパン)がある。

角谷信太郎

(株)永和システムマネジメント勤務。一般社団法人日本Rubyの会理事。著書は『アジャイルサムライ』(監訳、オーム社)、『アジャイルな見積りと計画づくり』(翻訳、マイナビ)など。エクストリームプログラミングの理念である「新たな社会構造」の実現のために自分がやれることをやるための個人事業を2013年4月からはじめました。

目次

第1章 はじめに

第2章 本書の手引き

第3章 プロセスにはIDがある

第4章 プロセスには親がいる

第5章 プロセスにはファイルディスクリプタがある

第6章 プロセスにはリソースの制限がある

第7章 プロセスには環境がある

第8章 プロセスには引数がある

第9章 プロセスには名前がある

第10章 プロセスには終了コードがある

第11章 プロセスは子プロセスを作れる

第12章 孤児プロセス

第13章 プロセスは優しい

第14章 プロセスは待てる

第15章 ゾンビプロセス

第16章 プロセスはシグナルを受信できる

第17章 プロセスは通信できる

第18章 デーモンプロセス

第19章 端末プロセスを作る

第20章 おわりに

付録1 Resqueのプロセス管理

付録2 Unicornのワーカープロセスの管理

付録3 preforkサーバ

付録4 Spyglass

あとがき

Home 書籍一覧 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 ▲ ページトップへ戻る