May 11, 2008

RubyKaigi2008

RubyKaigi2008 のチケット予約した。
懇親会のほうも一応とったけど、知人とかいなそうだからなんか不安。

ちなみに、チケットの予約は以下から。

http://l-tike.com/

Lコードっていうので検索する。
Lコードは以下。

RubyKaigi2008 35770
RubyKaigi2008 懇親会 35610
May 8, 2008

読書: ひとりでも部下のいる人のための世界一シンプルなマネジメント術 3分間コーチ

ひとりでも部下のいる人のための世界一シンプルなマネジメント術 3分間コーチ ひとりでも部下のいる人のための世界一シンプルなマネジメント術 3分間コーチ
伊藤 守

ディスカヴァー・トゥエンティワン 2008-03-13
売り上げランキング : 32

Amazonで詳しく見る by G-Tools

思った以上におもしろかった。
部下いないけど。

会社というものを考えていく上で非常に参考になる内容だった。

運輸業のマネジャーは、自分の上司に良く言われたことを思い出すそうです。

「もし、お前に言われたとおり部下が動くのなら、お前はいらない」

確かに。

コーチングでは、基本的に「アドバイス」はしない、問題解決もしない、ただ、問題とのつき合い方をコーチします。これにより、部下のそれぞれが、現場で起こることに、毎度上司の指示を仰がなくても自分で対処できるようになるのです。

それがなかなか簡単にはいかないんだなぁ。

ダグは言います。
「みんな、会社や組織の求める目標を、まるで自分の意志であるかのように口にするけれど、たいてい、その目標は完璧には達成されない。必要なのは、一人ひとりに自分個人の目標を見つけさせることなんだ」

「ほんとうのゴールは、一見、目標と思えるようなものの先にある。それを見誤ってはならない。上司は、そのことを頭において、部下の目標設定をコーチする」

「それだけではなく、スタッフ一人ひとりの目標が、会社の目標とつながっているかどうかを確認しなければならない。そのために、一人ひとりに、自分の目標は何であるかを考えさせるんだ」

ほんと、おっしゃる通り。
だいたい、うまくいっていない会社やプロジェクトってこういうことが全然考えられていないんですよね。

会社だけがうまくいくということはありません。同じように、そこで働く個人だけがうまくいくということもありません。

これ重要だなぁ。

May 7, 2008

Web アプリケーションフレームワークを使うべきか否か

Web アプリケーションフレームワークを使うべきか否か。

当然使うべきでしょ。
開発効率が全然違ってくる。
ものすごく特殊なアプリケーションとかだったら適用するのは難しいかもしれないけど、ほとんどの Web アプリケーションが何かしらのフレームワークを使って構築できるはず。
フレームワークの選択を誤ると無駄にコストがかかるかもしれないけど、ま、そうそう間違えないでしょ。

メジャーなフレームワークには、たいていわかりやすいドキュメントがある。
ドキュメントがあるとシステムの見通しが良くなるので、メンテナンスがやりやすくなる。
例えば、独自のフレームワークを作ったとしてもドキュメントが無いと他の人がシステムを理解するのに余計な手間がかかる。
ドキュメント書くのって結構面倒くさい。

要は、どこにコストをかけるか、という話ですね。
自社の製品にめちゃくちゃ特化したフレームワークをはじめにコストをかけてドーンと作って、それを活用することで後々の開発のコストを下げるのか、メジャーなフレームワークを活用して開発コストを下げるのか、という。

図にすると以下のような感じ(状況によって違ってくることも多々あると思いますが)。

フレームワーク無しでいく場合

20080507_1.png

フレームワーク無しでいく場合、各開発において効率が相当悪くなることが予想されます。
似たような機能をそれぞれで実装したりするはめになるので。

独自フレームワークでいく場合

20080507_2.png

フレームワークを作るのにかなりのコストがかかります。
それに、そこそこ使い物になる良いフレームワークを作るにはかなりの技術力が要求されるので、優秀な技術者がいないと厳しいです。

メジャーなフレームワークを活用する場合

20080507_3.png

メジャーなフレームワークを使うと全てが上手くいきます!
(嘘)

May 3, 2008

TechCrunch Japanese » Twitter、Ruby on Railsを放棄か

複数の情報筋からの情報:2年近くの間、高い頻度で発生していたスケーリング関連のトラブルで、TwitterはRuby on Railsのフレームワークを捨て、PHPないしJava(Rubyは使い続け、Railsのフレームワークのみを放棄する案もあるようだ)を使ってゼロから作り直すことにしたようだ。

TechCrunch Japanese アーカイブ » Twitter、Ruby on Railsを放棄か

実際のところどういう問題があったのか知りたいな。
おそらく、Twitter のような膨大なトラフィックを集めるサイト特有の問題だと思われる。
以下のような話も関連してるんだろうな。

TwitterのスケーリングについてはCookがその任に当たっていたが、彼はこの作業をうまくこなすことに失敗した。
[略]
Twitterは今年になって、少なくとも3つ、キーとなる技術面での雇用を行っている。Lee MighdollはVPエンジニアおよび運用担当として1月から参加している。そして今週になってJohn Kaluckiと(「BloggerおよびBlogspotのスケーリング分野での働きでその名を知られる」)Steve Jensenという、2名のスケーリング分野のエキスパートを採用した。

TechCrunch Japanese アーカイブ » Twitterにおける素人の前座は終わり?

というか、アレですよ。
Web アプリケーションをいかにスケールさせるか、という話になってくると、どのフレームワークが良いとかそういう話の重要度はきわめて低くなってくるんだろうな。
例えば、Java もしくは PHP に置き換えることによってシステムの負荷がほんのちょっと下がるだけでハードウェアにかかるコストがものすごく減る、なんてこともあるだろうし。
ごくごく一般の Web アプリケーションにおいてはこういう問題はそうそう起こらないと思う。

