JSの設定

2012年4月27日金曜日

空気を利用してキャラクターを作る


「あるキャラクターになる」とは、周囲が「その人はそのキャラクターである」と認識することである。
例えば「お調子者」がいたとしたらその人は周囲からお調子者と見られており、その人に対してお調子者としての振る舞いを期待する。期待されたら、それに応えないのはマイナス評価であるから普通は応えようとする。そうしてキャラクターは固まっていき、その人にどのように働きかければ何をしてくれるか明確になり、コミュニケーション量を必要最小限で済ませられるようになる。いわゆるツーカーの仲に近づく。

さて、自分をどのようなキャラクターにするかは重要な問題だ。お調子者としての振る舞いを期待されるのがとても楽しければ自分をお調子者に育てるとよい。しかし、キャラクターの種類はお調子者を初めとする数種類に限定されるものではなく、周囲はその人を一般名詞的なレッテル(お調子者はその例)で見ていることはほとんどない。少なくとも、コミュニケーションをとる当人同士が近しい間柄なのであれば、周囲はその人の個人名をキャラクター名そのものとして受け取っているだろう。

その状態で自分のキャラクターを育てていく、あるいは変えていくとは、レッテルを張り替えることではなく「自分という振る舞い全体」の一部分を少しずつ変えることである。いわゆるデビューは、かなりの経験値と捨て身の勇気がなければ成功しない。中学生の自分が嫌いで、高校生になったから新しい自分に生まれ変わろうとしても、そもそも模範となるキャラクターを経験していないのだからそれを演じることは難しく、できることといえばゼロから再構築を試みるくらいである。しかしそれは、周囲から見ればとても変だろう。そういうギャンブルな人生もあるかもしれないが。

少しずつ自分を変えていくのでも何年も続ければ別人になることは、有名人の過去の写真など紹介するテレビ番組を見れば分かるだろう。あの頃の自分と今の自分では考え方も見た目も全然違うと、よく言っている。僕は思うのだが、例えば職場の環境が悪くてなかなか帰れないとか、言いたいことが言えないとかいうのは、単にキャラクター作りに失敗しているだけじゃないだろうか。社会人になって何年かは、さすがにそのことに確信が持てなかった、単に自分のバックグラウンドがたまたま恵まれているのかとも思ったが、33にもなるとさすがにそうではないと感じる。正確に言うと、それだけではないと感じる。

あるキャラクターを演じるのに必要な資質は確かにある。例えば「言いたいことを言う」に必要な資質は、彼が「文脈に即しているとか面白いとか問題解決に役立つ」などのセリフを言えることである。「早く帰る」に必要な資質・バックグラウンドは「効率良く仕事をする、そもそも仕事が多すぎる職場に就かない」などである。しかし、その資質があるかどうかを試そうとしない人が多い。早く帰れるかどうかを「空気を読んで」判断するのは馬鹿げている。注意すべきは「明日の仕事が明日片付くか」それだけである。

早く帰ることが周囲に「あの人は早く帰る人なんだ」と思わせ、その期待が自分に伝わり「帰っていい空気」になる。失敗してもデビューほどのリスクはないし、成功したらその空気を利用してキャラクターを定着させよう。遅くまで仕事している人はみんな、部署異動しても遅くまで仕事しているよ。それは空気が自分の制御圏にある証拠だ。

2012年4月22日日曜日

Ruby Programmer Gold の試験を受けて

1ヶ月前に紀伊半島一周しながらRubyの試験勉強してた時からだいぶ時間がたってGoldの受験となった。本当はSilverを受ける前にGoldを受けようと考えていたのだが、ずっと発売延期となっていた『Ruby公式資格教科書 Ruby技術者認定試験Silver/Gold対応』が発売されたことを知りこれを読んでから受験することにした。4/21のtwitterログから引用する。
Ruby技術者認定試験Gold、終了。76点でギリギリ合格。厳しい時間だった…公式資格教科書についてる模擬試験より全然むずいじゃんか。 
50問中、12も間違えたわけだ。どこを間違えたのか、3つくらいの心当たりしかないが…しかし、12間違えても合格なのだから、完璧主義は封印して、自信ない問題には早々に見切りをつけたほうが良かったかもしれない。  
一画面に収まらない長文の問題は後回しにしたが、結局それらを解くだけで90分使ってしまい、全体の確認に時間を残せなかった。4択で、正しいものを全て選べ系の難問に迷うよりは、一つしか正解がない問題をたくさん見直すほうが率が良い。しかし、一問目が一番難しいのには痺れた。 
 ちなみにSilverのほうは50問中47問正解で、簡単だった。公式資格教科書だけで十分いける。Ruby技術者認定試験Goldにチャレンジする人は、まずこちらでPC受験の独特の雰囲気と時間配分に慣れてから受けることをオススメしたい。 
