VB資産のCurlマイグレーション

このエントリは記録やまとめじゃなくて、感想です。

VB資産のCurlマイグレーション

Curlについての紹介と、マイグレーション後のシステム構成など全体的な話


Curlの実行の仕組みは↓こんな感じだそうな

  1. ブラウザからリクエス
  2. Curlファイル(Curl言語ソースコード)をダウンロード
  3. Runtimeが起動
  4. RuntimeのJITコンパイラソースコードコンパイル
  5. 実行

Curlマイグレーション後のシステム構成では↓だそうな

雑感

これって怖くない?
オミトロンとかで落ちてくる途中でソース改変されたら、
めちゃくちゃ危なそうな気がするんだけど、
どんな対策やってるのか気になる。

2008/02/20追記

Curlの中の人のid:curlがコメント欄で教えてくれました。

確かにこのままだと改変が怖いので、
基本的には、pcurlという暗号化と圧縮があわさったような機能で、
不可読なコードになります。
それでも怖い場合は署名を埋め込む機能もあったりします。

VBマイグレーション

by id:nowokay
VBソースコードをいかにCurlソースコードに変換するか?

Curl言語の特徴

両方ともよく知らないけど、特徴だけ聞いてるとScalaと似てるのか?と思う。
実際はどうなんだろ。

変換方針
  • メンテナンスできるソース
    • GoToを使っていても構造化されていればOK
      • If文の中のラベルにGoToで飛んでるとかいうのは駄目
        • というかそれは明らかにバグだ、書き直せ
GoToの変換
  1. 飛び先のラベル以降の処理をローカル関数として切り出す
  2. 関数の末尾にそのローカル関数を呼び出す。
  3. GoToの該当箇所にローカル関数を呼び出し、次の行でreturnする。(関数内でのGoToと一緒!!)

ローカル関数が使えるのって凄く強力だと思う。