過去の日記

2008-04-02 [長年日記]

ぽわそん・だぶりる [徒然]

昨日の日記は、

「1つめのエントリが偽で、他は全て真」であって決してパラドックスなどではない

が正解。

Rubyスクリプティングテクニック テスト駆動による日常業務処理術 [book][tech]

結構楽しめた。存外に良書だ。借りて読んだのだけど、自分でも買おうか迷っていたりする(家に置いておくために)。

Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術

  • 作者: Brian Marick
  • 出版社/メーカー: オライリー・ジャパン
  • 発売: 2008-02-23
  • ASIN: 4873113563
  • メディア: 単行本
  • amazon.co.jp詳細へ

基本は、「ソフトウェア開発プロジェクトに参加していて、日々手作業による雑用におわれている人」を対象にしているので、「プログラミングなんて初めての人」ぱある程度切り捨ててしまっていると言っていい。

「いまさら"Hello World"から始まる本なんて読みたくない」けど、「他の言語を使っているけど Ruby も気になる人」や「なんとなくスクリプトを書いているけど Ruby についてもっと深く理解したい」人にはよいかと。


第1章はインストールや環境の話なので置いておくとして、

第2章 はじめてのスクリプト : ファイルインベントリを比較する
第3章 Rubyの事実 : 配列

で始まる。ちなみに"Rubyの事実"とついた章は要するにリファレンス。他に"等価テスト、そしてUnless","ブール値","正規表現","クラス(シンボルについて)", "ハッシュ","引数リスト","モジュール" などの章がある。
これらも意外に秀逸。

例えばモジュールの章、

19.1 入れ子のモジュール
19.2 モジュールをインクルードする
19.2.1 名前の衝突
19.2.2 入れ子とインクルードは異なる
19.3 クラスはモジュール

である。19.1 の前にリード文があって"普通の説明"はここに収められている。そこで終わらないのがこの本のいいところ。


目次を引用しておく

1章 さあ、Rubyをはじめよう


I部 基本
2章 はじめてのスクリプト : ファイルインベントリを比較する
3章 Rubyの事実 : 配列
4章 3つの改良と1つのバグ修正
5章 Rubyの事実 : 等価テスト、そしてUnless


II部 スクリプトを拡張する
6章 チャーン (churn) : 落ち着いてプロジェクトを記述する
7章 Rubyの事実 : ブール値
8章 我がよき友、正規表現
9章 Rubyの事実 : 正規表現
10章 クラスのデータとメソッド
11章 クラス(シンボルについて)


III部 Webの世界に飛び込む
12章 正規表現によるWebページのスクレーピング
13章 Webアプリケーションとの別の形での連携
14章 カンマ区切り値を利用する
15章 Rubyの事実 : ハッシュ
16章 Rubyの事実 : 引数リスト
17章 ヘルパースクリプトとアプリケーションをダウンロードする
18章 スクリプトの仕上げ
19章 Rubyの事実 : モジュール
20章 スクリプトの実行中に問題に遭遇したら


IV部 完ぺきなスクリプタを目指して
21章 フレームワーク : ブランクを埋めてスクリプトを記述する
22章 発見は作成より安全である
23章 最終的な考察


V部 付録
(略)

申請があってから許可するんじゃなくて、まず許可してしまえ(ついでに"無断リンク禁止"なんてやめちゃえば?) [tech]

Forgiveness も Permission も辞書を見ちゃうとあまり違いがなくて、でもニュアンスは違うはずだし、と気にかかっていてずっとInstapaperに入ったままだったこの記事。
Twitter を使い始めて、ようやく意味が判った(ような気がした)。

Enterprise 2.0 Executive Forum | Blog | Forgiveness, not Permission

Tweitter で誰かを forrow するのは簡単。
相手の設定がそうなっていればボタン一つでOK。
でも、そうすると相手に通知がいく。相手がこちらを見て「何だこいつ?」と思ったら、相手は block することができる。


相手に許可を与える時に、まず申請をもらってそれに対してOKを出す。それが従来のやり方だった、と。相手は申請してから許可がおりるまで待たされることになる。

そうではなく、まず許可を与える。誰に対しても。誰かが申し出てきたら判るようにしておく。許可を与えたくなければ、拒否する。その方がずっとよい。

というような考え方を説明しているらしい。


金を払うまで使えないパッケージソフトよりも、一定期間使える試用版の方がいいよ、というメタファを持ち出すと当たり前の話なんだけど。
でも、ここではコミュニティとかコラボレーションとか、人と人との繋がりをどのように形成するか? という文脈で読むべきか。

Twitter で誰かが自分を forrow したよ、というメッセージが来る。
ちょっと見に行って、いかにも無差別的な forrow でなければそのままにしておいちゃえ、って思うもの。


もちろん誰もがそう思うわけではないだろう。最初にまずプロテクトしてしまう人はいる。
知らない人からforrowされるなんて気持ち悪い、という人は間違いなくいる。
それは"無断リンク禁止"の件をとってみれば分かることだけど。

でも"これからのネットワーク"は、そういう形には進んでいないんだな、と。

私は紙コップじゃありません [etc]

じゃななんで白くした? というツッコミはなしで。

swissmiss: "I am not a paper cup" ceramic cup.