トップページ⇒php
868コメント367KB

WebObjects nsDictionary.valueForKey("5スレ");

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/02/04 12:21ID:vwrTw9m5
NeXTからAppleComputerに引き継がれたオブジェクト指向
Webアプリ開発環境「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鯖のバージョン、例外の内容などを細かく明記すべし。
・プ社の話題はウザすぎるので全て専用クソスレでおながいします。

・さやかタン (´Д`;)ハァハァ
011611203/02/21 10:36ID:2Gb1xm+N
>>115

この例外ってtech-artsのMLでもたまーに出てきていますが、いずれも
解決していないようです。

tech-artsのMLに出てきた話を総合すると、

1)OpenBaseのJDBCが悪い(2001/9頃)
 → Data/TimeをDatetime型に変更して対応
2)開発中に急に例外が出るようになった(2003/2/17)
 → EOModelerの鍵マークを外す

あと、同じ例外がOracleでも出ています。
そのときはEOModel上のValue Typeに適切な値を設定して回避しています。

念のため、EOModelをDBから直接生成してみて、Value Typeの値がどうなるか
確認してみてはいかがでしょう。(こちらでOpenBaseから自動生成したら
なんかいろいろつけてきました。)

あとは、ECにたまっているEOと、実際に変更しているEOが同一かどうかを調べて
見るのも手かもしれません。(MLより転載)

System.out.println ("Student = " + theStudent);
System.out.println ("registeredObjects=" +ec.registeredObjects());
System.out.println ("updatedObjects=" +ec.updatedObjects());

最後に、生成されるSQLがどうなっているかも確認して下さい。

あまり役に立たなくてすいません。

#EOModelが壊れている可能性も・・・・
0117nobodyさん03/02/21 13:48ID:3/B6iMn7
>>116
ありがとうございます。
MLでも解決してないんですか・・・。
とりあえずEOModelを作り直してみます。
0118nobodyさん03/02/21 14:56ID:???

It also controls which JDBC methods are used to send and retrieve the data
to and from the database. For attributes with a Value Class of
java.lang.String the following value types are defined:
<none>
c
S
C
E

These Value Types affect which method on the java.sql.PreparedStatement are
used to transfer text data between the database and the JDBC adaptor. An
empty Value Type is backward compatible behavior with WebObjects v4.5 and
uses the setString() method if the text is less than the database's
advertised maximum varchar length, and setCharacterStream(), if it is too
large. If the database fails to advertise a maximum length, the default is
256 characters. A Value Type of 'S' uses setString() regardless of the
text's length. A Value Type of 'C' uses setCharacterStream() regardless of
the text's length. A Value Type of 'E' converts the text into raw UTF-8
bytes, and then uses setBinaryStream() to save them in a binary typed column
in the database. The Value Type of 'c' tells the adaptor to generate SQL
using RTRIM to strip off all trailing spaces, such as those found in CHAR
columns.

'S' is appropriate for most text columns. 'C' is good for columns which
usually contain large amounts of data. 'c' should be used when trailing
spaces are not significant in a CHAR column. (It's better to use a VARCHAR
column if possible.) We recommend against using 'E', except in extreme
cases. It is the database's responsibility to handle text encoding issues,
and using 'E' is usually an indication the database is not correctly
configured.
0119あぼーんNGNG
あぼーん
0120nobodyさん03/02/22 22:05ID:YltA2gAD
>>117は>>118の情報で解決できたのだろうか。報告キヴォンニュ
0121nobodyさん03/02/23 04:12ID:Zw6X7JIs
うーん、>>117を見てもどう使っていいのかわからないです。
寝てないから頭働かない・・・。
0122nobodyさん03/02/23 11:26ID:QXOQDmtK
とりあえず、文字列型のAttribute のValue Typeに、c S C E のいずれかを使って試してみれば。

0123あぼーんNGNG
あぼーん
0124nobodyさん03/02/23 14:38ID:???
ここでくだらねー質問してるバカどもへ
解決策は東大だよ 東大生をバイトに使え
彼らがすべて解決してくれる
東大生はキミらのような低学歴とは違うんだよ
何?東大なんて縁がない?
だったら会社を東大の近くに移転し、バイト募集の貼り紙を
勝手に大学構内に貼りまくるんだよ
何?それは違法じゃねーかって?
キミらみたいな零細会社はそれくらいやらないと生き残れないぞ
根性出せよ、根性!
012511203/02/23 16:00ID:DWsalvWk
>>121

こちらでも、簡単なテストしてみました。

同一例外が出たのは、DB上のフィールド長とEOMODEL上のフィールド
長が異なっている場合(たとえばDB上は8カラムなのにEO上は1024
カラムとっているとか)で発生しました。

ちなみにEO上のフィールド長をこえて更新しようとすると
きちんとValidationExceptionが発生します。(追加はなぜかOK。
ただし、Nullで書き込まれる)

参考になれば幸いです。
0126nobodyさん03/02/23 17:52ID:???
(´・ω・`) o o O~ {( 釣れませんねぇ )}
0127nobodyさん03/02/23 18:53ID:???
ごめんなさい、質問です
EOModelerのSQLGenerationでCreate Tablesにチェックを入れると

