07/10/20 19:12:55
>>347
まだアップルストアで、WO5.2売ってるよ。
349:デフォルトの名無しさん
07/10/21 08:29:58
WebObjectsのview層って、HTML以外でも生成できますか。
<webobject name="foo">...</webobject> というのを使っているから、HTMLかXMLしか生成できなさそうなんですが、例えばcsvとか普通のテキストファイルも生成できますか。
350:デフォルトの名無しさん
07/10/21 17:06:45
>>349
データそのものは何でも送れる。(アップルのサイトにpdfを送付するサンプルがあった)
(ただし、転送プロトコルはhttp又はhttpsのみ。)
// CSVを生成
NSData csvData = ...;
// データをHTTPレスポンスに組み込む
aResponse.setContent(csvData);
// 不要なヘッダの除去を指定
aResponse.disableClientCaching();
aResponse.removeHeadersForKey("pragma");
aResponse.removeHeadersForKey("expires");
aResponse.removeHeadersForKey("Cache-Control");
// IEでダウンロードさせるための指定
aResponse.setHeader("public", "Cache-Control");
aResponse.setHeader("public", "Pragma");
// HTTPヘッダーのContent-Typeを設定
aResponse.setHeader("text/csv;charset=Windows-31J", "Content-Type");
aResponse.setHeader("attachment;filename=\"myCsvName.csv\"", "Content-Disposition");
351:デフォルトの名無しさん
07/10/21 21:50:07
>>350
送れるかどうかではなくて、WebObjectsのView層というか、いわゆるWebObjectのテンプレートエンジンでHTML以外の形式が生成できるかどうかについて聞きたかったんですが。
特に問題ないですよね?きっと。
いや、WebObjectsをパクったTapestryというのがあるんですけど、これがなんかHTMLしか生成できないみたいなので。
WebObjectsはきっと違うと信じてる。
352:デフォルトの名無しさん
07/10/22 02:16:46
>>351
具体的に何をしたいのでしょうか?
根本的に道具の選択を間違っているような……
(ペーパーナイフで十分な所で、チェーンソーの準備をしていませんか?)
353:デフォルトの名無しさん
07/10/22 11:19:42
>>352
したいのは、テキストファイルとCSVファイルをWebObjectsで動的に生成すること。
分かりにくい質問だったかな。
Tapestryはテンプレートの解析にHTMLパーサを使っているようなので、HTMLしか対象としていない。
でもWebObjectsは <webobject ...></webobject> を使っているみたいだから、これならHTMLパーサを使ってないように思う。
で、そのへんを詳しい人に確認したいだけなんだけど。
354:デフォルトの名無しさん
07/10/22 12:03:35
来んな!!
355:デフォルトの名無しさん
07/10/22 23:49:41
>>353
WOComponentのtemplateメソッドと、templateWithHTMLStringメソッドでhtmlを解析してWEBOBJECTタグを置換している。
こいつらは大雑把な検査しかしてないから変な記述をしても通ることは通る。
しかし…… これでcsvを生成するのはリンゴの皮を剥くのにチェーンソーを使うようなものだぞ?
(どう考えても素のjavaでテキスト操作をした方が簡単に思える)
356:デフォルトの名無しさん
07/10/22 23:50:24
>>353
今さらWebObjectsでそんな作りこみなんて、よく顧客が納得したな
大きなメンテが必要になった時点でどうせ全部.Netあたりで作りなおしなのに
357:デフォルトの名無しさん
07/10/23 23:18:27
>>355
>WOComponentのtemplateメソッドと、templateWithHTMLStringメソッドでhtmlを解析してWEBOBJECTタグを置換している。
>こいつらは大雑把な検査しかしてないから変な記述をしても通ることは通る。
確認なんだけど、HTMLパーサは使ってないんですよね?
単に <WEBOBJECT> タグしか認識しないんですよね?
>しかし…… これでcsvを生成するのはリンゴの皮を剥くのにチェーンソーを使うようなものだぞ?
>(どう考えても素のjavaでテキスト操作をした方が簡単に思える)
しかし、アーキテクチャとしては *.html も *.txt も *.csv も *.json も、動的に生成するものならなんでも統一的に扱えるわけだから、そのほうがいいと思います。
*.html とそれ以外でview層を分けるようなことをするほうがアーキテクチャとして間違っていると思いますけど。
358:デフォルトの名無しさん
07/10/24 00:16:31
>>357
Webアプリ作成に特化したツール、それも最も古いツールに対して何を期待している?
テンプレートの解析部分は、手抜き実装だけど一応htmlパーサ。
テンプレートにhtmlのコメント文を書いてみれば判る。
そもそも、生成された文字列は標準出力にしか出力されないんだが。
(CGIとして動作するプログラムが他に出力して意味があるか?)
359:デフォルトの名無しさん
07/10/24 02:40:15
>>357
> しかし、アーキテクチャとしては *.html も *.txt も *.csv も *.json も、動的に生成するものならなんでも統一的に扱えるわけだから、そのほうがいいと思います。
そういう設計ではあるが、あくまで基盤だけ。実際に各種フォーマットを扱えるようにするにはその上のレイヤーを作らないといけない。
どうしてもWOでやりたいなら、
* (標準出力以外への出力が欲しいなら)自前のWOAdaptorサブクラスを書いて、
* (コマンドラインから使いたいなら)Monitarやwotaskdを使わずにWOApplicationインスタンス作って、
* WOComponentのインスタンスも作って、扱うフォーマット通して、
* 必要ならテキストパーザもエレメントも自前で実装して…
くらいの手間がかかるかもしれん。まあこれは極端な例だが、なんせWebブラウザとHTMLをやりとりするだけでフレームワーク (WebObjects.framework) が一つできるからな。そこまでする価値もないだろ?
360:デフォルトの名無しさん
07/10/24 03:01:46
>>358
> テンプレートの解析部分は、手抜き実装だけど一応htmlパーサ。
> テンプレートにhtmlのコメント文を書いてみれば判る。
うそーん、無駄によくできてるのか。
じゃあ、HTMLしか出力できないでFA?
> Webアプリ作成に特化したツール、それも最も古いツールに対して何を期待している?
HTML以外も同じように扱えること。
>そもそも、生成された文字列は標準出力にしか出力されないんだが。
今問題にしているのは出力形式であって、出力先は関係ないよね?
>(CGIとして動作するプログラムが他に出力して意味があるか?)
意味不明。
361:デフォルトの名無しさん
07/10/24 12:44:31
自分の認識では、テンプレート(*.wo)はHTML形式じゃなくてもタグは置換されるし、レスポンスヘッダは自由に書き換えられるので
HTMLしか出力できない、という認識は持っていない。
XHTMLやRSS出力もやったことあるし・・・・。
「できんの?できないの?」の議論よりは、なんかサンプルつくってみて「どーよ?」的な方が建設的で健康的じゃないかと。
iTSがWebServicesでやりとりしてるのをみると、かなりカスタマイズしてんだろうなーと思う。あのへんのノウハウを是非WO6なんかに入れてもらいたいw
362:デフォルトの名無しさん
07/10/24 15:46:20
>>361
すでにRSSの経験があるなら、ここで聞く前にやってみればいいんじゃないか?誰もできないとは言ってないよ。
363:361
07/10/24 17:08:58
>>362
すまん、自分は質問者と思われる360じゃない... orz
364:362
07/10/24 21:11:04
>>363
orz
365:デフォルトの名無しさん
07/11/13 10:17:46
TOYOTAの新卒採用サイトwebobject使っているのな。ちょっと驚き
366:デフォルトの名無しさん
07/12/02 15:32:31
マジかw
車屋でシステムの知識がないからなのか?
WOにすべてを捧げて捨てられたホームレスたちへの情けか?
ただ金が有り余ってるのか?
冷やかしかネタか?
いずれにせよほめられたものではないな。
6.0が発表されてAppleがまだ捨てていないという姿勢を明確にするまでは放置した方がいい。
367:デフォルトの名無しさん
07/12/02 18:02:56
ついに
WO採用=頭大丈夫?
の時代にw
368:デフォルトの名無しさん
07/12/02 18:54:27
3年と8ヶ月かけても400に届かず、質問スレというスレタイだが質問といえば
開発終了したの?
WebObjects(笑)
この盛り下がりっぷりはほかにはないWOの特徴。
369:デフォルトの名無しさん
07/12/02 22:11:49
相変わらず先進的な方に入るはずなのに、あまりにも盛り上がらないこの不思議。
人月商売には害になるから?
370:デフォルトの名無しさん
07/12/02 23:35:27
良いものが売れるとか盛り上がるはずだとかいうのは幻想
パンピーはそんなの気にせず目に触れたものに手を出す
所詮は営業力の勝負
371:デフォルトの名無しさん
07/12/02 23:55:52
結局、使っているのは怪しげな連中ばかり
372:デフォルトの名無しさん
07/12/03 20:46:30
他人と違うもの使ってると不安になるひとには向いてないね
んで
オリジナルなひとばかり集まると
373:デフォルトの名無しさん
07/12/04 00:46:33
一般的な顧客=他人と違うもの使ってると不安になる
374:デフォルトの名無しさん
07/12/04 07:50:45
まぁ利用者が少ないっていうのは
なかなか枯れないとか
メンテナンスすらされなくなって放置とか
不幸な結末を迎えるケースもあるからなぁ
MSみたいに大勢が使ってても
いつまでたっても枯れないシステムもあるが
375:デフォルトの名無しさん
07/12/05 17:58:56
日本百貨店協会もWebObjectだったりする
376:デフォルトの名無しさん
07/12/07 00:11:14
Leopardを新規インストールして、付属のXcodeとWebObjectsをインストールしたんだけど、
EOModelarとかが見当たらない・・・。XcodeにWOのテンプレもでないし。
なくなったんでしょうか?
377:デフォルトの名無しさん
07/12/07 01:26:36
ググレカス>>376
378:デフォルトの名無しさん
07/12/10 16:08:19
だいだなRequest1件しか受け付けないこと自体クソだろ?
setAllowsConcurrentRequestHandling(true);
なんかしてみたらEOFでデットロックする代物じゃんwww
379:デフォルトの名無しさん
07/12/10 16:59:58
>>378
URLリンク(d.hatena.ne.jp)
ずっと前から
setAllowsConcurrentRequestHandling(true);
にしてもデッドロックしたことなんて只の一度もないけどな。
380:デフォルトの名無しさん
07/12/10 21:09:35
>>378
EOの使い方が変、に100ガメル。
381:デフォルトの名無しさん
07/12/11 11:33:13
うーん、でもな、オブジェクト(EO)のデッドロックだったら、ちょっと前のEOFなんかだと結構簡単に出てたよ.
リリースノートにそんな感じのことが書いてあった希ガス.今は改善されてるんかもしれない.
WOFもそうだけどやはりコンテクストというWebアプリでは制御が難しいカラクリをベースにしてると
複雑度が増してしまうんだろうな~とオモタ.へんなSQLが飛ぶからDB側でのデッドロックも起きやすいヨとDB屋からも指摘されたことがある.
参照系はEOじゃなくてCollection系で、CRUD系処理のごく短いトランザクション処理でEOを使うようにしてる.
機能はとても良くできてるだろうけど、安全に使いこなせるようになるのに時間がかかるという感じかな
382:デフォルトの名無しさん
07/12/11 22:57:15
>>381
デフォルトecと、参照専用のshared ec だけ使っていれば、滅多に競合なんてしない。
■参照系こそEOを使うべき。リレーション張らずに何のためのEOか?
ネステッドEC使えば、たいていの処理はデフォルトecだけで済む。
ロックに関するマニアックな資料
URLリンク(www.spice-of-life.net)
383:デフォルトの名無しさん
07/12/12 10:00:10
どっかでEOFとSeasar2のベンチ比較やってるのをみた希ガス
すごい遅かったような
384:デフォルトの名無しさん
07/12/12 23:08:15
>>383
EOFは実行時もインタプリタだもの。(EOの定義はテキストファイル)
「速度が気になるような用途はストアドプロシジャ使え」ってのがセオリー。
※ Seasar2のO/R Mapperって、SQL文をそのまま書いてるような奴だろ?
コード補完機能付のエディタがないと使い物にならない、気持ちの悪い書き方するアレ。
385:デフォルトの名無しさん
07/12/12 23:59:48
select * from テーブル where ...... のような単純なSQLをはき出す処理でもEOFはだいぶ遅い方じゃないかな
EOの生成コストがだいぶ大きい印象。ストアドも全体性能からするとあまり性能に寄与する場面ってそう多くないな
Seasar2のO/RMapperは仕事でS2daoというのを使ったけど
EOFほど高機能じゃないがエンジニアの受けは良くて、何しろ軽くトラブルレスだったのが良かったな
386:デフォルトの名無しさん
07/12/13 01:54:24
>>384
>>EOFは実行時もインタプリタだもの。(EOの定義はテキストファイル)
これはどういうこと?eoを生成するたびにモデルファイルを読み込むということなら、いくらなんでもそれはないと思うが。
プロファイルを計測したことはないが、SQL文の組み立てに時間がかかってそうな気はするなあ。
387:デフォルトの名無しさん
07/12/13 10:54:11
>>386
>>eoを生成するたびにモデルファイルを読み込むということなら、いくらなんでもそれはないと思うが。
確かにない。WOFの場合は起動時にモデルファイルを読み込んでEOModelオブジェクトとして保持する。
誰かEOFのベンチたのむw
388:デフォルトの名無しさん
08/01/15 22:05:59
保守上げ
389:デフォルトの名無しさん
08/01/20 18:30:38
S2dao より sql2java の方がいいだろ どう考えても