Posted by & filed under programming, server, unix.


Remote TeX Compiler α 前回のエントリでサーバーの環境は整えたので,今回はプログラム本体の製作.

2時間ほどのやっつけ仕事でとりあえず完成した.

 

    Remote TeX Compiler α

 

 

— version 0.1.2 (2009/06/08) —

  • 一時ファイルパーミッションのバグフィックス
  • ロギング機能を追加

— version 0.1.1 (2009/06/08) —

  • 一時ファイル削除機能実装

— version 0.1 (2009/06/07) —

  • サービス公開(DATA直接入力のみサポート)

 

やっつけ仕事なので,今考えている機能の大部分が未実装.

例えば,

  • ファイルアップロードによるコンパイル
  • zipとかtarにも対応
  • jQueryかなんか使ってプログレス表示
  • latexコンパイラの切り替え(platex ↔ latex)
  • pdf変換プログラムの切り替え(dvipdfmx ↔ dvipdfm)

などなど.

あとは,コンパイル時のエラーが発生したときの処理とか,細かい部分も未実装.

とりあえず,コンパイルできたときはダウンロード画面が自動で開くはずなので,エラーかどうかはそこで判断w

 

ちなみに,同じようなサービスを提供してるところをいくつか発見.

俺みたく,いろんなパッケージを使ってる場合はダメだけど,それ以外の場合なら,特に下の方のサービスは良いと思う.

ただ難点は,大学や研究機関ドメイン(*.ac.jp)でしか登録できないところ.

まあ,今は大学生なので全然問題ない訳だけどw

  • ちょうど今思いついたので忘れないうちにメモ

    追加予定機能
    ・labelとか使ってる場合は、2,3回コンパイルしてやるようにする

  • freiheit

    またなんか思いついたのでメモメモ…

    Ajaxを導入した場合、ダウンロードヘッダ送出ができない
     → ファイルへのリンクを生成し、表示
     → 別途、ダウンロードヘッダ送出用のphpプログラムを組み、そこにlocation.href()で移動(ダウンロードヘッダが送出されるため、実際には画面遷移は起こらず、ダウンロードウインドウが出る)

      → どちらにせよ、一時的なファイルの保持が必要
       → インターネット上のサービスのため、同時アクセスの可能性
        → ファイルロックの必要あり
        → 複数クライアントからリクエストがあった場合、複数のファイルを生成する必要あり
         → どういったタイミングで削除すればよいか?

    画面遷移なしで色々やろうと思うと結構いろいろ考えないといけないんだなー。