ObjCJava WARNING: An error has occurred in the Java Bridge.
You should try to save changes and restart your application.

というエラーが出るのですが、この対処方法&原因が分かりません。
多分どうしようもない、ミスなんでしょうが、お分かりの方いらっさいますか?

EOModeler 5.2、WebObjects 5.2、MacOSX10.2
0128nobodyさん03/02/23 19:36ID:???
>>127
あ、それ、漏れも出る。今までは、EOModelorを再起動して解決はした。
あと、一つのプロジェクト内に2つ以上のモデルファイルが登録されていて、
EOModelor上でその2つが開かれていない時に出た。
012912703/02/23 21:02ID:???
すいません、やっぱりどうしようもないミスでした、Entityの一つのExternalTypeが
いつの間にかからっぽになってました。
Omniのメーリングリストにも同じような話がありました。
ただ今度はJDBCエラーでうまくExecuteSQLいかなくなってしまいました…
また変なところでミスってるんだろうな…ふぅ…がんばろ…
0130nobodyさん03/02/23 21:12ID:???
プッ、東大でなんとかなるなら某社は偏差値30にはならんよ。
0131nobodyさん03/02/23 21:23ID:QXOQDmtK
>>129
解決して何より。

ところで、ガンダム種をみたんだが、あんまし面白くねぇな。漏れにとっちゃガンダムはゼータでおしまい。0083だけが例外で良しとする。他は全部だめ。
0132nobodyさん03/02/23 21:27ID:???
ところで、Servlet+JDBCとWOF+EOFとではどちらがパフォーマンス良いですか。
経験豊富な皆さんのご意見求ム。
0133nobodyさん03/02/24 14:18ID:l2bFd7Rj
>>122
ありがとうございます。
やってみます。

>>125
文字型の幅をチェックしてみましたが、
DBのもEOのもすべて同じ幅にしてありました。
うーん。何が悪いのやら。
0134あぼーんNGNG
あぼーん
0135nobodyさん03/02/25 01:40ID:???
>>132
WOFD5.xのEOFはJDBC経由でDBにアクセスするので、データベースアクセスに
関しては間違いなくServlet+JDBCの方が速いと思います。

「FORTHはアセンブラより速い」理論で言えばヘボプログラマが書いたSQLより
EOFの吐くSQLの方が効率的ならServlet+JDBCが負ける可能性もありますが。
0136nobodyさん03/02/25 02:30ID:2laNS2FK
みなさん色々ありがとうございます。
とりあえずSQL投げてUPDATEかけたらうまくいったので、これでよしとします。
動いたものを一応はっておきます。(WO5.2用)
なんか余計なもんがついてるとか、こうしたほうがいいってのがあったら
お教え下さい。

EOModel aModel = EOModelGroup.defaultGroup().modelNamed("モデルファイル名");
EOAdaptor aAdaptor = (EOAdaptor)EOAdaptor.adaptorWithModel(aModel);
EOAdaptorContext aContext = aAdaptor.createAdaptorContext();
EOAdaptorChannel aChannel = aContext.createAdaptorChannel();

EODatabaseContext dbContext = EOUtilities.databaseContextForModelNamed(ec,"モデルファイル名");
EOSQLExpressionFactory afactory = new EOSQLExpressionFactory(aAdaptor);
EOSQLExpression expression = afactory.expressionForString("実行したいSQL");

aChannel.openChannel();
aChannel.evaluateExpression(expression);
0137nobodyさん03/02/25 03:42ID:???
某社の糞社員はどんなにケナされても文句も言えない玉無し野郎
ママー、怖いよー、また2ちゃんになんか書かれたよー
Acrobat起動した僕が悪いんです〜、土下座しますから許してくださ〜い〜
0138nobodyさん03/02/25 12:53ID:6pkn8/5n
>>136

単純にSQLを投げたいんであれば、

EOUtilities.rawRowsForSQL(ec ,"モデル名","実行したいSQL");

でいけませんか?
(実行したいSQLがSELECT文なら、戻り値としてNSArrayが必要)

更新した後は、当然のことながら再Fetchする必要がありますが。
0139nobodyさん03/02/25 13:05ID:6pkn8/5n
>>135

ベンチマークみたいなテストをすれば負けるでしょうね。>WO

ただ、EOFの仕組みとしてFaultやキャッシング機構などがあるので、
体感上は同等か、それ以上のものができると思います。
(ただし、EOFの考え方を理解した上での話)
#まぁ、それがあだになることもありますが。

明らかに不得手なものとしては、大量データ処理でしょうね。
とってきたレコードを一旦EOというオブジェクトに展開するので
めちゃめちゃメモリーを食います。

