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

Script

発言者:Abe
( Date Friday, February 16, 1996 02:11:06 )


UserTalkかAppleScriptかで悩んでいます。(どちらも覚えてしまえば
良いのでしょうか。)

どなたかご意見をお聞かせください。(もう一つUserTalkのReference
Manualはどうやったら手に入るのでしょうか。どなたかご存じありま
せんか。)

今後ともよろしく。

安部 (keke@gol.com)

田中求之 さんからのコメント
( Friday, February 16, 1996 02:33:54 )

私はちょうど今 UserTalk をマスターしようと Frontier (Aretha) を
いろいろと試しているところです。残念ながらサーバーのメモリーを増設す
るまで、実際に CGI を走らせることができない(なんせ Frontier を
たち上げておく余裕がない)のですが、ざっと触ってみた感じでは…

パフォーマンス(実効速度)を重視するなら Frontier (aretha) でしょう。
Multi-Thread で CGI を処理できますし、同じ事を処理する場合でも AS より
実行速度は速いように思います。また、Clay Basket のような Web Server
構築補助ツールもあります。なによりも、あの Object Data-base の世界は
素晴らしい!

UserTalk リファレンスはオンラインでは公開されていないようですが、
DocServer がありますので、あれの内容をテキストに落とせばリファレンス
になります。私は、まず DocServer をコントロールするスクリプトから
UserTalk を書き始め、学んでいるところです。


資料があり、学びやすいという点では AppleScript です。私は、もともと
HyperTalk を長く使ってきた(今でも osax は HyperTalk で作ってますが)
ものですから、やはり AppleScript の方が自由にアイデアを表現できます。
また、日本にもユーザーが多く、情報を得やすい、また日本語の処理も、一部の
文字に気を付ければ、大きな問題は起きない、といったことがメリットでしょう。


その他、UNIX で培われた豊富な資料が駆使できるという点では Perl もよい
かもしれません。

ショージ@ハートランド さんからのコメント
( Monday, February 19, 1996 12:00:01 )

CGIの勉強にAppleScriptを始めました。
以前に日本酒データベースもどきのページを書いたんですが、
これが3000ページを越えてしまったためにFileMakerを使用
して書き直そうと考えています。

そこで質問なんですがFileMakerがサポートしている
AppleScriptのリファレンスはどこで手に入るのでしょうか?

ショージ
show@heartland.co.jp

ショージ@ハートランド さんからのコメント
( Monday, February 19, 1996 16:05:35 )

FileMakerを利用した簡単な検索プログラムを田中さんの
スクリプトを参考にさせていただいて作成いたしました。
ところがAppleEvent TimeOut Errorが出てしまうのです。
post_argsから検索文字列を抜き出すところまではOKで、
検索スクリプトもそれ単独ならば10数秒で返ってきます。

ただ、2つをあわせるとFileMakerでかなり時間がかかっ
ているようで30秒くらい後にエラーが返ってきます。

チェックは田中さんの作成されたCGI Tester 1.1を使用さ
せて頂きました。

何が原因か分からないために質問させていただきました。

よろしくお願いいたします。

ショージ
show@heartland.co.jp

ショージ@ハートランド さんからのコメント
( Monday, February 19, 1996 18:49:06 )

う〜む、原因は分かりませんが以下のようなスクリプトで
TimeOutになってしまいます(;_;)

tell application "FileMaker Pro"
    set myResult to every Record whose Cell "Prefecture" is "東京都"
end tell

ちなみにレコード数は2334、大きさは1.2Mです。

ショージ
show@heartland.co.jp

田中求之 さんからのコメント
( Monday, February 19, 1996 21:52:03 )

>う〜む、原因は分かりませんが以下のようなスクリプトで
>TimeOutになってしまいます(;_;)

一番可能性が高いのは、FileMaker の検索速度が遅い、ということですね。
AppleScript で検索をかけると、レコード数が多い場合に時間がかかります。

また、ヒットしたレコードが多い場合、返ってくるデータが多すぎてエラーになる
こともあります( CGI でリターンできるのは 24K までという制限がある)。
(あ、32K までだったかな?)

ですから、あらかじめファイルメーカー側で Index を作っておいて、検索の
範囲を狭くするなどの工夫が必要になると思います。

あと、検索中は FileMaker をフロント(一番前)のアプリケーションにすると
検索速度があがります。

tell application "FileMaker Pro"
  activate
  set myList to every record whose cell ....
end tell

のようなスクリプトにして、検索前に activate してみてください。


大量のデータを高速に処理するのは、ファイルメーカーでは苦しいですね。
(でも、2300 件ぐらいのデータでタイムアウトを出すというのもなんだかなぁ)

ショージ@ハートランド さんからのコメント
( Tuesday, February 20, 1996 10:46:27 )

早速ありがとうございます。
昨日、自宅のDuo280で同じスクリプトで試したところ問題なく
30秒くらい(^_^;)で返ってきました。会社のPPCカードだとだめ
なのかもしれません。会社で試してみよう。

activateでの作業も試してみたんですが、やっぱりだめでした。
とりあえずデータをTAB区切りのテキストに出して田中さんの
CGIキットの中のデータベース検索にかけてみました。こちらの
方がスピードも早くて良いですね。ただ、全てのテキストに関し
て検索をするためにCellでの検索と同じようにはいかないですが。

そこで、とりあえず2度手間ですが検索したデータのリストから
もう一度、検索したい部分だけを取り出して検索してます。

他に何かよい方法があればご教授頂きたいです。よろしくお願い
いたします。

BTW....

明日からEXPOですね。金曜日のパーティにて田中さんのお顔を拝見
できるのを楽しみにしてます。

ショージ
show@heartland.co.jp

