hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。
03/05/2003 sendmail
■ [ソフト][ニュース] sendmail
の危険な脆弱性が発見されたそうな。知らなかった。危ないのでさっさとアップデート。
03/05/2004 ふむ
■ [Py] PyGTK メモ
Clist 関連.親切なリファレンスが見つからないので色々メモっとく.
entries = gtk.CList(2, ["foo", "bar"]) # カラム数とタイトルを決定して CList 作成 entries.freeze() entries.clear() entries.append(("baz", "hoge")) entries.append(("unko","hogera")) # 停止,クリア,タプルでセルの挿入 entries.columns_autosize() entries.thaw() # 大きさの自動調節,開始 button = entries.get_column_widget(0).get_parent() # "foo" カラムボタン取得 button.connect("clicked", sort) def sort(widget): entries.freeze() entries.set_sort_type(gtk.SORT_DESCENDING) entries.set_sort_column(0) # ソートタイプを降順にセットして "foo" カラム (0 番目) をソート # 昇順なら gtk.SORT_ASCENDING self.entries.thaw()
■ [Py] PyGTK メモ2
ウィンドウマネージャ側の×ボタンが押されたとき destroy せずに hide だけしたい,という場合などは
window = gtk.Widnow(gtk.WINDOW_TOPLEVEL) window.connect("delete_event", close) open(window) def close(w): w.hide() return gtk.TRUE def open(w): w.show()
この最後の return gtk.TRUE がないとダメ.ついでに言うとフックすべきは destroy でなく delete_event というあたりが罠.
03/05/2005 む
■ [日記] あら?
いつぞやの リアルモテ非モテ診断 の 製作元ブログ でお礼参りツアーなるものをやっているようで.
トラックバックを頂いたようだけど,設定ミスってたらしく受け取れてなかったらしい.使わないから全然気付かなかった.ごめんなさい.
卒業式と言えば
俺の診断結果が如実に現れたエピソードがある.
中学校を卒業するとき,面識の全くない在校生の女の子何人かに声をかけられた.普通っぽい子とかおとなしそうな子とかで構成されたグループって感じだったと思うけど,よく覚えてない.
どうも一緒に写真を撮ってくれということだった.そりゃ悪い気はしませんわな.もちろん撮りましたとも.
で,その後少し話なぞしてたんだけど……女の子らはみるみるドン引きしていくではないか.最終的には逃げた (ように俺には見えた).
俺は高校に入って少し無口になりました.
写真がどう処理されたかなど知る由もない.
つか
結局トラックバックが直らん.さてどこだ.
03/05/2007 んー
03/05/2008 むう
■ [メモ] プロセスの開始日時
毎度毎度忘れるのでメモ.
Linux や Solaris の ps -ef だと詳しい開始日時がワカラン. そこで lstart ですよ.
例えば以下のようにして stime の代わりに lstart を表示させる.
$ ps -eo uid,pid,ppid,c,lstart,tty,time,cmd | head -2 UID PID PPID C STARTED TT TIME CMD 0 1 0 0 Tue Mar 4 00:30:47 2008 ? 00:00:00 init [3]
昨日 X が死んで再起動したからだな.
ちなみに bash で下記のようなややこしいことをして出せんこともない.
$ expr $(grep btime /proc/stat | awk '{print $2}') + \ > $(awk '{print int($22/100)}' < /proc/1/stat) | \ > awk '{print strftime("%Y/%m/%d %T", $1)}' 2008/03/04 00:30:46
けど別に何のメリットもない. jiffies 計算を自前でやっとるのでアーキテクチャとか変わるとオワタになると思う.
03/05/2010 ふむ
■ [golang] リフレクション
先日の Go の記事 で取り扱おうかどうしようかと最後まで悩んだ末に除外したリフレクション.
先日所用にて適当な HTTP サーバを Python でさっと書いたのだけれど,さて Go でこういったものを書くとどうなるだろうと思い,書いてみたらリフレクションの良い (かどうかは分からないけれど) 例になりそうだったので紹介してみようかなと思い筆をとった次第.
これ がソースコード. Python の BaseHTTPServer 相当とするために reflect を使っていて,ビルトインの http を wrap する形で実装した. 効率はあまりよろしくないけれど,まあシビアな用途でこんなの使わないので充分でしょう. ちなみに Makefile は x86 と x86_64 にしか対応してないのであしからず :-)
handler.Handle() はあるオブジェクトから do<METHOD> という名前のメソッドを走査して,マッチしたらそのメソッドを http.Conn と http.Request と共に呼び出す. 「あるオブジェクトを調べて,ある名前を持つメソッドを抽出して呼び出す」,これを行うために,reflect.Typeof() で得た型情報からメソッドの名前を,reflect.NewValue() で得た値情報からメソッドそのものをそれぞれ得ている.
main からは CCHandler が渡されているので,CCHandler に実装された doGET() と doHEAD() がリクエストに応じてよしなに呼び出されるという案配. 例えば HOGE とかいうリクエストメソッドを作りたければ doHOGE() を実装するだけ.
実は reflect.Typeof() で得た型情報からもメソッドそのものを得ることは可能なのだけれど,型情報から得たものは特定のレシーバにバインドされていないので,こちらを利用する場合,Call() 引数にレシーバとしてオブジェクトを渡してやる必要があったりする. ここら辺は Python に慣れ親しんだ人には違和感ないと思うのだけれど,Python を触ったことのない人には「は?」という感じかも知れない.
ちなみに CCHandler の CC はチョメチョメの略です.
□ 雪だるま [なんで?wwww 確かにこの日にこのフレーズは産まれた気がしますが… てか誰がやったか大体想像が… ]
□ atzm [うーん,ぬめぬめ. ]