It_lives_vainlyの日記 このページをアンテナに追加 RSSフィード

2011-06-29

[][] ふつうのLinux開発者のレベルって...

相変わらずUbuntuインストールができずにやきもきしているところでございます.

VMWare(2)のライセンスを持っていたんで、macbook airインストールしてubuntuインストールしてみたのは良いのだけれども、Unityが使えないんだとか...

ゲーム屋さんがUnityなんて単語を使うと、ゲームエンジンUnityを思い浮かべるんだろうけど、そうでなくてUbuntuデスクトップインターフェースUnity.(関連性は無いんだよね?)

別にデスクトップインターフェースなんて、どうでも良い気もするんだけれども、なんかの拍子に上手く作業が進まないときに「そういえば...」なんて事を思い出すのもしゃくだからなるべくなら想定した環境が良いなぁと思いながら、SDカードからの起動方法を今日も探っていたのでした...

さて、そんな面白みも進捗もない環境設定話はどうでもよくって、せめて座学ででも理解を深めてみようかと『ふつうのLinuxプログラミング』なる本を手に取ってみたのです.

そうしたら、まぁびっくり.

確かに必読と言われるだけはある名著ですね.

プログラムスキル的には、C言語入門といった感じなんだけれども、Linuxの仕組みだとか思想だとかが丁寧に説明されていてとても良い感じです.

まだ読み途中ではあるんだけれども、manの使い方の説明からシステムコールとはなんぞやという話、そしてストリームの考え方とか...

これが「ふつう」のLinuxプログラマの知識レベルだとすると、Linuxプログラマの平均レベルは高すぎやしないかい?

この本は久々の大ヒットですわ.

個人的にはもう少し堅い感じの本の方が好きで、入門書っぽい本はあんまり好きじゃないんだけれども、この本はちゃんと一通り読んでおく価値は十分にありそうだ.

特に、windows環境を中心に開発を続けていた、へたれプログラマにとっては必読といっても良いでしょう.

ぶちゃけ、OSなんてプログラムが書ければ何でも良いじゃんなんて思っていたんだけれども、考えが浅はかだったかもしれん.

Linuxプログラミングが楽しみになってきたよ.

2011-06-10

[] 1001 Video Games

洋書なので購入するのにかなり躊躇したけれども、『1001 Video Games』を購入した.

「なんだこの厚さはっ」とびびるほど厚い.

洋書で「種類=ペーパーバック」とか書かれていると、紙の質とかカラーページが少ないんじゃないかって心配になるよね...

どうせタイトルと図版だけを見て楽しむ本だから、カラーページが少なかったり、図版が少なかったりすると萎えるよね...

でも、この本は問題なし.

思い切って買って良かった、まったく後悔無し.

959ページの厚さに加えて、索引もタイトル名だけではなくてデベロッパー名の索引をちゃんと付いているし、タイトルの写真の質も満足.

さすがにすべてのタイトルに画像が付いている訳じゃないけれども、主要どころは押さえているので問題ないでしょう.

なかなか満足度が高い買い物だった.

1001 Video Games You Must Play Before You Die

1001 Video Games You Must Play Before You Die

ちなみに、同タイトル/同ページ数の本もあるようなのだが、これ体裁が異なるだけで同じ内容なのか?

1001 Video Games You Must Play Before You Die

1001 Video Games You Must Play Before You Die

2011-01-30

[] 『Rules of Play: Game Design Fundamentals』の翻訳本が出たらしい

…いや、原著を読んだわけじゃないんだけど…

ちと興味を持っていたので反応してしまった

『ルールズ・オブ・プレイ――ゲームデザインの基礎(上)』として、ソフトバンククリエイティブ社から

発行されているらしい.

アイディアの出し方だとか蓄え方とかに関する本はそれなりに出ているんだろうけど、ゲームデザインに着目した技術書ってのは意外に少ない.

これは「面白い」という感覚の部分を技術論として整理するのが難しいってことなんだろうな.

変な話、「そんな簡単に割り切れるもんじゃねぇっ」ていう企画屋のプライドなんかもあるだろうし.

