学校がなぜつまらないか
についてまた書こうと思ったけど、やっぱ友達いないのが最大原因なのでやめた。
についてまた書こうと思ったけど、やっぱ友達いないのが最大原因なのでやめた。
$ ruby -pe 'gsub(/^.+;| .+$/,"")' ~/.zsh_history* | sort | uniq -c | sort -r | head -20
249 cd
229 lm # ls -altr
211 svn
165 vim
95 sudo
90 screen
83 refe
78 exit
52 ps
49 mv
48 fg
42 rm
40 kill
40 irssi
27 ruby
26 tiarra
25 plagger
23 hamachi
23 cat
22 .. # cd ..SAVEHIST 確認したら 2000 しかとってなかった。増やした。
他のプラグインのメソッド呼べたらいいよなぁ。依存関係とかできちゃうけど
require "cgi" して簡単なのを書くときの指針がやっとできたのでメモ。
require "cgi"
class HogeCgiApplication
def initialize(cgi, opt={})
@cgi = cgi
end
def run
# リクエストの応じて他のメソッドに飛ばす
_, mode, rest = @cgi.path_info.to_s.split("/", 3)
if mode && respond_to?(mode)
send(mode, *rest)
end
end
def view
show(:param => "hoge")
end
def show(stash={})
b = binding
stash.each do |k, v|
eval("#{k} = stash[:#{k}]", b)
end
template = File.read(@opt[:Template])
self.class.class_eval { include ERB::Util }
@cgi.out("type" => "text/html") { ERB.new(template).result(binding) }
exit
end
end
cgi = CGI.new
hoge = HogeCgiApplication(cgi)
hoge.runセッション使ったりするので必ず cgi.out を使う。場合によっては cgi.out をオーバーライドしてうんぬんできる。
でもまぁフレームワーク使うならそれでいいんだろうなぁ。
自宅のは .rb なのは fcgi で動くようなラッパ書いて動かしてるけど……
http://lab.lowreal.net/trac/browser/c/cgi-wrapper 前に lowreal.net に書いたけど、エラーとかキャッチしてスタックトレース出すようにしたり。元のファイルを書き換えずにエラーハンドル追加できるので結構自分で使う分には便利に使ってたりする。CGI バージョンは今はたぶんちゃんと動いてないな。
256kbps の mp3 を再生中だと 70KB/s ぐらいネットワーク受信がある。外からだと結構きつそう。
のラッパ使って ruby cgi を動かしてると、require でロードされたスクリプトがずっと残るのでときどきハマる。一度 load に書き換えてあげたりして
小さいアプリケーションでもフレームワーク使った方がいいっていうのはすごく思う。だけど、例えば XREA で使おうとか思ったとき、Rails や Catalyst ぐらい巨大だと CGI 動作じゃ死にたくなる。
なんか K*NT 指向なんだけどさ!!
今動いてるやつも少し前にインポートしたよ!
http://lab.lowreal.net/trac/browser/chokan/old/0.2
新しいの作ろうとしてるけど全然やってないよ!
深く考えずにとりあえずコーディングしてみる、というのを実践してみた。「やった感」と「動いた感」はあるので楽しい。いっぽう、「無駄なことをいっぱいしているんじゃないか?」「設計がダサくないか?」と不安になる。
思うに、ひたすら経験な気がした。他のソースを読みまくって、「あーこういうケースで、あのすぱーはかーはああしていたなぁ」とか思い出すと、コード書いてるときにあんまり悩まないようになる、気がする。そうなりたい。が、どこまでモチベーション続くかは一生謎
http://lab.lowreal.net/trac/browser/chokan/trunk
ファイルの配置変えとかと、config の統一をやった。とりあえず動く、けど、既存プラグインを移植してない。
@s << notice() より、@chokan.notice() とかのほうがよさそう。そうすれば余計なインスタンス変数 (プラグインごとに設定してる) をなくせるかなぁ。
外出先 (というか学校 ) から DAAP が実用になるかやってみる。