このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

Tanaka's osax 1.2 & 2.0

発言者:田中求之
( Date Friday, January 23, 1998 19:53:35 )


まもなく Tanaka's osax の 1.2 をリリースします。今、最後の調整
(ファイルを指定するパラメーターにフルパスを渡せるようにするという変更)
とデバッグをやってますが、この週末でめどがつくと思います。

また、辞書情報を全面的に書き換えた 2.0 というバージョンの公開ベータ
テストをすでに開始しています。ただし、こちらは、あくまでも辞書情報を
見てもらってコメントしてもらうのが目的のものですので、コマンドの見直し
や仕様の変更も含めて、今後、大きく内容が変わる可能性があります。
ですから、2.0 は、現時点では使用しないでください。


→  Tanaka's osax (Beta)

前薗 健一 さんからのコメント
( Saturday, January 24, 1998 03:44:04 )

2.0 の辞書情報を見たわけではないので、もしかしたら更新されているかも
しれませんが、現在 EasyBBS EX を plug-in に移植するために、EX のソース
を解析中ですが、その中で次のものですが

set nowDateStr to (DateToHeaderStr ((current date) - 32400) with as1123) & " GMT"
--  current date
--    --> date "1998年 1月 24日 土曜日 01:59:46"
--  DateToHeaderStr date "1998年 1月 23日 金曜日 16:59:46" with as1123
--    --> "Fri, 23 Jan 1998 16:59:46"

set nowDateStr to (DateToHeaderStr ((current date) - 32400)) & " GMT"
--  current date
--    --> date "1998年 1月 24日 土曜日 01:59:48"
--  DateToHeaderStr date "1998年 1月 23日 金曜日 16:59:48"
--    --> "Friday, 23-Jan-98 16:59:48"

as1123 option での違いが判らなかったので辞書を見たら、RFC1123 仕様
とそうではないフォーマットというところまでは判明したのですが、できたら
両方のフォーマットの違いまで辞書に載せていただければ親切かなと思いました。