そんなわけで、ゲームデザイナの参考書籍ってのは、情報収集論とかプレゼン論、あとはインタビューとか精神論に偏った企画塾みたいな本になんかに絞られちゃうんだろうな.

動向としては、海外の方が「暗黙知」を明文化して「形式知」に変えていくことに積極的だと思う.

ルールの成り立ちって点に絞って、ゲームデザイナの「形式知」を増やそうって試みはとても好感が持てる.

「暗黙知」を「形式知」することの弊害は色々と言われているけれども、本当に重要な事を考えるために形式化できるところは形式化しようってのは良いことだと思うのさ.

もやもやっとしている部分をどのような切り口でまとめるのかを確認するだけでも、本書の価値はあると思うのだよ.

そんなわけで、タイトルと目次だけで買って良い本.

Rules of Play: Game Design Fundamentals (The MIT Press)

Rules of Play: Game Design Fundamentals (The MIT Press)

...しかし、翻訳本は高いなぁ...

絶対的な情報量も違うし、翻訳を待たずに本をざくざく読めるようにならないと効率が悪いぞ...

2011-01-10

[][] 熱すぎる技術者の歴史-『新装版 計算機屋かく戦えり』

新装版 計算機屋かく戦えり

新装版 計算機屋かく戦えり

一言でいってしまうなら、日本コンピュータ史における『栄光無き天才たち』.

...栄光無きって言い切ってしまうのには抵抗があるが...

この本には熱すぎるドラマがある、でも「だから一番でなければいけないのだ」そんなことを感じた.

さて、ひとまず目次の紹介から始めよう.

序章 日本最初のコンピュータ
1章 初期の怪物たち
2章 知られざる周辺事情
3章 暗中模索のプロジェクト
4章 黎明期のコンセプトメーカー
5章 通産省とIBMの駆け引き
6章 電卓戦争の勝者
終章 ジャパニーズドリームの体現者
特別章 エレクトロニクスをポケットに入れた立役者

この本は元々、1996年に出版された同名の本の新装版にあたるらしい.

新装版の発行は2006年となる.

基本として、実際にコンピュータ開発(計算機開発)に携わった人へのインタビューで構成されているのだが、

よくもここまでインタビューを実行できたものだと感心してしまう.

あと10年たった後に同じ企画を立てたところでこの本以上のクォリティーにはならないだろう.

実際に現場で頭を悩ませ、手を動かした人にしか語れない時代が濃縮されている.

まさにすべてのタイミングが合致した本だ.

遠藤諭という人物の、企画力と実行力に感服してしまう.

正直、技術者として働いておきながら、コンピューター史といえばアメリカとステレオタイプ的に考えていた自分の無知が恥ずかしい.

本書を読みながら、何も感じるところのない技術者きどりの人間とは一緒に働きたくない.

「じいさんたちすげぇなぁ」と感じると同時に、それが現在進行形で続いていることにさらに驚く.

若いから最先端の現場にいるんじゃない、志があるから最先端の現場で踏ん張れるのだ.

じいさんたちには負けてられないよな.

もっと日本の技術者でいることに誇りを持とう.

そんなことを感じたのだ.

(補記)

この本には、再編集版の『日本人がコンピュータを作った』が新書サイズで発行されている.

日本人がコンピュータを作った! (アスキー新書 154)

日本人がコンピュータを作った! (アスキー新書 154)

目次を眺めてみた感じでは、『新装版 計算機屋かく戦えり』の中盤あたりに描かれている"計算機"の歴史部分が削られている感じだと思う.

エッセンスだけを手軽に抽出したければ新書版を読めば良いのかもしれないが...まぁ、これだけの良書をあえてライト版だけ読む意味は無いと思う.

(補記)

『栄光無き天才たち』よみてぇなぁ...

栄光なき天才たち 1 (集英社文庫(コミック版))

栄光なき天才たち 1 (集英社文庫(コミック版))

2010-12-15

[][] ...ちょっと手を出すのが早かったのか?『サーバ/インフラを支える技術』

一応、ざっくりと読了.

正直、現在の私には手を出すのが早かった感がある.

