サーバサイドとクライアントサイド

サーバサイドでやるべきことと、クライアントサイドでやるべきことをうまく見極めると、わりかしおいしいかもしれない。

個人的に、以下のようなことはクライアントサイドでJSでやるべきではないかと思っている。

- シンタックスハイライト
- グラフ描画
- 多言語対応

どれも表示上の話だから。
サーバサイドでは、クライアントサイドで表示するきっかけだけを処理して吐き出すのがよいのではと思っている。

しかし、JSが書けなひぃぃ、、、

abstract method が分かりかけたメモ

最近フレームワークを書くために、各種フレームワークに目を通している。

すると、以下のような記述をちょいちょい見つける。

sub dispatch { die "This is abstract method: dispatch" }

この、 die してるだけに見える abstract method とはなんぞやと思っていたのっだが、どうやらこれはアプリ側でオーバーライドしてねというものらしい。

もしくはサブクラスでオーバーライドしれ、というもの。

CentOSのネットワークインストール

CD-ROM1枚を用意して、その他はネットワーク経由でインストールする方法。

CentOS公式: http://www.centos.org/ へ行って download ページへ行く。

迷わず 5 系のリンクをたどる。

例えば、http://rsync.atworks.co.jp/centos/5.5/os/i386/images/ こんな感じのパスをたどって、boot.iso をみつける。

boot.iso を ISO 形式で CD-R に焼く。

インストールしたいPCを CD-ROMドライブから起動するように設定し、
boot.iso のディスクを入れてリブートする。

言語やキーボード、ネットワークの設定などを軽くしたら、あとは通常のOSインストール手順となる。

ネットワークの設定をしたあと、OSインストールの GUI に切り替わるまで、ネットワークが盛んに行われるので、先方のサーバ状況や回線次第では、思いのほか時間がかかったりするので注意。

あまりにも時間がかかる場合は、ミラーサーバは日本国内はもとより海外にもたくさんあるので、いくつか試してみる。

最近イケてると思ってるperlのちょっとした書き方

たとえばこんな感じ。

Encode::from_to($str, $src_enc => $to_enc);

from, to とか A on B な引数を並べるときに、'=>' こいつで書くようにしてる。
そして、自分で関数を書くとき、引数の並び順が自然言語(英語)にならってそのような書き方ができるように意識したりしている。

出来る人に質問する前にやること

会社には出来る人がわらわらいて、いくらでも質問ができるが、一般的には自分のくだらない質問で出来る人の時間を奪っていては会社全体にとってよくない。
しかし、個人的には「出来る人に質問できる」というのが会社にいることのメリットのひとつだと考えているので、質問はしたい。
なので、質問する前に以下のことをこなした上で質問すれば、まあ、怒られはしないのではないかと思う。

  • man
  • --h or --help
  • google
  • テストコード

あと、質問はなるべく Yes/No で答えられるようにしている。
最後に、自分が質問に答えるときは、Yes/No以外で答える場合、ポインタだけで返すようにしている。

.gitconfig さらすの流行ってるんですか?

[user]
    name  = byashi
    email = bayashi@cpan.org
[color]
    ui = true
[alias]
    co = checkout
    st = status
    ci = commit -a
    di = diff
    br = branch
    mg = merge
    wh = whatchanged
    stat = log --stat --summary
    logg = log --graph --decorate --pretty=format:\"%ad [%cn] <%h> %n %Cgreen%d%Creset %s %n\" --name-status
    logs = log --graph --decorate --pretty=format:\"%ad [%cn] <%h> %n %Cgreen%d%Creset %s %n\" --stat
[core]
    pager = lv -cOu8
    autocrlf = input
$ git logs -p

これをかなり乱用してる。

月間 200GB リミットの転送量計算

200GB / 31 = 6.45GB/Day

6.45GB * 1024 = 6606.45MB

6606.45 * 1024 = 6765006.45KB

1ページ 300KBとして 22,550PV

1ページ 200KBとして 33,825PV

1ページ 100KBとして 67,650PV

1ページ 50KBとして 135,300PV

ふむーなかなか厳しいのう、、、