まあ、実際に osax を動かしてテストしてみればわかることなんですけど。 (^^;

田中求之 さんからのコメント
( Saturday, January 24, 1998 13:53:44 )

えっと、インターネットで用いられる日付のフォーマットは3種類あります。

RFC1123 (822) で定められたもの

  Sat, 24 Jan 1998 13:43:35 GMT

** [3文字の曜日], [2桁の日にち] [3文字の月] [4桁の年] [時]:[分]:[秒]

RFC1036 (850) で定められたもの

  Saturday, 24-Jan-98 13:43:45 GMT

** [フルの曜日], [2桁の日にち]-[3文字の月]-[2桁の年] [時]:[分]:[秒]

あと、ANSI C の asctime() のフォーマットです。

で、HTTP/1.1 のドキュメントによると、

RFC 1123 フォーマットの日付を使うのが好ましい(長さが決まっているし、年は4桁)
となってますので、CGI が送り返す日付のフォーマットはすべてこれにしてあります。

一方、リクエストなどで受け付ける場合は、上記の3種類のフォーマットのすべてを
受付可能でなければならない(MUST)となってます(HTTP/1.0 との互換性確保)
ので、CONDITIONAL GET の解析などには、ANSI C のやつは無視して (^_^;;
RFC1123 型と RFC 850型を受け取れるようにしてます。

田中求之 さんからのコメント
( Saturday, January 24, 1998 13:58:33 )

HTTP/1.1 については RFC2068 を見てください。

日付のフォーマットに関しては、3.3 Date/Time Formats という部分に
書かれています。

田中求之 さんからのコメント
( Monday, January 26, 1998 00:34:04 )

1.2 の正式版を登録しておきました。ドキュメントやページの更新はまだですが、
とりあえず本体だけでもいいという方はどうぞ。

1.2fc からの変更点としては、

・dirLister に size limit オプションを追加。これによってデータが一定の
 サイズ以下、あるいは以上のファイルを選択できます。マイナスを与えると以上
 と解釈します。

・ReadClip, SetClip を追加。いずれもクリップボードを扱うものですが、
 データの型を何でも扱えるようにしました。

・ダイレクトパラメーターにファイル指定を受けとるものにおいて、フルパスを
 与えてもエラーにならないようにした。フルパスは使うべきではないとされて
 いるのですが、スクリプトを書く際に便利なことは確かなので、とりあえず処理
 できるように変更しました。ただし、辞書情報は変更してません(こういうのも
 裏技というのだろうか (^_^;; )

・MergeFiles に overwriting オプションを追加。これまで、すでに存在
 するファイルをマージ先にすると、追記するようにしてあったのですが、
 上書きすることもできるようになりました。

・WriteToIndStrRsrc のメモリーリークを修正(ハンドルを一つ消し忘れて
 ました (^_^;; )


→  Tanaka's osax 1.2

田中求之 さんからのコメント
( Thursday, January 29, 1998 18:25:04 )

ページの更新と辞書情報のページを登録しました。ドキュメントはもう少し
遅れます。


→  Tanaka's osax のページ

田中求之 さんからのコメント
( Friday, January 30, 1998 20:30:49 )

コマンドの解説文書( About Tanaka's osax 1.2 )と 1.1 からの変更点を
記したページを登録しておきました。

ところで、どなたか About Tanaka's osax 1.2 を英語に翻訳してくださる
方はいませんか? もちろん、英語版に翻訳者のクレジットは入れます。

英語のメールで説明するのにほとほと疲れているんです(英文書くのは全然だめ
なもんで)。


稲垣@信州 さんからのコメント
( Saturday, January 31, 1998 15:23:40 )

 時間がとれたので、1.2がどう変わったか見ていました。いつの間にか
Tanaka's OSAXでリソース関連が扱える様になっていたのですね。

 これで、SS for MJ等で"StrRes OSAX"が必要無くなりますね。

 結構嬉しいです。

#必要なOSAXが減ると、説明も楽になるので、そっちも嬉しいです。

 後、SS for MJのページは引っ越して、以下のURLになりました。




→  Subject Share for Macjordomo

田中求之 さんからのコメント
( Saturday, January 31, 1998 15:58:22 )

>Tanaka's OSAXでリソース関連が扱える様になっていたのですね。

StrRes osax を吸収合併しました。バグもとれてます。

2.0 での辞書情報の大幅改定の作業の際に、すこしでも作業が楽になるようにしたいと
いうのと、やっぱ一つの方が何かと楽ですからね。

これについては、MainEvent の Cal さんなんかには「分割しろ」って言われている
んですが、ま、CGI に必要な機能をまとめて入れておくという方針は、当分は変えない
つもりです。


たまちゃん さんからのコメント
( Saturday, January 31, 1998 21:32:34 )

>>ところで、どなたか About Tanaka's osax 1.2 を英語に翻訳してくださる
>>方はいませんか?

1からやるのはとても時間的に余裕がありません(申し訳ありません)。どな
たかが1次訳をやったものに目を通して直す、あるいは少しましな日英翻訳ソ
フトのものに目を通す位なら、だましだまし出来るかもしれません(ただ職業
柄、今が1年で一番忙しいのですぐにとはいきませんが)。

こちらも英語を読んだり、人(特に日本人)の書いた英語を直すのは得意なの
ですが、自分で1から書くのは苦手です。いずれにせよ、nativeの方に最終的
には読んでいただくのが良いと思います。この会議室を読んでいる英語が母国
語の方、いらっしゃいませんか?

俺(あるいは私)が1人でやってやるという方がおられれば大歓迎です。(^_^)

籾井 宏文 さんからのコメント
( Sunday, February 01, 1998 00:45:11 )

 こんばんは。佐賀の籾井といいます。いつもつまらない質問に丁寧に答えてい
ただき、ありがとうございます。

 ところで、Tanaka's OSAXの英語訳をということですが、もしよろければお手
伝いさせていただきませんでしょうか。私は、現在教育センターのシステムの管
理をしていますが、英語の教員です。また、教員になる前には、マニュアルの翻
訳をしていたので、多少は自信があります。また、センターに来るALTにチェッ
クを頼むこともできます。

 というわけで、もしお手伝いさせていただけるようでしたら、メールでも送っ
てください。

momii@saga-ed.go.jpです。


→  佐賀県教育センター

田中求之 さんからのコメント
( Sunday, February 01, 1998 13:27:43 )

籾井さん、お申し出、ありがとうございます

英語に翻訳していただきたいのは、Tabaka's osax の説明文書である
About Tabaka's osax 1.2 です。

日本語でもけっこうな分量になってしまっています (^_^;

まずは目を通していただけますか?

→  About Tanaka's osax 1.2

田中求之 さんからのコメント
( Tuesday, February 03, 1998 00:52:41 )

すみませ〜〜ん、1.2 の xReplace に致命的なバグが残っていました。
(オプションを指定すると置換がうまく行われない)

修正版を 1.21 として登録しておきましたので、1.2 を使われている方は
取り換えてください。



→  Tanaka osax 1.21

稲垣@信州 さんからのコメント
( Tuesday, February 03, 1998 10:56:11 )

 要望なのですが、Tanaka's OSAXのコマンドの追加でEncode MIME 
を入れてもらえないでしょうか?

 デコードは「DecodeJHeaders」で入っているのですが、どうせなら
ワンセットで、EncodeJHeaders等を作ってもらえると嬉しいです。

 では、検討の程よろしくお願いします。


田中求之 さんからのコメント
( Tuesday, February 03, 1998 12:47:57 )

>では、検討の程よろしくお願いします。

Tanaka's osax は、しばらくの間は新しいコマンドの追加は行いません。

というのも、辞書情報を大幅に変更した(書き直した) 2.0 というバージョンを
1.2 とコンパチの形でリリースする予定で、現在、準備中なのですが(いろいろな人
からいろいろなコメントが来て、英文でメール書くのに泣きそうになってます (^_^; )
これを出すまでは、バグの修正以外のコマンドの変更は行わないことにしました。

MIME のエンコードについては、すでに前薗さんの osax もあるので、あえて
作らなくてもいいかなと思っていますが…

Decode JHeaders は、データ中の MIME ヘッダーをすべて一括して JIS に
変換する(たとえば mbox をとってきたようなメールアーカイブ)ことが目的
です。それに対して Encode の方は、複数行一括という使い方は意味がない
ですから、前薗さんの osax で十分だと思いますが…

→  Japanese KANJI code utilities OSAX

稲垣@信州 さんからのコメント
( Tuesday, February 03, 1998 14:09:09 )

 SSで、MIMEのエンコードとデコードをするので、その時にOSAXの数が
減ったら楽だなと思ったので、書きました。

#1byte文字まで、エンコードするメイルクライアントがあるので、一度
#デコードしてエンコードし直しています。

 Tanaka's OSAXでデコード出来るのなら、エンコードも・・なんて思っ
たのです。
 他にもスクリプトからメイルを送る時も、日本語のSubjectで送れるか
なと。

#もちろん、前園さんのOSAXはお世話になっています。どうもありがとう
#ございます。


田中求之 さんからのコメント
( Thursday, February 05, 1998 14:13:08 )

Tanaka's osax 1.22 を登録しました。

辞書情報を書き換えて、ダイレクトパラメーターにフルパスを渡せることを
明記しました。

田中求之 さんからのコメント
( Tuesday, February 10, 1998 00:42:10 )

Tanaka's osax 1.24 を登録しました

変更点は
・itemsToList が複数行のデータを処理可能
  →タブ区切りのデータファイルをリスト化できます

・WriteToFile, AppendToFile, WriteToTextRsrc のバグ修正
  →パラメータが STXT の時のエラーをなくしました



→  Tanaka's osax

猫の手 さんからのコメント
( Tuesday, February 10, 1998 08:09:17 )

今の時点で、表示もリンクが1.22のままです。
一応落としましたけど。

田中求之 さんからのコメント
( Tuesday, February 10, 1998 09:17:32 )

すみませ〜〜ん、ページ書き換えてアップしたつもりが、別のディレクトリに
放り込んでしまってました (^_^;;

以下のリンクです


→  Tanaka's osax 1.24

田中求之 さんからのコメント
( Tuesday, February 10, 1998 09:19:15 )

あ、間違えた

→  Tanaka osax 1.24

田中求之 さんからのコメント
( Thursday, March 05, 1998 23:46:58 )

v1.25 を登録しました。dirLister のバグ修正と仕様追加です。

dirLister の ofName に関連するバグ( ":" をパラメーターに与えた時の動作が
おかしい)を修正したのと、creator, type の指定にリストを渡せるようにしました。

dirLister myFldr type {"TEXT","ttro"}

で myFldr からテキストファイル(TEXT)と SimpleText の ReadOnly ファイル
(ttro)の両方をピックアップします。渡せるタイプの数に制限はありません。また、
ファイルタイプに変換できないもの( "" や "xx" のようなもの)は無視するように
なってます。

なお、上記の変更にともない、type と creator のパラメーターはリスト型に変更に
なりましたが、これまでどおり

dirLister myFldr type "TEXT" creator "JEDT"

と書いても問題なくコンパイルできます。


1.2 のバグもおおかた出尽したようですので、これでフリーズして、2.0 への
変更を行う予定です。

→  Tanaka_osax_1.25.hqx

田中求之 さんからのコメント
( Wednesday, March 25, 1998 02:14:00 )

>これでフリーズして

1.26 作ってしまいました (^_^;;

今回の変更は readFromFile に from と to のパラメータを追加したことです。

from でデータを読み始めるバイト位置(Offsetではない)を指定します
to でデータを読み終えるバイト位置を指定します。

from を省略したときには、ファイルの先頭から
to を省略したときにはファイルの最後まで

ということになります。

また、マイナスによって、ファイルの最後から数えて何バイト目かを
指定できます(これが欲しくて拡張したようなもんなんです (^_^;; )

readFromFile myFile from -1024

で、ファイルの最後の 1K バイトを読み込みます。

readFromFile myFile from 513 to -1024

とすると、ファイルの 513 バイト目から、最後の 1K の手前までを読み込みます。

UNIX の head と tail にあたるコマンドが必要になって拡張したわけです。

→  Tanaka_osax_1.26.hqx

田中求之 さんからのコメント
( Wednesday, March 25, 1998 02:29:13 )

なお、Tanaka's osax をスクリプトの日本語表現形式に対応しないなのかという
メールをいただいたのですが、その気は全くありません。

雑誌の記事やセミナーなどでも折に触れ言ってきたことではありますが、日本語表現
形式の意義は認めるものの、使い物にならないというのが私個人の判断だからです。

よくも悪くも、AppleScript は英語表現形式でやってかないと、どうしようもない
(だいたい、主な情報は海外から来たり、海外の ML を見てないと得られないわけ
ですし)と思ってます。私の場合、AS が出てすぐに Dev Kit で使い始めた
人間ですから、最初から English で入ったということが大きいのは認めますが、
CGI の開発においては、事実上、英語表現形式でないとやっていけませんし、
また、私が参加しているいくつかの AS の ML でも、英語表現形式が標準の形式
になっているように、インターネットで情報を得ながらやっていくには、英語しか
選択の余地が無いと考えています。

ま、この件に関しては、個人の趣味判断だとは思っていますが、いずれにせよ、
Tanaka's osax は、決して日本語表現形式に対応しませんので、あしからず。

船引 友貴 さんからのコメント
( Friday, April 03, 1998 05:13:48 )

初めて発言します。どこに発言すべきか分からなかったのでこちらで発言します。

以下のホームページ内でeasyBBS_DXIIを少し改造したものを昨年12月から
利用させていただいています。
<http://www.sunbit.or.jp/to-fu/>

このほど、Tanaka_osax2.0b1をダウンロードし、利用してみましたが、
easyBBS_DXII、easyBBS_SRII等で構文確認すると数カ所でエラーが発生します。
(「Expect end of line, etc. but found class name.」だそうです)
素人ゆえ、バグレポートしかできず、申し訳ありません。

なお使用環境は、MacOS8.1、AppleScriptのバージョンは1.1.1です。



田中求之 さんからのコメント
( Friday, April 03, 1998 18:23:29 )

EasyBBS および CGI Kit には Tanaka's osax 2.x は使用しないでください。
最新版の 1.26 をお使いください。

2.0 ではコマンド名などを大幅に変更します(まもなくリリースします)。2.0b は
その評価のために公開したバージョンで、EasyBBS などのこれまで私がリリースした
サンプルなどには使えないものになっています。

EasyBBS および CGI Kit も、2.0 のリリースに合わせて変更するつもりですが、
おそらく少し遅れるでしょう。

田中求之 さんからのコメント
( Wednesday, April 08, 1998 02:05:00 )

Tanaka's osax 1.27 および 1.28 をリリースしてしまいました。事の成り行き
は以下のページで。


→  itemsToList