凪瀬 Blog
Programming SHOT BAR

目次

Blog 利用状況
  • 投稿数 - 260
  • 記事 - 0
  • コメント - 46608
  • トラックバック - 192
ニュース
広告
  • Java開発者募集中
  • 経歴不問
  • 腕に自信のある方
  • 富山市内
  • (株)凪瀬アーキテクツ
アクセサリ
  • あわせて読みたい
凪瀬悠輝(なぎせ ゆうき)
  • Java技術者
  • お茶好き。カクテル好き。
  • 所属は(株)凪瀬アーキテクツ
  • Twitter:@nagise

書庫

日記カテゴリ

 

Programming SHOT BARへようこそ。
今日はIT業界に根付いている小人さん伝説の謎に迫ります。ネタバレしたくないひとは読まないでください

人間の記憶の構造

最近よく思うのですが、脳みその記憶域の構造はパソコンのそれによく似ています。 パソコンの場合、キャッシュメモリ - メインメモリ - ストレージといった多段階の構成をしており、 前ほどアクセス速度が速く、後ろほどアクセス速度が遅い。しかし、前ほど容量が小さく、後ろほど容量が大きいのです。

人間の脳みそも同様の構造をしているように思います。 作業中に考えている際使う領域は狭いのですが、長期記憶などは膨大な記憶容量を誇ります。 しかし、作業を切り替えるには頭の中身の切り替えも必要で、ぜんぜん違う作業に移行する際に 頭が切り替わるまでしばらく時間がかかります。 また、長いこと触れていなかったことは思い出すのに非常に時間がかかります。

これらの経験則から、脳みそにもワークエリアであるキャッシュメモリ、 作業の切り替えの際にスワップするメインメモリ、 そして使わなくなった記憶を残しておくストレージとの3段構成があるように思えるのです。

人間の記憶容量

さて、人間の記憶容量の方はどうでしょうか?

私の経験則では一度に思考に納めることができるソースコードは約1000step程度です。 それ以上の容量は脳みそにどうも入りきらない。いったん思考を切り替える必要が出てきます。

比較的短期間に思考が切り替えられるソースの範囲は1万step程度。 それ以降の範囲についてはいったんソースを読みながら仕組みを思い出す手間がかかります。

容量については当然、個人差もあることでしょう。 また、正確な容量を測るには結構がんばって実験しないといけないと思います。

小人さんとの出会い

IT業界における小人さんとは、「知らないうちに作業をしてくれる妖精のような存在」として知られます。

私の場合、日産1000stepほどのペースで半月ほどコーディングすると小人さんに遭遇できました。
作った覚えがないのにクラスが出来ている。まったく書いた覚えがないのだけど@autherは自分の名前になっているし コーディングスタイル、コメントの書き方、ロジックの組み方の癖といったものが自分そのものなのです。
作った記憶が脳の容量オーバーでストレージにスワップアウトしてしまったのですね。

小人さんに出会うもうひとつの方法は、朦朧とした状態で作業をすることです。 デスマーチ中に遭遇することが多く、こちらの小人さんはいたずら好きで、 しばしばバグをもぐりこませては人を困らせる、ちょっと困った存在です。

小人さんに出会うなら、是非、前者の小人さんに出会うようにしてください。

投稿日時 : 2007年10月10日 19:21
コメント
  • # re: 小人さんとの出会い方
    通りすがり
    Posted @ 2007/10/10 19:33
    小人さんに出会えずに同じクラスを二度作ったりしています。。
  • # re: 小人さんとの出会い方
    さかもと
    Posted @ 2007/10/10 20:24
    とりこびとさんに出会ったりします。
    http://blogs.wankuma.com/torikobito/
  • # re: 小人さんとの出会い方
    凪瀬
    Posted @ 2007/10/10 21:39
    mixiでIIJIMASさんに私には分身がいるんじゃないか?みたいなこと言われたんですよ。
    んで、せいぜい小人さんぐらいしかいませんよーなんて話してたんですよ。

    小人さんはいるよー。一生懸命がんばると出会えるんだよー。
  • # re: 小人さんとの出会い方
    IIJIMAS
    Posted @ 2007/10/10 21:57
    だって、凪瀬さんてこのブログにボリュームがありなおかつ奥深いネタをかなりのペースでエントリされてるし、他の人のブログやmixi日記のコメントでもよくお見かけしますし、@IT会議室でも頻繁に回答されているので…

    一体いつお仕事されているのかと…疑問に思ったものでw

    小人さんはいるんだー♪
    小人さんがやってくれるのかーw
  • # re: 小人さんとの出会い方
    Streetw☆
    Posted @ 2007/10/10 23:57
    さかもとさんって、おもしろいww
  • # re: 小人さんとの出会い方
    かつのり
    Posted @ 2007/10/11 1:00
    今まで作り貯めたコードのサマリを見ると、
    Javaのファイルが680ファイルあるうち、1000行超えが4ファイルだけ・・・
    当然Javadocや空行も含んでいます。
    自分も1000行を超えるようなコードはキツイっすね。

    業務でも大体1つのクラスが2~300ステップくらいに納めています。
    しかしHibernate用のエンティティクラスは自動生成しているんですが、
    これが2~3000ステップを軽く越えるんですよね。
    むしろ小人さんが一番仕事をしているような気がする・・・
  • # re: 小人さんとの出会い方
    kox
    Posted @ 2007/10/11 11:03
    今日解決しなかったバグが、朝会社にきたら直っていたことがありました。
    10年ぐらい前の話です。
    最近は小人さんに会っていない。
  • # re: 小人さんとの出会い方
    裏口
    Posted @ 2007/10/11 11:59
    後の方しか遭遇した経験なし。
    凪瀬さんより少し上の頃、某顧客の工場敷地内の独身寮に監禁状態で1週間の合計睡眠時間が10時間未満・・・。
    3ヶ月間だったけど我ながらよく持ったものだと。
    # 親会社じゃないですよ。
  • # re: 小人さんとの出会い方
    凪瀬
    Posted @ 2007/10/11 12:19
    1classで1000行ってのもキツイんですが、複数クラスで協調動作している場合に合計で1000行超えていてもやはりツライです。

    自動生成コードの部分は、脳内圧縮しているようで、スルーしている気がしますね。

    インターフェースを境に向こう側をキャッシュメモリから追い出して信用して考えるとか、
    どうにかこうにか少ないメモリを活用しようとしています。

    朦朧とした状態で小人さんを見ると、それは実は走馬灯なのではないかと思ったり…。怖ッ
タイトル
名前
Url
コメント