田中求之 さんからのコメント
( Tuesday, February 20, 1996 17:02:18 )

>そこで、とりあえず2度手間ですが検索したデータのリストから
>もう一度、検索したい部分だけを取り出して検索してます。

>他に何かよい方法があればご教授頂きたいです。よろしくお願い
>いたします。

ファイル検索を行う CGI は Tanaka's osax に組み込んだ getLines
というコマンドを使っています。こいつにアイテム単位での検索機能を追加
すれば、

  アイテムの区切りをタブに設定し
 ファイルから第3アイテムに XXX が含まれる行をすべて抜き出す

といった処理が可能になりますね。この程度の機能の追加であれば、それほど難しくは
ないですし、今の getLines のソースに何行か書き加えれば実現できると思いますの
で、次期改良の際の検討項目につけ加えておきます。

ただ、FileMaker のような高度な検索機能をサポートするのは私の手に余りますので
そのへんは、やっぱちゃんとしたデータベースを使う方がよいでしょう。

WebCatalog という Web 用のデータベースが、かなり検索は早いようです。
おそらく Mac Expo で発表があると思いますが、日本でも発売されることに
なりそうです。

もちろん、マシンとメモリーに余裕があるなら Tango (Butler) のような
SQL データベースもありますよね。

もっとも、個人が手軽にとはいかないのが難点ですが。

Butler (日本ではマイバトラ−という名前で内田洋行が販売してます)について
は、私も試している最中ですので、いずれ何らかのレポートは出したいと思って
ます。(サーバーのメモリーが足りなくなって、ちょっと実験を中断してます。)

ショージ さんからのコメント
( Tuesday, February 20, 1996 20:18:23 )

ありがとうございます。一度試してみます。

WebCatalogは興味があります。オンラインデモをみる限りでは今のところ
一番早いのではないかとふんでいます。

Tango(マイバトラー)も内田洋行さんのショーで見させていただきました。
早さは満足いきませんが、データベースが既に動いているのなら制作のス
ピードはかなり早くいけそうです。何と言ってもドラッグアンドドロップで
ひな型を作成できるのは手軽です。このインターフェイスをハイパーカード
でもできないかと考えていましたが、僕の技術力ではちょっと無理ですね。
ただ、田中さんの作られたCGI Testerを見ていると、もしかしたら・・・と
思いました。

内田洋行さんのお話では2月末から3月にかけてODBC準拠のTango(実際には
Tangoという名前ではないということですが)が出るということでしたので、
こちらにはスピードを期待しています。

WebStarの周辺もどんどん整ってきましたね。インラインでいろいろなものが
再生できるようになるとサーバの負荷も増えますね。うちではRushHourをい
れましたがかなり快適です。

ショージ
show@heartland.co.jp

田中求之 さんからのコメント
( Tuesday, February 20, 1996 22:15:58 )

WebCatalog の速さの秘密は、おそらくメモリー上にデータベースを載せておく
ことにあるのだろうと見ていますが、詳しいことは実物を試してみないとわかり
ませんね。Expo でなんらかの情報が得られるのではないかと思っています。

>CGI Tester

こいつも、いろいろと改良したいし、いずれは Form ページを読み込ましたら、
CGI のプロトタイプのスクリプトを吐き出すツールに仕上げようと思っているの
ですが、なかなか時間がとれません。

岡本 さんからのコメント
( Tuesday, February 20, 1996 23:56:34 )

はじめまして,群馬大学第二内科の岡本です.”インターネットサーバー
構築術”とこのホームページを参考にして医局のホームページを制作して
います.特に掲示板,オンラインデータベースは田中さんのCGIを利用させて
頂いております.あらためてお礼申し上げます.
私もショージさんと同様にファイルメーカーで作ったデータベース(学会の
症例報告約3000件;2MB)を田中さんのCGIを利用して動かそうとしましたが,
うまくゆかず,タブ区切りテキストにして現在稼働しています.
(充分満足しています)この欄を見てある程度疑問が解けてうれしく思って
います.
これからも色々参考にさせて頂きたいと思っています.今後もよろしく
お願いします.
okamotoe@news.sb.gunma-u.ac.jp
http://med2.sb.gunma-u.ac.jp/


田中求之 さんからのコメント
( Wednesday, February 21, 1996 00:58:14 )

> 私もショージさんと同様にファイルメーカーで作ったデータベース(学会の
> 症例報告約3000件;2MB)を田中さんのCGIを利用して動かそうとしましたが,
> うまくゆかず,タブ区切りテキストにして現在稼働しています.

ファイルメーカーについては、他の方からもメールで問い合わせをいただいたり
しています。ただ、私自身がさほど大量のデータを扱わないので、どうしても
そこそこ動くスクリプトでよしとしてしまうところがあります。すべてをスクリ
プトでコントロールせず、ファイルメーカーのスクリプトとうまく組み合わせて
工夫すれば、速度なども色々と改良の余地があるのでしょうが、どうも取り組む
意欲がわかない(時間があるのなら他にやりたいことが山ほどある)のですよ。

ですから、データベースについては、色々な方の意見をお聞きしたいですね。
(新しいページを作っておきます)

なお、『 Macintosh インターネットサーバー構築術』のファイルメーカーの
部分は、実は、最初に書いた原稿が分量を大幅にオーバーしたために、かなり
削りこんでしまっています。そのため、あまり充分な説明になっていませんし、
基本しか説明できていません。

ショージ さんからのコメント
( Wednesday, February 21, 1996 12:02:03 )

他の皆さんも悩んでいらっしゃるんですね。

FileMakerについてはClarisのホームページでも簡単な説明が
ありましたが難しいですね。早く日本語版の3.0がリリースさ
れればと期待しています。