前のエントリーに書いた『大規模サービス技術入門』と『Webを支える技術』に関しては興味先行でもなかなか得るモノがあったが、今回の『サーバ/インフラを支える技術』は、まさに実践編といった感じで実経験が無い状態でイメージを持つのは辛いかな…



とはいえ、それなりに得たものはあった.

ひとまず目次を載せておく

1章 サーバ/インフラ構築入門 ……冗長化/負荷分散の基本
1.1 冗長化の基本
1.2 Webサーバを冗長化する ……DNSラウンドロビン
1.3 Webサーバを冗長化する ……IPVSでロードバランサ
1.4 ルータやロードバランサの冗長化
2章 ワンランク上のサーバ/インフラの構築 ……冗長化、負荷分散、高性能の追求
2.1 リバースプロキシの導入 ……Apacheモジュール
2.2 キャッシュサーバの導入 ……Squid、memcached
2.3 MySQLのレプリケーション ……障害から短時間で復旧する
2.4 MySQLのスレーブ+内部ロードバランサの活用例
2.5 高速で軽量なストレージサーバの選択
3章 止まらないインフラを目指すさらなる工夫 ……DNSサーバ、ストレージサーバ、ネットワーク
3.1 DNSサーバの冗長化
3.2 ストレージサーバの冗長化 ……DRBDでミラーリング
3.3 ネットワークの冗長化 ……Bondingドライバ、RSTP
3.4 VLANの導入 ……ネットワークを柔軟にする
4章 性能向上、チューニング ……Linux単一ホスト、Apache、MySQL
4.1 Linux単一ホストの負荷を見極める
4.2 Apacheのチューニング
4.3 MySQLのチューニングのツボ
5章 省力運用 ……安定したサービスへ向けて
5.1 サービスの稼働監視 ……Nagios
5.2 サーバリソースのモニタリング ……Ganglia
5.3 サーバ管理の効率化 ……Puppet
5.4 デーモンの稼働管理 ……daemontools
5.5 ネットワークブートの活用 ……PXE、initramfs
5.6 リモートメンテナンス ……メンテナンス回線、シリアルコンソール、IPMI
5.7 Webサーバのログの扱い ……syslog、syslog-ng、cron、rotatelogs
6章 あのサービスの舞台裏 ……自律的なインフラへ、ダイナミックなシステムへ
6.1 はてなのなかみ
6.2 DSASのなかみ
Appendix
mymemcheck(4.3節)
apache-status(5.2節)
ganglia.patch(5.2節)

まず第一に、この本はインフラ技術の一里塚たり得る本だと分かったことは収穫.

サーバインフラ関連で行き詰まったときには、ひとまずこの本を当たることにしよう.

次に、サーバインフラ技術の漠然としたイメージが持てた点も収穫だった.

全く未知の領域ではなく、自分の地図に地名が書き込まれた感じ.

まだ行ったことは無いけどね.


『大規模サービス技術入門』/『Webを支える技術』/『サーバ/インフラを支える技術』の三冊を通して「web屋さんの世界は広がっている」というイメージを持った.

サーバにキャッシュ機構を載せたいという段になった場合には、キャッシュ機構を作るのではなくて誰かの作った機構を持ってくればよい.

知識がそのままスピードに繋がる.

そして、当然不足や不満があれば自分が作る.

この流れがwebサービスのスピード感になっているんだろうな.

こういった感覚が素直に持てたのも収穫だった.

クライアントに閉じた開発だけに偏っていると、結構なんでも自分で作ってしまいたくなる.

車輪の再開発はそれなりに面白いし、管理側からライセンス汚染の事とかを懸念されたりして(得てして懸念する声をあげる人ほどライセンスに対する理解が低い)気がつけばクローズな世界に生きていたりして…

それぞれの業界の特性はあるんだろうけど、Web屋さんが持っているペイフォワードな感じってのは「情けは人のためならず」ってのか"愛"を感じて良いな.


(参考)

  • [book][web] ゲーム屋からみたwebを支える技術

(http://d.hatena.ne.jp/It_lives_vainly/20101202/1291290691)

  • [book][web] 足がかりとしては最適、だが信頼しすぎることは危険-『大規模サービス技術入門』

(http://d.hatena.ne.jp/It_lives_vainly/20101117/1289976826)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)