つまりは、「開発コスト」と「運用コスト」の二種類のコストがあって、サイトの規模や種類によってどちらの負担が大きくなるかが変わってくる、ということですね。
そういったことを考慮した上でシステムに採用する技術(言語やフレームワーク等)を決める必要があると。
なので、 Rails がダメだったから、とか早急に結論づけるのは問題の本質をとらえ損ねてるわけですよ。

いや、でも、Rails もしくは Ruby に致命的な問題があったとかだったらまた話は変わってくるけど。

Web アプリケーション開発についてのメモ

web_app.jpg

うーん、アレですね。
Web アプリケーションをちゃんと作るのってくそ面倒くさい大変ですね。
というか、Web という基本ステートレスな環境でいろいろなことを表現しなくちゃいけないというのが、本当に、、、特殊。
慣れるまでは大変。

僕は今までは主に Windows 上で動く GUI アプリとか、RPC によるサーバークライアント型システムのサーバー側の処理とかを Java とか C# なんかで作ってたりしたんだけど、まあこういうシステムってそこそこ直感的ではあるんですね。
プログラミングとしては、特にマルチスレッドで動く部分とかがあるといろいろ大変になってくるけど、そういう部分さえ意識していればその他の部分はわりと作りたいように作れる。
そこそこ思い通りに表現できたり、無理のない実装、綺麗な実装にできたりとか、オブジェクト指向的に作れたりとか。
なんていうか、クラスを中心に物事を考えられるんですね。

こういう感覚に慣れているから、いや、こういう感覚にしか慣れていないから、Web アプリケーションの開発って非常に、とまどいます。
僕としては、アプリケーションの土台となるような部分に一本ビシーッと筋が通ってて欲しいんですね。
この処理はこれが面倒見て、ここに関してはこれが責任を持つ、とかそんなような。
Web アプリケーションにおいてはそういうのを一から作らないといけない。
ま、フレームワークってのがそういう役割を担うものなわけなんだけど。
で、巷には Rails とかいろいろあるわけですが、導入するにしても学習コストが馬鹿にならない。

ていうか、Web アプリケーションフレームワークって種類多すぎじゃね?
例えば、僕は Swing のような GUI ライブラリが何十種類も存在するなんてのを想像できない。
それだけ Web アプリケーションって特殊なんだな。
とか、簡単に結論づけちゃってるけど、これは結構切実な問題なんですよね。
今まさにそういうところで悩んでいるわけなので。
(GUI ライブラリと簡単に比較するのもどうかと思うけどね)

というわけで、いろんな Web アプリケーションフレームワークをザーッと眺めていこうと思ってます。
上手くまとめて社内勉強会なんかで発表できるといいなぁ。

May 2, 2008

いわゆる「プライド」

あのー。
僕、仕事で他人と感情的なやりとりするのあんまり好きじゃないんですね。
仕事における感情って、だいたいがアレですよ。
アレから生まれてくるんですよ。
あの、いわゆる「プライド」ってやつ?

仕事においては、おかしな感情ってのはだいたいおかしなプライドから生まれてくる(気がする)。
なんといったって、仕事においてはみんな同じ土俵に立たなくちゃならなくて、そんな場所でよりどころにするといったら、根拠のない自信すなわちプライドくらいしかないんですね。
いや、わかんないけど、すくなくとも僕自身はそう。

あとは、ここに年齢の問題とかが非常に複雑に絡んでくる。

その他にも、距離感とかコミュニケーションにおける時間差とかが、そういった問題をより複雑にすることが知られている。

April 28, 2008

読書: ダメな自分を救う本

ダメな自分を救う本―人生を劇的に変えるアファメーション・テクニック ダメな自分を救う本―人生を劇的に変えるアファメーション・テクニック
石井 裕之

祥伝社 2006-03
売り上げランキング : 1471

Amazonで詳しく見る by G-Tools

なんだかんだいって僕、自己啓発本が好きなのかも。
「ホントかなぁ〜?」と疑いつつもついつい読んじゃう。
実際どれも良く書かれている。
どうやったら読者のやる気を引き出せるかというのを非常に深いところまで考えている。
ま、でも、なかなかそんなにうまくいかないと思うんだけど、あの手この手と非常に工夫してる。
「人はどうやったら変われるか」とか「そもそも人は本当に変われるのか」とかいうのは僕にとっての永遠のテーマなので、どうしても気になっちゃうんですよねぇ、こういう本。

この本の「おわりに」に書かれていたんだけど、

人は、その考え方の通りの人生を生きることになる

これは本当にその通りだと思いますね。
「失敗するかも〜」と思ってたらまず失敗するし、「必ず成功する!」って思ってたら成功する(かもしれない)し。
あれですよ、「物事のとらえ方の違い」ってのが人生にめちゃくちゃ影響してくるんです。

最近思うのが、「諦め」って重要だな〜、ってこと。
「諦め」にもいろいろあるけど、ここで僕が言ってるのは、現状に不満があったとしても文句とか言うんじゃなくてとりあえずそれらを諦めて受け入れてみる必要があるという、そういう意味の「諦め」。
もうね、仕方ないんですよ。
大して才能がなかったり、頭が良くなかったり、家が金持ちじゃなかったりとかね。
そういうのは諦めるしかない。
考えても現状が良くなるわけじゃないから無駄なんです。
今さらどうしようもないことについてあれこれ悩んだり嘆いたり文句言ったりしても無駄なんです。
本当はそうやって抱えてる問題から目をそらしてるだけなのかもしれない。

というようなことを、この本を読んで考えさせられました。