Pluto, Mickey and Minnie Mouse in Walt Disney’s The Picnic (1930)
gif night (always suspected)
1. 肉を食う - タンパク質が不足していることが多いんです。肉を美味しく食らうと(重要)かなり気分がよくなります。
2. いつもの三倍かけて飯を食う - ゆっくり食うことで脳内物質のバランスが変わります。
3. 意図的に動作をゆっくりする。 - なんかの本に書いてありました。肉体を制御できているという感覚がメンタルに好影響を与えるようです。
4. トニックシャンプーで頭を洗う - 普段は頭皮の油脂を引きはがすような感覚が好きではないのですが、たまにスカッと洗うと気分が良くなります。
5. 音楽を聴くのをやめる - なんか聞くのが習慣になっている人はやめてみましょう、麻痺している感覚が鋭敏になり心が落ち着きます。
6. タバコを吸いましょう - 禁煙に成功して吸っていない人は、一,二本吸いましょう。久しぶりの刺激に脳が喜びます。(非喫煙者はやったら駄目です)
7. 実家に戻りましょう - 一人暮らしをしている人は肉親と交流するだけで心が落ち着きます。
8. 友人に電話をかけましょう - 二,三分の近況報告のやりとりだけで,驚くほど気持ちが楽になります。
9. どの医院でも処方されやすいデパス(抗不安薬)を処方して貰って飲みましょう。飲んだことがない人にはよく効きます。服用後の運転は厳禁です。
2011-01-21
(via quote-over100notes-jp) (via mcsgsym) (via usaginobike) (via yokokick)▼▽Q.7▼▽
高城さんは現在の日本のクラブと風営法についてどういった考えをお持
ちでしょうか。風営法によるクラブの取締は今に始まったことではあり
ませんがここ最近、京都の世界WORLDを始め関西圏のクラブが軒並み
取締りを受け一時期深夜営業している箱が皆無になるなど異常な事態が
続いています。さらに昨日は国内No.1DJである大沢伸一が経営する会社
の部下に枕営業を強要して逮捕されたと報道されましたが、逮捕された
のは14日で証拠不十分なまま既に釈放されているにも関わらず年末年始
に突然読売新聞の記事で報道されYahoo!のトップにまで取り上げられて
…
僕は今回の案件で、システムのレスポンスに徹底的にこだわってる。
それには理由がある。
それは、プログラマの誇りを見せ付けたいからだ。
この案件は、既存機能をコピーして似た機能を作るというものだ。
既存機能は、Webシステムなのに1アクションで
1分や2分以上のレスポンスタイムはザラで、
悪いときには数分後にタイムアウトして、
さらに悪いときには、アプリケーション全体をロックしてしまっていた。
顧客はそれでも我慢して使っていてくれたそうだ。
今回の改変に、顧客がパフォーマンスを要求するのは当然だった。
それにしても酷いアリサマだとコードを見てみると
酷い。
確かにパフォーマンスは出ないのも無理はない。
いや、それどころか僕は、このSI業界の問題を感じざるを得なかった。
この機能はそこそこ難しく、業務的にも重要だ。
しかし、そのコードは、新人~3年目ぐらいのプログラマが書いたとしか思えないコードだった。
例えば、
・Stringを+でツナギまくってパフォーマンスが激劣化していた。
・SQLで、よく考えれば要らないJoinが山ほどあった。
・すべてMapで引数を取り回し、Mapの中身はすべてStringに置き換えられていた。
・数字もDateもStringだ。
・1000行以上もあるSQLは、適切にインデント付けされておらず、読むことすら億劫になる。
その他、Sessionの使い方、クラス分け、変数名の付け方、コメントの書き方に至るまで、
新人が試行錯誤して作った跡が見られる。
この業界の問題、それは
プログラムが、新人~3年目の作業と位置づけられていることだ。
僕はこの認識を変えたい。
だから徹底的に、スキルの差によってどれ程のパフォーマンス差が出るか示したいと思った。
自慢したいわけではない、
10年近くコードと真剣に向き合ってきたから、
新人~3年目に負けるはずはない。
このコーディングに際して、まず徹底的なリファクタリングから取り掛かった。
SQLを読みやすくインデント付けし、Mapを取りやめて適切な型のオブジェクトにし、
StringBufferをつかって、Joinを削った。
作り直したといっても良い。
もちろんチューニングは徹底的に行なった。
実装工数の三分の一を使った。
先週まで、1アクション3秒の壁を越えられなかったけど、今日2秒を越えた。
検索自体は、0.5秒以内。改修前は、早くとも30秒だったので60倍の高速化だ。
最もパフォーマンス差が出たアクションでは、1000倍以上の差となった。
これを顧客に納品する。
今まで、1つ1つのアクションに対してイライラし続けていた機能は、
サクサクと動くようになる。
この機能は、サクサク動くと業務上の使い道が大きく広がることは間違いない。
顧客は感じてくれるだろう。
サクサク動くことの快感を。
顧客は疑問に思ってくれるだろう。
「なぜ既存機能よりも情報量の多い、この機能がこんなに早いのか?」と
そして問い合わせてくれたら良いと思う。
なぜこの機能はこんなに早くて、
他の機能はウンザリするほど遅いのかを。
そのときには、答える。
プログラミングスキルの差としか言えませんと。
新人~3年目が悪いわけじゃない。
ベテランがコードを書かなさ過ぎる。
僕のスキル程度は、ザラに居るはず。
しかし彼らは、設計書のメッセージIDや、設計書更新日付の整合性や
フォントや罫線の切れを合わせるのに貴重な労力を割きすぎるんだ。
システム開発は、顧客の要件を実現するサービス業だ。
要件の実現がキモなのに。
実装がキモなのに。
なぜ、ベテランが頭だけやるのか。
僕にはどう考えても、理解不能だ。
今回、僕は頭の先から尻尾までやった。
それが普通であってほしい。