3問間違いと12問間違いの間には9問の差があるが、感覚としてそのうち4問くらいは確認に残せた時間の差という気がする。そしてもう少し言えば、長文に出くわした時にそれが単に長い問題なのか本当の難問なのか見極める即時的判断力があると、後回しにするというオーバーヘッドを減らせたと思う。 
試験場にあるPCの画面解像度が低いので、長文問題だとスクロールしないと回答の選択肢が見えず嫌らしいが、そこは慌てずサッと回答に目を通したほうが良さそうだ。即時的難問判断に必要なスクロール。 
90分の持ち時間は長いようだが、問題全体の見通しの悪さと、ディスプレイにペンで書き込みが出来ない点、残り時間のカウントダウンが刻々と表示されて焦らさせる点などを考えると全く油断できない。シルバーのほうも最後のアンケートを入力し終わったらほとんど時間残らなかった。
 Ruby技術者認定試験は持ち時間90分、CBT(Computer Based Testing)と言われるコンピュータ試験、50問の選択式で合格ライン75%となっている。だから76点はまさにギリギリで、あと1問まちがえればアウトだ。貴重品等を入れるロッカーの鍵番号と同じ番号の席に座り受験番号を入力してスタートボタンを押せばテスト(と持ち時間のカウントダウン)が始まる。持ち時間が切れると容赦無くテストが終了し、同時に点数と合否が表示されるという味わいのないシステムである。「合格」の文字の前に「不」がついてないか2度見した。

やっぱり、紙に比べれば明らかに試験はやりにくい。上記ログでいうところの即時的難問判断も全部の問題がバッと見渡せたほうがラクだし、問題文の近くにメモを書けるのもメリットだ。CBTではメモ用紙は配られるもののペンが太いマジックで書きにくいし問題文が書いてないからメモする量が増える。例えばX行目の変数の内容を書くのに、問題用紙に書けるなら変数の内容だけで済むところを、まっさらなメモ用紙には変数名も書かなければならない。

まぁしかしそのへんの条件は皆同じわけで、要はそういうやりにくさがあるということを事前に知っておき対策を立てられたらベターということだ。で肝心の内容のほうは、あーありがち技術メモbasyura’s blogなどにある通りでRubyという言語の本質を突いた良問が多い印象。読んで役にたったと思う本は『Ruby公式資格教科書 Ruby技術者認定試験Silver/Gold対応』の他は『メタプログラミングRuby』のみ。ITトレメの問題は模擬試験の品質を備えていない。

また出題範囲が1.8.7なので下手に1.9系の本を読まないほうがいい、例えばプログラミング言語 Rubyとか良書だがスコープを超えすぎる(※混乱しない自信があれば有益ではある)。『メタプログラミングRuby』も、メタプログラミングの魅力に取り憑かれるのは後回しにしてメソッド探索のルートやスコープの基礎論を重点的に、irbも使いつつ読み込んだほうがいい。

それと以下も重要。入れ子になったクラスのそれぞれで下記3種変数の宣言をしたり代入をしたり参照したりでどうなるか確認する。
「クラス変数とクラスインスタンス変数とインスタンス変数の違いについて - 遅咲きのエンジニア」
http://d.hatena.ne.jp/kabakiyo/20080525/1211728832

その他、トップレベルとか。
「Rubyのトップレベルのメソッドの不思議 - As Sloth As Possible」
http://blog.livedoor.jp/faulist/archives/1222830.html

enum_forとか。
「Rubyist Magazine - 標準添付ライブラリ紹介 【第 5 回】 enumerator」
http://jp.rubyist.net/magazine/?0011-BundledLibraries
「イテレータを便利にするenum_for - Slow Dance」
http://d.hatena.ne.jp/LukeSilvia/20081113/p1

ところでこの試験、プラチナも策定中みたいです。受かる自信がない。