WebObjects nsDictionary.valueForKey("5スレ");
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/02/04 12:21ID:vwrTw9m5Webアプリ開発環境「WebObjects」について語るスレです。
http://www.apple.co.jp/webobjects/
http://www.apple.com/webobjects/
1スレ目:http://pc.2ch.net/test/read.cgi/php/989562708
2スレ目:http://pc.2ch.net/test/read.cgi/php/1013695600
3スレ目:http://pc.2ch.net/test/read.cgi/php/1024066714
4スレ目:http://pc2.2ch.net/test/read.cgi/php/1033912737
■ 掟 ■
・遠慮は自身の成長を阻害する。過去ログ読んでも判らないことがあればどんどん質問すべし。そして判らないヤツがいたら親切じゃなくてもいいから教えてやるべし。
・WebObjectsを使っている個人・法人の無意味な批判は歓迎されない、しない。マカーマカーと騒がないこと。
・ヨソの開発ツールを使ってもないのにWebObjectsマンセーすることは歓迎されない、しない。
・運用についての質問はハードウェア、OS、パッチ、RDBMSのバージョン、JDBCアダプタのバージョン、Web鯖のバージョン、例外の内容などを細かく明記すべし。
・プ社の話題はウザすぎるので全て専用クソスレでおながいします。
・さやかタン (´Д`;)ハァハァ
0219nobodyさん
03/03/11 20:12ID:J06sZWVq客先にサーバを納品し、会社からJavaMonitor使ってWOアプリを起動しようと
接続を試みたんですが、「Failed to contact」が出て接続できません。
原因は色々考えられると思うんですが、解決の糸口だけでもお教え願えませんでしょうか?
ドメイン名を指定して接続を試みたらIPアドレスは出てきます。
Webブラウザでドメイン名を指定したら、試験的に置いてるindex.htmlは
表示されます。
ちなみにサーバはMac OS X Serverです。
0220nobodyさん
03/03/11 21:42ID:???会社にあるPCのブラウザから、客先のサーバで動いているJavaMonitorを
起動しようとして駄目だったのなら、単にポートが開いていないとか。
0221220
03/03/11 21:45ID:???逆にポート80とかで起動させてたら怖いな。。
ウチはマイナーなポートで起動しておいて、ルータで発IPでフィルタリング
してます。完璧とは言えないけど、利便性と安全性のバランスが難しいですね。
0222nobodyさん
03/03/12 03:22ID:???(DB1)エンティティ1-->(DB2)エンティティ2<<-->(DB2)エンティティ3
というモデルがあるんですが、エンティティ3のAttributeから条件を絞り込んで
エンティティ1をDisplayGroupで表示させたいのですがうまくいきません。
DB1のEOModelerのエンティティ1に(Entity2.Entity3.Attribute = $aValue)の
FetchSpecを作成して実行しようとすると
com.webobjects.jdbcadaptor.PostgresqlExpression
Relation "Entity3" does not exist というエラーがおこります。
どなたかよい解決法をご存じでしょうか?
OSX10.2.4,WO5.2,PostgreSQL7.2
0223nobodyさん
03/03/12 06:55ID:???our testing with the new Java 1.4.1 implementation for Mac OS X has revealed some
incompatibilities which will be addressed in an upcoming WebObjects software update for all
platforms.
We are interested in feedback on WebObjects 5.2 running under Java 1.4.1 and encourage you
to file bugs via bugreport.apple.com. However, please understand that WebObjects 5.2.x and
Java 1.4.1 is not a supported configuration.
Bob Fraser
WebObjects Product Manager
----
WO5.2はJava1.4.1でちと互換性がない部分もあるけど、WOのUpdateでそのうち教えるよん。
なんかフィードバックあったらレポートよろしく。でもJava1.4.1はサポート外だからねん。
0224nobodyさん
03/03/12 13:48ID:+XkzgpX0自分も同じ現象に遭遇したことあり。2つ以上のEntityをまたいだQualifierを指定すると
だめってやつ。仕方ないので一度1段階のQualifierを指定してfetchした結果に大して
もう一度新たに作成したQualifierでFilterするって方法。
念のためにSQL文を出力して、どんなSQLを吐き出すかチェックしたほうが良いかも。
直接SQL文を投げてrowRawで処理すればいいかもしれんが(EOとしては扱えないけどさ)
>>223
なんかマターリしてるというかいい加減というか、おまえらサーバーサイドビジネスを
ナメてんのか、って感じ丸見えだよなぁ。DeveloperPreview10まで出しておきながら。
これがOracleやIBMだったら速攻お客さんが逃げていくぜ。
0225219
03/03/12 21:26ID:JBA2LpP1客先のサーバに繋ごうとしたんです。
ポートの指定ってどこにありましたっけ?????
サーバがうちの社内にあったときも、サーバ上のJavaMonitorは起動しませんでした。
これの原因もわかればお教え下さい。
0226あぼーん
NGNG0227nobodyさん
03/03/12 21:36ID:+XkzgpX0ポートを指定してJavaMonitorを起動したいということか?だったら起動オプションに
-WOPort 12345
を入れるんだな。
0228nobodyさん
03/03/12 22:25ID:???playback managerの質問なのですが
コマンドラインから再生したらリクエストされたhtmlの内容の
日本語の文字コードが違うようでエラーになりました。
どんな設定が必要なのでしょうか?
win2000でアプリもplayback managerもPC上で動かしています。
0229nobodyさん
03/03/12 23:58ID:???ん?
JavaMonitorを起動するのは客先のサーバで、
会社から「客先のサーバで起動しているJavaMonitor」のURLを叩くのでは?
JavaMonitor自体が一種のWebアプリみたいなものかな。
0230222
03/03/13 00:05ID:???レスありがとです。で、早速2つに分けてみたんですが、、うまくいきませんでした
エラーのSQL文を見ると、(DB1)エンティティ1-->(DB2)エンティティ2
へのリレーションが見つからないってことで怒られます。
2つのデータベースをまたいだFetchSpecはだめなんですかね?
0231nobodyさん
03/03/13 10:24ID:???であれば、JavaMonitorが起動しているポートを開けておけば良いのではないでしょうか。
(あんまりオススメしませんけど)
0232219
03/03/13 11:11ID:RDpb8Nkoとりあえず1085番が開いてなかったみたいです。
サーバでJavaMonitorを動かす方法というのがわかりません。
サーバマシンでJavaMonitor.woaをダブルクリックしても動きませんし・・・。
開発マシンでJavaMonitor.woaをダブルクリックしたら動きますんで、
これを使ってサーバのJavaMonitor.woaを動かせばいいんでしょうか?
0233nobodyさん
03/03/13 11:30ID:???Apple?????????Deploy?PDF???????????????????
??????????????????????
0234山崎渉
03/03/13 16:56ID:???0235219
03/03/13 21:58ID:RDpb8Nko0237219
03/03/14 21:18ID:qfmM+xnn何か見落としてるんでしょうか。
0238nobodyさん
03/03/14 23:13ID:Diep7otU起動時のスクリプト(WOServices)に、JavaMonitorを起動するスクリプトを追加
するだけで良いと思います。起動オプションにWOPortでポートを固定しておけば
良いのは。この方法はDeploying〜のPDFドキュメントに書いてあったと思います。
JavaMonitorも普通のWebObjectsアプリですから、コンソールで
JavaMonitor.woa/JavaMonitor -WOPort 9999 &
とすれば起動します。
0239nobodyさん
03/03/16 19:19ID:HlyXuUfTWebObjects5.2は対応してねぇーっつうに、アップデートしたら動かなくなりました
なんて平気で言う香具師が多いのはなんでかねぇ?
0242nobodyさん
03/03/16 23:54ID:???0243219
03/03/17 13:51ID:pO0dIs57ありがとうございます。
試してみます。
ところで、これで指定するポートが外部に対して開いてなかった場合、
外部からはアクセスできませんよね?
0247nobodyさん
03/03/17 21:54ID:XhuhvZtV1<->Nでリレーションを張ったテーブルがあったとして、このNを所定の
fetchSpecで絞り込みをかけたいのですが、どのようにすればいいでしょうか?
Nの方を先にfetchした場合は、いくらでもfetchSpecで絞り込みができるのですが
1のテーブルを先によみ込んでからリーフのNを表示させようとして困ってしまいました。
できれば、「このリレーションを使うときはこのfetchSpec固定だよ」てな
設定が有ればいいのですが。
OS:MacOSX(10.2.4)
WO:WebObjects 5.2(DevTool july2002)
DB:OpenBase or MySQL
0248nobodyさん
03/03/17 22:39ID:???どこでそんな言葉を覚えてくるんだろうな...?
0249あぼーん
NGNG0250nobodyさん
03/03/18 00:12ID:???0252nobodyさん
03/03/18 01:27ID:???ええと、QualifierFormatの指定で、
"EntityB.attributeA = %@"
というQualifierを作成。EntityAを指定したFetchSpecificationを
↑で作ったQualifierを引数にして作成すればいいんじゃないの?
あ、ごめん、おまえがやりたいのは、あとからフィルタしたいってことか。
だったら、カスタムEOクラスで別のメソッドを追加して、
リレーションシップ名のメソッドでNSArrayで対Nになるオブジェクトを取得して
NSArrayのフィルタをするメソッドでフィルタする、といったメソッドを
書いておけばいいんじゃないの? 自動的にやってくれそうな奴はなさそうだよ。
0253nobodyさん
03/03/18 02:20ID:v1uM4yNnフィールド名にアンダースコア使ってたら、
EOUtilities.objectsWithFetchSpecificationAndBindings使えないんじゃん・・・。
馬鹿馬鹿!俺の馬鹿!
0254219
03/03/18 11:11ID:v1uM4yNnDeploying〜の68ページのことだと思うんですが、そもそもwoserviceがないみたいです。
command not foundとか怒られます。
/etc/startupというファイルもないし・・・。
0255247
03/03/18 11:16ID:???やっぱfetchSpecの固定化は無理ですか・・・・。
NSArrayに取り込むと、べらぼうな件数になるので、できれば
リレーション先のEOで勝手にfetchかけてくれるとすごく助かるんですよ。
VIEWが使えるDBMSだとそのVIEWでEntity作っておけばなんとかなるらしいのですが、
MySQLはVIEWが使えません。(しかも、Nの方のデータは皆MySQLだったりする)
できればrawRowsForSQLは使わない方向で済ませたいんですが、無理ですかね。
0256nobodyさん
03/03/18 12:26ID:ZsjaUhZjたとえば
よくみかけるDBの1レコードを1オブジェクト(エンティティBean?)として扱うロジックって
レコード型の変数(構造体?)にすれば同じようなロジックは可能だと思いますし。
あくまで再利用性においてのメリットなのかと。。
初心者で見当違いのこと書いてるかもしれませんが、
オブジェクト指向でないと不可能な何かわかりやすい例はないですか?
板違いのようですが
WebObjects開発者の方々はオブジェクト指向を熟知しておられるようなので
ここで質問するのが一番良い答えが返ってくるのではと思い。
0258nobodyさん
03/03/18 22:06ID:???偽物逝ってよし。
0259nobodyさん
03/03/19 04:38ID:???http://docs.info.apple.com/article.html?artnum=75505
0263nobodyさん
03/03/20 21:18ID:DH3EVZ7vtakeStoredValueForKey
と
takeValueForKey
storedValueForKey
と
valueForKey
どうちがうのだろう。。
納得のいく解説希望m(__)m
0264nobodyさん
03/03/20 21:40ID:???take がつくのはオブジェクトにデータをセットする。
つかないのは呼び出す。
アクセサメソッドみたいなもんだと思え。
ただ、keyValueCordingつう(これはNEXTのパテントだったような)のがあってだな、
たとえばWOComponentクラスaComponentにNSArray型のtestArrayというフィールド(インスタンス変数)が
あるとすれば、NSArray array = (NSArray)aComponent.valueForKey("testArray");
なんてことができるわだ。その逆は、aComponent.takeValueForKey(tempArray , "testArray");で、
aComponentクラスインスタンスにあるtestArrayフィールドにデータをセットすることが
できるつうころだ。
storedValueForKeyはカスタムEOクラスでモデルファイルで定義された同名のAttributeを
経由してDBからデータを取得するメソッドだと思えばいい。take〜はその逆。
つーか、APIリファレンス嫁、このボケが。
0265nobodyさん
03/03/20 21:59ID:???WebObjectsの主だったクラスにはNSKeyValueCodingインターフェイスがimplementsされているので、
takeValueForKey、valueForKeyを使えば、クラスの型に関係無く、同じように扱える。
例えば、フレームワークなんかに、あるデータを(NSArray、NSDictionary、EOGenericRecord、WOComponent)
とりあえず叩きこんでも、同じように処理できる。
実際のクラス、データのアクセス用メソッド名を知る必要が無くなる。
と、たいしてしらないのに推測で言って見る。(匿名って怖いね。)
0266nobodyさん
03/03/21 00:02ID:jxXFr992WebObjectsしかさわったことがない人より
0267nobodyさん
03/03/21 00:13ID:YnNpBOmCWOのフレームワークを利用した開発環境と、
一般のJava開発環境を同軸で語ってはいかん。
次元が違いすぎる。
一般のJava開発環境に慣れてる人間は、WOの神髄を理解できないコトが多い。
良くも悪くも。
かくいう漏れは、現状Eclipseだす。。。(;´Д`)
0269nobodyさん
03/03/21 10:47ID:h7OlXI7Xttp://docs.info.apple.com/article.html?artnum=75433
んがしかーし、JDK1.4.1はまだ未サポートなの。クスン。
0270あぼーん
NGNG0271nobodyさん
03/03/21 18:45ID:RAqS175Hhttp://docs.info.apple.com/article.html?artnum=75433
0272nobodyさん
03/03/21 20:54ID:h7OlXI7X駄目みたいよ。>1.4.1
ただ、NSTimestampまわりで少しだけ非互換部分の修正が入っている。
どうも、5.2系はサポートする気がないみたい。
あと、DevToolがDecember2002 requiresになってしまったのも鬱。
この環境でまともに動いてる人っています?
(実行コンソールの日本語表示とか)
0273nobodyさん
03/03/21 21:49ID:Y4KjhaPkwo5.1です。
EOモデラでカスタムeoのソース作らせたら、
アクセサとして作られるものたちには
storedValueForKey
が使われてますよね。
valueForKeyとかじゃなくて。
んで、リファレンス読んでもいまいち
違いがわからなったんで。。
あと、willChangeとかwillReadとか
これらアクセサでよばなくてもよいのかも疑問。
逆に呼ばないといけないのはどんなとき?
あぁ、深遠なりwo
まだ水際でチャパチャパしてるかんじ。。
0274nobodyさん
03/03/22 03:41ID:???使用されるアクセサメソッド等の優先度が違います。
storedValueForKeyは、
1) _付きのアクセサメソッド、2) インスタンス変数、3) アクセサメソッド
の順ですが、valueForKeyは
1) アクセサメソッド、2) _付きのアクセサメソッド、3) インスタンス変数
の順になります。もしhogeフィールドを持つクラスにアクセサソッドhoge()
が実装されていた場合、storedValueForKey("hoge")だとアクセサメソッドhoge()
をバイパスして直接フィールドの値を取得できます。_hoge()が実装されて
いた場合、storedValueForKey()では_hoge()が、valueForKey()ではhoge()が
呼ばれます。(ややこしいですが。)
EOModelerで吐き出したコードを使っている限りは気にするあまり
必要はないと思います。takeValueForKeyやtakeStoredValueForKeyを
使っている限り普通はwillChangeを呼ぶ必要もありません。
>>264
KVCのパテント持ってるのはCraigって聞いた気もするけど……
0277nobodyさん
03/03/23 13:47ID:1ES8WfWStakeValueForKeyとtakeStoredValueForKeyは、
カスタムEOにインスタンス変数としてフィールド追加しても、
EOGenericRecordがもってるデータが優先されてしまうことを
防ぐようにフィールド検索順を違えている、ってことなのかな。。
ついでに中でwillChange,willReadも勝手によんでくれてると。
こんな理解であってるのだろうか。。
0278nobodyさん
03/03/23 14:09ID:???それともプ社がWebObjects辞めたから気がすんだのか?
それとも荒らしのやりすぎで留年して欝になってるのか?
まさか就職先なくてバイトの延長でプ社に就職しちゃったとかいう
オチじゃないよな(藁
なんかカキコしろよ、春休みだろ?
0279nobodyさん
03/03/23 17:04ID:???どうやら、↓のスレを立てて必死にアンチPDFを唱えいるようです。
http://pc2.2ch.net/test/read.cgi/php/1031239983/l50
0283nobodyさん
03/03/23 23:47ID:???ヒットしてこない。データが100件以上あるのにー…で、延々オブジェクトをダンプして
みたりしたんだが、結局はデータベースの当該カラムのデータが全てNullだったという罠…
もう寝ようっと(;´Д`) おまえらももう寝ろよ。
0286nobodyさん
03/03/24 01:00ID:???だからといってPDFを批判するスレの>>1をリアルプラ厨と
決め付けるのはデタラメがすぎるだろ
0287昨日はよく寝た
03/03/24 10:19ID:???それってDBのコンソール上で
SELECT * FROM hoge;
ってやれば一発で判る話なのでは?
という突っ込みは睡眠不足の頭には通じませんな。
(それともカスタムメソッドばりばりに噛ませてた?)
やっぱ開発の最大の敵は寝不足だにゃ。
( ´∀` ) このゴミ、どこに捨てたらいい?
/⌒ `ヽ
/ / ノ.\_M
( /ヽ |\___E)
\ / | / \
( _ノ | / ウワァァン ヽ
| / / |ヽ(`Д´)ノ|
| / / ヽ( 倉 )ノ
( ) )  ̄ ̄ ̄
| | /
| | |.
/ |\ \
∠/
0289nobodyさん
03/03/24 17:20ID:???0290nobodyさん
03/03/26 01:15ID:/VE6q5h9どうすれば取得できるでしょうか?
また、IPアドレスとか取る方法もあればお教えください。
お願いいたします。
0291nobodyさん
03/03/26 01:17ID:/VE6q5h9チェックボックスとかをそれなりに表示できる方法が知りたいです。
0292nobodyさん
03/03/26 01:58ID:???WebObjects以前に、Web開発・Webプログラミング自体を
学んだ方が良い。
他のツール使っても、同じ壁にぶちあたるだろ。
0293nobodyさん
03/03/26 02:43ID:???基本はサーバ環境変数HTTP_USER_AGENTの値とキャリアのIPアドレス空間。
他にはJavascriptの挙動などで微妙なチェックする場合もある。
あとbrowscap(但し自分でちゃんと拡張しないと実用にはならないよ)使うとか
まあ、292の言うとおりだな。
0294nobodyさん
03/03/26 11:24ID:1OCJmnujおっしゃるとおりです。
すみません調べてる気力も時間もないんです。
ここならなんとかなるかと思ったんですが。
0295あぼーん
NGNG0296nobodyさん
03/03/26 19:07ID:???できるんでしょうか。
いろいろなページを見て下のようにはしてみたものの、ブラウザに表示されて
しまいます・・・
どなたかご存じの方ご教示下さい。お願いします。
public void appendToResponse(WOResponse aResponse, WOContent aContent){
try{
aResponse.setHeader("text/comma-separated-values","Content-Type");
aResponse.setHeader("attachment; filename=hoge.csv","Content-Disposition");
aResponse.setContent(scvData);
} catch (Exception e) {
System.out.println(e);
}
}
0297nobodyさん
03/03/26 21:27ID:3z9owsQtテクノロジックアートのWebObjects-MLの過去ログ探せ。もしくは一般的なWebアプリでも
同じようなことをやってるから、ぐぐってみろ。
0298297
03/03/26 23:13ID:???わかりますた!もういちどテクノロジックアートの過去ログ探してみます!
<--以下調べながら。-->
うぅーむ、はっ!もしかして!?
applicationクラスで日本語文字化け対策用のappendToResponse()で
headerが上書きされてたのか!?
じゃ、フラグをたてて、上書きされないようにして・・・
できたー!やっぱりそうだったんだー!
わーん、297さん厳しく教えてくれてありがとーございますー
0299296
03/03/26 23:15ID:???あ、すいません僕は296でした。
うかれて間違えました。
0300nobodyさん
03/03/27 14:25ID:IQreHAAJ喜んでたら、2画面目が表示されず「インスタンスがない」と怒られます。
何か考えられる原因があれば教えて下さい。
JavaMonitorはデフォルトのまま動かしてますんで、ポート番号は指定してません。
1085番ポート見てポート番号知りました。JavaMonitorのポート番号は外部には閉じてます。
ちなみに1画面めはパスワード認証の画面です。
開発環境で動作させた時は動きます。
0301nobodyさん
03/03/27 17:27ID:???削除してAPIアダプタにしろ。やりかたわからないんだったら、、Appleから
公開されているPDFドキュメントを隅々まで嫁。英語だけがわかりやすい。
0302nobodyさん
03/03/27 21:49ID:???>>これも1週間ほどしたらAppleから何らかのアナウンスがあるんだろうか・・・
>>またしばらく開発ができなくなる。
>>もうソフトウェアアップデートはすぐにはしないことにしよう・・・
>>
>>以上、独り言でした。
>
>
>こんな人も相手にしなきゃいけないなんて、Apple の中の人も
>大変だなぁ。
>
>以上、独り言でした。:-P
なぜこのクソ野郎はこんなことしか言えないんだ?
この他人を見下すような態度、断じて許し難い(`Д´)
同じWebObjects野郎として恥を知れと。自分はオマエラとはひと味違うんだぜと
見せつけたいのか(`Д´)
Appleはこんなクソ野郎なんかにWebObjects売るな。
0303nobodyさん
03/03/27 22:00ID:???実はサ〜、そのメール見たとき、ちょいびくーリしたんだけど、
ワイの環境、楽々動いてるんだよね。
アナウンス無いんじゃないか?
0304nobodyさん
03/03/27 22:37ID:+XWld+0Dてか、ドキュメント読めよって感じだな。
・Mac OS X 10.2.4 or later
・December 2002 Mac OS X Developer Tools
を入れてないんだろ?
0305nobodyさん
03/03/28 00:06ID:???2chだったら、そういうツッコミは全然OKだが、メアドが判って相手が誰だか判っている(公の)MLなのに、その態度が気に入らないな。S山は他のMLでもそんな感じだよ。
0306305
03/03/28 00:10ID:???知識や技量は十分なんだろうけど現実世界だったらそんなクソ野郎は漏れが
りおタンやさやかタンに替わって成敗してくれるわ(w
0307nobodyさん
03/03/28 00:13ID:i+Gnq+0vその人、JDK 1.4.1を入れて動かなくなったとかも言ってたし
0308nobodyさん
03/03/28 01:07ID:lqv+Mcum困ったチャンがドキュメントも読まずに文句たれるのは
問題じゃないのか?
でもS氏もわざわざあんなメール書かずに無視してりゃ
いいのにね。
0310WO1年生
03/03/28 12:46ID:???でも、ML内でああやって自爆してくれる人って、私みたいな「テストする時間が
ない」って言う人にとって大変助かります。
きっと、笑ってみてる人より、「こんなこともあるのか」という視点で見てる
人の方が多いと思いますよ。
私はまだWOに復帰できていないのでひたすら様子見です。
0311nobodyさん
03/03/29 22:34ID:RYeTX+TqRedHatにJDK1.4.1とWebObjects5.2.1インスコしてテスト中。特に問題はなさそう。
貴様らはどうだ?
なまら動作速くなったとか
0312nobodyさん
03/03/29 22:58ID:fAqHIEc4VM はどれ使ってます? Sun / Blackdown gcc2.9 / Blackdown gcc3.2
うちは今 Sun ので試してるがまだあんま攻め込んだテストはしてない。
0313311
03/03/29 23:24ID:RYeTX+TqJavaWorldつう雑誌についてきたrpmを使ってるから、Sun純正だと思われ(w
アプリの起動速度とかスレッド関連処理はだいぶ良くなった感じ。
今まで絶対にOutOfMemoryで落ちただろう重い処理も持ちこたえているのが嬉しい。
0314あぼーん
NGNG0315nobodyさん
03/04/01 19:47ID:4xvdTO2n0316ちょっとメモらせて
03/04/02 22:36ID:DcGRgDDCpublic WOResponse handleException(Exception anException, WOContext aContext){
ErrorMessage nextPage = null;
if ( anException instanceof ******* )
nextPage = (ErrorMessage)pageWithName("ErrorMessage",aContext );
nextPage.setErrorKey("threadNotFound");
super.handleException(anException, aContext);
return nextPage.generateResponse();
}
0317Web&rlo;Objects&rlo;
03/04/03 01:46ID:LO0WwtT60318あぼーん
NGNG0319nobodyさん
03/04/03 04:45ID:???■ このスレッドは過去ログ倉庫に格納されています