WebObjects 質問スレ

■ このスレッドは過去ログ倉庫に格納されています
NGNG
Web アプリケーションサーバ WebObjects の質問スレ
55デフォルトの名無しさん
垢版 |
NGNG
>>54
ありません。
NGNG
EOF作った人が今Microsoftにいるらしいんですが、
ADO.NETと似てるとこ似てないとこをチャチャっと誰か教えてくれんですか?
NGNG
EOF作ったのって誰なんですか?
MSってほんと優秀な人集めてるんだなぁ。

ADOについてはほとんど知らないけど、
- DBを抽象化して扱うので、後からDB差し替え可能
- EOGenericRecordみたいなのがあって、簡単にレコードをビューに表示できる
辺りは似てるなぁ、と思った。

でも、SQL文は書かなきゃいけないのかね?
EOQualifier みたいのはないのかね?
そこは似てない、というかWOではあまりやらない
SQL発行してrawRowを扱うやり方に似ているかな、と思った。
http://www.atmarkit.co.jp/fdotnet/basics/adonet06/adonet06_04.html
NGNG
>>57
↓これ書いてる人。他にもいるんだろうけどね。
http://msdn.microsoft.com/architecture/overview/softwarefactories/default.aspx?pull=/library/en-us/dnbda/html/softwarefactwo.asp
5957
垢版 |
NGNG
>>58
おぉ、ありがとうございます。
Rational にも居たのかぁ。
オブジェクト指向にどっぷり浸かってる人生だ。
NGNG
歯車のサイトのTKWOTagExtensions.frameworkを試した香具師、レポートキボーん。
NGNG
>>60
試したよ。こうした機能は標準にはないからデザ受けは良いかも。が、漏れのところは必要ないw
オープンソースなのはエライ。
62デフォルトの名無しさん
垢版 |
NGNG
うーん、このタグの置き換えめんどくさ〜
ってのを置換スクリプトなり処理用のWO組んでえいっと処理して対価を請求して飯喰ってるからなあ(w
内製用途にはいいかもしれないが、そもそもエンドユーザがタグを意識せずにコンテンツを作れるように組むのが腕の見せ所というか稼ぎどころだろう。

WOMeetingってのがあるのか。面子的に激しく内輪向けっぽいが。
他にユーザーグループ程度のゆるい会合があるなら参加してもいいな。
NGNG
>>そもそもエンドユーザがタグを意識せずにコンテンツを作れるように組むのが腕の見せ所

そーでもないぞ。最近のWebデザって、CFや他の独自タグを扱えるぐらいのスキルないと
やとってもらえないからな。このフレームワークもそうした市場に合わせたモノだと思う。
テキストフィールドの幅や高さは本来デザイナが画面に併せて設定するのがスジなんだろうけど
WebObjectsはwodに内包されちゃってるから外に出して設定できるようにするというのが
暗黙のニーズだったんだろうけど、それを実現したようなもの。ちょっとした腕のあるPGなら
誰でもつくれてしまうレベルなんだろうけど、あればあるで使うかもってところ。

>>他にユーザーグループ程度のゆるい会合があるなら参加してもいいな。

WebObjectsはこれ意外に無いんじゃないの?聴いたこと無い。
64デフォルトの名無しさん
垢版 |
NGNG
だからさ、デザ向けにとっかえひっかえできて表示具合を試せるWO書けばいいじゃん。
大規模プログラミングでモジュール分割で作業分担するとき検証プログラム作るでしょ。あれをWOでもやればいいだけ。

うまくデザを使ってどんなWOでも使い回せるような汎用性のあるレイアウトや画像ファイルを作ってもらうと経費減らせて利益延びるけどな(w
NGNG
>>だからさ、デザ向けにとっかえひっかえできて表示具合を試せるWO書けばいいじゃん。

よくわからん、もちっと具体的に書いてクレ.
66デフォルトの名無しさん
垢版 |
NGNG
外国為替を扱う(表示、加工)WOを書いてる香具師って居ないよなあ?
ぐぐってみたが発見できず。orz
NGNG
WO5.3 Щ(゚Д゚Щ) カモーン
http://www.appleinsider.com/article.php?id=742
NGNG
シツモーン

[Person]       [Company]
person_id       company_id
company_id
-----------      ---------
company  <<----------> persons
ってな関係があったとします。
DB には Company(1) と Person(1, 1) が登録されているとします。

EOEditingContext ec = session().defaultEditingContext();

Company company = (Company)EOUtilities.objectMatchingKeyAndValue(ec, "Company", "c_id", new Integer(1));

Person person = new Person(); // これを (A) と呼ぶことにします。
ec.insertObject(person);

// Person を Company に所属させる
comnapy.addObjectsToBothSidesOfRelationshipWithKey(person, "person");

saveChanges() は、まだしません。

つづく。
NGNG

この状態でどっか別の関数内などで、この company オブジェクトに
所属する person の一覧を求めたくなり、以下のようなコードを書きました。
この方法を (X) と呼ぶことにします。

NSMutableArray args = new NSMutableArray();
args.addObject(company);
EOQualifier qual = EOQualifier.qualifierWithFormat("company = %@", args);
EOFetchSpecification fs = EOFetchSpecification("Person", qual, null);

NSArray persons = ec.objectsWithFetchSpecification(fs);

この方法だと、もともと DB に入っていた
Person(1, 1) は取得できますが、insertObject で追加した(A)が
ひっかかってきません。

一方、 company クラスに EOF によって自動生成された、
リレーション先を求めるメソッド persons()を呼ぶ方法を
(Y) と呼ぶことにします。
NSArray persons2 = company.persons();

この方法だと DB に登録してある Person(1,1) も (A) も両方取得できます。

つづく。
NGNG
(質問)
1. (X) と (Y) の違いってなんですか?
2. (X) は DB のみから取得する方法、という理解で合ってますか?
 insertObject した person は ec 上に存在していて、その同じ
 ec を使って ec.objectsWithFetchSpecification(fs) してるので、
 私としては、この方法でも (Y) と同じように DB とメモリ上(って言葉でいいの?)
 の両方を合わせたレコードが取得できて欲しいのですが。
3. (Y) は DB とメモリ上の両方を合わせたレコードが取得できる、
 という理解で合ってますか?
4. (X) の形式を使って、 (Y) と同じように DB とメモリ上両方合わせた
 レコードをを取得する方法はありますか?
5. DB 上のレコードとメモリ上のオブジェクト両方を対象にして、
 検索条件を複雑にしたりソートを指定したりして検索するには
 どのようにするのが良いですか?
 (Y) で取得したオブジェクトに
 EOQualifier.filterArrayWithQualifier(persons2, qual) とか
 EOSortOrdering.sortedArrayUsingKeyOrderArray() とかを使うという手は
 思い付きますが、他に何か良い方法はないものでしょうか?

以上よろしくお願い致します。
NGNG
> この状態でどっか別の関数内などで、この company オブジェクトに
所属する person の一覧を求めたくなり

なぜそう思うのかが理解できん。
NGNG
あ、わかった。
チミは、EOFがコンテキスト指向のO-Rマッパーであるということを
理解してないね? だから、わけわからんことを書いてるんだ。
わかった。わかった。
NGNG
>>71
すいません、何がわけわからんのかもう少し噛み砕いて説明して頂けませんか?
person一覧求めたくなることがおかしいですか?ごく普通の要求だと思うんですが…
NGNG
EOFはコンテキスト指向のO-Rマッパーなのよ。わかる?
EOEditingContextっていうじゃない(笑)。

DBからメモリ上にデータをフェッチして、EOにして、編集するわけよ。
メモリ上のEOはDBから切り離された、独立したコンテキストなわけ。

独立したコンテキストに対して編集して、後でまとめてコミットして、
DBと同期をとるわけよ。

んだから、編集途中にDBと同期とるって、使い方間違ってますから。残念!
NGNG
>>74
ありがとうございます。
すこーしだけわかってきましたが、まだよくわかりません。

私が書いたコードの中で言うと、「編集途中にDBと同期」とってるのは
どこに当たりますか?
NSArray persons = ec.objectsWithFetchSpecification(fs);
だけ?
NSArray persons2 = company.persons();
も?

あと、「独立したコンテキストに対して編集」している最中に
personのリストを求めたくなったら、どう書くのが正しいのですか?
別にDBと同期されなくても良いですけど。
NGNG
NSArray persons = ec.objectsWithFetchSpecification(fs);
だけ
NGNG
> どう書くのが正しい
とうぜん、
NSArray persons2 = company.persons();
なりよ。
NGNG
>>76-77
ありがとうございます。

つまり、私の最初の質問に戻ると、
(X)はDBとの同期を行う検索で、(Y)はDBとの同期を行わない検索
ということですね。

ちなみに、こういうことってどこかのドキュメントに書いてありました?
NGNG
設計思想の問題だからなぁ・・・。
逆に言えば、動作原理がわかればどう使えば良いかがわかる。

この件に関しては、結局のところ、「コンテキスト指向のO-Rマッパーとは何か?」
をキチンと理解しなさい。ということに尽きる。
NGNG
>>79

そうですか。
つまり、79さんがこういう理解に至った経緯は
「EOFはコンテキスト指向らしい」
→「ec.objectsWithFetchSpecification(fs) で取得する方法と、
  company.persons() で取得する方法ってのがあるらしい」
→ 「試してみたら、ec.objectsWithFetchSpecification(fs)がDBとの同期で
  company.persons() がコンテキスト内の検索方法のようだ」
という流れだったということですか?

81デフォルトの名無しさん
垢版 |
NGNG
つつつつひに、
WebObjects API Referenceをローカライズしようという神降臨か!?

http://www.kmug.jp/modules/simpleblog/view/5.html
82デフォルトの名無しさん
垢版 |
NGNG
NGNG
ヒロシです...

EOGenericRecordからリソースを扱いたいけど、
WOResourceManagerを取得する方法がわかりません。

ヒロシです...ヒロシです...ヒロシです...
NGNG
>>83
WOApplication.application().resourceManager()
NGNG
ヒロシです...

そんなstaticメソッドがあったとは知りませんでした。

ドォーモです...ドォーモです...ドォーモです...
86デフォルトの名無しさん
垢版 |
NGNG
WebObjects的エロネタを披露してくれ。

・今夜はオマエのdefaultEditingContext にオレのEOをinsertObject するぜ。
NGNG
やなこった
NGNG
>>87
自由に相手できる女がいないから想像もつかないとみた。
エロゲで妄想するのが精一杯か。へんな事件起こすなよ。
NGNG
そんなにそのネタやりたかったなら
やっていいよ。一人でね
NGNG
>>88
はいはい、相手がいなくて妄想ばっかりしている冬厨君は
隔離スレに帰ってくだちゃいね〜
91デフォルトの名無しさん
垢版 |
NGNG
そろそろWO6だな。Tigerで64bit化でさらに高速化ですよ。
ぶっちゃけ4GB(32bit)超のメモリが使えるようになるのが嬉しい。
NGNG
>>91
TigerでVMが64bitの恩恵を受けるかはまだはっきりしていないんじゃないか?
NGNG
WOのソース配布キボンヌ。
継承やdelegateでかなり柔軟に拡張できる構造になってるけど、
ソースをいじった方が早く解決できるケースも結構ある。
NGNG
>>93
でコンパイルすれば(ry
95デフォルトの名無しさん
垢版 |
NGNG
ソース配布はあり得ないな。
ソースいじって直したいなんて香具師は最初からJAVAをヲレフレームワークと共に直に使うべき。
ちなみにオープンソースだとJ2EE取れないよ(w
NGNG
個人的にはWO4のソースを(ry
まぁ、ありえないけどな。
97デフォルトの名無しさん
垢版 |
NGNG
WO4=OPENSTEPでしょ。
今更OPENSTEP/Intel出してくれた方が使い出がある。Intel M/B限定サポートで良いので。
NGNG
test
NGNG
>>92
SPARC 64bitとAMD64版があるからアポーにも頑張って64bit版作って欲しいところだけど、
CocoaとCarbonが32bitのままだから、Tigerじゃ無理だね。
100デフォルトの名無しさん
垢版 |
NGNG
miniってWO開発環境にいいな。もちろん運用環境にも。
19"ラック置けるような専用鯖部屋とか無いようなスモールオフィスだとXserveよりもminiのほうが良さそう。
101280
垢版 |
NGNG
>>100
24時間稼動は無理だろ。
NGNG
ハードディスクがこけるだろうな。BTO、型番指定できないよね?
103デフォルトの名無しさん
垢版 |
NGNG
運用はキツいか。
じゃあFWでRAID1の外部HDぐらい用意すればどうよ?
つーかいっそ2台並べてwotaskdに面倒見させたほうが耐障害性は上がりそう。
HDあぼーんで障害発生したら、mini持っていって取り替えればいいし(w
NGNG
miniにXserve RAIDというアンバランスな構成はどうよ(w
ところで、Xserve RAIDってどうやってつなぐのだ?FW可能?
それともファイバーチャネルカードみたいのが増設できる機種じゃないとダメ?
NGNG
iPod ShuffleにWOをインスコしたいんですが
NGNG
JavaWO*.frameworkで1.4MB超えるから無理では?
NGNG
いやそこを最新のテクノロジーで、なんとかひとつ。
NGNG
>>104
ファイバチャネル必須だったかと>RAID

でもパワブク24時間稼働さしてんだけど、保ってるんだよな。非商用なとこだと行けたりしないかな?(w

NGNG
マカーウゼ
NGNG
漏れは生粋のUNIX屋だが
>>マカーウゼ
こんなことをリアルで言う香具師をこのあいだ、ちょっとしたことで言い争いになって
ケチョンケチョンに論破してやった。ちょっとやりすぎた感じもした。感情論でモノを
言うから。あとで聞いたんだがそいつは専門学校卒だったそうな。可哀想なことをした。
次からは相手のステータスをある程度探ってからにするよ……。
NGNG
自称UNIX屋ウゼ
NGNG
ドザのくせしてえらそうにすんなw てめーはゲイツのケツの穴でもなめてろ。
113デフォルトの名無しさん
垢版 |
05/01/18 01:44:57
WO運用してるような香具師は林檎屋よりもUNIX屋だろ。
Apacheぐらい自前でコンパイルできないと鯖なんか運用する資格無し。
おとなしく技術を金で買って外部委託した方が良い。
05/01/23 19:45:59
NEXTいじってた人とかWOFを古くからいじっている人には優秀な人が多いねぇ。途中おかしな人も増えてきたが最近また優秀な人が増えてきた希ガス。
05/01/23 20:01:22
>>114
情報が少ないから、優秀な人しか残らなかったんじゃないの?
116デフォルトの名無しさん
垢版 |
05/01/24 17:10:08
マニュアル本が無いと素人(マカ)が入ってくることも無く汚染されないからな。
英語読めて経験豊かな香具師だけが生き残れる。
05/01/25 14:24:59
意外としぶとく生き残ってるよね
118デフォルトの名無しさん
垢版 |
05/01/26 01:52:44
NeXTもEOFも画期的だからな。いいものを知ってしまうとなかなか離れられない。
119デフォルトの名無しさん
垢版 |
05/01/26 09:17:42
悩みは、どれだけ素晴らしいからといって、それが世間に広く遍く
受け入れられるわけではないということか。。。
早すぎた天才は理解されないってこと?
最近はやりのO/Rマッピングだって、EOFですでに実現されていたわけだし。
05/01/26 14:19:57
電子メールが世間に広く遍く受け入れられた結果が
SPAMやウィルスの嵐でゴミだらけだからな・・・
121デフォルトの名無しさん
垢版 |
05/01/26 23:36:47
それを逝ったらインターネットだって普及したらエロと犯罪の巣窟になっちゃってるし。orz

しかしPHPは穴見つかって祭りだな。WO採用で良かった。
05/01/27 14:44:52
そうそう、早すぎて、MO を HDD 替わりに使っちゃったりね。
05/01/27 14:52:06
>>120
メールについては、sendmail が複雑になり過ぎたのも要因の一つであると思う。
05/01/28 23:54:14
>>WO採用で良かった。

とはいってもPureJavaですから、Javaに穴が見つかれば突っ込まれます。
や ら な い か 。
05/01/29 16:27:10
このスレ板違いじゃね
05/01/30 02:45:24
うん
127デフォルトの名無しさん
垢版 |
05/02/03 00:08:14
つーかまだsendmail使ってるなんて(w
postfixで充分。

JSPのようにウェブ鯖で直接動かして見せてる訳じゃないからなあ。
WOはアダプタ経由でアクセスされるのでWO動かす鯖はDB鯖と同じバックエンドにあるので穴の被害は少ない。
つーか穴を気にしたらDBなんてインターネット経由でアクセスできないでしょ(w
セッション一杯貼っただけでDBに負荷かかるし。
05/02/16 09:10:45
ぬるぽ
129初期不良
垢版 |
05/02/16 12:21:49
皆さん元気でつか?
WOLips 順調にバージョンアップしてるね。
いつの間にか XCode のプロジェクトバンドル生成するようになってるし
PostgreSQLPlugin も WOLips のフレームワークプロジェクトでビルドできたし。
05/02/17 19:19:10
http://enterprise.watch.impress.co.jp/cda/software/2005/02/02/4498.html
このsolaris10でWebObjectsは問題なく稼働する?
教えてエロいひと
131デフォルトの名無しさん
垢版 |
05/02/18 03:19:23
もちろん動くけど、正式サポートじゃないからアポーには頼れなくなる。
Linuxで無理矢理動かしてるのと大差ない。
132デフォルトの名無しさん
垢版 |
05/02/18 14:00:41
あぽーは最初からあてにならないから、OS Xで動かすのと大差ない。
05/02/18 14:46:12
運用の質問は、ばか高い会費払わないと受けてもらえないという話だから、サポートは関係ない。
134デフォルトの名無しさん
垢版 |
05/02/18 22:24:19
つまり自分でなんとかできるスキルが無いととても怖くて客を取れないということだな。
下手すりゃ損害賠償覚悟でWOを使え。

つーか昔のエンタープライズサポート(現Apple Developer Connection Premier プログラム)無しにWO使ってる貧乏SIは逝ってよし。
どうせ10万以下に値下げされてから使い始めた口だろ。
05/02/19 08:54:38
あっぴるに頼らないと運用できない >>134 は生粋のマカ
05/02/19 13:33:21
>>134
エンタープライズサポートとDeveloper プログラムは違う物だし、エンタープライズサポートは今でもあるが?
http://www.apple.com/jp/webobjects/resources.html
137デフォルトの名無しさん
垢版 |
05/02/19 17:17:09
>>136はエンタープライズサポートを受けてない貧乏SIということがばれますた。

おまいらDB何つかってますか?
オラクルならなにやら有楽町でマク版のセミナーがあるらしいぞ。
ソラリス10のセミナーのあるけどな。実際エックスサーブよりもサンファイアのほうが安定して過負荷にも耐えるし(w
05/02/19 17:35:13
マカ信者やORACLE信者って大概思考停止してるんだよな
139デフォルトの名無しさん
垢版 |
05/02/20 04:28:14
つーかまともなシステム組めるなら、オープンソースでコスト削ったりしなくても十分儲かるからな。
無料のLinuxやPHP/JSPやMySQLとか使ってコスト下げて提案しないと仕事取れない糞SIは大変だな。
オープンソース採用という名の毎日のバグ取りにがんがれ。
05/02/20 07:45:57
>>139 == >>137 か?
だとしたらかなり痛いぞ。
05/02/21 10:51:29
>>140
彼もきっと何かつらいことがあったんでつお
142デフォルトの名無しさん
垢版 |
05/02/23 18:15:58
Relationship先の個数を条件に検索したり、ソートしたりするには
EOQualifierとかEOSortOrderingはどう書けば良いのでしょう?

例えば、Author<-->>Articleという関係において、
1. Articleを1つ以上持っているAuthorのリストを取得したい
2. Articleが多い順番にAuthorのリストを並べ替えたい
というときです。

Author(auth_id)
Article(article_id, auth_id)
05/02/24 00:04:49
>>142
Qualifier では無理。普通にSQLを書く。
144初期不良
垢版 |
05/02/24 01:22:26
view とかを使用して DB 側で何とかしてしまうな。
>>143 のやることを DB 側にしただけだが。
05/02/24 11:16:32
>>142
class Author ... {
int countArticle() { return articles().count(); }
}

でSortOrderingでcountArticleを指定。速度の保証はしない。
05/02/24 13:52:32
>>145
DBをFetch、EO'sを取得してそのメソッドにアクセスをしない限りcountされた値は保持されないのではないか?
そのままだと、SortOrdering で指定してもNullか0をsortしているに過ぎないのではないか。
05/02/25 00:29:34
>>146
articles()を呼んだら、faultが発生して読み出しているはず。直接このままのやり方をしたことはないから確証はないので、試してください。faultが散発的に発生することになるので、呼び出しコストは高いと思われ
148デフォルトの名無しさん
垢版 |
05/02/25 03:39:11
おまいらこれ適用しておいた方がいいぞ。
ttp://docs.info.apple.com/article.html?artnum=300980-ja
149142
垢版 |
05/02/26 11:47:08
みなさん、どうも。SQLでがんばってみることにします。
05/02/26 19:36:47
>>142
おっさんは生粋のマカなので >>145 の方法+WOLongRequestで実装してる
大規模でパフォーマンスが重要なもんでなきゃいいんでない?
151デフォルトの名無しさん
垢版 |
05/03/09 16:30:29
iTMSの認証が特許違反とかいうニュースがあるけど、これってiTMSで使ってるWOの認証も関係する?
05/03/09 20:49:03
ハァ?全然違う話じゃねーの?どの話よ。
153デフォルトの名無しさん
垢版 |
05/03/09 21:35:27
おまいらマカはRDB何使ってる?

ttp://news.livedoor.com/webapp/journal/cid__1023481/detail
2004年のシェア第1位は Oracle の41.3%で、IBM (NYSE:IBM) が30.6%で2位、Microsoft (NASDAQ:MSFT) が13.4%で3位となっている。シェアが1桁台 (3.1%) の Sybase (NYSE:SY) と NCR Teradata が同率4位だった。
05/03/09 21:59:56
なんでOracleも書いてやれよ ORCL って
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況