ようこそ shinichiro_h さん
<<
2005/11 => (2005/11)
>>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| サイト本体 | 昔の更新履歴兼雑記 | => (サイト本体) (昔の更新履歴兼雑記)
以下は分類 | Update | Program | Wheel | Misc | Book | Game | => (Update) (Program) (Wheel) (Misc) (Book) (Game)
以下は Program 内の分類 | C++ | D | Io | Java | SDL | GCC | robocode | => (C++) (Java) (SDL) (GCC) (robocode)
<前の5日分 => (<前の5日分)
2005-10-31 編集 => (編集)
■ [ Program ] LangScan:: Lua , LangScan::Eiffel 13:20 => (Program) (Lua)
これらも書いて コミット していたのですが、それらを含んだ LangScan-1.2 が出たとのこと。 => (コミット)
http://gonzui.sourceforge.net/langscan/ => (http://gonzui.sourceforge.net/langscan/)
Ruby でぐちゃっと書いただけだからたぶん性能はとても悪い。 => (Ruby)
http://shinh.skr.jp/gonzui/gonzui.cgi/markup/testsprite => (http://shinh.skr.jp/gonzui/gonzui.cgi/markup/testsprite)
testsprite に色をつけるのが 目標 だったと言っても過言ではない。あとは Haskell と Objective-C らしい。実用とか考えるんなら LangScan::ObjC はかなり欲しいところなんじゃないのかな… => (目標) (Haskell) (Objective-C)
[ コメントを書く ] => (コメントを書く)
2005-10-30 編集 => (編集)
■ [ Update ] mod_estraier-0.2.1 03:27 => (Update)
結局出したくなった。 バグ 取ったりコード クリーニング したり。 バグ は指摘された 文字化け しそうな件と、 リバース プロキシ 時に Content-* を取得できてない場合がある件を。 => (バグ) (クリーニング) (バグ) (文字化け) (リバース) (プロキシ)
http://modestraier.sourceforge.net/ => (http://modestraier.sourceforge.net/)
http://prdownloads.sourceforge.net/modestraier/mod_estraier-0.2.1.tar.gz?download => (http://prdownloads.sourceforge.net/modestraier/mod_estraier-0.2.1.tar.gz?download)
あと日付の件は GMT だろと思った。
link とかいう 属性 に リンク 先を保持してるけど linkword とかつけたいなと思う。用途は二つ。 => (属性) (リンク)
wwwoffle っぽく保持してる文書出させる時に リンク にする。位置を厳密に再現させるのには linkpos とかもいるけど。 => (リンク)
あと Google がやってるみたいに リンク 時のワードを リンク 先の検索キーワードにする、っていうのに使えるから。 => (リンク) (リンク)
[ コメントを書く ] => (属性) (コメントを書く)
2005-10-29 編集 => (編集)
■ [ Update ] mod_estraier-0.1.0 07:06 => (Update)
http://modestraier.sourceforge.net/ => (成果報告会) (http://modestraier.sourceforge.net/)
http://prdownloads.sourceforge.net/modestraier/mod_estraier-0.1.0.tar.gz?download => (http://prdownloads.sourceforge.net/modestraier/mod_estraier-0.1.0.tar.gz?download)
まぁいろいろやった。そろそろ Win バイナリ セット とか作ってみたいね… => (Win) (バイナリ) (セット)
今路線の細かいこと→ Win バイナリ →JSを使った インターフェース の付加 => (暗号) (Win) (バイナリ) (インターフェース)
■ [ Update ] mod_estraier-0.2.0 23:54 => (Update)
http://modestraier.sourceforge.net/ => (http://modestraier.sourceforge.net/)
http://prdownloads.sourceforge.net/modestraier/mod_estraier-0.2.0.tar.gz?download => (http://prdownloads.sourceforge.net/modestraier/mod_estraier-0.2.0.tar.gz?download)
sf .net は同日 リリース しようとすると翌日 リリース の日付がつくみたい。 => (リリース) (バグ) (バグ) (リリース) (リリース)
よく考えるとあたりまえなんだけど、 Apache は レスポンス を作っているのであって完成した レスポンス を処理してるんじゃない。だから最終段の フィルタ とはいえ渡ってきた構造体は完全な状態じゃなくて、埋まってない部分とかがある。そんなこんなで、 Content-Encoding を リバース プロキシ 動作時に取得するには、 => (レスポンス) (レスポンス) (フィルタ) (リバース) (プロキシ)
apr_table_get(f->r->headers_out, "Content-Encoding") || apr_table_get(f->r->err_headers_out, "Content-Encoding") || f->r->content_encoding
とかをチェックしないといけないのかな…というか f->r->content_encoding に値が入っているところを見たことがない。たぶん mod_deflate が入れてるっぽい。あと、 err_headers_out はエラーが起きても出力するヘッダらしい。こんなところに Content-Encoding が入ってていいんかとか思うけどそれは mod_cgi がやってることだから知ったことじゃないチック。
つまり getenv("Content-Encoding") ですまないのがめんどうだな…と。ちなみに mod_proxy 動作時はなんでもかんでも f->r->headers_out に入っててらくちん。
[ コメントを書く ] => (コメントを書く)
2005-10-27 編集 => (編集)
■ [ Program ] しー 言語 と リフレ クション ライブラリ 03:27 => (Program) (言語) (リフレ) (ライブラリ)
http://shinh.skr.jp/koneta/shelang.tgz => (適当) (言語) (http://shinh.skr.jp/koneta/shelang.tgz)
スクリプト言語 から コンパイル 言語 の処理を呼ぶ時は、どうしても ブリッジ を書くのが面倒で死にたくなります。そこで、 C で 関数 名から動的に 関数 を呼んでやろうという試みです。 => (スクリプト言語) (コンパイル) (言語) (ブリッジ) (関数) (関数)
puts "hello world!" !load "libm.so" fx = cosf 3.2 puts "cosf(3.2) =" !print fx
こんな感じで .so ファイル を スクリプト からロードして、ロードされた シンボル をそのまま スクリプト からそのまま呼び出せる物体です。 => (ファイル) (スクリプト) (シンボル) (スクリプト)
libbfd で実行時に シンボル を取ってこれると教えてもらったため、それを使ってやっています。 高林さんの普通のやつらの下を行け や 鵜飼さんの livepatch を参考にしています。特に livepatch は ソース も相当流用させてもらいました。詳しくは中身の README に。 => (シンボル) (高林さんの普通のやつらの下を行け) (鵜飼さんの livepatch) (ソース)
言語 としてどうこうしようとかはあんまり考えてません。 Io から C の 関数 呼び出しまくりな世界は作りたいなーと思っています。 => (言語) (関数)
あと map ファイル が無くても動く reflection.d も作りたいなーと思っています。 => (ファイル) (reflection.d)
ちなみに下記のように SDL なんかも動きます… => (SDL)
!load "/usr/local/lib/libSDL.so" SDL_Init 1048608 # SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE pscr = SDL_SetVideoMode 100 100 16 0 prwf = SDL_RWFromFile "icon.bmp" "rb" pbmp = SDL_LoadBMP_RW prwf 1 SDL_UpperBlit pbmp 0 pscr 0 # assume int == void* SDL_FreeSurface pbmp prwf = SDL_RWFromFile "out.bmp" "wb" SDL_SaveBMP_RW pscr prwf "out.bmp" SDL_Flip pscr SDL_Delay 1000 SDL_Quit
[ コメントを書く ] => (コメントを書く)
# h_sakurai 『ほー。すげー』
# wo 『dispatch.cのように、実行時に関数の型を決めて呼び出すのは、GCCのソースに付いてくる libffi というのが使えるかもしれないです。 僕は使ったことがないので、なんともいえないですが、参考までに。』
# shinichiro_h 『おーこれはこれは。まさにこれですね。少なくとも今は gcc-java に入っているみたいですね。今度使ってみてなんかサンプルになりそうなもの作ってみます。ちょうど dispatch.c みたいなことはコンパイラ屋さんはアーキテクチャごとにキチンと作ってるわけでスクリプト言語で直接呼出しができないのはスクリプト言語屋さんの怠慢ではないか…とかブツブツと不審な独り言を言っていたところでした。やはりコンパイラ屋さんはエライです。 …とか思ってたら Perl には FFI モジュールが CPAN にありますね。 SYNOPSIS にいきなりコールバック関数の例とかあってかなり素晴らしい感じです。 http://search.cpan.org/~pmoore/FFI-1.00/FFI.pm』
# ukai 『RubyだとRuby/DLとか http://ttsky.net/ruby/ruby-dl.html pythonだとこれかなぁ http://starship.python.net/crew/theller/ctypes/ 結局めんどくさくなるのはfunction signatureをちゃんとあたえないと いけないというあたりになるような気が。』
# shinichiro_h 『うーん知らなかっただけで各言語あるんですね勉強になります。 signature の問題はまさにそうだと思いまして、 1. 非C言語はラクな場合あるけど C の財産を生かすには header や言語バインドを作らなければならないのが面倒ということで今回のような話を考えていたのに加えて、 2. D言語の関数を呼びたい場合マングリングされてるから dlopen&dlsym ではダメだからシンボル一覧が欲しい (逆にDデマングラはあるのでシンボル一覧さえ取得すればシンボルから signature 情報は抜ける、というのが reflection.d で考えていたことです) ということで ukai さんの livepatch を参考にさせていただいた、というような二方向のことをぼんやりと考えているようです。 最終的には、スクリプト言語から C++ や D の dll を読み込む→読んだ dll 内シンボルの一覧取得→デマングルして signature と関数名取得→スクリプト言語からシームレスに C++ や D 関数呼び出し、というような流れができるといいなと。 でもこれだけ色々あるってことは C++ の方はあとはデマングルに libiberty を使えば実現できそうなわけで、既にありそうではありますね…』
2005-10-26 編集 => (編集)
■ [ Program ][ OCaml ] LangScan:: OCaml 00:01 => (Program) (OCaml) (OCaml)
http://shinh.skr.jp/gonzui/gonzui.cgi/markup/tello => (関数) (http://shinh.skr.jp/gonzui/gonzui.cgi/markup/tello)
http://shinh.skr.jp/gonzui/gonzui.cgi/markup/tello/config_file.ml => (パターン) (マッチ) (http://shinh.skr.jp/gonzui/gonzui.cgi/markup/tello/config_file.ml)
[ コメントを書く ] => (コメントを書く)
<前の5日分 ( 187699 since 04.04.21) => (<前の5日分)
なにかあれば下記メールアドレスへ。 hamaji _at_ nii.ac.jp
shinichiro.h