EOFの仕組みを使って、何も考えずに一度に取得できるレコード数は
1000件ぐらいが限界ではないかと思います。

以前、10万件くらいをバッチに取り込む画面を作ったことがありますが、
EOFそのままでは使えず、結構回りくどい手を使いました。
0140nobodyさん03/02/25 19:35ID:???
>>138
それって、update系は実行できなかったんじゃなかったっけ。
0141nobodyさん03/02/25 20:13ID:???
>>139
なにも、WebObjects(EOF)だから大量データ処理が不得手というわけじゃなくって
Javaを使うAP鯖なら、どいつもこいつも弱いと思う。というかJavaそのものが
弱い感じ(対RDBMSに対して)。Javaを使った業務システムを何十件とみてきた
けど、大量データ処理そのものは汎用機なんかに任せてるのが実態。
0142nobodyさん03/02/25 20:47ID:???
すんません。初心者的な質問なんですが。

WOF5.2をWinで使ってます。
大量のデータ(500件ぐらい)をDBからフェッチしてリストにする処理があるのですが、
これを実行するとメモリを40MBぐらい消費してしまい、nullを代入してからSystem.gc()
しても離してくれません。このままだとOutOfMemoryになるので困っています。

これはWOFが勝手にメモリをつかんでいるからなのでしょうか?
0143nobodyさん03/02/25 20:51ID:???
>>このままだとOutOfMemoryになるので困っています。

起動オプションでメモリ使用量を上げれば済む話じゃないの?
いっとくが、一度確保したメモリはgcされようが、
アプリの使用メモリそのものは
減ることはないぞ。(WOFの仕様とかじゃなくて)
014414203/02/25 21:18ID:???
>>143

インスタンスは3つで、起動オプションは-Xmx192mをつけてます。
実メモリは1GBですが、DBも同居しているのでこのぐらいが限界です。

この状況でも、一度に40MBぐらい食って、また同じ処理が走ると更に40MBぐらい
食うのであっという間にメモリがなくなってしまいます。しかも、一度OutOfMemoryを
起こすとゾンビのようになってしまい(強制終了は可能)、他のインスタンスに負荷が
集中するという悪循環に陥ってしまいます。
014513803/02/25 21:18ID:bTv6fMun
>>140

できますよ。
0146nobodyさん03/02/25 21:25ID:???
>>145
そうでしたか、昔やってもできなかったんで、ダメなもんだと思ってました(恥
ありが�d
>>144
アプリの仕様を見直した方が良いのでは。ロジック一つでメモリ喰う量がだいぶ違うし。
0147nobodyさん03/02/25 23:16ID:I7JMksdr
おまえら、JavaDeveloperみましたか。

漏れはNTTのマリオスだとか位置情報検索システムが本当にWebObjectsで構築されているとは知りませんですた(;´Д`)ハァハァ
WebObjectsすごすぎです。
0148WO1年生03/02/26 12:42ID:3R/YWb3W
>>142

500件くらいで40MBはちょっとメモリを消費し過ぎだと思います。
(分母のデータ件数はどれくらいですか?)

チェックポイントとしては以下の通りでしょう。

1)DB上に大きなバイナリデータがある。
 → バイナリデータを別テーブルに切り出して1:1のリレーションにする。
   当然、バイナリデータはドリルダウンした時に表示。

2)WODisplayGroupを使っている。
 → 全件よみこんでいないかどうか確認する。
 → よみこんでいるなら、fetchSpecを指定して絞り込むか、qualifiDataSource()
  で絞り込むようにする。

3)その他

 (1) setPageCacheSize()を調整する。
 (2)明示的にLogoutをユーザーに実行させ、セッションをターミネートする。
 (3)データを使わなくなったら、ec.fogretObject(eo)とか、invalidateObjectsWithGlobalIDs(gids)
  を試してみる。(ただ、forgetの方はたまに忘れてくれない)
 (4)sheardEditingContextを使ってみる。
 (5)rawrowForSQLでデータを取得する(最後の手段)
 (6)大量データ検索用のEditingCotextを用意し、検索の前に作成、検索ページを閉じる際にnull
  (さらに最後の手段)

私が思い付くのはこれくらいです。

識者の方、他にありませんか?
0149WO1年生03/02/26 12:49ID:3R/YWb3W
>>142

ちなみに、何にnullを設定してgcかけているのかは判りませんが、一度
検索したEOはEditingContext配下のレイヤーにキャッシュされていますので、
表示用のArrayとかDisplayGroupにnullを設定しているのであれば
あまり効果がないと思います。
0150nobodyさん03/02/26 15:40ID:???
ちょこっと質問
DarwinもしくはOpenDarwinにWebObjects Deploymentはインストール
できるのでしょうか?
0151nobodyさん03/02/26 16:01ID:???
jdk1.3.1以降がインスコされていれば、たう゛ん。やって報告しる。
0152WO1年生03/02/26 19:20ID:3R/YWb3W
MACお宝鑑定団より。

MacOSXのJDK1.4.1配布が来週とのこと。
(Sun Super Tech Daysで発表になったらしいので
ほぼ確実でしょう。)

WOもきますかね〜。
0153nobodyさん03/02/26 19:41ID:???
WOがアプデートされないと困るなぁ。1.4.1対応してくれよ、マジ。
0154WO1年生03/02/26 20:29ID:3R/YWb3W
>>153

JDKウプデータン(;´Д`) ハァハァがきたら、WOウプデータン(;´Д`) ハァハァ
も来てほしいです。

でも、10.1のときの放置プレイの快楽・・・・もとい、悪夢が
忘れられません。

それを考えると、うれしさ半分、鬱半分。
0155nobodyさん03/02/26 23:31ID:???
>>148

DBには全部で30,000件程度入っています。
そこから、500件をobjectsWithFetchSpecificationしていますが、表示時にリレーションで
マスタから値を取ってくる項目がほとんどです(これが重さの原因?)。
生成されるHTMLは500KBぐらいあります。。。

ec.invalidateAllObjects()もやってみましたが、駄目でした。
ただ、該当セッションを切ってから何トランか経つと一気に使用メモリ量が減るので、
eoあたりかなぁという感触です。

setPageCacheSizeは盲点でした。試してみます。
これって、0を設定すると「戻る」ボタンが一切使えなくなる、という認識で
正しいのでしょうか?
0156WO1年生03/02/27 00:40ID:???
>>155
それって1:Nのリレーションが張ってあって、Nの一覧を表示する際に
1が複数回呼び出されるということですか?
とすると、スナップショットが悪さしているかもしれません。
こちらもぼけた頭で以下の方法を思い付きました。
(唯今VB(ver6)のデバック中。だれだよ、こんなものつくった香具師)

やったことがないのでどれだけ効果があるかどうかは不明ですが。
(ちなみに、できるかどうかも(w)

1)Entityを新たに生成。テーブルは「1」を使用。

2)新しいEntityとNとのリレーションを設定。
リレーションキーは1:Nと同様。
(このとき、新しいEntityと1をPK同士で1:1のリレーションを張っておくと
いいかもしれません。更新の必要が発生したらリレーションでたどれますし)

3)新しいEntityのロック(鍵マーク)を全て外す。

4)念のため、新しいEntityはRead Onlyにしておく。

5)1から表示するアイテムをすべて新しいEntityにバインドし直し。

要は1で取得されるスナップショットを極力少なくしようというわけです。
もしかしたら駄目かもしれないので実験してみてから適用して下さい。

>setPageCacheSizeは盲点でした。試してみます。
> これって、0を設定すると「戻る」ボタンが一切使えなくなる、という認識で
> 正しいのでしょうか?
そうです・・・といいたいところですが、IEは期待どおりの動きをしないことが
あります。(勝手に自分のキャッシュから持ってこようとする)
ちなみにデフォルトとは30のハズ
0157WO1年生03/02/27 02:53ID:2eHsOCCL
<追加>

アポーのドキュメントちょっと見たんですけど、

ec.refaultAllObjects();
ec.setFetchTimestamp((new NSTimestamp()).getTime());

をfetchのまえに呼べばいいかも。
0158nobodyさん03/02/27 11:18ID:bmhb7shD
WO始めたばかりです。
DB(Oracle)の任意のテーブルを表示するような
簡単なWebアプリを試しに作りたいのですが
何から始めればよいかわかりません。

ProjectBuilderでXXして、
WebObject BuilderでXXして
と言う具合に大体の大まかな手順を教えて下さい。
0159nobodyさん03/02/27 11:52ID:???
>>158
まずはEOModelerでXXしてください。
0160nobodyさん03/02/27 13:46ID:???
神の領域:先輩等からの口伝
---------------------
富豪  :Appleのセミナー
上流階級:テクニカルピットHomeWork
庶民  :書籍&ML&掲示板
0161WO1年生03/02/27 17:28ID:???
>>158

> ProjectBuilderでXXして、
> WebObject BuilderでXXして
> と言う具合に大体の大まかな手順を教えて下さい。

うぁぁぁ。ずいぶんとおおまかすぎでし。

せめて、アポーの日本語PDFを読んで下さいまし。

ttp://www.apple.co.jp/webobjects/pdfs/WebObjectsForHtml_J.pdf
0162nobodyさん03/02/27 19:41ID:???
<
<             >>158 ハァァァ???
<
  ∨∨∨∨∨∨∨∨∨∨∨\  /∨∨∨∨∨∨∨∨∨∨
          /:|.       | |     /:|
        /  .:::|       ∨    /  :::|
        |  ...:::::|           /   ::::|
       i       ̄ ̄⌒゙゙^――/    ::::::::|
      /_,,___       . _,,,,__,_     :::::::::::\
      /   ゙^\ヽ..  , /゙   ¨\,.-z   ::::::::::\
      「 ●    | 》  l|  ●    ゙》 ミ..   .::::::\
     /i,.      .,ノ .l|  《       ..|´_ilト    ::::::::::\
    / \___,,,,,_/ .'″  ^=u,,,,_ v/..       :::::::::::::l!
    |            ̄ ,,、         i し./::::::::.}
   |  /  ,,____ _,/ ̄ \ \      ノ (  ::::::::::|
    |  |.. | /└└└└\../\  \    '~ヽ ::::::::::::::}
    |   .∨.|llllllllllllllllllllllllllllll|          ::::::::::{
    |    |.|llllllllllll;/⌒/⌒  〕         :::::::::::}
     |   |.|lllllllll;   ./ .   . |          ::::::::::[
     .|   |.|llllll|′  /    . |    .|      :::::::::::|
     .|   |.|llll|    |     .∧〔   /    :::::::::::::/
    / }.∧lll    |    ../ /  /   :::::::::::::::::\
   /   /| \┌┌┌┌┌/./ /:::      :::::::::::::::::\
      ( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄ /:::::::::::         ::::::::::\
0163nobodyさん03/02/27 21:22ID:Aca6UbcP
>>162
激しくワロタ.
0164nobodyさん03/02/27 23:31ID:???
>>156

色々試したところ、どうやら巨大なページを生成する際に巨大なpageCacheが
出来てしまい、それがなかなか消えてくれないようです。

setPageCacheで0を指定すると、確かにメモリは食わなくなりますが、
直前に表示したコンポーネントクラスまで消えてしまうので使えません。。。

pageCacheSizeはそのままで、session内のpageCacheを消す方法があれば
いいのですが。。。
0165nobodyさん03/02/28 01:21ID:???
>>164
あまりお薦めじゃないけど、表示のみの部分はサブコンポーネントを入れ子にしたり
せずに、WOString一個にHTMLをプログラム的に合成して表示するという方法も
ありますよ。WOF1.0時代からの伝統的なチューニングです。

というかそこまでするならWebObjectsを使わない選択もあるかと思うけど。
0166WO1年生03/02/28 09:44ID:???
> 色々試したところ、どうやら巨大なページを生成する際に巨大なpageCacheが
> 出来てしまい、それがなかなか消えてくれないようです。
>

効果があるかどうかは不明ですが、WOComponentに

setCachingEnabled(boolean aFlag)

というメソッドがあります。
これをfalseにしてみてはどうでしょう?

JavaDoc眺めてたら、ほかにもいろんなメソッドがありましたので、
試してみてください。
016715803/02/28 15:28ID:9CbCgWt7
とりあえずWebObjectsワークブック(広文社)という本を参考に以下をやってみました

EOModelerにてJDBCでOracleに接続するモデルを作成
ProjectBuilderにてJava WebObjects Applicationのプロジェクトを作成、
WebComponents→Main.woをクリックすると立ち上がるWebObject Builderにて
上記で作成したモデルをMain枠にドラックし追加(displayGroupという名で)
Edit SourceのAdd Keyにてモデル作成時に指定したテーブルを選び追加(aKeyという名で)
HTMLをデザインする枠で
Add WORepetitionの一つ目の空欄にdisplayGroup.displayObjects、二つ目の空欄にaKeyを指定
loop部にAdd WOStringを使ってaKey.列名を指定

この後、ProjectBuilderからBuild and Runを行ったところ
Add WORepetitionを使った部分がブラウザに表示されませんでした
原因の調べ方がわかりません

ちなみにWOは5.2です

0168WO1年生03/02/28 15:51ID:???
>>167

判らないことがいくつか。

1)aKeyってEOModelerで作ったカスタムEOでしょうか?
 (Javaってアイコンがついているボタンを押すと生成されます)
 それとも、EOGenericRecordのサブクラスでしょうか?

2)aKey.列名は手動で設定されましたか?それとも、WOBuilderのバインド
  で指定しましたか?(aKeyの列名(というかフィールド)をドラッグすると
  線がのびてきてつなげるような感じ)

あと、displayGroupの設定で「fetch on Load」を指定していますか?
(WOBuilder上のDiplayGroupの左側にチェックマークがありますので、
それをダブルクリックすると設定画面が現れます)

こちらの予想とおりであれば、これで表示されるはずです。
 
0169WO1年生03/02/28 15:53ID:???
>>164

ありゃ、ずれちゃいました。

>>165は >>164へのレスです。
0170WO1年生03/02/28 15:58ID:WrIaSxHK
あれれ、2ちゃんブラウザがおかしい。
きちんとレスできてる。(なんでだろ)

というわけで、169は取り消し。
0171nobodyさん03/02/28 19:55ID:???
今日Sun Super Tech Daysに行って来たけど、
WebObjectsセッションで
WebServiceAssistantのデモをやっていたのは
ひょっとしてさやかタン? (´Д`;)
0172nobodyさん03/02/28 20:05ID:???
>>171
おまえは、その姿をデジカメでおさめてこなかったのか?えぇ?
なんとかいってみろゴラァ!(#`Д´)/
(興奮状態)
0173WO1年生03/02/28 20:17ID:WrIaSxHK
>>171

で、

どうでしたか? 内容。
0174ぷぷぷっ03/02/28 20:36ID:???
うーーむ、あの娘さんはさやかタンなのかなぁ?
名前を名乗らなかったのでわからんぽ。
すまんなデジカメ持っていくの忘れたんだよ。悪かったな。。。(171に期待)
DEMOの内容はWEBサービスだったような気がするけど、、、
0175nobodyさん03/02/28 21:03ID:???
ええと、さやかタンの容姿を簡単に…

・色白
・「おねぇタン!」て感じ(;´д`)ハァハァ
・メガネはかけてない。極端な茶髪でもない。髪質はサラサラ系。
・オパーイは大きくない。多分Aカプ。
・身長はそんなに大きくない。

0176WO1年生03/02/28 21:06ID:WrIaSxHK
>>174

さやかタン

ttp://www.mosa.gr.jp/topics/webapli-repot.html

参考にして下さいまし。
0177nobodyさん03/02/28 21:12ID:???
さやかタン (´Д`;)ハァハァ さやかタン (´Д`;)ハァハァ さやかタン (´Д`;)ハァハァ
http://www.mosa.gr.jp/topics/images/webapli-report-phonomu.jpg
さやかタン (´Д`;)ハァハァ さやかタン (´Д`;)ハァハァ さやかタン (´Д`;)ハァハァ
0178nobodyさん03/02/28 21:15ID:???
>>166

原因がわかりました。WOTableStringがメモリをバカ食いしていました。
WOTableStringって非推奨になってたんですね。知りませんでした。。。
お騒がせしました。
0179nobodyさん03/03/02 22:56ID:???

ううー納期がくるー、納期がー
0180WO1年生03/03/03 12:33ID:???
>>178

よかったでつね。

実は私はWOTableStringなんて知らなかったりします。(w
使ったことがあるものなんて両手で数えるくらいしかない・・・。
できれば、どんな標準でどんなコンポーネントの一覧があるかっていう
のが日本語であればいいんですけどね。

>>179

うちも来月くるぅぅ->脳気。

ただし、糞VBでできたシステムだったりします。
担当者がバックレたために、半年前から泣く泣く担当に・・・。
テーブル設計も画面遷移もむちゃくちゃ。
(どう戻れば?つー画面が至る所に・・・。初心者じゃないんだから)

関係ないのでsage
0181WO1年生03/03/03 19:41ID:???
ちなみに、私が使ったことのあるコンポーネント

WOForm
WOTextField WOText
WOSubmitButton WOResetButton
WOCheckBox
WOPopUpButton
WOString WOHiperLink WORepitation WOConditional WOImage
WOCollapsibleComponentContent
WOSortOrder WOSortOrderManyKey

ざーっとこんなもんです。うろ覚えですが。

ちょっと少ないですよね。
(カスタムでちょこまかとは作りましたが)

社内イントラ向けに作ったものが主なんで、あまり種類は多くないです、はい。
0182nobodyさん03/03/03 19:48ID:???
きみきみ、それらはコンポーネントではなく、ダイナミックエレメントだぞ(w
0183WO1年生03/03/03 20:33ID:???
>>182

ありゃ、まちがって覚えてましたねぇ。お恥ずかしい。

でも社内でこの名称で広めちゃったんだなぁ。どうしよ。
0184nobodyさん03/03/03 20:36ID:???
>WOCollapsibleComponentContent

初めて見た。。
今までコリコリとコードを書いて同じようなことやってた俺って何?ショボーン
0185nobodyさん03/03/03 22:15ID:MnPmt/Bl
>>181
WOTabPanelもハァハァするぞ。

WOKeyValueConditionalも使いこなせ。もっとハァハァするぞ (;´Д`)ハァハァ

0186nobodyさん03/03/04 00:47ID:???
自作派の漏れはWOGenericContainerとかWOComponentContentを愛用していますよ。
後はotherTagStringとhandleTakeVa...
0187nobodyさん03/03/04 00:47ID:yMVgtNrW
>>185
マジレスするが、VBをバカにしてはいかん。アレもアレで適材適所なんだ。未だに金融系では使われている。
しかし、WebObjectsをいじると、絶対にもとに戻ろうと思うことがなくなるんだが(;´Д`)

ペガサス流星拳〜
0188nobodyさん03/03/04 00:53ID:???
>>186
そうそう、WebObjectsってコンポーネントを自作して他プロジェクトでも簡単に
再利用できちまうところがイイよなー。APIエディタでオブジェクト公開してさー。
ここらへんがOOPしてるなって実感しちまう。
もう、たまらんハァハァ(;´Д`)
0189WO1年生03/03/04 21:36ID:???
>>184-186
全然知らないものばかりですねぇ。おはずかしい。
ちなみにどんな機能なんですか?(自分で調べろって)

>>187
金融系ではしっかり現役なのは身をもって体験しています(藁
でも、あまりこの言語好きじゃないです。IDEは使いやすいですが。

しかしその前にやってたのはCOBOLのみと言うのは内緒(藁)
0190nobodyさん03/03/04 22:42ID:yMVgtNrW
あげ
0191nobodyさん03/03/04 23:01ID:???
おい、おまえら、セイラ・マス(アルテイシア)の声をやってた井上瑶さんがガンで他界されたのを知ってるか。
0192nobodyさん03/03/05 00:09ID:???
>>191

激しくスレ違いの感もあるが・・・・


ご冥福をお祈りいたします。
019315803/03/05 09:19ID:MbATG8ZS
>>168
レス遅れてすいません

> displayGroupの設定で「fetch on Load」を指定

これがチェックされてなかったのでチェック後
Build and Runを行ったところ
?????
I/O????????
という文字が。。

> 1)aKeyってEOModelerで作ったカスタムEOでしょうか?

Edit Sourceってボタンを押して出てくる選択肢のAdd Keyにて作成したものです
カスタムEOという概念自体、理解してうません。スイマセン。。

> 2)aKey.列名は手動で設定されましたか?それとも、WOBuilderのバインドで指定しましたか?

WOBuilderのバインドで行いました
0194WO1年生03/03/05 12:41ID:qGGFcyI8
>>193

>?????
>I/O????????
>という文字が。。

これはブラウザに表示された文字列でしょうか。それともPBのコンソールに
表示された文字でしょうか?

データに日本語を表示しようとしているのであれば、日本語エンコード用
メソッドを追加する必要がありますが、この対応は済んでいますか?

ちなみに、メソッドは以下の通りです。

public void takeValuesFromRequest(WORequest aRequest,WOContext aContext){
aRequest.setFormValueEncodingDetectionEnabled(true);
aRequest.setDefaultFormValueEncoding("SJIS");
super.takeValuesFromRequest(aRequest,aContext);
}
public void appendToResponse(WOResponse aResponse,WOContext aContext){
aResponse.setContentEncoding("SJIS");
aResponse.setHeader("text/html; charset=Shift_JIS","Content-Type");
super.appendToResponse(aResponse,aContext);
}
0195WO1年生03/03/05 12:56ID:qGGFcyI8
>>193

あと使用されているDBがOracleとのことなので、いちおうDBと接続されているか
確認してみて下さい。(EOModelerでテータの入っているテーブルを選択して
ドラム缶に虫眼鏡をかざしているボタンをクリックしてみて下さい。データの
一覧が表示されるはずです)
0196nobodyさん03/03/05 22:10ID:???
おまえら、設計にUMLはデフォでつか。
0197nobodyさん03/03/06 00:01ID:p7iACoKj
やっとバグとれた……
019815803/03/07 01:48ID:EriWS3Y1
>>194
I/O???????? はブラウザにです。
結局別の列名を使ったところうまく行きました。
おそらく????も日本語だったんだと思うので
日本語エンコード用メソッドを追加しました。
いろいろと助かりました
ありがとう
0199nobodyさん03/03/07 19:46ID:Xh/ZuBXL
ほい、構築事例だ。

http://www.apple.co.jp/xserve/howto/manone/index.html

おまえら、なんか語れ。
0200WO1年生03/03/07 23:56ID:???
>>199

ツリービューのコンポーネント欲しいですね。
0201nobodyさん03/03/08 00:08ID:???
>>199
>「仕様の変更があってもすぐに対処できるのがWebObjects
>のいいところです。エンドユーザのわがままも、次回
>のミーティングでは実装されています。そうなったら、
>より積極的に要望が出てくるので、フィードバックもポ
>ジティブになり、どんどんといいものになっていきます。
>エンドユーザがわがままを言っても、WebObjectsだと
>全然OKです。」(野村氏)
まさに書いてる通りなんだが、それって全然嬉しくないのだよ。
納期や開発費は据え置きで仕様ばかりが増えて行くプロジェクトの
場合、結局は開発者が私生活を犠牲にして穴埋めしなきゃならない
ことが多いし。会社も儲からないし給料も上がらないし・・・
0202nobodyさん03/03/08 10:40ID:???
>>201
hahahaha-(w
漏れの会社は普通に開発した場合の日程で見積もって待ってもらうって感じかな。
つまりクラにはこれまでの工期と同じ日程でも、開発の現場では時間短縮というか
日々の作業がぐっと軽くなったよ。無駄な残業はちょいと少ないな。一応これで喰っていけてる。
WONDERとかを使うことで実装量も減るし〜。
0203nobodyさん03/03/08 12:41ID:???
>>201
ハゲドウ

プログラマー的には楽になった分、要望聞いて付け足してやりたいんだが、それを聞いてるとどんどん膨らんでいくし、追加料金とれねーからな。社内開発の場合はそれでもいいんだろうが...。
0204nobodyさん03/03/08 13:06ID:???
>>203
だから、そのぶん、PGはラクになるべきだよ。ムダに働きすぎ。だからWebObjectsを選ぶ。
0205nobodyさん03/03/08 16:31ID:gwGHGTKT
あんなーに いーっしょ だーーったのにーー
0206nobodyさん03/03/08 21:07ID:???
>>200
/Developer/Examples/JavaWebObjects/WOInheritanceExample/WOInheritanceExample.pbproj

このサンプルを試せ。お前は絶対に幸せになれる。
0207nobodyさん03/03/08 21:08ID:???
ところで、このスレも5スレ目だ。この板では市民権を得たようなものだ(w
そろそろ、この板のタイトルグラフィックに「WebObjects」の文字でも入れてもらいたいもんだな。そう思わぬか、皆の衆。
0208nobodyさん03/03/09 00:15ID:9EZ5B9RA
このスレのみんなでオフやろうぜ。
とりあえず、スレたてといたよ。
↓
http://life2.2ch.net/test/read.cgi/offevent/1043285953/l50
0209nobodyさん03/03/09 17:08ID:???

httpdヘッダに、自分が作ったアプリの名前やバージョンなど、無意味なヘッダを
入れたいのですが(appendToResponseに)、どう書けばよいかわかりません。
WebObjectsというよりはhttpdプロトコル関連の話題でしょうが、、ご存じの方どうか教えて下さい。
02101スレ目見て購入03/03/10 12:06ID:???
そういえば、りおさんはどこにいるんでしょ。。。

WinXP Pro WO5.2です。
普段ならProjectBuilderでClassesとかResourcesとか書いてあるところが真っ白になってしまいました。

同様の症状に出くわされた方おります?
0211WO1年生03/03/10 12:20ID:z4v74o9t
>>206
ありがとうございます、というか激しく見覚えがあります>サンプル。
VB漬けで忘れてたみたいです。
WOに復帰次第、見てみようと思います。

>>209
httpにないキー情報を書き込めるかどうかは判らないのですが、
public void appendToResponse(WOResponse aResponse,WOContext aContext){

〜独自の処理〜

aResponse.setHeader("値","ヘッダー");
super.appendToResponse(aResponse,aContext);
}

でいけませんか?(サーブレットとは記述が逆なんで気をつけて下さい)
(ちょっといま追試できる環境がないんで、こちらでは試していませんが。)
0212WO1年生03/03/10 12:27ID:z4v74o9t
>>210

WinXPでのPBの挙動はとっても不安定です。
できれば2000を使った方が・・・・とはいうものの、プレインストール
ものなんかは選択の余地がないんで困りものですよね。

Win2000互換モードで試してみてはいかがでしょう?
(これでかなり安定した記憶があります)

あとは、おかしくなったら大人しく再起動するとか(タスクマネージャ
でProjectBuilder関連を殺しても駄目な場合あり)フォントの
設定を見直してみるとかくらいしかないですね。



そういえばどこにいるんでしょうね>りおさん
前スレでどっか外国に行くとかいってましたが。
02131スレ目見て購入03/03/10 22:17ID:???
>>212

ありがとうございます。
実は、怪しげな空白が気になったので、そのバーを下にドラッグしたら、、、、、出てきました。。

マルチモニタのために、わざわざ2000からXPに入れ替えたんですよねぇ。

WOLipsの完成を待つことにします。
(次回バージョンからはEclipse&WOLipsを公式開発ツールにしてほしい)
で、いずれはオープンソース化を。。。
0214nobodyさん03/03/11 00:41ID:???
たぶん、りおタンは自分の役目はもう終わった、と思ったんじゃなかろうか。
一部におかしいのがいるけれど、スレが安定した進行を遂げているから、これ以上は・・・と
いうことで幕を引いたとか。ともあれ、しばらく出てこなくともスレが5スレ目まで
続いているのは彼(彼女?)の功績か。と独り言いってみるテスト。

0215WO1年生03/03/11 09:54ID:???
>>213

あまり参考にはならなかったみたいでスマソ。
でも解決して良かったです。

WOLipsには興味があるのですが、WO(というかJava)はMacOSでいじることが
ほとんどなので、Eclipseはあんまり使ったことがないです。
(M2.1でも日本語が入力できない。)

VBに引き戻される前はJBuilderでEditしようとチャレンジしていました。
(いまでも続けていれば・・・・)


関係ないのでsage
■ このスレッドは過去ログ倉庫に格納されています