1 :
名無しさん@お腹いっぱい。 :
2001/05/27(日) 17:59 ID:6pK8snWA ASPでもPHPでもPerlでもJavaでも形こそ違えど結局は可変部を吐き出すための <%〜%>やらprint文の嵐になってしまう。 「HTMLはHTML、プログラムはプログラムと完全に分離する方法はないものか。」 を話し合うスレッドです。
2 :
名無しさん@お腹いっぱい。 :2001/05/27(日) 18:46 ID:PLEgfcrY
外部htmlファイル読み込みで片付くものと思われ。
3 :
名無しさん@お腹いっぱい。 :2001/05/27(日) 19:07 ID:rsikQ/Ns
<%〜〜%>でいいじゃん
4 :
名無しさん@お腹いっぱい。 :2001/05/28(月) 06:25 ID:QyrSaBKA
テンプレートをつくって、置換するのはどうよ。
<html>
<head>
<title>%%%%TITLE%%%%</title>
</head>
こんな感じのやつで。あとで%%%%TITLE%%%%を変数と置換。
>>2 がいうとおり、このテンプレートを外部から読むか、内部に入れるかは自由。
5 :
名無しさん@お腹いっぱい。 :2001/05/28(月) 11:45 ID:/loPusng
XML と XSL で分ければ?
6 :
名無しさん@お腹いっぱい。 :2001/05/28(月) 13:11 ID:yQtftbTo
おいらは内部派だからprintの嵐大好きだよ
7 :
名無しさん@お腹いっぱい。 :2001/05/28(月) 13:19 ID:XZfJcTNc
PerlのHTML::Templateは? あれ好きなんだけど。
8 :
名無しさん@お腹いっぱい。 :2001/05/28(月) 14:39 ID:9UeTzpnc
PerlのText::Templateでやってた... HTML::Templateの方が便利かな? 試してみよっと
9 :
1 :2001/05/28(月) 18:15 ID:ucUrq.A6
なるほど、PerlにはHTML::Templateなるものがあるんですね。 これは便利そうです。 #でも、最近はPerl使ってないんだよねぇ。 Javaあたりだとどんな方法があるでしょうか? JSP + Beanでゴニョゴニョ。なんてまどろっこしい方法なんて誰も使いませんよね(^^; 自分はXMLCに注目しているのですが、HTMLの操作をすべてDOMで行わなければ ならなかったりで、今ひとつ食指が動きません。
10 :
1 :2001/05/28(月) 19:17 ID:ucUrq.A6
HTML::Templateって、それ自体がなんか言語っぽくなってて、 なんか新しい言語を覚えなきゃいけない風でやなんだけど、実際どう? 友人が使ってるのをちょっと見ただけだからよくわからんが。
12 :
名無しさん@お腹いっぱい。 :2001/05/29(火) 16:32 ID:pjNjykSQ
JSP でコードと HTML がごちゃごちゃしてきたら拡張タグライブラリ を作る。 <oresama:valueOf name="foo" /> みたいなの。JSP だと結構うまいこと分離できるよ。多少の知識は いるけどね。
13 :
名無しさん@お腹いっぱい。 :2001/05/29(火) 18:53 ID:oi4kyUtI
>>11 テンプレートのタグ?それともメソッドの使い方?
どっちにしてもそれほど難しくないよ。
14 :
名無しさん@お腹いっぱい。 :2001/05/29(火) 19:01 ID:99dLOuS2
15 :
名無しさん@お腹いっぱい。 :2001/05/30(水) 02:43 ID:n7P1SKLk
PerlのHTML::Templateは、コメントタグ形式でも表記できるのが 面白いと思った。 <td>名前</td><td><TMPL_VAR NAME=name></td>は <td>名前</td><td><!-- TMPL_VAR NAME=name --></td>でもオッケー
16 :
Pマン :2001/05/30(水) 03:55 ID:owRJ.xHA
class HTMLClass { var $htmldata ; function HTMLClass( $htmlfile ) { $htmldata = file( $htmlfile ) ; $this->htmldata = "" ; for( $ii=0; $ii<count( $htmldata ); $ii++ ) { $this->htmldata .= $htmldata[$ii] ; } } function output( &$data ) { $str = $this->htmldata ; reset( $data ) ; while( list( $key, $val ) = each( $data ) ) { $str = ereg_replace( "@" . $key . "@", $val, $str ) ; } echo $str ; } } サンプルクラス。 $tmp = new HTMLClass( "a.html" ) ; $repdat["data"] = "hogehoge" ; $tmp->output( $repdat ) ; @data@ を hogehoge に置換。もっと短く出来ると思うけど 適当にこんな感じなのはいかがでしょう?
17 :
名無しさん@お腹いっぱい。 :2001/05/30(水) 22:36 ID:aom7mYQI
Dreamweaverのテンプレートは? 編集可能領域だけをPerlから変更するようにして使っているよ。
18 :
15 :2001/05/31(木) 09:31 ID:DL2pokUM
>>17 それもいいね。
ファイルを1行ずつ読んで、Dreamweaverのコメントにマッチしたら
置換する、というやり方でしょ?
俺はPerLのHTML::TemplateでつかうHTMLファイルを
.tmplにして、それをDreamweaverで編集してた。
モジュールのインストールがいらないから、そっちの方が良いかも。
ただ、疑問なのは、例えばテンプレート内にあるフォームの中に
データを埋め込むとき。
<input type="text" name="sample" value="ここに埋め込む">
こんな時は、ソース編集でvalueにDreamweaver形式のコメントを
打つの?
19 :
ちょこら :2001/05/31(木) 16:26 ID:zuNYGVLg
>>17 お、俺もそれでやってる。
あと、
>>18 みたいなケースのときはコメントを置換するようにしてる。
<!-- hoge -->
を$hogeに置換すんの。
自分でライブラリ作ったから同じスクリプトを
テンプレートかえるだけで使いまわせていいよ。
20 :
17 :2001/05/31(木) 17:10 ID:iOzcc6dM
テンプレートのコメントは利用せず、編集領域内に {$hogehoge;}と入れて、これを置換している。 あまりCGIが得意じゃないんで、恥ずかしいけど ↓こんな感じ。(藁 $postdata{ "hoge" } = $line[ 1 ]; $postdata{ "hoge2" } = $line[ 2 ]; print insertTemplate( './main2.htm', %postdata ); sub insertTemplate { local( $filename, %form ) = @_; local( @lines, $line ); open( FILE, "< $filename" ); @lines = <FILE>; close( FILE ); $line = join( '', @lines ); $line =~ s/\{\$(.*?)\}/$form{ $1 }/gs; $line; }
21 :
名無しさん@お腹いっぱい。 :2001/06/15(金) 12:53 ID:erdVYa/Y
22 :
名無しさん@お腹いっぱい。 :2001/06/15(金) 15:11 ID:6nOh67xE
Perl信者はこうじゃなくちゃ! sub template_expand{ my($filename) = @_; my($text, $trans); local $/; local *IN; local *echo = sub { $trans .= join "", @_; }; open IN, "< $filename" or return; $text = <IN>; $text =~ s{<\?perl\s+(.*?)\s*\?>}{ eval($1);$trans }egsm; close IN; return $text; }
23 :
名無しさん :2001/06/21(木) 18:42 ID:fZd90uYU
本命はCocoonでしょ、やっぱり。
25 :
sage :2001/06/22(金) 16:25 ID:FGxLT2Ws
FastTemplate使え。Perl用とPHP用がある。
26 :
25 :2001/06/22(金) 17:03 ID:???
XSLTでマルチクライアントなんてほんとにできるんですか?
28 :
名無しさん@お腹いっぱい。 :2001/06/22(金) 22:06 ID:QfivNl3k
このスレッド名、妙な感じがするのは私だけかな〜。 デザインとロジックの分離じゃなくて?
>このスレッド名、妙な感じがする ホントだ(w
30 :
名無しさん@お腹いっぱい。 :2001/06/22(金) 22:51 ID:NESmv9PY
>>4 の
<html>
<head>
<title>%%%%TITLE%%%%</title>
</head>
の形のだと、HTMLしかわかんない俺とかでもデザインのカスタマイズがしやすい。
「プロフェッショナルPHPプログラミング」にうまい使い方が載っていたのでFastTemplate使ってみた。 php4だと配布サイトに載っているパッチをあてないと上手く動かなかったけど。 テンプレートを入れ子にできるので部品化・使い回しできるのがイイ。
32 :
1 :2001/06/29(金) 15:51 ID:8ZDmK9dU
33 :
名無しさん@お腹いっぱい。 :2001/07/02(月) 01:54 ID:X8cwHu0A
34 :
名無しさん@お腹いっぱい。 :2001/07/02(月) 02:08 ID:7NP//cxc
> htmlファイルにサブルーチンやhtmlファイルにサブルーチンや 分離?逆じゃない?
eperlの方がマシ。 eperl使うならPHPとかJSPで略。
36 :
名無しさん@お腹いっぱい。 :2001/07/02(月) 02:22 ID:GjfjvDNA
37 :
名無しさん@お腹いっぱい。 :2001/07/02(月) 22:55 ID:1TJMjc3E
>>32 Smarty って仕様でかすぎない? ってあんまり見てないんだけど。
最初、自分で作ろうと思って、いろいろ他のを見たけど
よくよく考えたら、PHP でこれをすると、HTML 内に処理を書けるって
いう言語自体の優位性が無くなってしまうね。
38 :
1 :2001/07/03(火) 17:00 ID:0lIoca6w
>>37 Smartyではドキュメントにも書いてある通り、絶対にHTML内には
<?PHPタグは書かないことを前提に設計されてますので、Smartyの
設計者たちにとってはHTML内に処理を書くことのメリットよりも
デメリットの方が大きいと考えたのでしょう。
Smartyでは、HTMLテンプレートの解釈にかかるオーバーヘッドを
減らす為に、HTMLテンプレートをPHPにコンパイル(?)してから実行
しているのですが、面白い仕様ですね。(EnhydraのXMLCと同じ)
39 :
1 :2001/07/03(火) 17:05 ID:0lIoca6w
でもこのSmarty、なぜか日本語の情報が見事なまでに皆無です。 だーれも使ってないのかな。 それとも、テンプレートという考え方にはそれほど需要がない?
40 :
37 :2001/07/04(水) 01:02 ID:???
>>39 職場は Servlet のプロジェクト一色でフレームワークや EJB の
ことはみんなスキルがあるが、PHP や Perl のテンプレートの
ことを話したら、最初、JSP + タグライブラリと同じだという意見も
あったが、基本的にテンプレートはWYSWYG で編集できることを
目的としている点で方向性が違うということを言ったら
目から鱗という人間が多かった。
Java でも Jakarta のサブプロジェクトでテンプレートが
あるにはあるみたいだけど、あまり聞かないね。
需要はあると思うけどなぁ。
42 :
1 :2001/07/06(金) 20:34 ID:9bX.xTlk
>>41 Enhydraの目玉であるXMLCですが、DOMってすごく煩雑なんですよね。
思想は理解できるのですが、現実とのギャップが埋め切れて無いような
気がします。DODSも然り。
あと、Javaサーブレットの場合は静的コンテンツの扱いが煮え切らない
部分がありますね。(これは自分が慣れてないせいかも)
43 :
名無しさん@お腹いっぱい。 :2001/08/06(月) 01:12 ID:of8Q373o
あげておこう。
<% 〜 %> にASPを書くんじゃなくて %> 〜 <% にHTMLを書くと思ったほうが ソースが綺麗になるよ☆
>>41 @ITの記事に、「デザインとプログラムの分離を果たした開発の例」みたいな
のがあって、実際にそのサイト見てみたら
「凝ったデザイン+ほぼプログラムレス」
「しょぼいデザイン+プログラムたくさん」
っていう感じで、ほんとに分離できてるのか謎だった。
ページ中のコードの量にもよると思うが。 っていうか分離してないじゃん。
47 :
う。 :2001/08/07(火) 16:01 ID:???
うん。分離は諦めた(藁 DWの吐くASPのコードはえぐい。 特にDB操作関連、逝ってよし。
49 :
名無しさん@お腹いっぱい。 :2001/08/08(水) 23:50 ID:svrEP0oc
デザインとプログラムの完全分離、実現したよ。 CGIをCで書いて、ちょっとしたテクで出来た。 うちはデザインハウスだから、ASPとか嫌われるんだよね。 デザイナーが全部創りたがるから(w
52 :
名無しさん@お腹いっぱい。 :2001/08/09(木) 03:49 ID:xE5lKX6Y
知りてぇっ。
デザイナーにC言語を覚えさせた、って言うのはどうだろう。
・・・・実際は
>>4 だと思うが。
54 :
名無しさん@お腹いっぱい。 :2001/08/18(土) 02:38 ID:bwvOb6EE
XSQL & アクションハンドラ + XSL javaばんざい! でもXSLって、結構ややこしーよね。
55 :
名無しさん@お腹いっぱい。 :2001/08/20(月) 12:26 ID:aorICbHM
>>54 っちゅーか激しく汚いよね > XSL
なんでマークアップ言語をプログラミング言語にしたがるかなって感じ。
56 :
名無しさん@お腹いっぱい。 :2001/08/22(水) 00:16 ID:sfZGtIL6
>>55 >なんでマークアップ言語をプログラミング言語にしたがるかなって感じ。
これは意味わかんねーけど、XML加工ってパフォーマンス最悪だよな。
どうやったって遅くなる。
これってハードと回線の発展まつしか解決策はねーのか?
58 :
55 :2001/08/23(木) 10:53 ID:696IfwN6
>>57 ゼロからparsesするタイプだと結構そうなりますね。EnhydraとかはDOMツリーをキャッシングして使いまわしてパフォーマンス上の問題を回避しようとしてる。
何度もparseするコストを下げるために、DOMを永続化したりとparse結果を使いまわすことで大分回避できそうな気がする。
なんか昔のRDBMSを見てるみたいだ。確実にガンガン改善されてゆくんだろうけど、XMLを使うってことは富豪プログラミングの極みなのかも。
> これは意味わかんねーけど、
うん、ちょっと判りにくい言い回しかも。単に激しく読みにくいと感じているだけです。慣れていないだけなのかなぁ。
59 :
名無しさん@お腹いっぱい。 :01/11/30 23:53 ID:wIXh/fr5
つーか、Struts使えば?
>>56 UltraDeveloperの方が数段上の機能を持ってるぞ。
ちゃんと研究してんのかな。(W
漏れはとりあえずWebObjects使ってる。 Perl->MS-ASP->Servlet&JSP->WebLogic->WebObjectsという流れ(笑) DB連携は楽チンつーか、極楽つーか、今まで漏れがやってきたことは、いったいなんだったんだろう?
62 :
名無しさん@お腹いっぱい。 :01/12/25 00:00 ID:NlMRZ7tX
>>62 なかなかイイんじゃねぇの?
っていうか、デモはシンプルなほうがいいと思うが。
派手なデモとか、そゆのがいいなら.NETとかヤレよ(ワラ
64 :
名無しさん@お腹いっぱい。 :01/12/25 02:14 ID:rO3objig
>>62 この発想、イイ(・∀・)ね。
ドリームウィーバーみたいなソフトでHTML使う人にとっても
こっちのほうが、HTML::Templateみたいな独自タグよりも使いやすいかなあ?
65 :
62 :01/12/25 10:24 ID:w8XWyZY6
俺も機能はいいと思ってるけど、 デモでゴルゴとか言ってるとちょっとひいちゃうんだよな。
66 :
名無しさん@お腹いっぱい。 :01/12/25 11:31 ID:qH/nvcoM
HTML::Template は... another htmllint とかだとアウトになるし、
ブラウザでプレビューしてもまともなのにならなかったりするのが欠点。
例) <a href="<tmpl_var var="url">">url</a>
>>62 みたいに、id="..." を使うってのはあたりかも。
でも if とかどうやって実装したらいいんじゃろ。
ロジックの分離って意味では、if は邪道なのかな。
ロジックとデザインの分離っていっても、
デザイン部がプログラムであってもいいわけだよね...?
67 :
:01/12/25 12:53 ID:???
xml吐けばいいじゃん
68 :
名無しさん@お腹いっぱい。 :01/12/25 13:59 ID:qH/nvcoM
>>67 XSLT かけるデザイナーがいるならね。
69 :
名無しさん@お腹いっぱい。 :01/12/25 14:45 ID:sJRfrNmi
>66 vanguard_compatibility_mode - 1に設定すると、モジュールは通常の書き方に加えて、%NAME%のような<TMPL_VARS>を見ることを予定します。
70 :
名無しさん@お腹いっぱい。 :01/12/25 14:54 ID:qH/nvcoM
>>69 %NAME% でも HTML lint は怒るような。
親切なHTMLエディタだったら入力時に % を %25 に変換しちゃうだろうし。
<a href="%URL%">hogehoge</a> -> <a href="%25URL%25">hogehoge</a>
71 :
名無しさん@お腹いっぱい。 :01/12/25 14:56 ID:rO3objig
>>70 むむ。
filterで[%TMPL_VAR NAME='NAME'%]みたいなのにしてるんだけど、
これも変換されちゃう...?
72 :
名無しさん@お腹いっぱい。 :01/12/25 15:35 ID:qH/nvcoM
手書きでやるぶんにはなんだっていいけど、 URL には生の % は入れちゃダメっていわれてる以上、lintにかけたら怒られるし、 ユーザが % いれたら %25 にするのはエディタの仕事だよね。 実際そういうことするエディタがあるのかどうかはしらんけど。 &tmpl_hogehoge; とかかってに定義しちゃうとか考えたけど、これも変換されちゃうし... <a href="$url$">hogehoge</a> とかだと大丈夫?
>>68 でも、HTMLの流れからいくと正論でない?
今は違っても視野に入れるべきでは
74 :
名無しさん@お腹いっぱい。 :01/12/25 16:20 ID:qH/nvcoM
>>73 うーん..
プログラム->XML->XSLT->HTML(+CSS)
ってのが将来像だよね?
75 :
技術板から出張 :01/12/25 18:10 ID:4aLznFCR
>>75 いいも悪いも、Model2になってしまうと
決まったBeanから値を引っ張るだけなので、
VelocityだろうがFreemakerだろうが好みでしかないと。
サブレット系で使うにしたら、Turbineと一緒に考えんと
単品ではたいした事できひんよ。
TurbineでIntakeService使えばStrutsみたいな
ちょっとエレガントなフォームのハンドリングはできるけど。
基本的には引っ張り出すモデルで使用するので
「ちょっとした分岐」にSTLのタグ使いたくない場合にいいかと。
うちのクライアントは#ifとかで分岐を書いた方が
わかりやすい、ということでVelocityで作りました。
ただ、基本的にはロジックとプレゼンを分離しないものなので、
複雑なものを制御しようとするとすっごい見づらい。
Ankiaみたいな使い方はアリやと思いますけど。
77 :
76 :01/12/25 21:58 ID:???
スマソ Anakiaね↑
78 :
名無しさん@お腹いっぱい。 :01/12/26 00:08 ID:BDPI+m4w
ロジックとデザインを完全に分離するとしたら、 if とか loop ってのは除外すべきなのかな。 ここに表がはいって、ここにはタイトルが入って... みたいなのがデザイン? それとも表を構築するのもデザイン側?
79 :
名無しさん@お腹いっぱい。 :01/12/26 00:11 ID:sJEz3Q/y
>>78 表にどんな内容を動的に組み込むか。。というのがコンテンツ
表のレイアウトそのものがデザイン。ってのはどうよ?
80 :
名無しさん@お腹いっぱい。 :01/12/26 09:16 ID:FQ1ZqMYK
>>74 > プログラム->XML->XSLT->HTML(+CSS)
>
> ってのが将来像だよね?
その場合、デザイナーの仕事って何なの?
これからはデザイナーはXSLT勉強しろってこと?
81 :
名無しさん@お腹いっぱい。 :01/12/26 13:10 ID:0snM5bma
>>80 そこは、マーベラスなデザインプログラムを誰か作ってくれることを希望するしか。
今現在だって、他はどうかしらんけど
少なくとも HTML::Template で凝ったことしようとすると、
HTML エディタじゃ破綻しちゃう。
XSLT ってデザインの範疇?
82 :
名無しさん@お腹いっぱい。 :01/12/26 14:30 ID:k+572McB
っていうことは現状では、 XSLTはプログラマが書くしかないと。 デザイナーが書いたHTMLをバラして コードのあちこちに埋め込んでいくような方法しかないと。 そんならxml吐くよりHTML直接吐いた方がマシ。
「XSLTはデザイン用の言語としても使える」という感じ?
実際にXSLT(とXPath)を理解できるデザイナーなら 簡単なSQLとかスキーママッピングぐらい分かりそうなもんだよな。 実際細かいとこ(空白処理とか)も考えるとデザイナーが1から XSLT書くってことはなかなかなさそうに思う。 で、部分的なXSLTモジュールが増えて管理しきれず破綻すると。 これ最強。 ユニークなソースを複数のマークアップに変換することこそ XLSTの意義なわけで。 それでいてそこらへんのプログラマが「よーしパパ独自モデル 作っちゃうぞー」なんて言って作ったXMLに普遍性があるわけなく。 まぁ、俺みたいな底辺のWEB屋は フツーのテンプレートで十分ってこった。
85 :
名無しさん@お腹いっぱい。 :01/12/27 10:30 ID:T+mNc+4X
XSLTもJSPとかと同じ運命にあるんじゃない? どんどん構文増やしてプログラマブルになっていく。結局まったく新しい文法覚えなきゃなら ん分だけJSPなどの方がましという結末。俺はループで表を埋めることだけサポートした単 純な文字列置換テンプレート使ってるけど。
XSLT/XSLエディタが出てくるんじゃないの? 動的なデータ変形によるレイアウト変更とかをデザインと見なし、それが 重要かどうかはデザイナの主観だけど(というかそういうツールでは無理。) そのままxmlをCocoonにStreamに通すとXalanを使った場合と比べて表現の 自由が失われるわけで、要は、その表現が目に見える部分がデザインなのか データなのか、それともデータをパラメータとしてレイアウト可変があるのか を判断することが重要。テンプレートを文字置換を行うのは見ていてあまり カッコよくないから、せめて静的なPageを作成できるWYSWYG-XSLエディタを 作ってCocoon+Servlet+XSLで十分では無いのか。 と言ってみる。
87 :
名無しさん@お腹いっぱい。 :01/12/30 14:12 ID:neJVFUng
>>86 よく意味がわからんのだけど、XSLエディタを作れっていいたいわけですな。
89 :
名無しさん@お腹いっぱい。 :01/12/31 17:56 ID:7TaOdc8L
コンテンツとデザインとロジックの分離、って方向に修正しよう。 なんか MVC モデルを地で行ってるな...
.NETでできるらしいね。どうでもいいけど。
91 :
名無しさん@お腹いっぱい。 :02/01/01 10:16 ID:2xu8/Vnp
>>66 テンプレートに埋め込んだ状態で正しいHTMLになるんだから
吐き出し結果さえ通れば良いんじゃないの
92 :
名無しさん@お腹いっぱい。 :02/01/01 19:11 ID:zfxUv0cU
>>91 それだと、正しいHTMLであることを前提にしたツールが使えない。
きっちりした HTML エディタとか、検証ツールとか。
WO使え
うむ、完全なデザインとロジックの分離ができるのって、WOだけだな。 あとは流行りの寄せ集め。 ただし、WOはいくら良くてもマイナーだ。トホホ
>>94 WO、なんで Mac でしか動かないんジャー。
>>96 WebObjectsの稼働環境は下記の通り。
【開発環境】
Windows2000、Mac OS X
【運用環境】
Java2 SDK 1.3.x and JDBC2.0ドライバがあれば、一応なんでもOK
>>94 Cocoon2ならXML+XSLT+XSPと分離できているがどうよ?
>>98 WOと平行してXMLベースの開発もやってんだけど、まず開発効率の点で比較にならん。
Cocoon2も、技術的には面白いとは思うので、オモチャとしていじってはみたい。
なんにしても、この分野はまだまだこれだってのは出てないよね。
>>98 XSP はんてはじめてきいたよ。
JSP みたいなもんなのかー。
>>99 そうなのか。漏れもCocoon2は触り始めたばかりだしWOも知らないから
殿辺がWOと比較したときに差がつくのか氏りたいな。
>>101 XSP、動的にXML生成してくれるのは興味深い。
でもこれ、XML文書の中にJavaのロジック入れちまうような感じだろ。
基本的にゴリゴリとやる作業多いし、DBとの連携もコードをゴリゴリ書かなきゃならん。
まぁこれはこれでハヤリに沿ってると思うが(w
JSPなんかもそうだけど、めんどくさくない?
WOの場合は、クライアント側に吐かれるのはHTML。
HTMLテンプレート内に、動的なHTMLを生成するタグを組み込むんだ。
基本的なWebオーサリングと、動的なWeb上のオブジェクトを組み込むためのツールがある。
動的にHTML生成するオブジェクトには、一般的なHTML要素に加えて、
繰り返し処理、条件判定付き処理なんかも含まれてる。
DB側は、テーブル構造をリレーション含めてJavaクラスにマッピングしちまうオブジェクトを作ってくれる。。
メソッド叩けばDBアクセスするようなソースを自動的に生成してくれる機能もある。
この辺のロジックとWebのインタフェースの接続は、ビジュアルにできるぞ。
単にDBから条件検索して取得したデータをWebに吐くような処理なら、ほとんどソース書く必要なし。
興味があったら
http://www.apple.co.jp/webobjects/wo_docs_j.html でも見てみれ。
巷のApp鯖やJSP/Servletなんかもあれこれ評価してみたけど、漏れ的には今のところ、
鯖側App作る技術的なら、WOが一番すげぇと思う。アポージャパソはクソだが(藁
ミカカの社内ベムチャ1号企業(社長は光ファイバの構造発明した博士)が、WOで作ったアプリが、
セガのバーチャファイタと共に、スミソニヤン博物館に展示されてる。
日本製のソフトウェアでスミソニヤンに殿堂入りしてるのは、この2作だけだと。
>>102 DBの連携はServletでやってXMLを出力させて、Cocoon2のGeneratorに
割り当ててる。OracleのXDKとか使えば簡単にXML生成出来るから。
XSLTとXSPはPresentationの整形に使ってみたりしているので、
JSPと違って面倒くさいとは感じない。漏れは結構感動した。
WOはWebで見てみた。面白いね。正にObjectという感じがして印象はいいね。
ただVとCが綺麗に分離されているようには感じなかった。バインドだけを独立して
メンテナンス出来る仕組みがあるなら大丈夫だと思うけどね。
でも今までWOは知らなかったので、ちょっとずつ調べてみるよ。ありがとう。
>>103 漏れの説明が全然足りてないと思われ(w
VとCは、結構綺麗に分離されてると思う。
まぁとはいえ、結局WOも繭2+XSLT+XSPも道具であって目的じゃないから、
目的に応じたツールを使えばいいだけだよな。
政治的な理由で理不尽な道具を使わされたりってこともあるけど(w
漏れも知識を広める目的で、繭2あたりもベムキョーしてみる。
>>104 いやいや、漏れがちゃんとドキュメントを読み込んでないだけだ。スマソ
でもすごいねWOって日本語ドキュメントが公開されているんだねー。
英語のドキュメントと格闘しているとこういうのは嬉しくなるよ(藁
>まぁとはいえ、結局WOも繭2+XSLT+XSPも道具であって目的じゃないから、
>目的に応じたツールを使えばいいだけだよな。
>政治的な理由で理不尽な道具を使わされたりってこともあるけど(w
禿しく胴衣。漏れもたまたま繭2(っていいなこれ)を氏って感動しただけで
仕事になるかは不明だが、色んな道具を勉強しておかないと目的に合うものが
あっても使えないしと思って触り始めたところだった。WOも勉強してみるよ。
106 :
名無しさん@お腹いっぱい。 :02/01/18 17:29 ID:yclowW7G
107 :
名無しさん@お腹いっぱい。 :02/02/16 11:32 ID:kVRJZgu9
XMLとXSLTでページを作って、javaかなにかで、HTMLにして吐き出す って方法を考えてるんだけど、やっぱりデザイナーにはつらいっす。 デザイナーにXSLT覚えさせるんじゃなくて、プログラマーに デザイン覚えさせた方が、手っ取り早くて確実だと思うよ。
108 :
名無しさん@Emacs :02/02/16 11:48 ID:xWyhCOfA
107はプログラマとデザイナーどっち?
109 :
名無しさん@お腹いっぱい。 :02/02/16 12:10 ID:KRm5UaCt
プログラマーとデザイナーは必要とするセンスが全然違うよ。 ひとりで両方やったらどっちも中途半端になると思うけどな。
110 :
名無しさん@お腹いっぱい。 :02/02/16 12:24 ID:uSHa0cBb
XSLT ってなんか違う気がする。なんか。 デザインしてるっていうよりプログラム書いてるような感覚。 HTML が細切れで現れるあたり、へなちょこ Perl スクリプトと似てる。 どうせクライアントサイドじゃまともに使えないんだし、 それだったら自分の使いやすい言語使って XML を整形したほうがはやそうだ。
デザイナーが直感的にXSLTを扱えるツールなんて、ムリだろ。 プルグラマーにデザインはやらせられないし。(畑が違うんだよね) うちとこ、海外本社がXML+XSLTでUI作成するエンジン作ってるけど、 ブラウザに直食わせ&MS-XML依存という、超破綻システム。 IEでしか表示できず、Webブラウザベースである意味が無い。 いっそVBでいいじゃんと思ってしまう。
112 :
名無しさん@お腹いっぱい。 :02/02/17 19:54 ID:u6FvlsM9
そういや、普通のプログラムの方の UI ってプログラマが設計してるんだよね。 UI 専門チームでやってるんだろうけど。 そういう意味では、紙じゃなく "Web" のデザイナーって時点で プログラムぐらい書けなきゃいけないのかもね。 データベース設計とかそういうコアな部分だけプログラマが作るってのはどうだろ。 結局、現在の HTML 周りで完全にコンテンツとデザインを分離出来て、 かつ実用的なシステムは無いってことになっちゃうのかな。 悲しいな。
>>112 コンテンツとデザインてよりは、UIとロジックを分離という面で、
Webアプリケーションサーバと、その開発環境、ということに限定するなら、
1つだけ存在する。
アップルのWebObjects。
日本ではビジネスとしての環境は劣悪だけどな。アップルJPがダメだから。
114 :
名無しさん@お腹いっぱい。 :02/02/21 09:04 ID:2RVX4IAG
>>113 前々から興味はあって、WebObjectsスレも見てはいるんですが…
メイン環境が Linux なんで開発環境が動かない。無念。
Zope なんかはどうなんだろう。
115 :
名無しさん@お腹いっぱい。 :02/02/21 13:44 ID:PWLuAunJ
>>106 のwalrusっていうのもコンテンツとデザインの分離はきれいにできてるぞ。
実績ではWebObjectやZopeに遠くおよばないけどな。
日本人が開発してるからサポートは期待できるかも。
>>114 Linux用VMwareでも入れれ。もしくは、開発用Win用意して、VNC使うとか(w
>>115 サポートもそうなんだけど、やっぱり運用環境にかかるコストと、
負荷分散、障害復旧の仕組みやコストも重要なんだよね。
負荷分散は、WebObjectsはひじょーに楽。
アプリ側の変更いらないし。
アポーのサポートは、まったく期待できないのが鬱。
とはいえ、海外のMLとかでは十分な情報があるから、さほど心配はいらねんだけどね。
117 :
名無しさん@お腹いっぱい。 :02/02/22 06:47 ID:0Wx4juTv
>>116 負荷分散が楽っていうのは、
1)WEBサーバ---アプリサーバ---DBサーバ の3台構成が楽にできる
2)1)の各階層をそれぞれ複数マシンで構成できる
のどっち?
>>117 もちろん後者。
Web鯖自体は、WOで負荷分散ってわけにはいかないけど、
アプ鯖は、負荷上がってきたら別鯖立てて運用ツールに鯖を登録、
あとは立てた鯖にアプのインスタンスを増やしてあげる設定をするだけ。
DBも、負荷分散ちゅー観点からちとズレるけど、
別々のDBのテーブルを、1つのJavaオブジェクトにラップできちゃう。
OracleとSybaseにDBが分散されてても、まとめて1つのオブジェクトにラップして、
アプは、そのオブジェクトとやりとりするだけ。
驚異。
119 :
名無しさん@お腹いっぱい。 :02/02/24 00:16 ID:VTvdAz4Q
アプ鯖だけで動かしても1台で足りないってのは、 (1) それだけWOが重いってこと? (2) WOはそれだけ負荷の高い処理を前提として設計されてるってこと? 大規模で本格的なシステムでは、いつ消えるかわからんものは、いくらモノがよく ても怖くて使えない。小規模なシステムをパパっと作るような所で使いたいんだ が、大規模なシステムをターゲットにしてるとしたらちょっとミスマッチかも
WOは、元々、NeXT時代からあるんです。 金融系で実績ありますよ。元々、大規模なシステム向けでした。まぁ大は小をかねてますね。 一昨年までは、同時アクセス数無制限のライセンスだと、開発版+運用版で\700万Overでしたし。 とはいえ、別に俺は信者や回しモノでもなんでもないので、あれこれ言う必要もないでしょう。 WOも所詮は道具。目的に応じた道具を選択すればいいだけ。
121 :
名無しさん@お腹いっぱい。 :02/02/27 20:01 ID:ZOHgWtn/
WebProg 板的には、HTML はデザインに入るって解釈でいいのかな。
外に見える部分は全部デザインなんじゃないかな。
HTMLにロジックやらSQLが埋まってる場合はどうよ?
124 :
名無しさん@お腹いっぱい。 :02/02/27 22:41 ID:4wH+W7s0
>>123 埋め込まないですむツールを探すのがこのスレの趣旨だろ。
WOやWalrusではそういうことができる。
Walrusは、実務レベルじゃ使えないな。
っつーことは、 Perl, PHP, ASP, JSP, ColdFusion等々もダメってことか。
>>119 WOはスケーラビリティも売りだったりする。
ノートパソコン1台で何から何までやる最小構成から始まって、
(これでパパっとデモとかやるとけっこう食い付きがいい)
最後はhttpd複数、app鯖複数、DB複数みたいな重厚長大構成まで持っていける。
今だとApacheとCocoon組み合わせた感じとちょっと似てるな。ってもちろんWOの方が古いが。
WO出たての頃はCで書いたcgiとかと比べられて、app鯖重い、とかいぢめられたが、
最近はServletだのなんだので他も重くなってるのであんまり言われなくなった(w
Walrusって見てみたけど、ふつうのタグのid属性使ってるのキビシイな。
までもeRubyとかcgi-libよりもイイのは認める。
>>125 そもそもRubyを実務レベルで使わせてもらうのもまだ抵抗アリ。
129 :
名無しさん@お腹いっぱい。 :02/02/28 07:15 ID:deZVjrVj
Walrus使ってみたけどdreamweaverでテンプレート編集できて、 それがそのまま動的なページになる。 便利な気はするけど、俺もRubyを実務で使うのは怖い。
130 :
名無しさん@お腹いっぱい。 :02/02/28 07:45 ID:EVItbpbr
>>126 >>1 でその結論はでてるような。
embed 系は注意しないとだめでしょう。
繰り返しと分岐をどうするかだよね。
Walrus の繰り返しは上手くやってるなと思う。
無理に分離しないってのも選択肢だとは思うけど。
>>128 普通の id 属性使ってるとこがよさげじゃない?
独自な要素使ったりするのはエディタと馴染まないだろうし、
別ネームスペースの要素や属性を扱える HTML エディタってしらないし。
って DW すら使ったことないからわからんけど。
>>130 > 普通の id 属性使ってるとこがよさげじゃない?
あんまり詳しく見てないんだけど、今までHTMLの編集過程で
id属性を使ってた人はそれをあきらめなきゃいけないのと、
タグで囲まない部品は定義出来なさそうってのが
ちょっとツライ。
あと、コピペしたときにすぐ名前空間衝突起こしそうだよね。
なんか興味出てきたんでMLにでも覇逝ってみるか。
132 :
仮 :02/02/28 20:46 ID:noWCUt+8
>>131 warlus 使って、掲示板作ってます。
http://210.155.146.159/bbs/ idは、<div> や <span> にも付けられるので、タグで囲まない部品
の問題は、ほとんど起きませんよ。
>あと、コピペしたときにすぐ名前空間衝突起こしそうだよね。
これは、私も問題だと思います。NAME属性とも衝突起こしますし。
133 :
nobodyさん :02/03/03 02:06 ID:Z7la6eJB
JSP のカスタムタグ作ればきれいに分離ができるじゃん。
135 :
nobodyさん :02/03/03 14:40 ID:nKi/6AzP
>>134 カスタムタグを扱えるHTMLエディタって何がある?
そのエディタを扱えるデザイナってどれくらいいる?
>>134 あそ、ここはオーサリングソフト使わなきゃ HTML 組めない人達の
板だったわけね。横槍大変失礼いたしました。
>>135 何か JSP に恨みでも?
っていうか PHP や ASP 用の HTML エディタってあるの?
デザイナってみんなそれ使ってるの?
>>136 じゃなくてさ、
オーサリングソフトを使わなきゃHTMLを書けない奴と
一緒に仕事をしなきゃいけない人もいるじゃん。
このスレってそういう人が多いと勝手におもってるけど。
>>138 じゃこのスレはオーサリングソフトのサポートがない物は論外というわけかね。
いや別に良いんだよ、1のタイトルが目に付いただけのUnix板からの流れ者だから。
話の流れを読んでなかった俺が悪かったということでよろしいな。
140 :
138 :02/03/04 00:06 ID:???
>>139 や、論外ってわけじゃないけどさ。ひとつの方法には違いないし。
ただJSPのカスタムタグで解決だぁ〜ってほど、明るくはなれないのよってだけ。
141 :
nobodyさん :02/03/04 00:09 ID:cezFKT1+
>>139 デザイナを含む開発でメンテナンスまで含めた*工程*を提示してもらえば、
オーサリングソフトにこだわるつもりはないよ。
デザイナが雛形作成したものに、
プログラマが<%.. >や<? ...>やカスタムタグを追加してページを作ると新規の時はいいが、
デザインの見直しがあった時に、誰が何をいじればいいのかわからない。
XMLやカスタムタグを自由に使える技術力のあるデザイナがいればいいが、
そんな都合のいいやつはいそうにない。
結局、標準HTMLで動的なページを作成できるアプサバ使うしかないと思うが
他にいい手があるだろうか?
喧嘩を売ってるわけじゃなくて、
「流れ者」だから見える所があるかもしれないと思って聞いている。
とりあえず、場違いなレス付けてすまんかった。
>>136 は半分煽りで入れたんだが、オーサリングソフトでデザインと
コンテンツを分ける方法を本気で話すのが趣旨なら大変悪かった
(おとといから咳が止まらなくてイラついてたな)。
流れの話だが、専門でやってるのは銀行や保険なんかの金融系 Web
サイト。一回の開発で画面数にしておよそ 100〜150 くらい (フ
レーム分割された一つ一つの合計) な上、かなりの処理が入るので、
最後までオーサリングソフトでやろうというのは度台無理な話。
まぁ売り物はコンテンツであってデザインではないと言い切れる
世界なので、デザイナが絡むとしても最初のデモ画面作成くらい
かな。どのみち開発者が手書きで HTML を書き直すことになる
(おかげでページデザインのできるシステム屋は付加価値が付く;
専門の人にはかなわんが)。だから HTML が書けないデザイナ
なんてハナから頭になかったし (そもそもそれじゃブラウザ間の
互換を保ったデザインなんてできないと思う)、
>>1 を見て普通に
Model-View-Controller の話かと思ったわけ。
まぁ HTML が書けることが大前提だったから、JSP+拡張タグでデザ
インを分離できてこれ以上何が必要? って話だったわけ。
それから XSL はサーバ側にかなりの負荷をかけるので、大き目の
サイトではあまりお奨め出来ない (特に Java で組んである奴)。
ちょっとリクエスト数が上がるとすぐ監視端末が真っ赤になる。
143 :
nobodyさん :02/03/04 13:40 ID:oVEZs8i8
>>142 貴重な意見thanks
そういうシステムやってる人にこそ聞きたいだけど、
大規模なWEBアプリの開発では、どういう分業が理想的だと思う?
たぶんその規模の開発なら、
役にたってるかどうか別としてコード書かないプロジェクト管理屋がいたり、
DB屋も論理的なモデリングやる奴とパフォーマンス考える奴に分かれてたりするだろ。
WEB回りもこれから専門分野ごとに分化していくべきだと思うのだが、
(部品としてタグライブラリ作る奴とそれを美しく配置するデザイナーとか)
どこでどういう風に分離すべきか、もしアイディアがあったら聞かせてほしい。
>>143 # インフルエンザ発覚、乱文失礼
ロジックを組む人とデザイナの作業を明確に分けたいならタグライブラリが
最適だろうな (Java 限定の話ですまんけど、俺、他は C++ で CGI くらい
しかやったことないし)。まだオーサリングソフトだけでちょっと込み入った
繰り返しや条件分岐作れるほど技術が枯れていないと感じている (普段テキ
ストエディタしか使わないんで実際のところはよくしらんが)。
プロの Web デザイナがプロジェクトに参加するとしたら、やっぱり
HTML くらいかけなきゃ意味ないとおもう。そうじゃなきゃ「ただの
デザイナ」だよ。互換性や挙動の違いを良く知っている人がいい。
カスタムタグの一覧と使い方を渡して、後のデザインはデザイナに
任せるみたいな (本当は事前にお客さんが決めてんだけど)。そう
じゃないと、結局プログラマがデザイナの作ったページと同じ体裁に
なる HTML を1から組まなきゃいけなくなる。
機能的なタグライブラリがそろうと「横展開」というかなりおいしい
おまけがついてくる。中のロジックはまったく同じでデザインをガラリ
と買えればまるっきり新規開発したように見えるから。中小企業相手の
管理ソフトとかこっそりやってるところあるとおもうよ。
っていうか今日はもうだめっす。
前に、本当のデザイナ、HTMLもちょっとわかるデザイナ、 HTMLバリバリ書くしcgiもやるがデザインセンスなし男、 ただのJavaプログラマ、って構成でデザイナが紙で持ってくる(良くて Photoshopファイルとか)デザイン案を、必死にオーサリングツールに 乗せて、それをタグの整合性失われてないかチェックする、という かなり力技やってた。 思うに、中間に何も入らないってのはおそらく無理だ。 ツールにしろ人にしろ、なにかそこに挟まる。
146 :
nobodyさん :02/03/05 09:42 ID:YJM7TYzZ
>>145 たぶん新規開発だからまだ力技が通じたんだと思うよ。
(それでも相当苦労しただろうけど)
メンテナンスフェーズに入ってから、
馬鹿なデザイナーと一緒に仕事すること考えると鬱
でもそういう奴のデザインセンスは凄い。
色の使い方ひとつとっても全然違う。
ちょっと絵心のあるプログラマなんかじゃ、とてもたちうちできない。
馬鹿さかげんもたちうちできないけどな。
147 :
nobodyさん :02/03/05 13:16 ID:2x2AJfUn
うーむ。理想的な方法はまだ無いってことで、 現状では、デザイナーは最低限 HTML の構造ぐらい理解しとけ、 でよろしいかな? ところで、HTML 読めない Web デザイナーってどれぐらいいるんだろ? 都市伝説だと思いたい。 Strict な HTML じゃない!とかそういうのはまあ置いといて。
HTMLを書かないやつはいても 読めないやつはいないでしょ。
149 :
スズキ :02/03/08 11:44 ID:+mT8zTLZ
ほんとに「コンテンツとデザインの分離」がコンセプトならWeb製作板じゃないかなぁ? ここはどっちかっていうとデザインとロジックの分離のような。
152 :
スズキ :02/03/08 16:02 ID:CkkEnjQA
>>150 たしかに!そのとおりだよね。
「HTMLはHTML、プログラムはプログラムと完全に分離する方法はないものか。」
という部分を読んで、
てっきり、プログラム中にHTMLを書かないCGIに関して話すのかと
誤解してました。
>>151 Webページはもともと静的なものでは?
[M] → XML
[V] → XSLT+XSLTFo
[C] → ?? スクリプト?UA?
154 :
三級者 :02/03/10 22:07 ID:???
>>144 > 結局プログラマがデザイナの作ったページと同じ体裁に
> なる HTML を1から組まなきゃいけなくなる。
禿。PerlでもHTML::Templateなんてモジュールあるけど
デザイナがカスタムタグ理解してくれないと労力効率は何も変わらん。
155 :
nobodyさん :02/03/10 23:06 ID:sQ4r0PjT
結局、EnhdraやWalrusのように特殊なタグなしのテンプレートが正解ってことか。 Zopeも最新バージョンでは似たような方向に行くようだし。
[M] = Database [V] = HTML ( + JavaScript) [C] = Server Side Application
MVCとひとことで言っても、ControllerがViewのすみずみまで 知りつくしてるやつと、Viewがプラガブルなやつを較べると 相当に趣が違う。 C = App Server だけだとその違いを反映していない。 いかにApp鯖にhtmlの面倒を見させないか、というのを 話しているところにMVCの話を持ってきてもピントずれてる というか、それだけでは意味ないって。
158 :
1 :02/03/12 11:45 ID:kdCuXako
まだ残ってたのですね…
なんか混乱気味なので、スレを立てた者としてどういう意図で立てたスレなのかを
説明しておきます。(激しく今更ですが)
まず、何度か指摘があるようにロジックとHTMLの分離が正しいです。
とりあえず、コンテンツ = プログラムで吐き出す可変部 という意味で取って下さい。
MVC云々、アプリケーションサーバとは云々というほど規模の大きい話のつもりは
ありませんでした。そこまで話を広げるなら、プログラム板か情報システム板の方が
適切ですね。
せいぜい
「テンプレートっていうかそんな感じの仕組みでなんかイイのない?」
レベルの話です。
デザイナが書いたHTMLをプログラマレベルでがんがん弄っちゃうような環境と規模
(もしくはデザイナ=プログラマ)で、できればオーサリングソフトと相性がいい仕組み
だと便利だよねえ。程度の話のつもりでした。
以上参考までに。
あ、私はSmartyに落ち着きました。Enhydraと格闘してたのは遠い昔…なんであんな苦労を…
しつこいですが、PHP使ってる人「Smarty」イイですよ。相変わらず日本語の情報は
皆無ですが、テンプレートとしての使いやすさはバツグンです。
http://www.phpinsider.com/php/code/Smarty/
159 :
三級者 :02/03/13 09:01 ID:???
154でわかるように、うちはHTML::Template使ってます。 あ、デザイナが理解できないちゅーよりオレの説明が下手なのか。 関係ないがデザイナ連中からColdFusion導入しろ、 とうるさくてかなわん。
ColdFusionしばらく使ってた。 簡単にサイト作るには、CFMLは確かに便利。 しか〜し。 きちんと拡張性も考慮して設計したにも関わらず、後の仕様変更と拡張時に、 デザイナ連中とのコラボレートで地獄を見たよ。 CFに限らず、JSPやASP、PHPなんかでも同じだと思うんだけどね。 デザイナが絡まず、サイトの大幅な仕様変更もなきゃ、いいツールだ。
161 :
nobodyさん :02/03/13 23:23 ID:LkTLC//k
HTML::Templateおもしろいね。 でも、標準的にどこでも手に入る環境じゃないのが辛いなぁ。
HTML::Template はプログラマにとっては便利だけど、 デザイナは読みたくもないだろうと思うよ。
163 :
nobodyさん :02/03/14 01:23 ID:Jx+3VC0E
HTML::Templateは、たしかにどこでもインストールされてい るわけではないけど、展開して置いておけば(つまり make とか しなくても使えるよ。) 最近のヤツはいろいろ他のモジュールを必要とするので、1.8とか をいれるとよいでしょう。 基本的なことは、1.8でもできるし。
164 :
nobodyさん :02/03/14 07:46 ID:nAmAc5Wh
コールドフュージョンはデザイナがコーディングするためのものです・・・。
>>164 どこの会社?社名出してよ。
もし契約してるとこなら、打ち切らなきゃ。
デザイナにコーディングさせたオナニーシステムなんて、使い物にならん。
166 :
nobodyさん :02/03/14 15:46 ID:xs367yVo
167 :
nobodyさん :02/03/14 23:19 ID:6NMo0mqW
168 :
nobodyさん :02/03/14 23:33 ID:83vwJ138
169 :
nobodyさん :02/03/15 01:50 ID:sSRdthig
レンタル・サーバだから、そういうの使えない… Smarty も HTML::templateもよさそうだけど。 何か言い方法ありますかね?
ホームにインストールしる
171 :
nobodyさん :02/03/15 02:20 ID:sSRdthig
>>170 あ、それでできるんですか?
Smartyも?
172 :
nobodyさん :02/03/19 22:42 ID:BqZatu5x
>>158 PHPのsafe modeを有効にしながらSmarty使う方法はありませんか?
Smartyはtemplates_c/以下にコンパイル後のファイルを置く訳ですけど、
この際に作られるディレクトリが複数階層にわたるみたいで、
これらがsafe modeの制限に引っかかってしまいます。
174 :
1 :02/03/26 11:05 ID:mzbnXmq6
175 :
173 :02/03/26 16:39 ID:???
>>174 情報thanx
やはり、解決策としては、
1.Smartyを利用するスクリプトの所有者をhttpdプロセスのUIDに合わせる
2.Smartyを利用するスクリプトがある領域だけsafe modeをOffにする。
3.CGIとして利用して、Apacheのsuexecを利用する。
しか無いみたいですね。
で、不特定多数の利用者が自由にSmartyを利用できるようにするためには、
CGIとしてPHPを動かすしか無い、と。
176 :
nobodyさん :02/03/26 22:34 ID:0DHHOlhe
177 :
nobodyさん :02/03/27 13:10 ID:xBtxtmDD
>>176 見てみたけど、多言語対応してるみたいだし、テンプレート・エンジンもあるね。
なかなかよさげだけど、誰か使ってないの?
>> 149 興味があり見に行きましたが、まさか Java script が必須とは (汗 いえ、只の愚痴です。すいません。
Smartyの英語マニュアル全部読んだのですが、 既存のHTMLファイルを取り込む方法がいまいちわからないです。
180 :
nobodyさん :02/04/01 04:24 ID:Hzf2fsPp
HTML::Templateってデザインとロジックの分離ができてないよね。 ループとか分岐の指定をする専用タグがある時点でアウトでしょ。
それにしてもHTML::Templateはかなり使えると思う
>>181 うん、いい感じですね。
コンテンツ大きいとオーバーヘッドがきつそうだけど、アクセスがそんなに
負荷になっていないサーバだと、大丈夫なのかな?
とにかく、面白そうなものを教えて下さって、ありがとう>All
HTML::Templateってcgiでしょ? うちは、/cgi-bin/以下に置かなきゃいけないから、いやん。
Smartyだけど、青マンモス本にリファレンス載ってるみたい。 誰か買った人います? どんな感じか教えてほしいのだけど。 会社の帰りにでも、探してみるかなぁ・・・。
185 :
1 :02/04/01 14:08 ID:ALawDKoI
>>179 取り込むというと…?
{include file='includefile'}
みたいなことは出来ますけど、たぶん違いますよね。
>>184 マンモス本ってなんですか?? オライリー?
186 :
nobodyさん :02/04/01 16:33 ID:SClNMZpg
>>185 お返事ありがとうございます。
ただ、現在のページをheder,left,bottomに分けて、そこをテンプレートにして管理したいだけなんですけど
Smartyだとやり方がよくわからなくて…。
187 :
1 :02/04/01 17:11 ID:ALawDKoI
>>186 別のファイルが差し込めればいいんですよね。
---- header.html ----
<h1>へっだー</h1>
---------------------
というヘッダー部があるとして、本文のテンプレート(例えばbody.html)に
---- body.html ----
<html>
〜 省略 〜
<body>
{include file='header.html'}
〜 本文 〜
</body>
</html>
-------------------
とすることで、body.htmlにheader.htmlが差し込まれた形で処理されます。
188 :
nobodyさん :02/04/01 18:34 ID:eCkZiEpB
青マンモス本でSmartyがどんなふうに取り上げられてるの?(近くで売ってないので) Smartyのマニュアル和訳とかしてwebにあげようと思ってたんだけどなー(´д`;)7割はオワッタ
190 :
nobodyさん :02/04/01 19:41 ID:jOov+muS
>>187 お返事ありがとうございます。
index.tplにheader.html等組み込むのはいいのですが、コンテンツを
各webページごとに入れ込む場合、テンプレートの方でなく、index.phpなどの方に入れ込むと思うのですが、その入れ込み方がマニュアルを見ても乗ってないというか、わからないというか...
例えば、index.phpのコンテンツ部分をindex.txtから取り込むには、ファイルを読んで、それを$contentsに入れ込んで、$smartyに渡すということをすればいいのでしょうか?...自分でもよくわからないです...
>>188 すごいですね。upしたら教えて下さい。
というか、途中でも、upすれば、リバイズとか助けられると思いますよ。
>>190 話はずれるけど、DBからデータを取ってくるのとCVSなtextファイルからデータ取ってくるのどっちの
方が早いのかね?
194 :
1 :02/04/02 09:55 ID:IYI5YDp3
>>190 うーん、それはSmartyというよりPHPでゴリゴリ書くしかないですね。
---- main.html ----
<html>
<body>
{$contents}
</body>
</html>
-------------------
というテンプレートに
---- index.php ----
require("Smarty.class.php");
$smarty = new Smarty;
$fp = fopen("index.txt","r");
$smarty->assign("contents", fread($fp, filesize("index.txt"));
fclose ($fp);
$smarty->display("main.html");
-------------------
こんなかんじなのかな?
すいません、
>>190 さんの言いたいことがよくわかってないかもです。
>>188 ぜひUPして下さい。日本語のSmartyサイトが1件も検索に引っ掛かってこない現状
は寂しいです。
195 :
__ :02/04/02 10:01 ID:hdBuJcW1
.NETつかえば?
196 :
nobodyさん :02/04/02 10:11 ID:6uavVYCo
>>194 わざわざコードまでありがとうございます。
これを参考に自分で書いてみます。
Smartyは、もうちょっとwebサイトに色々情報が欲しいなぁ〜と思いました。
MLの過去ログを見ても、やっぱりサンプルが足りないと言う人や、Smartyを使っているサイトを
教えてという人や、themeを作ろうなんて人もいました。
色々プラグインなんかもシェアできたら、便利そうですよね?
現在新しいサイトをオープンしているようですね。
http://smarty.php.net/ 日本のサイトを作ったらまずいのかな?
>196 別にまずいってことは無いのでは? 個人のそう言う動きを制約するものは無いはず。
198 :
◆AngelBlk :02/04/02 12:55 ID:QT5eEfAO
昼休みに青マンモス買ってきました。 Smartyは完全にリファレンスだけ(公開メソッドとか関数の一覧) なんで、>188さんがマニュアル作ってくれたなら是非ともアップしてほしい。
って連続かきこスマソ。 青マンモス本ですが Part-1 Chapter-5 Templates ってのがSmartyの事でした。 でも、本を買えない人もいるし やっぱ>188さんには公開してほしいですね。
私も青マンモス本買って来ました。
マニュアルには書いていないことが書いてありわかりやすくて良さそうです。
#まだちゃんと読んでいない。
が、マニュアルのように詳しくないので、どちらも必要と思われます。
>>188 さん、私もきぼーんです。
201 :
188 :02/04/02 23:11 ID:R/mGCLUs
>>190 こういう感じの事かなぁ、と憶測で。
例えば、左側にメニューがあって右側その内容が表示されるサイトの場合ですが、
まず全体のテンプレートを用意しておいて、
<!--body.tpl-->
{include file="header.tpl"}
<table>
<tr><td>
{include file="$left"}
</td><td>
{include file="$right"}
</td></tr>
</table>
{include file="footer.tpl"}
202 :
188 :02/04/02 23:12 ID:R/mGCLUs
続き。 PHPスクリプトからは、 // index.php $smarty->assign("left","menu.tpl"); $smarty->assign("right","welcome.tpl"); $smarty->display("body.tpl","welcome"); として最初のwelcomeページを表示し、 次にメニューをクリック、そのリンク先がnews.phpだった場合 // news.php $smarty->assign("left","menu.tpl"); $smarty->assign("right","news.tpl"); $smarty->display("body.tpl","news"); というような事が出来ます。 Smartyのキャッシュを有効にしてると、同じテンプレート(body.tpl)からは キャッシュファイルは1つしか生成されないので、news.phpに行っても 最初に表示されたwelcomeページがまた表示されてしまうんですが、 displayメソッドの第2引数に各ページでユニークなキャッシュIDを渡す事でそれを防げます。 えーと、マニュアルは、もともと公開する目的で作ってたんで。 もうちょっとしたら公開できると思います。
203 :
nobodyさん :02/04/02 23:22 ID:6uavVYCo
>>201 >>202 すごい!こんなことができるんですね。ありがとうございます。
この方法だと、ファイルオープンの処理をしなくてもOKですねぇ。
ちょっと、コーディングして試してみます!
マニュアル公開、嬉しいです。
#ちなみに、翻訳ソフトに通してから、修正ですか?一つ一つ翻訳ですか?
204 :
nobodyさん :02/04/03 03:36 ID:w0fKgoFn
>>202 さんの通りにやったらできましたー。感謝、感謝。
すごいなsmartyって。
205 :
1 :02/04/03 08:25 ID:n4eJMQ5/
>>201 = 188
うは、そんな使い方出来るんですね!
と思ってよくマニュアル見たらしっかり書いてありましたね。
>>196 さんゴメソ。
そろそろスレ違いな感もなきにしもあらずなのでSmartyでスレッド立てようと
思いますがいかがでしょう?
>>205 べつにいいんじゃない?ネタ引っ張っていけるんだったら立てても。
208 :
nobodyさん :02/04/03 15:50 ID:w0fKgoFn
>>205 こういう使い方マニュアルに書いてありました?
4回位読んだのになぁ。でも、1さんいろいろありがとう。
CSVなテキストからデータを読むには
>>194 なやり方が必要と思われるので。
スレ立て賛成です。
Smarty使いが増えるかも。
Smarty使いって、スマーターって言うのかな?
あー、いやらしい。
Smartyの話題がでてるけど、、、
漏れも1年ちょい前から同じようなコンセプトで
PHP用のテンプレートクラスを作っています。
Smartyとの共通点は、いったんテンプレートファイルを
PHPスクリプトに変換することです。
Smartyとの違いはHTML側に書く特殊タグの種類を4種類に
限定することによって、デザイナーでもテンプレートを
書けるということです。
最近いろんなかたの助言によってとても安定&高速になってきました。
http://hoover.ktplan.ne.jp/kaihatsu/php/index.php
>>209 かなり良さそうです。特にドキュメントビルダーのあたり。
Smartyとのスピード比較きぼーん。
>>210 現在、ベンチマーク比較のページを執筆中ですが、
単純なHello world 程度の小規模のサンプルで実験した場合、
僕のほうがSmartyの約3倍速いです。
(機能は僕のクラスのほうがシンプルなのですが。)
また、かの有名なFast Templateよりも1.5倍ぐらい速いです。
ベンチマークのページを書き終えたら、また直リンします。
>>211 返事はやいですね。ベンチすごいですね。大規模はどなんでしょ?
シンプルでとっつきやすいですし、なにより日本語なのがうれしいですね。
大規模なテストは、それぞれのテンプレートをバリバリ 使いこなしている人に最適化されたスクリプトを書いてもらわないと テストの意味がないので、僕独りでは難しいです。 ただし、僕の作ったクラスにもSmartyのようにテンプレートを パースした結果をファイルに保存して2回目以降はパースしないで 済むオプション機能を実装しています。 ので、その機能を使えば大きなテンプレートでも問題なく使える とは思います。
>>213 大規模の比較は、一人では難しいとのことですが、開発はどのように行っているのですか?
webページを見ましたが、開発への参加募集はしていますか?
独自MLもないように見えます。PHP-users-MLベースで開発しているのでしょうか?
コーディングは現在僕独り。その他、パッチを変えてくれる人もいますl また、罫線案をメールや掲示板でいただきます。 みなさまの協力の上に原始的な手法でかいはつをすすめているところです。
216 :
nobodyさん :02/04/07 22:27 ID:hI7aRZHK
デザインはFLASHで、テキストはアクションスクリプト、CGI、PHPでという分け方もありだと思いますが、どうでしょうか? 利用されている頻度は少ないですが。
217 :
nobodyさん :02/04/08 02:53 ID:jy9kIRbx
新しいFlash、悪くないと思うが。 今度クライアントに提案するシステム(イントラだが)は、 インターフェイスを、全面的にFlashで行こうかと。
>>218 ベンチマーク・テストありがとうございます!
すごいですね、これ。僕もsmartyでサイト作っているところなんで、HTMLテンプレート版も
作ってベンチマークしてみよっかなぁ。
221 :
nobodyさん :02/04/08 04:50 ID:a4RoISwK
PHPってHTMLに直接コードを書けるのが売りなのに(売りとは思わんが)、 わざわざ言語使用に反して分ける時点でもう破綻しちゃってるよNE!
PHPは手段であって目的ではないのだから別に破綻していることにはならんでしょう。
言語仕様を使い切らないと無意味と考えるのは痛いな。
確かに、初期段階では221が言ってるように HTMLにコードかけるってことが売りだったかもしれないけど 今となってはそれもどうでもいいような気が。 実際自分がコーディングしてて思うけど やっぱりデザイン部分はわかれていたほうがやりやすいし。 まあ、適材適所。 当たり前のことだけど、使い分け出来ないやつは氏ってことで。
225 :
nobodyさん :02/04/08 13:27 ID:+OQca7Zg
>>218 うーん、今のご時世で速さを売りしても余り意味がないような気が…
どのみち機能が増えてエンジン自体が肥大していけば重くなるのは避けられないから
開発途上の今の状態でどれだけ速くても「うん、まあ当然だよね」としか言えない。
そもそもサーバサイドの処理が重くて悩むのって、PHP使ってる向きには少ないと思う。
それよかコードの記述性と可読性が他のテンプレートエンジンと比べてどう優れてるのか
教えて欲しい。
サイトをざっと見た限りでは、Smartyのサブセットの域を出てないように思う。
>>220 ごめんなさい、いま直しました。
文法のほうについては責任をもてません。MS WORDで単語チェックした
だけです。
>>225 テンプレートの書きやすさが自分のものの特徴と思います。
プログラミングを知らないデザイナーにも5分程度で教える
ことができます。
227 :
nobodyさん :02/04/09 07:16 ID:GMnXZpQb
age
Smartyもそうなんだが、サンプルがないから、とっつきづらい。 実際の運用サイトの雛型とか、携帯での運用の場合のサンプルとかあると とてもうれし。
231 :
188 :02/04/09 12:51 ID:???
PHPばかりでつまらんのう、そろそろスレの本題に戻してホスィ
つか、
>>228 のあからさまな宣伝が鼻につく。宣伝したけりゃ自分でスレ立てれ。
233 :
188 :02/04/09 13:57 ID:???
>>232 そーいえばここ、PHPスレじゃなかったですね。
やはりそろそろ、「デザインとロジックの分離 with PHP」みたいな
別スレ作って移動しますか?
あ、テンプレートって文字を入れたほうがいいのかも。
どうしましょうか、新スレのタイトル案。
>>233 テンプレートエンジン(PHP)とか?
話題自体smartyかHTMLテンプレートしかでないから、「smarty と HTMLテンプレート」とか。
デザインとロジックの分離自体あまりしてないような感じだし。
>>232 宣伝でもよいと思われ。それで稼ごうとかでなければ、むしろ歓迎。
236 :
nobodyさん :02/04/12 12:01 ID:wN+/eHS+
PHP以外で興味がある人が少ないってだけじゃないの?
文句しか言わないでネタ振りもしない
>>232 に萎え。
細分化して単発スレばかりになるのもどうかと思うけどな 腐るほどPHP関連のスレあるわけだし
>237 っていうか、この板相変わらず 人少なそうだしね・・・。
じゃ、とりあえず、このスレで、テンプレート関係の話をしますか。 「コンテンツとデザインの分離」関係の話は出尽くした感があるし。
>>231 thanx.
見てみました。さらっと見ましたが、色々なコードがありましたねぇ。
ちょっとどうなってるか、よくわからんので、じっくり見てみます。
結局、PHPはちょっとしたことには便利なんだけどさ、大規模向きだとツライ。 Perlよりはマシにしろ、メンテしづらいし。
>>241 そんな時のテンプレ・エンジンじゃないの?
>241 具体的にどのあたりが?
smarty 2.1 age
やっと{myfunc}...{/myfunc}みたいなカスタムタグが定義できるようになって プラグインの幅が広がった感じ。 つーか、2.1.0に対応したほんにゃくマニュアル完成ヽ(´ー`)ノ 近日サイトage。(予定)
248 :
narucy56 ◆wMOjCT4s :02/05/04 11:08 ID:vTPrP0BI
249 :
nobodyさん :02/05/04 15:27 ID:d0uaPpR2
>>248 それだけ貼られてもよくわからん
どこがどういいのよ
>>248 ロクにリファレンスも揃ってないのに『どう』いいんだ?
他スレでもあんたのカキコみるけど、名無しに戻ってほしいコテハンに+1
>>248 Ruby使えるサーバってあんまりないと思うんだけど、どうなの?
252 :
nobodyさん :02/05/05 22:19 ID:ITpza3EM
253 :
nobodyさん :02/05/06 04:38 ID:G0jBHwom
PHPに対するPHPテンプレートの優位性って何? いくつか見てみたけど、 PHPだけでいいような気がしてならない というより、PHPよりテンプレート用言語(笑)を覚える手間が 増えてるだけのような
>253 デザインの変更に対する対応が容易になる。 仕事で明日までにデザイン変えてとか言われると 普通にPHPコード埋め込んでやってると死ぬよ・・・。
SmartyでPHP-nukeのthemesを使えねーかと思ったことあるんだけど、できるかな? クリック一つでデザインを変られる…みたいな。
256 :
253 :02/05/10 11:37 ID:49KcfInZ
>>254 PHPでもあらかじめ注意して分けてれば、対応できるんじゃない?
functionとかincludeとかprependとか使えば。
強制的に分離させる(HTML中にはあまり難しいコードはかけない)ってところが
みそなのか?
PHPってもともとHTMLをちょっとだけ変える、とかに向いてるし
Smarty とかは[PHPもどき]にしか思えないんだけど
<?=$hoge ?> が {$hoge} になってるだけ、とおもえた。
HTMLタグの記号じゃないところがみそなのか?
結局 DreamWeaverとかで「プログラム素人にわかりやすく」編集できるようになってないと
分離してもあんまり意味ない気がする(というかプログラマの負担が大きすぎ)
>256 >結局 DreamWeaverとかで「プログラム素人にわかりやすく」編集できるようになってないと >分離してもあんまり意味ない気がする(というかプログラマの負担が大きすぎ) 激しく同意。 確かに、Smartyは少し方向性が違うな、と思った。 (少なくとも自分が求めているものとは、かな) 自分一人で作るにしても、テンプレートの方には 出来るだけコードっぽいもの書きたくない・・・。
Smartyのテンプレート言語って単純じゃないですか? プラグインによって+αの機能を多く実装してますが、 プログラム的なものは分岐式とループぐらいだと思います。 (これは他のテンプレートエンジンもそうですが) ロジックが露出してしまいそうな部分は、カスタムタグを提供する事で 対処する事ができます。 #テンプレートに渡された連想配列からツリー形式のメニューを #動的に生成しようとするとテンプレート側で分岐やループを駆使する事になるので、 #これを何とかするタグが作れないか考案中。
259 :
nobodyさん :02/05/10 21:51 ID:/cNgrcGu
>>253 PHPってもともとそういうものだからな。
>>259 なのにそのPHPでテンプレートを開発している奴らの目標は何かと問いつめたい
ただ、{?php xxxx ?}みたいなタグじゃない形で PHP が実行できると
便利な場合もあるなと思った
>>260 やっぱり、いかにプログラマとデザイナーの作業に分けるかでしょ。
じゃあ、PHPがHTML埋め込み型言語である理由って何?とか言われると
すごい小さいアプリなら、てっとり早くでっちあげるのには便利かなー、って
くらいしか思いつかない。
個人的には、PHPはHTML埋め込み"可能"言語であって、
スクリプト内にHTMLを埋め込もうと思えば、あくまでも"可能"であるって
ぐらいの認識かなぁ。
自分がずっとSmartyを推してる理由は、変数置換や繰り返し以外にも、
プラグイン追加による機能拡張や、テンプレートの出力を一部キャッシュして
パフォーマンスを上げたりする事が可能だから。
静的コンテンツを動的に生成したい時とか本当に便利。
Smartyとかの情報ってどこから仕入れてくるの? みんな何でSmaryの存在を知ることができたの? どこかにテンプレートエンジンのリンク集があるのかな。
264 :
narucy56 ◆wMOjCT4s :02/05/12 11:17 ID:215DjCeq
ロジックとデザインの分離で、面白いアプローチとしては、
Walrus
http://210.155.146.159/walrus/demo/ 拡張タグも何も要らない、普通に書いたHTMLを (属性名 id を利用して)
ロジックから出力された文字列を展開して、表示してしまおうというアイデア。
利点としては、HTML に全くロジックが絡まないので、デザインしやすいという
ことだろうか。
とはいえ、デザイン中に書ける繰り返し要素は、一回だけ。
--
<ul>
<li id=list>さかな</li>
</ul>
def list
[ "たこ", "いか", "めんたいこ" ]
end
<ul>
<li>たこ
<li>いか
<li>めんたいこ
</ul>
---
<li>が一回しか書けないのは欠点だなと思った。
>>261 PHPを使ったテンプレート
http://hoge.com/test.php とかの場合
test.phpの内容
<?
$title = "test";
include("template.php");
?>
template.php の内容
<HTML>
<HEAD><TITLE><?=$title ?></TITLE></HEAD>
<BODY><H1><?=$title ?></H1></BODY>
</HTML>
smarty とかよりこんなのじゃだめなの?
>>265 条件分岐や繰り返しのある表現をしようと思うとムリがありますよね。
全てのテンプレートエンジンがそうなのかは分かりませんが、少なくとも
Smartyが提供するものは
"PHPスクリプト内にHTMLタグを書かなくて済むような仕組み"
なわけで、デザイナーとプログラマの作業分担云々へのメリットは副次的な
効果だと思う次第です。
PHPスクリプトの可読性を上げ、より保守しやすい環境を目指した仕組みな
わけで、誤解を恐れず言えば、プログラマーが楽をするためのフレームワーク
であると言っても過言ではないと思います。
>>266 Smartyはデザイナとプログラマの分業を重要な目的の一つとして
制作されたので、副次的に生まれた効果ではないです。
あと、PHPスクリプトにHTMLが混入するテンプレートエンジンなんて
存在し得ないと思うんですが。揚げられたものは全て
テンプレートエンジンが最低限実装すべきもののような気がします。
DB連携がスマートにできるやつがいいね。 商用だけど、WebObjectsのフレームワークは、目から鱗。
>>266 >条件分岐や繰り返しのある表現をしようと思うとムリがありますよね。
いや、PHPそのままかけるんだから
for() でも while() でも書けばいいんでないの?
smarty タグとかでも同じ事をやる訳じゃないの?
template.php 内で include してもいいし、関数を呼んでもいい。
template.php 内には
<table>
<? foreach($osakana as $syurui=>$nedan ){ ?>
<tr><th><?=$syurui ?></th><td><?=$nedan ?></td></tr>
<? } ?>
</table>
みたいな感じだけで
smarty だって selectionタグってな foreach のまがい物みたいなの使うんでしょ?
smarty のプラグインで何かおもしろい機能があるのか?
>>266 じゃないが、Smartyはかなりプログラマよりの仕様になっていることは確か
自分たちの必要に迫られて作った→いろいろ揉まれて良い物ができた→公開した
という流れらしいしね
>>267 PHPを対象としたものでなければ存在するんだな、これが
仮にPHPに対象を絞ったとしても、存在し得ないだのすべきものだの
断定的な事がよく言えたもんだ
>>268 裏でどんなSQL投げてるか想像すると吐き気がしないか?
>>269 そんな方法を採らなければいけないことが無理があるって事だと思うが…
いびつだと思わないか?もう一度
>>1 を読んでみろ
http://www.phpinsider.com/php/code/Smarty/docs/preface.html とりあえずこの辺読んだ方が早い。
読んでも理解できなければテンプレートエンジンのことは忘れろ
お互いのためだ
だいたい200を超えたスレでいまさら
> いや、PHPそのままかけるんだから
こういうアホなことを言うな
>>271 >裏でどんなSQL投げてるか想像すると吐き気がしないか?
全部モニタリングできるし、必要に応じてカスタマイズもできるよ。
10年以上の実績あるから、信用できる。
そのへんのプログラマにSQL書かせるほうが遙かに吐き気がしないか?
>>272 詳しくしらんが、NeXT時代から数えても10年以上はいいすぎだろ
吐き気を催すようなSQLしか書けないプログラマにサーバサイドアプリ
書かせるなんざ論外
>>271 混入してしまった時点でその部分のコードは相手方の
手から離れてしまっているので分担とは言えないような。
Javaですか?そのエンジンが持つ、専用のスクリプトの事じゃないですよね。
そのテンプレートエンジンを教えていただけますか?
>>274 わざわざ機能不足な物を知ってどうする?
なにかメリットあるのか?
最新Verでどうなってるかまで知らないし、そこまでわざわざ調べるつもりもない
興味本位なら自分で探せ
そもそも俺が言いたいのは、自分が見たことがない = 存在しない などという傲慢な
考え方はするなって事だ
>>275 それは機能不足だと思うんですか?
明らかに分析が間違っているのに公開されてるような
イレギュラーなフレームワークを話題に持ち出すのは
どうなんでしょうね。
あと、最後のように間違って解釈される方がいないように
"し得ない"という表現を用いています。伝わらなかったようですが。
>吐き気を催すようなSQLしか書けないプログラマにサーバサイドアプリ >書かせるなんざ論外 いい開発者+いいフレームワーク=(゚д゚)ウマー
>>276 誰が話題に持ち出してるんだ?
分析云々偉そうなこと言いなさんな、初期のテンプレートエンジンなんざ
全部文字列置換に毛が生えた代物だらけだったからな
まあ、その程度でも十二分に便利な奴もいるし、現在メインで使ってる奴もいる
(間違いなくいる、しかもかなりな数で)所詮は適材適所ってこった
ともかく自分の常識から外れたら全てイレギュラーとは恐れ入った
何に対してもずいぶん自信がおありと見える
微妙にスレ違いだから、お前にはここまで
>>278 >PHPを対象としたものでなければ存在するんだな
あなたが、私がそんなものは存在しないと断定したと勘違いし
テンプレートエンジンの存在を持ち出してきていますね。
変数置換しか出来ない云々、そういう話でしたか?
スクリプト内にHTMLが混入するという話ですね。
それこそ、”誰が話題に持ち出してるんだ?”のような・・・。
#文字列置換はテンプレートファイルに書かれたタグを
#置換するもの。しっかり分担されてますね。
>ともかく自分の常識から外れたら全てイレギュラーとは恐れ入った
あなたが機能不足と判断したのであって、私の常識で言っているのではないですね。
その在り処を知らない、その実装理由も知らない、
ただそうなっていたのを見たことがある、だけでは何の力もありませんよ。
さらに私のイレギュラーの定義ですが、勝手に思い込みすぎですよ。
そんな事いってないですね。
#私が知りたいのは機能よりも、何故そうしたかという理由です。
#もし正当な理由なく、なんとなくそうなったのであれば
#それは一般に公開されるようなフレームワークと呼ぶものではないですね。
おーまーえーらーちょっと頭冷やしてこい。 で、冷静になってから書き込め。 ただでさえ人少ない板なのに、 これ以上人減らしてどうするよ・・・。
>>280 ( しまった、デムパだったか…
読心術でも使え、と言わんばかりの言葉の(頭もか)足りなさ
ま、何もかもが子供の口喧嘩レベルの後付けなんだろうけどさ
>私が知りたいのは機能よりも、何故そうしたかという理由です。
>>276 から↑を推測できる人間がいるのか?
だいたい本当に知りたければ、もっと早い段階でこの言葉がでてくるはず
そもそも大元の「存在し得ない」と「存在しない」じゃ、前者の方が否定の
意味は強いし、より断定的。
>明らかに分析が間違っているのに公開されてるような
これもそう。こういう物の考え方が、根っから染みついてて自覚できない
レベルになってるんだな、きっと
相手が勘違いした。じゃなくて、相手に勘違いさせてしまった。もしくは
自分が間違っているのかもしれない。とは考えられないものかねえ
スレ違いスマソ、もうやめる
>>271 うーん、smarty で
>>269 みたいなの書く場合は
template.tpl 内には
<table>
<!-- {section name=value loop=$osakana } -->
<tr><th>{$namae[value] }</th><td>{$nedan[value] }</td></tr>
<!-- {/section} -->
</table>
こんなかんじじゃない。php直で書くのとあんまり変わらん気がするが。
テンプレートにループとか取り込んで細かく制御しようとすると、
phpプログラマ、HTMLデザイナの他にテンプレートプログラマが必要になるだけで
デザイン変更があった場合に動く人間の数は HTMLデザイナ+テンプレートプログラマで減ってないし
テンプレートプログラマとHTMLデザイナが兼任できれば「コンテンツ(を作る人)とデザイン(を作る人)の分離」
という目的は達成されてるんだが、こんな実装の仕方では、結局PHPプログラマがテンプレートプログラマを兼任するしかなく
そうなるとPHPプログラマの負担が増えている(テンプレート言語を覚えないといけない)だけで、
本末転倒の気がしたから、200超えてからこんな話をしてます
284 :
nobodyさん :02/05/14 14:05 ID:SWWQgFa+
最初の画面はどう作ってもたいした違いはない。 問題は保守の時。 具体的に言うと (1) デザイナーが画面イメージのHTMLを作成 (2) プログラマが(1)を表示するコードを書く (3) クライアントに見せる、文句言う (4) デザイナーが(1)を修正してプログラマに見せて、 この通りに直せゴルア! (5) プログラマはどうする? これがこのスレのテーマだと思う ○ コンテンツとデザインの分離ができてない つまり、perlのようにコードの中に(1)のHTMLが分解して埋め込んであるような状態だと、 (2)のコードを修正して(5)のコードにするのが大変 つまり(5)の作業に(2)と同じ工数がかかる ○ コンテンツとデザインの分離ができている Smartyのようなツールを使うと、(1)の成果物(テンプレート)と (2)の成果物(ロジックのみのプログラム)がソース単位で分解されている (2)に手を加えることなく(1)と(4)を入れ替えるだけで作業完了(実質的には工数ゼロ) 「ロジックの修正がなくデザイン面の修正だけする場合にどれだけ楽できるか?」 という評価基準で各ツールのよしあしを評価していけばいいんじゃないの?
>>282 推測できないだの、言葉が違うだのと言い出しましたか。
肝心なところは無視してるし、もう建設的な発言が出来ない方なのかな?
>
>>276 から↑を推測できる人間がいるのか?
> だいたい本当に知りたければ、もっと早い段階でこの言葉がでてくるはず
んじゃちょっと、あなたの登場シーンに戻ってみましょうか。
> PHPを対象としたものでなければ存在するんだな、これが
あなたは単にテンプレートエンジンの存在を示しただけですね。
私が実装理由を知りたいという事を早く明かさなかったから
じぶんは勘違いした、とでも言いたげなようですが・・・
もっと早く言ったとして、あなたのこの発言の何が変わったのかなぁ?
単に連続して煽りたかっただけでしょ。後はこのまま消えるなり、
ROMするなり、自由にしてくれてたら別にいいですよ:)
#大人なら、”ここまで”とか、”もうやめる”とかいいながら
#ずるずるレスするのはやめましょうねー。お互いにね;)
> そもそも大元の「存在し得ない」と「存在しない」じゃ、前者の方が否定の
> 意味は強いし、より断定的。
どこで、いつ日本語を覚えたのか知りませんが・・・。
勝手な解釈ですね。どちらがより・・・なんて比較する事自体が
無理って事は、普通、分かりますよね?
それとも、分からないの?
> 相手が勘違いした。じゃなくて、相手に勘違いさせてしまった。もしくは
> 自分が間違っているのかもしれない。とは考えられないものかねえ
>>279 ;)
あと、心配しなくても、このスレの端の人からしてみれば
お互いその”デムパ”というものに十分括られていると思いますよ;)
あー、あと、最後に些細なちゃちゃ入れ。
> 詳しくしらんが、NeXT時代から数えても10年以上はいいすぎだろ
詳しく知らないなら、間違った事をわざわざ言う必要ないですよ。
私もヲカーですが、EOFは10年以上の枯れた技術です。
>>285 最後にレスした方の勝ち合戦ですか?
あなたの方がだんだん言うことが矛盾してきてますよ。
悪いけど出てって、そして2度と来ないで。
すごく邪魔。
>>284 >これがこのスレのテーマだと思う
確かにその通りだと思うです。
(3)=>(4) のあと、 (5)の際にデザイナーが
(1)のHTMLを修正するか、(3)のphp/tpl を修正するか
デザイナが (5)時に プログラマが作った(3)のphp/tplを
問題なく修正できるようになってれば解決するわけで
で、じゃあ smarty は ”php 以上に”それができているか?
という視点で見ると、そうでもないように見えて仕方がない
ということを「phpでできるよ派」は言っている
288 :
nobodyさん :02/05/15 15:21 ID:JcpmR/QY
>>284 そういう状況を考えるとWalrusのようにテンプレートがピュアHTMLで独自タグを
使ってないのが便利そうだな。
> (1) デザイナーが画面イメージのHTMLを作成
> (2) プログラマが(1)を表示するコードを書く
ここでは、(1)にid属性を加えればテンプレート完成
そして、そのテンプレートをデザイナーに渡しておけば
> (3) クライアントに見せる、文句言う
> (4) デザイナーが(1)を修正してプログラマに見せて、
> この通りに直せゴルア!
基本的には、ここで修正した画面イメージはそのままテンプレートになってるはず
だから
> (5) プログラマはどうする?
何もしないで「もうできるぞゴルア!」 ということになる‥はず‥だが‥ソンナニウマクイクノカネ?
>>288 その分自由度が損なわれるだろうな おそらく
micromedia の ULTRADEVELOPER 4 ってどうよ?
>>288 最後の問題は DreamWeaver や GoLive などのデザイナの使うツールと
デザイナの意識だなあ
> (3) クライアントに見せる、文句言う
ここで「(プログラムが絡んでる)テーブルの色かえろや!」という文句が来た場合、
Walrusだとid (エデイタにはただの属性値にしか見えない)だけ残して色を変えてくれるか? id がとれた、変わったときに警告してくれるか?
smartyとかphpだと、smatyタグやphp(エデイタからはコメントに見える)が、とれたとき、間違った位置に来たときに警告してくれるか?
デザイナが
編集→ローカルでぷれびゅ→OK
→でもプログラム部分が壊れてるかもしれないのでプログラマがチェック→結局プログラム組み込み部分組み直したりとか(;´д⊂)
という流れが
編集→デザイナがアプリケーションサーバを通してぷれびゅ
→誤作動発見
→何で壊れてるかわかるので自分で修正→プログラマは何もしない(゚д゚)ウマー
→何で壊れてるのかわからないのでプログラマに(゚Д゚)ゴルァ!!
→これくらい覚えろや(゚Д゚)ゴルァ!!→デザイナが覚えて直す
→うまく動いた→プログラマは何もしない(゚д゚)ウマー
となる機能と、デザイナにちょっとくらいは覚える気力が備わっていると、まだましかも
あと、テンプレートの編集が他のページにも影響する、と言うことを理解して
デザイナがデザインしてくれるか? とか
DreamWeaver超デブならアプリケーションサーバでプレビュが簡単にできるのかな?
>>291 > Walrusだとid (エデイタにはただの属性値にしか見えない)だけ残して色を変
> えてくれるか? id がとれた、変わったときに警告してくれるか?
CSSでidを指定して特定のタグにstyleを指定することができるはず。
だから、エディタが勝手にidを変えたり取ったりしちゃいかんと思う。
> 編集→デザイナがアプリケーションサーバを通してぷれびゅ
> →うまく動いた→プログラマは何もしない(゚д゚)ウマー
こうならなきゃエディタのバグと言っていいのでは?
>>292 > > 編集→デザイナがアプリケーションサーバを通してぷれびゅ
> > →うまく動いた→プログラマは何もしない(゚д゚)ウマー
> こうならなきゃエディタのバグと言っていいのでは?
なかなかねえ
たとえばデザイナーが修正個所まるっと消して、再作成しちゃったら…
…なんてこともあるから、ツールが全てを解決できるわけじゃないだろうし
そんなところまで面倒みるようなツールは逆に使いにくいでしょ
テンプレートを理解してくれるデザイナーと仕事をすればいいだけの事
テンプレート専用タグよりCSSのほうがずっと難解だもの、理解できないわけがない
>>293 >たとえばデザイナーが修正個所まるっと消して、再作成しちゃったら…
テンプレートの編集不可部分かパラメータの定義部分に、
「そのページにはこの独自タグ・機能・パラメータが使われてるはず!」っていう設定ができて
実行時(ぷれびゅ時)にはずれているとエラーが出る機能があるとイイかも
>テンプレートを理解してくれるデザイナーと仕事をすればいいだけの事
それはそうだがなかなか...CSS とかも専用エディタとかあるからな...理解してるとは限らん
>たとえばデザイナーが修正個所まるっと消して、再作成しちゃったら… WOFだと、どこに何があったはずだからエラーってのが出るよ。 DB連携箇所とかもぬかりなく。 みんな、けっこう原始的な方法使ってるんだな・・・・
夜逃げしたい?
金欠?
ブラック?
別れさせたい?/騙された?/不良債権・名義貸し?
トラブル各種は相談してくれ。
(有)エスアールエー/0120-0120-49
[email protected]
297 :
nobodyさん :02/05/22 20:49 ID:7i+05eoy
スレとはあんまり関係ないかもしれんけど、ナビゲーションで <A HREF="index.html">HOME</A> <A HREF="menu1.html">MENU1</A> <A HREF="menu2.html">MENU2</A> みたいなのがある。で、DW のライブラリとか使ってコピペするわけだが、 「Homeのページ内ではHome部分、Menu1 に来たときは Menu1の部分の色変えてね」 とかいう要求が結構ある すると、 <A HREF="index.html">HOME</A> MENU1 <A HREF="menu2.html">MENU2</A> とか HOME <A HREF="menu1.html">MENU1</A> <A HREF="menu2.html">MENU2</A> とかなって、パーツ化できない テンプレートとかでこういうのをカンタンに解決してくれる方法はない?
>>295 WOではどうやってHTMLとプログラムの統合するの?
299 :
nobodyさん :02/05/22 21:08 ID:YVZelF47
>>298 そこがWOのいいところ
自分で調べて比較しないと分からないとおもうよ
ASPやってるから泣きそうです
WOをしったしってしまったばっかしにJ2EEやASPが面度さくさくかんじます
>>297 Javascriptなら簡単とか言ってみる。
>>302 ありがとー
CSS使うやつはページ数増えてくるとかなりつらいかな。
クライアントの処理的にどうだろ
perlスクリプト使えば! って話が上がってるけど、具体的な内容を知りたい..
WOでの開発方法や技術資料は、ここみればおおよそ理解できる。
http://www.apple.co.jp/webobjects/wo_docs_j.html んで、WOはMacでしか動かないクソアプリでなくて、
開発はMacとWinNT/2K/XPでできて、運用はWO-DeploymentとJava2VMがあればOK。
>>299 確かに、WOのWOFとEOFなんかを知ってしまうと、JSPとかPHPなんかでUI作って
SQLをシコシコ埋め込んでるのがバカらしくなるよな。
EJBなんか手間ばっかくって、開発者泣かせのウンコチンチン。
Struts? ハァ?ゴクローサンって感じになる。
306 :
narucy56 ◆wMOjCT4s :02/05/24 07:16 ID:DidxxJnT
>>306 確かにな。Web プログラミングなんて、そんなもんだ。
自動化できる部分は沢山ある。
Struts もなんだが、(Struts の設定関連ファイルの雛型作るツールがいくつかあって)
柔軟性を保ちつつも、開発の自動化も進んでくるんじゃないかと思う。
>>285 > あー、あと、最後に些細なちゃちゃ入れ。
> > 詳しくしらんが、NeXT時代から数えても10年以上はいいすぎだろ
> 詳しく知らないなら、間違った事をわざわざ言う必要ないですよ。
> 私もヲカーですが、EOFは10年以上の枯れた技術です。
EOFはその前身のDBKitまで戻っても、発表は92年8月。
10年近いことは確かだが、以上ではない。
ちゃんと正しいデータを書かないと本当にデムパ扱いされちゃうぞ。
>>305 WOFとかEOFってなんのことかまったくわからなかったけど、WebObjectsのことだったのね。
こんなツール存在すら知らなかった。サンクス。
結構よさげなんだけど、マシンパワーガシガシ食いそうでちょっとこわいかな。
TrialCDの配布が終了してたけど、また配布してくんないかな。
試してみて自分に合えばぜんぜん出せる金額なんだけど、いきなり買うにはちょっとたかいなぁ。
>>308 ポケットマネーでなんとか個人でも買える金額だよね。
2年前くらいは、同じモノが¥700万だったんだよ。
99%OFF・・・・・
>>309 どうもいい加減なことを書くやつが多くてかなわんな。
700万だったのは無制限アクセスの運用ライセンスだけ。
開発ツールは20万くらいで買えた。それでも今の方が安いけど。
普通に稟議書書いてなんとか通せるくらいの金額だ。
>>308 Mac版だったら、タダでTrial版がダウンロード出来る。
でもその文章の感じじゃ絶対マカーじゃなさそう..。
>>310 あんたのほうがいい加減なこと書いてるよ。
「同じモノが」って言ってるわけで、今売ってるモノは無制限アクセスの運用ライセンス込み。
>>311 > 試してみて自分に合えばぜんぜん出せる金額なんだけど、いきなり買うにはちょっとたかいなぁ。
というようなことを言う人が、無制限運用ライセンスを欲しがってると判断する方が変だ。
ちょっと試したいときの値段と、昔の700万を比べてもナンセンス。
それから、WOでロジックとデザインの分離が完璧に出来る、という話は 良く聞くしここにも何人か書いてるひとがいるけど、実際にWOで開発 やってる連中のコードのぞくと、全然それを実践していないことが多い ってのも一応指摘しておく。 他よりは数段マシなのかも知れないけど、ツールは万能ではない。 だから、WO使ってコードとデザインを分離してるとは言いながらも、 どうやって分離を実現しているのか? をちゃんと説明出来ないと いまひとつ引きが弱い。 ケンカを売ってるわけではなくて、自分でもどうするがベストなのか 決められないから悩んでいるわけだが。
目的と状況によりけりってとこなのかな。 WOも他のツールも、所詮は道具でしかないからな。 とはいえ、OOPをきとんと理解できてないとWOを生かせないし、 他のツールでやってた人間が初めてWO使うプロジェクトに投入されたら それはそれで地獄だろうな。
今Cocoon2を使って仕事している。マジでマンセーだ。WO一時期使ってたが 漏れは今やCocoon2にゾッコンだ。マジで分業が楽だ。新人のド素人使っても 生産性が上がった。漏れはXSP主体で担当しているが、新人にXSLTやらせて 進捗がガンガン上がってる。元々SQL書くのは慣れているので、この点でも 気が楽だな。癖は強いが取っ掛かりが意外なほど楽だったので素人向きかも。 XMLの利点なんてわからなかったが、取り敢えず納期に余裕で間に合いそうなので Cocoon2最高!って言っておく(w ま、大したアプリじゃないんだがな(藁
Cocoon2のスレってある?
>>316 差し支えない範囲で教えて欲しいんだけど、どんなアプリ?
XSLTL+XSP、便利だけど、メンテナンスが大変だよ。 担当者が変わったら、理解するのにけっこうコストかかる。
320 :
316 :02/05/27 01:41 ID:???
>>317 あったらいいな。あるのか?
>>318 ナレッジマネジメントという名の社内掲示板だ(w ageとかつけてやろうか
とか思ったよ。ただ、結構検索機能が複雑なんでその辺がナレッジ〜〜っぽい
ということかな(藁)あと、携帯電話からも使えるようにとか、色々あるので
その辺XSLTを複数用意しておくだけで解決できているのは楽だ。
>>319 何でも一緒だと思ってるから平気。つかWOはJavaやSQLの素人には習得に時間が
かかるのが難点だった。素人ばかりアサインされる漏れの立場からすると、
結構いらいらしたんだよなー。何でわかんねえんだとか怒ったりして嫌われるんだよ。
その点Cocoon2だと「お前XSLTに専念しる!」って可愛いトウシロの新人ちゃん
(マジ、可愛いんだよ)にやらせても、ちゃんと戦力になるのが嬉しい。
そうすると誉めてやれるから良い先輩になれるんだよ。愛が芽生えて欲しいぞ(w
だから今マジで仕事楽しいよ。女の子ってああいう見た目ちゃんと作るの好きジャン。
俺はそういうの苦手だからちょうどいいしな。その女の子同期の子に「仕事楽しい」とか
言うわけだよ。そりゃ楽しいだろう。GIFとか作ってりゃさ。そうすると他の苦しい
プロジェクトにアサインされた子なんかも「いいなー」って良い先輩状態さ(藁)
何がいいって、そういう状態がいいんだよ。技術的なことなんてどうでもいいさ。
あと、基本的にDBはストアド使い倒しているので、XSPの記述はすげぇ少ない。
複雑なロジックはServlet+BeanにしてしまってGeneratorに割り当てたり
GeneratorやActionを自前で作成したりすれば解決だしな。そうすると
XSPに書くことなんてホントにぱっと見て判ることしかないって按配だ。
JUnit使ってちゃんとテストできるし。そもそも俺コード書くの嫌いだし。
ま、単純な掲示板だからな。そんなもんだ。
321 :
318 :02/05/27 08:05 ID:???
>>320 なるほど。「お前XSLTに専念しる!」ってのはいいかも。オブジェクト
指向の魂いらないし。
漏れ今WO勉強中で結構作業が楽になりそうだと感じてるんだけど、必要
な素養が多いから確かにゼロから学習する人にはキツいね。でも、どっ
かで責任範囲の線引きして素人に作業振れないかな。316はWO使ってる
時どんな作業分担してたの?
たしかに、XSLTというコンセプトが発表されればだれでも考えるんじゃ、 ってくらい自然ななりゆきだし、理解しやすいのかもなー。
お前XSLTに専念しる!」ってのは、いいかもな。プロジェクト運営には。 成果物って点では疑問だけど。 なぜなら、うちとこにXML+XSLTで組み上げたクソシステムが転がってて だれも、メンテできないから(泣)
324 :
316 :02/05/27 11:26 ID:???
>>321 作業分担は、結局アプリの機能単位になってしまってたな。最初はWOF隊と
EOF隊とかって感じで分けようとしたりしたんだが、なかなかしっくりこなくてなー。
WO半年くらいなので試行錯誤だったから、俺がヘタレなんだと思うけど
「分離」は上手く出来ても「分業」という風にはし辛かった。
何というか便利なんだけど、周囲と分かち合い辛かったな。WOのせいと
いうより俺の力不足だけど。
>>323 XSLTそのものは確かに見通し悪いよな。でもそれは複雑なデザインのHTMLなら
どんな道具を使ってもぶつかる問題だから割り切ってる。
Cocoon2だと、ロジックはXSLTから完全に追い出せるから分業ができる。
それにGoLiveでXHTML作って、ちょちょって変更するだけなので作業させやすい。
入門書も多いし。
・・・あと、Cocoon2の最大のメリットは、ローテクだってこと。要素のそれぞれ
(XML,XSLT,SQL,Javaなどなど)について、入門書とか多いじゃん。それを
読んで割とそのまま実践しやすいんだよ。Cocoon2自体はノリ付けの役目が
殆どだから。WOはハイテクなんでな、パイロット育成に時間がかかるんだよ(w
対してCocoon2独自の技ってのは意外と少ないし、必要ならオープンソースだから見れば判る。
結構ソース綺麗だしな。Cocoon2独自のスキルを改めて習得する必要が少ないってのが
ポイント高いところかな。実際3人組でやってるが俺以外は全然Cocoon2知らないし。
Cocoon2は、デザイン(XSLT)、コンテンツ(XML)、ロジック(XSP)に分離して、かつ
それをSitemapで組み合わせていくというのが秀逸。Sitemapがなかった1.xのころは
こんなの使えるか!って感じだった。Sitemapはホント素晴らしい。おかげでダミーの
XMLを作成しておいて、XSLTを先に作らせといて、あとからSitemapで切り替えるだけで
完了!ってのが便利だな。
ちなみに俺はWO好きだ。便利だと思う。特にEOFはマジで感動した。
俺はSQL10年以上やってるから書くのは苦にならないんだが、それでもEOFは
いいと思ったよ。2chも随分参考にさせてもらったし、感謝してる。
だけど素人ばっかり使ってると教えるのにへこむんだよ。まぁ俺とは相性が
イマイチだったってことなのかもな。俺は頭悪いから単純な奴の方が
やりやすい。
ま、そんことより、残業が減った分プロジェクト予算に余裕が出来たから
結構後輩と飲み会できるって方が、俺には嬉しいよ(藁)
325 :
narucy56 :02/05/28 03:35 ID:R/0H6IB3
> 結構ソース綺麗だしな。 Apacheの連中のプロダクツって、なんか姑息なワザが多いような気がするのは 漏れだけだろうか。ま、そうしないとたちまち遅くなってしまうというのはあるが。
(´-`).。oO(でも、mod_autoindexは簡単に全体のデザインを変更できるようにしてくれた方がありがたい……)
328 :
nobodyさん :02/05/28 11:23 ID:TpvqXC+o
>>246 先生! Smartyの日本語マニュアルはどうなってしまったのでしょうか?
329 :
318 :02/05/28 16:35 ID:???
>>324 > 作業分担は、結局アプリの機能単位になってしまってたな。最初はWOF隊と
> EOF隊とかって感じで分けようとしたりしたんだが、なかなかしっくりこなくてなー。
> WO半年くらいなので試行錯誤だったから、俺がヘタレなんだと思うけど
> 「分離」は上手く出来ても「分業」という風にはし辛かった。
> 何というか便利なんだけど、周囲と分かち合い辛かったな。WOのせいと
> いうより俺の力不足だけど。
> ・・・あと、Cocoon2の最大のメリットは、ローテクだってこと。要素のそれぞれ
> (XML,XSLT,SQL,Javaなどなど)について、入門書とか多いじゃん。それを
> 読んで割とそのまま実践しやすいんだよ。
すごく参考になった。ありがとう。
漏れも半素人との分業が多いんで、そのうちCocoon2も調べてみるよ。
WOを使うとしても、よくよく分担の仕組を考えないとまずそうだね。
330 :
316 :02/05/29 01:43 ID:???
>>326 そういうのまで含めて、漏れには参考になってる(w
>>329 Cocoon2の問題は、このスレでも出てたがXSLTの記述を簡単にできる
GUIのツールがないことだな。GoLiveやDreamweaver単独ではムリなので
自前でスクリプト作るとかTidy駆使するとか工夫は必要だ。どれも
ローテクだけどな。でも調べる価値は充分あると断言するよ。
まぁひまなときにでも触ってみてくれ。XMLPRESSのVOL.6に記事が載ってたよ。
331 :
nobodyさん :02/05/29 02:59 ID:fN9RbxN4
cocoon1.xは昔使ったが、レスポンスがなんか一呼吸ある感じで、 アクセスの多いサイトとかだとどうかなーっと思った。
332 :
316 :02/05/29 03:40 ID:???
>>331 1.x1はDOMベースなので遅かった。2.0からはSAXで書き換えられたので
随分と改善されたよ。
333 :
nobodyさん :02/05/29 20:14 ID:fktfuQY8
299だけど プロジェクトを構成する人間がどれだけ ロジックとコンテンツを分離することが重要か理解できていないと(考えてないと) どんな言語 ツールを使っても意味ないと思うよ けいけんだんから
334 :
316 :02/05/30 00:17 ID:???
豚に真珠、猫に小判とは、そゆことを言うんだな。
336 :
nobodyさん :02/05/30 03:02 ID:eC70WsjL
Cocoonって実務で使えるレベルなのか・・・(?
337 :
nobodyさん :02/05/30 04:24 ID:eC70WsjL
亀レスなんすけど、デザイナが書くべきtemplate(html)ファイルの中に 条件式書けたらmvcじゃないっすよね。←理想論かなぁ なんか利便さを求めると本末転倒のような。 それだったら別にphpの内部に処理書けばいいわけだし。 (←別ファイルとしてincludeするとか ブラウザでテンプレートhtmlファイルを閲覧できた方がいいですよね。 >187 のような場合は.phpのスクリプト側でヘッダーファイルを読み込んで テンプレートエンジンに渡した方がいいのかな、と思うのですが。原始的だけど。 smartyの場合、テンプレートがphpファイルとして解釈される(>38)らしいので また違うのかもしれませんが。 仕様としては面白いけど、そもそもな、、、気も。 includeをテンプレートでする(control)とか。 全くプログラマよりの仕様であることは確かだと思います。 将来的にはXHTMLで独自タグ(コントロールとして規定するなり) を使うってのがいいような気がします。 phpにはもうちょっとdom関数成熟して欲しいですが(4.2.xでまた結構変わった まぁ、ぶり返すようで、当たり前でアレですが。
338 :
318 :02/05/30 07:24 ID:???
>>333 「プロジェクトを構成する人間」が複数の技術者を指してるなら同意。
デザイナを含んでるなら、違うと思う。
339 :
316 :02/05/30 09:17 ID:???
>>336 実務で使ってるよ。実務にもピンからキリまであるから案件に
合うものを選んで使えばいいと思う。
俺はLinux上のBlackdown製JDK1.1でJservってころからでかい案件
やってきたので、そのときの不安からするとCocoon2はすごく安心感ある。
Cocoon2は確かHPのAP鯖にも組み込まれてるしな。
>>339 >>336 じゃないけど、サンクスコ。かなり興味が湧いたよ。
Jservより安定してるならいいかな。
(じつはまだJservの動いている鯖管理もしてたりする)
教えて君で申し訳ないけど、これからCocoonを導入しようって時に役立つ本とか
資料ってある?
341 :
316 :02/05/30 18:47 ID:???
XMLPRESSのVOL.6がまずは参考になる。
本文の最後に参考文献が載っているので、これも網羅すると良い。
あと翔泳社の「Javaプログラミング集中講座サーバ編」っていう
ムックがあってその中に記事があるのでこれも参考になる。
それくらいしか日本語の書籍ベースでの情報はないかな。
あとは下のところにも行くと良い。
Cocoon Information
http://www.emergence.jp/ci/ cocooncenter Home
http://www.cocooncenter.de/cc/documents/home/index.html ドキュメントは当然英語だが頑張って読破すべし。
あと意外なところで、ソースの中のコメントにサンプルがあったりするので
積極的にソースコードは見たほうがいい。2.0.1では動いていたサンプルが
仕様変更で2.0.2で動かなくなってたりするのだが、コメントを見るとしっかり
修正版の記述方法が書いてあったりする。
ってなところだ。
342 :
316 :02/05/30 19:14 ID:???
>>340 補足しておくと、Cocoon2自体はAvalonベースのフレームワークだが
実行にはServletコンテナが必要になる。実際にはcocoon.warで配布されている。
だもんで、安定性という点で言うとコンテナに左右される点があることは
予め承知しておいて欲しい。俺はTomcatを使ってるが、Tomcatを信頼できると
言えるかどうかは案件次第だしな。他のAP鯖でも使えるはずだし、その辺は
自分の都合に合わせてくれ。
php屋とjava屋とWOマンセーなマカーとRuby好き、cocoonの虜が入り乱れてるな、 ここは(w
344 :
316 :02/05/31 00:51 ID:???
>>343 そうだな(w だが俺はCocoon2よりも可愛い新人の虜だ(藁)
345 :
316 :02/06/02 03:03 ID:???
>>330 自己レスだが、XSLTをGUIで作成できる便利なツールがあった。
商用なのだがXMLSpyというのがある。これのSuiteの中に含まれている
XSLT Designerというのがいけている。早速購入申請をしようと思ってる。
お試し版をDLしてチュートリアルをやっただけだが、エディタでガシガシ
からはおさらばできそうだ。日本語版もあるらしい。
346 :
nobodyさん :02/06/13 15:18 ID:yNmFMLOL
age
347 :
nobodyさん :02/06/13 19:24 ID:ayuV0hwK
316は、マジで羨ましいYO! セクースできたら写真ウプしてくれYO!
348 :
316 :02/06/18 00:22 ID:???
>>347 セクースは難しいと思われ。マターリ逝くよ(w
さて、新人娘担当分のXSLT全部終わっちゃったよ。テンプレートの
使い方をマスターしたら、何気に工夫し始めた。偉いな、うんうん。
おじさん嬉しいよ。
なので検索処理の手間のかかる部分以外は、一通り動いちまった。
予定では何だかんだであと1ヶ月くらいかかるかと思ってたので
すごく気楽になった。久々にのどかな感じだ。
Webアプリで、テンプレがXML+XSLTで作られてる時って、 テンプレ部分のデバッグってどうやんの?
350 :
316 :02/06/18 15:26 ID:???
>>349 テンプレートがXML+XSLTってのが今ひとつ判らないので外したらスマソ。
ページのヘッダとかフッタをXML+XSLTで作成している場合、ということかな?
だとしたら個別に作成しておいて、includeやcall-templateなどを
駆使するという感じで対応できる。
で、デバッグというのが良くわからんな〜。どういう状況?
ちなみに、XSLTUnitというのが(俺は使ってないが)バージョン0.0.1なんて
レベルだがあることはある。これもテンプレートを活用したものだ。
このスレは、やっぱりプロの人のスレなのかね。 あの、そろそろテンプレートエンジン用のスレ作りませんか? あと、smartyの和訳はいずこへ…
352 :
nobodyさん :02/06/23 13:31 ID:AV3cblpq
>>351 >そろそろテンプレートエンジン用のスレ作りませんか?
いらないよ。そんなもん。
テンプレートなんて、HTML 吐き出す関数を書けばいいだけやん。単純極まりない。
単純なら単純なまま、そう作ればいいと思う。
353 :
nobodyさん :02/06/28 20:41 ID:lD5j6FWe
>>351 立てて立てて。
この世界、大は小を兼ねないからね。
延々とAPサーバ系の話されてても参考にすらならない。
>>351 単純な物ほど奥が深いと思いねえ。
>>350 スレたて賛成
私はHP制作のプロじゃなくて、個人HP作ってるだけなので、APサーバの話しはよくわからなかったです。
なので、別スレがあった方がありがたいっす。
>>351 smartyとか、かなり複雑になってきてると思いますけど。
355 :
nobodyさん :02/06/29 12:40 ID:QOFblC9h
>>354 複雑なものは使う価値なし。というか元々PHPなんて使う価値なし。
356 :
nobodyさん :02/07/01 20:10 ID:vc/YDHho
Smartyをsafe mode onで使っている人いますか? SmartySingleDir.class.php 以外に方法ってないんでしょうか?
357 :
nobodyさん :02/07/10 01:26 ID:Bf103iyC
>>357 PHP本体にその機能が組み込まれてくれたらいいのにね
359 :
nobodyさん :02/07/23 13:08 ID:o6Uqr4Ab
360 :
nobodyさん :02/07/29 14:53 ID:ZmYJlXK3
ageeee
362 :
nobodyさん :02/08/11 12:51 ID:R3Ij6n7j
363 :
nobodyさん :02/08/11 18:13 ID:Ms7aTxrB
つきあってられん。
364 :
nobodyさん :02/08/14 11:15 ID:bYkAqAae
Servlet,JSPで携帯サイト作るとき、ロジックとデザインの分離って できますか? コントローラのServlet用意して、データのBeanをセッションに放り込んで、 JSP側で拾うってことができないから、やぱJSP側でロジックのクラスを 呼び出して、ページリンクは、JSPに書くというモデルにならざるを 得ないんでしょうか?(URLのセッション変数は使わない仕様) ※何気のこのスレ良スレ。
365 :
nobodyさん :02/08/28 13:35 ID:pGZkk2O6
>>364 >やぱJSP側でロジックのクラスを >呼び出して、ページリンクは、JSPに書くというモデルにならざるを >得ないんでしょうか? RequestDispatcher::forward とか
366 :
nobodyさん :02/09/06 01:37 ID:pfquKKHb
Perlでテンプレートモジュール作りました。 CPANに登録するつもりはないのですが。 ここで公開してもいいですか?
>>366 罵倒されるか、厳しいつっこみが入るか、まったく無視されるか、称賛されるかは
わかりませんが、問題はないでしょう。
368 :
nobodyさん :02/09/06 05:25 ID:SwN4wAbM
perlerじゃないが期待あげ
369 :
366 :02/09/07 06:48 ID:UExbT08M
まだドキュメントを作ってないので簡単に作ってから 公開しようかなと思います。
>>364 HTMLテンプレ読みこんで置換して吐けばいいだけなら何ででもできるだろ。
>>366 HTML::Template との違いを述べよ。
>>371 禿同
<TMPL_LOOP>
<TMPL_INCLUDE>
<TMPL_IF>
さらにステキ機能を持ってるなら期待
373 :
366 :02/09/08 20:33 ID:CI7/kLe9
今回作ったテンプレートモジュールを簡単に説明します。 名前は、Tmpl.pmです。 基本的には テンプレート側に%hoge%のような変数を埋め込み それをプログラム側で置換します。 あと、 <!--#cut name="hoge" --> <!--#cutend --> というタグに挟まれた部分を切り取り部品として使います。 ループや分岐処理させる為のタグです。
374 :
366 :02/09/08 20:34 ID:CI7/kLe9
HTML::Embperl派の人達を取り込むための「媚び」として テンプレートにPerlの変数を埋め込めたり、 <!--#perl --> <!--#perlend --> というタグの中に直接Perlのコードを記述できたりします。
375 :
366 :02/09/08 20:38 ID:CI7/kLe9
おまけ機能としては、 テンプレートで外部ファイルや画像ファイルを読み込んでいる場合、 それらのファイルとテンプレートとCGIファイルが同じフォルダに ある場合は問題ないのですが、別のフォルダにある場合、 CGIで出力する際にそれらのファイルへのパスが変わってしまいます。 そのためにパスの置換処理もできるようにしておきました。
>366 php版がほすぃyo!
コードをアップしてから説明すれ 絵に描いた餅ウザイ
<BASE HREF=''>でもよさそうだが375の機能はいいかも 374はデザインとコード分離したい手前嫌だな cutしてテンプレートをブロックに区切って扱うちゅうのはわかるけど HTML::Template使ったことある?
379 :
nobodyさん :02/09/09 23:32 ID:IgslT6n4
phpの話だけど、php-mlでテンプレートの有用性の話題が出てるね。
380 :
366 :02/09/10 23:45 ID:???
今日まで仕事が忙しくてまだドキュメント作成できてません。 モジュールだけアップして「解析すれ」というのも 無責任なんでちゃんとやってからアップします。 しかも明日から海外旅行に行くので17日までは 手をつけられません。ごめんなさい。
381 :
ネラ :02/09/11 12:02 ID:ucHxsRkV
>>372 その3つともあるよ。「4D」というWebアプリケーションサーバだけど。
www.4d.com
ドキュメントいらんよ。コードだけ見せれ。
383 :
nobodyさん :02/09/13 14:20 ID:iLAw4QWK
384 :
hoge :02/09/13 15:13 ID:QIoL0ggW
>>382 例1)ループ
<!--#4DLOOP arrProduct-->
<tr>
<td>hoge</td>
</tr>
<!--#4DENDLOOP-->
例2)SSI
<!--#4DINCLUDE MyHeader.html-->
例3)条件分岐
<!--#4DIF $Var='hoge'-->
<H1>逝ってよし</H1>
<!--#4DELSE-->
<H1>イイ!</H1>
<!--#4DENDIF-->
385 :
nobodyさん :02/09/14 06:48 ID:TjmGHZ9+
やっぱ amrita が一番使いやすいなぁ。
386 :
nobodyさん :02/09/14 11:13 ID:R4eRML0P
>>385 実際に使ってるの?
レポートきぼん(特に性能)
387 :
nobodyさん :02/09/14 19:12 ID:TjmGHZ9+
速いかどうかはベンチ取ってやってみては。 (データをどっかから取ってきて html に変換して、public_html へ放り込む バッチを作った程度。そういう処理を定期的にやる) 書きやすさでは一番だし(デザイン担当の人にとっても楽)、 ruby で書いていけるのはいい。 想像では、CGI で使うのはちょっとメモリがもったいないかなという気がする。 メモリ上に構築したハッシュをドンと渡してやるだけだから。 web サーバとの関係も考えつつ、amrita 使わず、eruby を使って、 イテレータで少しづつ渡していくように作ったほうがいいと思う。
388 :
nobodyさん :02/09/14 19:39 ID:TjmGHZ9+
>想像では、CGI で使うのはちょっとメモリがもったいないかなという気がする。 と、思ったが、すぐ開放してくれるもんだし、気にしなくてもよいかな。
389 :
nobodyさん :02/09/14 22:16 ID:jEvDqaSB
>>387 Enumerableなオブジェクトをモデルにしてコンパイラを使うと
メモリは1行分だけしか使わないよ
require 'amrita/template'
t = Amrita::TemplateText.new '<ul><li id=list></ul>'
t.use_compiler = true
t.expand(STDOUT, {:list=>STDIN})
これを実行すると、端末から1行入れるとすぐにその行を<li>つきで出力する
だから、必ずしも全部メモリに展開するわけじゃないと思う
>>384 だれも4Dのことは聞いてないよ。
なおかつ、 HTML::Template でそれは出来るんだから、それ以上の何かが
ないと使えないよ、って話なんだが・・・
391 :
nobodyさん :02/09/15 21:49 ID:bpMuztdb
392 :
nobodyさん :02/09/15 21:53 ID:9W83Zx8U
393 :
りお ◆/OjWxByc :02/09/15 22:09 ID:tnovrUBN
漏れはWebObjectsマンセーなんだが、WebObjectsもイイところばっかしだけど、 悪いところもいくつかある。 EOFはSQLをほとんど意識しなくても良い便利極まりないフレームワークだけど ちょっと凝ったレコードセット(EOっていうんだけど)の操作が必要になると SQL書いた方がはやかったりもする。メンテ性を全然考えなくても良いような システムでも同じでしゅ。あと、DBに強く依存するような機能を利用したい 場合も、ちょっとしたバグのおかげで使えなかったりするから、、とこれは 将来のバージョンアップで期待か。 他のアプリケーションサーバーではセッションフェイルオーバーが 標準で実現できているけど、WebObjectsは実現されていない。もっとも プログラミング次第で実現できるのだけど、ちょっと面倒。EJBや JSPなどとの連携もとれるようになったのも、EOFやWOFというテクノロジーが あるのに何で連携しようとするん?と少しクビをかしげるときも(でも 冷静に考えると、あー、なるほどねと政治的背景をも少し感じるときもある) WebObjectsは重いというイメージがあるけれど、決してそんなことはない。 PentiumIII-800Mhzで512MRam の赤帽Linuxで色々とアプリを動かしているが スカスカうごく。レスポンスが重いと嘆いているのは、そりゃ作ったプログラマの ウデが未熟だってぇことだ(←偉そうに(;´Д`) なんか、微妙にすれ違いでスンマソン。ウチの会社ではデザイナには WebObjectsで使うタグは<WEBOBJECT> </WEBOBJECT>だけだから、そこらへん を少しだけ意識してください、と連携とってます。CVS使ってますけど。 WebデザイナはWebObjectsとプログラムがどいうカンジで動くのかを少しだけ 勉強してるだけです。
おお、りおサソ降臨してるしw
395 :
nobodyさん :02/09/17 21:33 ID:Zw7x1lTe
<age>
あぼーん
397 :
nobodyさん :02/09/21 02:17 ID:fER+Pudx
ロジックとデザインの分離を語るとき、デザインには ロジックはかかないが、代わりにロジックにデザインが入り こんでいたりする。 デザイン主体で見るなら、少々ロジックが入り込んでも、 デザインは一つのファイルで完結したいなと思う。 どうせDreamWeaverとか使えば、コードを省略してくれたり するわけだし。 なんもないデザインで、<TD>データ</TD><TD>データ2</TD> ぐらいなら、ロジック側に入り込んでも影響ないけど。
>ロジックとデザインの分離を語るとき、デザインには >ロジックはかかないが、代わりにロジックにデザインが入り >こんでいたりする。 アフォですか? 多いケースは、デザインにロジックが混入するケースだろ。 cgiしかやったことねーのか。
399 :
nobodyさん :02/09/21 18:14 ID:bCEdfPyU
>>398 デザインにロジックを混入させたくないから分離するんだろボーケー
400 :
りお ◆/OjWxByc :02/09/21 19:38 ID:n+jiSbS4
>>398 397はたう゛ん、JSPまわりのことを言っているのかもしれない。
HTMLタグとプログラムとSQLが混在するファイルを見ると少し混乱するのは確かすよね。
>>400 WebObjectではページ内のループの概念とかってどうなってるの?
402 :
401 :02/09/21 20:21 ID:???
補足 例えばDBから複数のエントリを取り出してきてそれを表にするような場合、 WebObjectではどんなふうにやるのか知りたいage
403 :
りお ◆/OjWxByc :02/09/21 20:39 ID:n+jiSbS4
404 :
りお ◆/OjWxByc :02/09/21 20:49 ID:n+jiSbS4
405 :
nobodyさん :02/09/22 12:12 ID:bpmTH82o
>400 そうそう、Servletからforwardしたり、ASP.NETのコードビハインドが ある前提で、メインロジックは後ろに追い出せた場合の話でした。 例えば、JSPだと単一の処理に頑張ってタグライブラリを書いてまでは、 分離する必要はないかなという感じぐらいのノリ。 りおさんのレス見させてもらいましたが、ASP.NETは、 WebObjectsに強く影響を受けてるなとつくづく。 ところで、WebObjectsは、MVCモデルのコントローラみたいに、 ロジックに応じて、Vをがらっと変えてしまう(Servletなら表示する JSPページのファイルをサーバーサイドで動的に変える)ことって 簡単にできるんですか?
MVCのCみたいに、の下りが漏れには理解不能なんだけど、 同じモデルの見せ方を動的に変えるなんてのは当たり前に出来ます。 てゆーかそれが出来ないアプ鯖なんか使い物にならなくない?
407 :
nobodyさん :02/09/30 21:50 ID:l9Fp6ZzH
>>406 GUI アプリケーションじゃ「C」を分けとくと楽なんだな。これが。
ウィンドウをマウス or キーボード or リモート操作 で動かる構造にしとくとイイでしょ?
>>405 できます。
ただし、それをやろうとしたら、周りがついて来れなかった。
ルーキー同士で組ませるなよぉ
漏れも、Tomcat(藁)、WebLogic、ColdFusion、WebSphereとやったことあるけど、 WebObjectsは、独自技術かつ、それらの先を行き過ぎて、平均的スキルの開発者だと 手に負えないんだよな。。。。 いくらWebObjectsが凄いものでも、まともに扱える開発者を揃えられないと、 業務で導入できないんだよ。。。鬱 とはいえ、一人でも結構な規模に対応できるからいいんだけど。
410 :
409 :02/10/12 20:49 ID:???
とりあえず、View部分は、ロジックとまったく関係なく、デザイナ任せにできるから、楽で良いね。 「<WEBOBJECTS>タグの範囲だけは、削除せんといて〜」と指示しておけば、 こっちは暫定Viewで作業できるし。 JSPみたいにViewにロジックが入るような事は一切無いのが素晴らしい。 しかし、そんなものは、はっきり言ってどーでもいいね。 Enterprise Object Frameworkを知ってしまったら、EJBとか使ってたのが 禿しくバカバカしくなった。。。
411 :
408 :02/10/12 21:38 ID:???
会社入ってから、 一画面丸ごと全部 コンディショナル(if節みたいなもの)で、 切り替えているコードを見たとき、 正 直 感 動 し ま し た 。 やるなよ… そんなダメダメなやり方、 この会社入るまで想像すら、しなかったよ。 学生だって、もっとましなコード書くよ。
412 :
408 :02/10/12 21:46 ID:???
コウじゃないぞ!! <html> ***** ←条件により一部の表示を変える。 </html> コウやってるんです。 <html>****</html> ← 条件により丸ごと置き換え <html>****</html> ← しかもたくさん。 <html>****</html> ← 中身にも条件による表示切替ありのおまけつき。
ここですか? WebObjectsマンセーのスレは?
>>413 どこがマンセーですか?
WOにも、欠点はいっぱいありますよ?
>>413 ちがうぞ。
>>412 は、マンセーではなくてだな、逆なんだよ。
インターフェイスとポリモーフィズムで同じことが、
簡単かつ、わかりやすくできるのに。
WebObjectsって2chではよく聞く名前だが、それ以外では聞いたこと無いな。 2chにエヴァンゲリストが入り込んでいるのか? .NET死滅スレのMS厨みたいだ・・・
WebObjectsは、日本では超マイナー製品だからな。 アップルジャパソも積極的に売ってないし、サポートもろくすっぽ無いし。海外ではかなり有名なんだが。 でも、ググってみると、いっぱい情報あるよ。 でも、電話系システムのバックエンドとか、航空管制システムとかで使ってるぞ。 金融会社では、昔ながらのNextStepやらOpenStepなんつー酔狂な環境で、 未だに古いバージョンが動いてるし(藁 "ObjectWeb"なんつー、オープソンースのJ2EE対応のアプ鯖もあったな(藁 とはいえ、マイナー無名製品。 OOPをきちんと学んだ開発者でないと、さっぱり理解できない複雑性をモツ。 つまり、間口が狭く、学習曲線が緩い。 こんな製品が、今の市場にウケるわけがない。
>417 どこの電話会社や航空管制施設なの? 金融系ってまさか銀行? 恐ろしい企業もあったもんだ。 その例はWOの信頼性を保証するもんじゃなくって、逆にそれをそこまで採用しちゃってる企業の危険度の尺度じゃない?
WOFは外部に公開しない部分で使われることが多いみたい。 信頼性はあんまりないよ、正直。 バグがぼろぼろ見つかるの。
>>418 でも、WebSphereとかWebLogic、.NETなんかを使うよりは遙かにマシだろ。
証券会社なんかで、.NETに移行始めてるとこあるけど、
あぁいうのはどうなんだろうな?怖すぎて契約できないよ(w
WOの信頼性は、どうなんだろう?
マカじゃないからよくしらなんだが、アップルストアって落ちたりしてんのかな?
(
http://store.apple.com )
全世界の注文を、アメリカのアップル本社にある5台くらいのマク+WO+オラ(Sun)
でさばいてるって言ってたよ。
.NETを使うより遙かにまし? MSはうまいよ、プラットフォームを作るのが。 ある程度の信頼性を確保できたうえで、最近はそれなりの規模のウェアハウスの運用にまで耐えられる環境が実現できている。 TomcatだJSPだPHPだなんて騒ぐよりも遙かにましな選択だと思うぞ。 Site ServerとかCommerce Serverなんていう中途半端なβ製品を買わせてきてしゃあしゃあとしているのは相変わらずだけど、見誤らなければ良い選択肢がある。 企業としてAppleなんてのはカスで、そこがリリースしているだけで信頼性はゼロと見ていいよ。 信頼性なんてものは、将来性と双子の兄弟みたいなもので、将来性のない製品に信頼性なんて育つはずがないの。 そんなものを採用すると、100%将来はこける。 ただでさえ存続するアーキテクチャなりプラットフォームの選択って微妙な問題なのに、わざわざ確率の低い方に賭ける意味は限りなくゼロに近い。 今までAppleが提唱してきてサードパーティーを乗りに乗せた風呂敷って全部びりびりに破けてるって事実を、もっと真剣に受け止めた方がいいぞ? かってはApple UNIX構想が死に、DALは捨てられ、またゼロからの再構築を目論んだという経緯を持つ企業を、俺は絶対に信用しない。 WOなんて早晩くたばるよ。 OOP命ってことでそれがウリのコーダー様なら、さっさと.NETに来るべし。 ただし、しっかりと個々のアーキテクチャの勉強をする気のない似非OOPクンたちは挫折しないようにね。 最低限必要だよ、SQLを書けたりDBアーキテクチャの構造を理解し、そのクラスを効率よく扱えるテクなんて。 WO使いがあまりに生意気だから一言書かせてもらったさ。 ついでに一言、WOに対する比較なら素のASP(.NETじゃない)でもまだ上を行ってる・・・ってかまとも。
>OOP命ってことでそれがウリのコーダー様なら、さっさと.NETに来るべし。 自分で言ってることが、よくわかってないようです。(プ 「ウリの思想は、マンセーニダ!」って感じですか。北チョソみたいですね。 .NET厨があまりに生意気なので、一言書かせてもらいました。 ついでに一言、WOと素のASPを比較している段階で、WOをほとんど知らないってことがバレバレですね。 さらに付け加えると、長文の最後に「一言書かせてもらった」なんて、日本語もよく理解できないようですね。 そういう俺は、WOに憧れるWebLogic厨です。
.NET? アフォですか? .NET Framework? EJBの真似? .NET Server? まだ製品も無いのに? CLR? JavaVMの猿真似かい。 J#やらC#やら、節操がないよ。どうせJ++の二の舞。 もっとも、MSがCrossPlatformをまともに考えたら、C#はもしかしたら数年後に化ける可能性もあるが。 鳴り物入りでJ++を登場させ、WFCを推進し、そこに上った開発者のハシゴを、政治的な理由から 思いっきり蹴り外した経緯を持つ企業を、俺は絶対に信用しないね。 もちろん、穴は多いが、クライアント環境としてのWinは使いやすいし、Win用デスクトップアプリは 良くできてるものが多い。ゲーム環境としても、Winは最高だと思う。 しかし、サーバサイドアプリを運用する環境としては、最低最悪だな。 「開発」という側面だけに着目するから、多機能なIDEの評判などに、うまく誤魔化されてしまう。 ただし、運用開始後の多種コストを一切無視して、MS製品のみで固めるんだったら、 .NETという選択肢も有りだろうな。
アフォはお前だよ。 C#とJ++ってのはそもそも比較の対象として違う。 J++ってのは単なる環境で、C#ってのは言語。 それにJ++が鳴り物入りだって解釈した開発者の気がしれんよ。 俺はまったく信用しなかった。 あんなもの過渡期の環境だって見りゃわかりそうなもんだ。 ってか、Javaって時点でMSがどこまで真剣にやるか考えてみた? そんな梯子にうかうかのぼって行く方が間違ってんだよ。
>>422 うん、いかにもWOにあこがれるWebLogic厨房だわな。
それからお前みたいなアフォは開発言語だけいじれ。
「一言書かせてもらった」は正しい日本語なんだよ。
日本語喋れんようなお前ごときにいちいち訂正されたかないわい。
クライアントの前できっちり案件に関して商談できるくらいになってから日本語については語れや。
誤:J++ってのは単なる環境で、C#ってのは言語。 正:VisualJ++ & WFCってのは単なる環境で、J++とC#ってのが言語。
WO厨房、MS厨房ともに必死すぎ(w スレの趣旨に戻れや。 そもそも、.NETやWOで、どこまでコンテンツとデザインを分離できるんだ? 具体例出せるのか? 話しはそれからだ。 くだらんフレーミングはやめろ。両方とも、目くそ鼻くそを笑う、でしかないな。
>>427 それ、俺も興味あるな。
Webアプリで、データベースから取得したデータを、Web側に出力してやる部分を、
.NETやWOや他のツールで具体的に比較してみたい。
PHPやJSPとか今までのASPだと、テンプレート内にロジックを書けるタグがあって、
そこにSQL含めたコード書くのが普通だよね。
429 :
428 :02/10/13 12:40 ID:???
追加。 条件分岐が絡むHTML生成とか、繰り返し処理(HTMLテーブル作成等)を Webアプリでやるにあたって、MVCをきっちり分けるってできんの?
430 :
408 :02/10/13 16:41 ID:???
なんか、妙な議論が… 私が発端かな? ごめん。 WOF は、DB のテーブル、ビューを Java のクラスにすることができる。 ロジック(メソッド)をそのクラス内に追加することもできる。 インスタンス生成時に条件をつけて、持っているデータを変化させられる。(検索とかで使う) Java クラスではなく、HashMap 系のインスタンスにすることも可能。 表示するページは、PHP や JSP のカスタムタグを使った時と似たような形式のHTMLと、 それに対応する Java クラスで構成される。 表示用の Java クラスにメソッドを追加すると、HTML の方でそれを呼び出すことが可能になる。 Java クラスなので、似たようなページの場合、同じクラスを使えば、手間を省ける。(もしくは継承) ページ固有の処理はこちらに加えてる。 HTML の方は、JSP と似たようなものかな。 対応するクラスのメソッド、フィールドを呼び出せる。 リフレクションで、型に応じた処理を勝手におこなってくれる。 繰り返し処理部分は、か な り独特のロジックあり。 List List ←こういうListが、 ├ HashMap ├List たくさん現れるのに最初戸惑った。 └ HashMap └List .NETの方は、良く知りません。勉強不足です。
>>418 金融系とは、ドイツ銀行と、昔派遣でいっていたかいしゃが契約していた
大手都市銀行と、、、いくつかです。信頼性云々よりかは、かいはつこうりつが高かったんで、
客先評判はすこぶるよかったですよ(pure.
>>418 ,
>>431 日本だとM菱銀行とかが使ってたよ。
といってもNeXT時代なのでWOじゃなくて、その前身のPDOとかだけど。
今のWOの売り方だと基幹系に採用されてるとか言っても信じられないのは
無理はない。もうそんなに先進的でもなくなっちゃったし。
そろそろWOF以外の話きぼんぬ。
434 :
nobodyさん :02/10/14 10:24 ID:++3XMo/L
>>432 確かに先進的でもなくなってしまったけど、WOF特有のKeyValueCodingやEOFの
一貫性つうか、エレガントさはヨソのAP鯖で似たようなのが出てこないというか
むしろ不便を強いられているというのがちょぃと納得いかないんですが。。。
漏れは、やはりWOのマイナーさから、早く他のアプ鯖に乗り換えたいんだけど、
WO並か、それ以上の製品が無いんだよなー。
お値段がやはり。。。
DB扱うWebアプリを、客のために作るんだったら、今のところWOしかねぇなぁ。。。
んで、.NETでのMVC分離の具体例が知りたいのだけれど、
暴れてたMS厨は、そういう例を出せるほどのスキルは無かったって事?
>>430 も、具体例出してきたのは非常に好感持てるが、いまいち判りづらい。
>>433 スマヌ、もう少し続ける。
>>434 KVCやEOFを他社が真似しないのは、ひとつにはこのへんの技術が
特許でガチガチに守られてるから、ってのがある。
しかもこの特許を持っているやつらはNeXT時代に次々と別の会社に
出て行っちゃって既にAppleにはいないので、WOがライセンスで潤うという
可能性もなくなってしまっている。もったいない話なんだよなあ。
WOネタはもうやめてくれ! WOに触れる人が今後増える可能性があるのならともかく、 ここを見に来る大部分の人間にとって、WOの話はコンテンツとデザインの分離の話と 何の関係もない。
>>438 何の関係も無いってのは、言い過ぎだと思われ。
WOに特化したコアな話題だったら当然、WOスレでやって欲しいところだけど、
WOでは、コンテンツとデザイン(というよりは、Model/Controlerと、View)が
完璧に分離できるっていうじゃん?
そこには興味あるから、今後の選択肢の一つとして、その点は知りたい。
マカ専用でもなさそうだし。Linuxでも動くんでしょ?FreeBSDではどうなの?
今、JSP+Servlet+JDBCなんだけど、なんとかしたいんだよな。
TagLibも、メンテナンスも考えたMVC分離って点では、今ひとつだし。。。
>>439 とはいっても、400あたりからずっとWO続きなのは正直ウザイ。
MVCとかCodeBehindとかTemplateとかカスタムタグみたいな製品や技術に
比較的非依存な話題ならいいんだけど、(他の技術にも流用できそうだから)
WOの話ははっきりいって、いくらされても他の製品や技術に流用できるようには見えん。
> WOに特化したコアな話題だったら当然、WOスレでやって欲しいところだけど、
もはやWOに特化したコアな話題だと思われるが。
ちょっと最近のスレを読んでみたけど、WebObjects語ってる香具師らは
何というか、「選民思想」みたいなのがあるな。
「先進的」とか「独特」とかいう単語を並べて自分に酔っている。
>>409 なんてほぼ自己陶酔に近い。
で、マニアックなのを逆に誇っているような・・・。
とりあえず、J2EEサーバや.NET、ASPといった競合技術を子馬鹿にしたような
発言は余計だったかな?
cocoonとかの話をもっと聞きたかったな。
はいはい、ここで暴れてるWO厨ども、まったく意味無いから、本スレに帰ってくるように。 WOは、アップル(J)社内でも認知されない妾の子扱いだから、あまりよそ様の目に触れてはいかん。 選民意識は持ってていいが、外には出すな(w つーわけで、迷惑掛けてスマソ>このスレ住民殿 興味あるなら、WOスレにウェルコメ。
>>441 自己陶酔ってのは、端から見て確かにキモイが、毎日使う道具だったら、惚れて使う方がよくねぇ?
包丁だって、ナマクラに文句言いながらよりは、私見でも「よくキレるジャネーカ」って思いこんだほうがいいと思うが。
J2EE/.NET/ASP共に然り。どの分野にも、極めた人間ってのはいるからな。
Perl使ってEJBも真っ青はロジック組む香具師もいるし。
駄文スマソ。んじゃ。
444 :
age :02/10/15 23:48 ID:pfYG+Byr
ビジネスロジックとデザインの分離とはちょっと話がずれるが、 ロジックのコンポーネント化というのはどうなのかな? 俺はPHPの中に普通にロジックをガリガリ書いてしまうほうなんだけど、(あとはincludeとか) やっぱバイナリのコンポーネントにくるんでおいたほうがメリットはあるの? ASP→COM/COM+ J2EE→JavaBeans/EJB .NET→.NET Assembly PHP→ねぇよ って考えると、コンポーネント仕様を持たないPHPが中途半端に見えるんだけど。 ビジネスロジックのコンポーネント化についてばっさり意見を言える神の説明キボンヌ。
自分が不案内な技術がやたらと目に付くようになったときに、それをウザイと思うか そんなにいうなら調べてみようじゃねーかと思うかでは、その技術や 背景になっている枠組への理解度が違ってくると思うのだが。 結局このスレがWO厨だらけになって他の話題が出てこないってことは、この 「コンテンツとデザインの分離」っていうトピックに興味を持つ人間の割合が WO厨は他と比べて多いってことなんだろう。 どうせなら、なんで他の環境のやつらが熱く語ってくれないのか、ってあたりを 問題にしたいところだが。
> 自分が不案内な技術がやたらと目に付くようになったときに、それをウザイと思うか > そんなにいうなら調べてみようじゃねーかと思うかでは、その技術や > 背景になっている枠組への理解度が違ってくると思うのだが。 ここらへんは同意できるのだが > 結局このスレがWO厨だらけになって他の話題が出てこないってことは、この > 「コンテンツとデザインの分離」っていうトピックに興味を持つ人間の割合が > WO厨は他と比べて多いってことなんだろう。 ただ単に他の奴等が逃げ出したのでは? ただでさえ過疎化著しいWebProg板で、他のネタが書けないような雰囲気になってしまえば WO以外の書き込みがなくなるのも無理はない。 ちなみに「コンテンツとデザインの分離」というトピック名称には普通興味は持たないわな。 「ロジックとデザインの分離」には興味を持つ人間も多いだろうが。
>>444 もちろん出来たらメリットはあると思う。てゆーかそれがやりたいと
みんな思ってるけどなかなかキレイにくるめないんだと。
問題意識とズレるかも知れないけど、Zope/CMFでやってる、
ワークフローのオブジェクト化なんてのはロジックのコンポーネントと
言ってもいいんじゃないかな。EJBでああいうことをやるのは不可能に
近いとは思うけど。
448 :
勝手ニ仕切ッテスマソン :02/10/16 00:29 ID:wAz0M52D
まぁなんだかんだいって450近くまでスレが伸びるというのも、それだけ多くのWebプログラマが興味を持っている分野だということだね。 これはCGI屋、PHPマンセー派、J2EEワショーイ人間、MS工房とかいった人種の壁を越える共通問題だと思うYO。 で、結局ロジックとデザインの分離方法は技術によってけっこう主流が違うんだなぁということが分かったんだけど、 だいたい以下の4パターンくらいに分類できるということなのかな? Template型 =>Perl-CGIのHTML::Template、PHPのSmarty等 MVCデザインパターン型 =>ASP(中途半端)、J2EE(Servlet+Bean/EJB+JSP)等 カスタムタグ型 =>J2EEのJSP、ColdFusion等 Codebehind型 =>ASP.NET XML+XSLT型 =>CocoonのXSP (WOは知らん。特殊らしいからこの中には分類できん。) ちょっとここらへんたたき台にしてスレの方向転換&中間まとめしてみない? (あまり宗教対立や部落紛争を起こさぬように・・・)
>>444 そのためのルールベースエンジンじゃねえのか?(w
厨な質問かもしれないけど、1点確認したい。 WOの話題がNGってことは、商用製品におけるロジックとデザインの分離方法を このスレで語るのはダメってことかい? 基本的にフリーで利用できる製品のみが対象? WO厨ってなじられることを覚悟でパピコすると、 なぜWOの話題は嫌われるの?マイナーすぎるから? 選民意識が強いっていうのは、NGにする理由にならないと思うんだけど。
451 :
450 :02/10/16 01:04 ID:???
んーと、このスレは、 コンテンツ(というよりロジック)とデザインの分離に関する技術的話題を扱うスレだよね?
452 :
nobodyさん :02/10/16 01:08 ID:AoJOl8Ws
>444 どっかで、Win-PHPはCOMが使えるって言ってたよ。 でも、ASPでもCOMは避けたいねぇ。管理ウザイから。 開発環境で、似たようなアプリが増えてくると、 かなーりブルーだよ。目の前のが動いてるつもりで、 違うフォルダの古い奴が動いてたり(^^; PHPは、やはり元々、Perl+αかつ ASPの対抗製品だから、 そんなもんじゃないすか?ネームスペースの切り方からして、 お手軽さの方が重視されてると思うし。次は、ColdFusionみたいに Java化するんでしょ?そうなれば、Servletをアシに使えるのでは?!
453 :
nobodyさん :02/10/16 01:17 ID:AoJOl8Ws
>448 漏れの印象としてはWOは、ASP.NETのサーバーサイドコントロールと 同じに見える。(Codebehind?)
WOスレはかなり宣伝入ってると思われ。 現実では、WO使ってると言う話はほとんど聞きません。
だから、WO厨は、本スレに戻ってこいって。 WOユーザーでさえWOをまともに理解できてないヤツ多いんだから、 一般的開発者に語ったところで、「宣伝」「自己陶酔」「選民意識」って言われるのがオチ。 世間の見方なんて、WOユーザーとマカは同レベルでしかないんだよ。 どうせお前ら、WOF+EOFを語りたいんだろ?本スレで思う存分やろうぜ。 はい、撤収〜撤収〜
>>448 その分類あんまりフラットじゃないと思う。
MVC型ってたぶんStrutsかなんかをイメージしてるんだと思うけど、
それを実現するためにはテンプレートやカスタムタグの存在が基礎に
なってるわけで、並列するようなもんじゃないでそ。
J2EEとだけ言ったんでは分離もくそもあったもんじゃない。
が、しかし、なんか中間結果をまとめたいというのは禿しく賛成。
>>454 それって、あなたの周りだけのハナシでは。
部分をもって全体を語るな。
458 :
nobodyさん :02/10/16 21:16 ID:wAz0M52D
Template型にはJavaのVelocityもあるな
459 :
nobodyさん :02/10/16 21:19 ID:wAz0M52D
>WOの話題がNGってことは、商用製品におけるロジックとデザインの分離方法を >このスレで語るのはダメってことかい? 商用製品そのものの独自思想はちょっと控えたほうがいいとは思うが、 例えばJ2EEみたいに規格があって、それに対してTomcat、JBossからWebSphere、WebLocigまで 様々な製品実装があるようなものは問題ないと思う。 ケースバイケースだな。 あまり書き込みルールみたいなのを設けると過疎化が進む。
つーか、WOの話題はWOスレでやれ! 特定の製品は歓迎されないよ。 で、wo使って作られてるサイトってどんなん?(jpドメイン
>>461 本当に航空関連(えあどぅ)でWOが使われているとはしらなんだ...
エアドゥとかで使われてるのは、Webアプリだよね。 C/Sタイプのアプリも開発できて、それはSybaseと一緒にNTTの基幹システムで動いてる。 ただしそれは、NTTが事例としての引用を認めてない。 NHKも社内で使ってるが、こちらも同様。 WOスレ行くと、WOが持ってる技術特許へのリンクも見られるぞ。
>>WOスレ行くと、WOが持ってる技術特許へのリンクも見られるぞ。 みたYO. 糞マカー共がマンセーマンセーする理由がよくわかったYO(W
WO厨の気がすんだら書き込みなくなるわけね。
>466 WO使っている連中なんてそんなもんだよ。 一昔前のMac馬鹿と同じ(藁
468 :
nobodyさん :02/10/20 14:32 ID:9WgqBhUQ
>>467 そういうならWO以外のネタを出してくれ。
469 :
nobodyさん :02/10/20 17:15 ID:qpipozpW
Cocoonって何がすごいのかよくわからないんだけど、 WO厨なみに製品マンセ-して説明(洗脳?)してくれる人キボンヌ
470 :
nobodyさん :02/10/20 22:00 ID:bYFhkOye
>468 ネタっていうか、そもそもビジネスロジック自体がページという概念から切り離せないWebアプリケーションの世界で、どうやってロジックとデザインを分離するってことを考えるのかわからん。 どのようなWebアプリケーションの環境においても、所詮クライアント環境に吐き出すものは毎回サーバが提供しなけりゃならない。 こんなモデルってのはいままであり得なかったわけでしょ? UIが素っ気ないものでいい(究極はVT100アクセスで利用したようなキャラクタベースのコマンド)ならまだしも、高価な実装が期待されるんだから無理もはなはだしいんだよ。 どうあがいてもステートレスのサービスっていうとんでもない前提の制約がある上に、その上塗りがあるんだからどうしようもない。 そもそも分離したらWebアプリケーションとしての体をなさない世界で分離を考えること自体がナンセンス。 一番の早道は、デザイナーがコーディングに近づくのでなく、デザイナーがパーツ化したデザインと組みあがったUI部分の実体を提供して、それをコーディングする側が適切に配置できるように訓練することだよ。 デザインも断片化したコードの一部としてプログラマーが取り扱う以外ないだろうと考える。 その結果はある程度のprint構文(あるいはヒア構文)の混在は避けられないし、合理的だ。
>>470 激しく同意。2行目からは読んでないけど。
で、どこを縦に読めば良いの?
472 :
太郎 :02/10/20 22:22 ID:CP0XcMB5
>ネタっていうか、そもそもビジネスロジック自体がページという概念から切り離せないWebアプリケーションの世界で、 >どうやってロジックとデザインを分離するってことを考えるのかわからん。 >どのようなWebアプリケーションの環境においても、所詮クライアント環境に吐き出すものは毎回サーバが提供しなけりゃならない。 ネタですね?(w ネタにマジレスしてよかですか? 例えば、PHPとかJSPで、デザインにSQLとか条件分岐によるHTML出力処理とかが、 バリバリに入っているという、よくあるタイプのWebアプリがあるとする。 当然、実装的には問題無いわけで(ほんとか?)、完動すると。 しかし、運用開始後に仕様変更や拡張があった場合はどう? デザイナにHTMLテンプレート部分を担当させてたとして、 デザイナの仕事が終わらないと、コード部分も修正できないってことは無い? 同じ動作をする、暫定テンプレートを別途作るという無駄な作業する? 他にも、いろいろメリットあると思うけど。 だからこそ、JSPのTaglibとか、いろいろ出てきてるんだと思うんだが。 間違ってる?
HTMLにロジックが入ってるだけやん。←tagライブラリ それと、ロジックにHTMLが入った(php/asp)のも大差ないような気も。 ロジックの再利用ができるって意味でのタグライブリ、 デザインの再利用を(主に)するのがテンプレート技術?
どっちも再利用しなきゃ意味がないと・・・OOと一緒か。
>471 だからさ、WO厨はあっちイケよ。 いらない。 >473 > だからこそ、JSPのTaglibとか、いろいろ出てきてるんだと思うんだが。 > 間違ってる? だからさ、それが根本的解決策にはなり得ないってことは、UI&フロントエンド、ビジネスロジック、バックエンドまで一貫してごりごり設計&コーディングまでやってればわかるってことだよ。 完全に分離なんて無理だって(笑) オープンソースが世界を変える、携帯電話で空を飛ぶってのと同レベル。 それからきみが書いていることは「そうなればいいな」ってことや「それって問題じゃん?」って提起なだけ。 指摘していることが問題じゃないなんて誰も言っておらん。 問題ではあるけれど本来解決し得ない問題もある。 だから無駄な抵抗を止めて本質を見レと言ってるのね。 >474 まさにそういうことだね。 HTMLにロジックが混在しているか、ロジックにHTMLが混在しているかってところがせいぜいなんだよ。 それ以上にも以下にもならん。 >475 再利用するっていうのは必須の発想だよね。 不可能な分離を考えるのでなく、いかに現実的な解決メソッドを編み出すかにつきると思うんだ。
ネタなのかなぁ?
>>476 >HTMLにロジックが混在しているか、ロジックにHTMLが混在しているかってところがせいぜいなんだよ。
>それ以上にも以下にもならん。
ここで言っているロジックって、UIのビヘイビアに関するロジック(表示ロジックと呼びますか)だよね?
で、
>>470 で話している、
>ネタっていうか、そもそもビジネスロジック自体がページという概念から切り離せないWebアプリケーションの世界で、どうやってロジックとデザインを分離するってことを考えるのかわからん。
この文の最初に出てくる(ビジネス)ロジックと、後の文のロジック、476の文章の結論が結びつかないんですけど?
476はビジネスロジックと表示ロジックがちゃんぽんになってませんか?
休暇申請するシステムを作るとして、
「有給休暇残日数ー有給休暇申請日が0以下の場合は、申請拒否」というルールを
プログラムにしたのがビジネスロジック。
「上のビジネスロジックの結果、拒否された場合、赤表示。認可された場合は黒表示。」
という入出力仕様をプログラムにしたのが表示ロジック。
この前提だと、ビジネスロジックはWebページと完全に切り離されて考えられるのでは?
476が言いたいのは表示ロジックのことだとすると、表示ロジックとデザインは切り離せるものじゃない、という意見には賛成。(デザインに依存してコーディングせざるを得ないだろうから)
478 :
316 :02/10/21 09:22 ID:???
>>469 よし語ってやろう。何が聞きたい?
取り敢えず、新人の女の子と楽しく仕事できるというのがCocoon2の最大の売りだ(w
>>316 316じゃないが、その売りだけで完璧だよう
480 :
469 :02/10/22 00:10 ID:3vYtKYtk
質問その1 どういうWebサイトを作る時にCocoonはメリットがあるの? 質問その2 Cocoonではどうやってロジックとデザインの分離を実現するの?(一応スレの内容に合った質問として) 質問その3 うちの職場は男しかいないんだけど、Cocoonを使って開発したらカワイイ新人の女の子が入ってくる?
Cocoonをある程度の規模の開発案件に適用したとして、 サポートしてくれる企業ってある? いざって時にサポートしてくれるものでないと、ビジネス用途だとむずい。 お前らの仕事だと、そこまで厳密さは要求されないのですか?
482 :
469 :02/10/22 01:01 ID:???
>>481 それって、Cocoonに限らずオープンソースのソフトウエア全てにいえることでは?
PostgresSQL、MySQL、そしてApacheを導入してシステムを構築している企業なんて今時金融機関を含め山ほどあるでしょ?
Cocoonと同じApache XMLプロジェクトの配下にはXercesやXalanなんて大物もいるしね。
まぁでも不安になる気持ちは確かに分からなくもない。
俺も、Apache Web ServerよりもIBM HTTP Server powered by Apacheのほうが安心する。
>俺も、Apache Web ServerよりもIBM HTTP Server powered by Apacheのほうが安心する。 結局、これなんだよな。。。 モノは同じでも。
>>481 リスクのないところにリターンはありません。
大事なのはリスクをいたずらに避けずにしっかりと計量することです。
それができない事業主体はSIerにぼったくられても仕方ありません。
485 :
316 :02/10/22 13:25 ID:???
>>480 >質問その1
>どういうWebサイトを作る時にCocoonはメリットがあるの?
一言で言うと、力技でたくさんコンテンツを作る必要があるサイトだな。
Cocoon2自体は、ローテク同士の接着剤の役目を果たす。Webアプリケーションを
ごりごり作るというよりも、大量のコンテンツが並ぶサイトを構築するための
ものだ。
もちろん、ありがちなショッピングカートみたいなものを作るのも結構
簡単なんだが、それは他のソリューションでも同じように出来る。
Cocoon2が便利なのは、元ネタは殆ど同じなんだが、見せ方やら使い方が
色々で、しかもそれがべらぼうに多くて、という場合に、どんどん楽になる。
XSLTに対してすんなり入れるなら全然OKだろう。XMLのありがたみを最大限に
活かしてくれる枠組みという感じだ。
486 :
316 :02/10/22 13:30 ID:???
>質問その2
>Cocoonではどうやってロジックとデザインの分離を実現するの?(一応スレの内容に合った質問として)
まず、Cocoon2の肝はサイトマップという仕組みにある。
サイトマップの中でコンテンツごとにパイプラインというのを定義していく。
サイトマップ自体はXMLファイルだが、これを読み込んで動的に
Servletに変換してくれるというのが秀逸だ。
さて、サイトマップに書くパイプラインの簡単な例は、こんな感じになる。
<map:pipeline>
<map:match pattern="hello">
<map:generate src="hello.xml"/>
<map:transform src="hello.xsl"/>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
これはブラウザからURLに、
http://localhost 〜〜〜/helloと指定すると、
まず、hello.xmlというファイルを読み込んで、そこにhello.xslというXSLTを
適用し、最後にHTML形式に変換して返信するという定義だ。
487 :
316 :02/10/22 13:33 ID:???
ここで面白いのは、URLは何でもOKだということだ。 実体のファイルとは関係ない。 さて、元ネタが同じで、見た目だけ変更するにはどうするか。 この場合は、もうひとつパイプラインを追加して、適用するXSLTを別個用意すればOKだ。 <map:pipeline> <map:match pattern="hello2"> <map:generate src="hello.xml"/> <map:transform src="hello2.xsl"/> <map:serialize type="html"/> </map:match> </map:pipeline> これはサイトマップファイルに追記するだけで、on the flyでServletに なる。どうだ、便利だと思わないか(藁
488 :
316 :02/10/22 13:37 ID:???
しかし、これでは質問への答えになっていない。ロジックはどうするのか、という 問いだ。ここで考えてみて欲しい。コンテンツを生成するときのロジックとは 元ネタのXMLを動的に生成することだということだ。そこで、Cocoon2では XSPというものを使う。 <map:pipeline> <map:match pattern="hellodb"> <map:generate src="hello.xsp" type="serverpages"/> <map:transform src="hello.xsl"/> <map:serialize type="html"/> </map:match> </map:pipeline> こういう記述をすれば、XSPを実行できる。実行した結果、XMLがメモリ上に 生成されて、こいつにXSLTが適用されるという按配だ。
489 :
316 :02/10/22 13:40 ID:???
勘のいい香具師なら気付いたことだろう。 そう、これは分業が可能だということだ。 ダミーのXMLを用意しておいて、XSLTの作成をする奴と、 そのダミーのXMLどおりのものを生成するXSPを書く奴とで別個に 作業できる。 最後に、サイトマップで合体すればOKという風になる。 しかも、それぞれは普通のエディタだけで作業可能だ。もちろん XMLエディタや、DreamWeaverのようにXHTMLを書けるツールを使うことで 生産性をUPできる。
490 :
316 :02/10/22 13:42 ID:???
XSPのポイントは、決して見た目の中にロジックを埋め込んでいるわけでは ないということだ。あくまでも、元ネタとなるデータの生成にロジックを 使うわけだ。 それに独自タグは一切不要だ。何故なら、単純なXMLとXSLTをくっつけているだけだからだ。 昼飯を食うので、続きは後ほど書く。
491 :
316 :02/10/22 13:53 ID:???
さて、分業という点で言うと、 XSPプログラマ(M) XHTMLデザイナー(V) XSLTプログラマ(C) という分担が可能になる。XSLTはちょうどSQLプログラミングと同じような 感じだから、手続き型言語におけるプログラミングとは、また風情が違う。 XSPのロジックは、Javaで記述する。Servletになるのだから当然だな。 だからJavaで出来ることは何でもOKだ。
492 :
316 :02/10/22 13:56 ID:???
同じURLで、複数のUser-Agentごとに見た目を変更するのも簡単だ。
<map:pipeline>
<map:match pattern="hello">
<map:generate src="hello.xml"/>
<map:select type="browser">
<map:when test="imode">
<map:transform src="hello_imode.xsl"/>
</map:when>
<map:otherwise>
<map:transform src="hello.xsl"/>
</map:otherwise>
</map:select>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
このように、ブラウザセレクタを使って、適用するXSLTを変更することが出来る。
だからもう、
http://i. 〜〜やら、
http:// 〜〜/iなどとして、分離する必要はない。
493 :
316 :02/10/22 13:58 ID:???
もちろん、DBへのレコードの追加/更新/削除も簡単だし、 セッション管理や認証も簡単に実現できる。 大規模なサイトになれば、グループごとにサイトマップを分割して マウントという機能で連結させることも可能なので、個別に開発を 進めることもできる。
494 :
316 :02/10/22 14:07 ID:???
さて、重要な質問に答えなければならない。
>質問その3
>うちの職場は男しかいないんだけど、Cocoonを使って開発したらカワイイ新人の女の子が入ってくる?
まず、これまでの漏れのカキコを良く読んで欲しい。どうだろうか、女の子に
任せたい部分があるはずだ。そう、HTMLの作成〜XSLTのプログラミングだ。
ここは、見せたい数の分だけ作成する必要がある。もちろん、XSLTもファイルではなく
<map:transform src="
http:// 〜〜〜/hello_xsl"/>のようにXSLTを生成するServletを
作成して動的に生成させることも可能だが、これにも限度はある。
要するに、C/Sのシステム開発で画面周りをやる人足が一番必要となるように、
Cocoon2をつかった場合でも、画面周りの作成を担当する人間が多く必要となる。
しかし、得てして男のプログラマは、こんなところより、コードをがりがり書くことに
情熱を燃やしているはずだ。そこで、女の子の採用をする余地が生まれる。
幸いなことに、この不況のさなか職にあぶれている婦女子は多い。若い子もいっぱいだ。
そこにWebデザイナー募集初心者歓迎などと出せば、いっぱい集まってくるのは必然だ。
あとは面接して、好みの子を選べば良い。但しルックス偏重で戦力にならん奴を雇っても
それはCocoon2の責任ではないことに注意しなければならないという罠(w
495 :
316 :02/10/22 14:11 ID:???
もうひとつ注意点がある。初心者の女性には根気よく接してやることだ。 いきなり難しいテーマを与えて、ほったらかしにしておいて、出来なかったら 怒声を浴びせるなどというデリカシーのない行為は慎みたい。 残念ながらCocoon2はパブリッシングフレームワークではあるが、君の言葉の パブリッシングまで管理はしてくれないということだ。 Cocoon2はトランザクション系のWebアプリケーションも容易に開発可能だが、 その場合、簡単な画面をたくさん、という女性を必要とする状況にはなり辛い。 特に、コンテンツ数の多い、力作業の多い案件でこそ、女性の必要性をアピール可能だ。 だからこそ、Cocoon2を適用する案件は慎重に選ばねばならないのだ(藁
繭2を使って、DBアクセスする際の記述ってどうなります?
497 :
316 :02/10/22 14:13 ID:???
ちなみに、漏れは今Cocoon2でトランザクション系のシステム開発をしている(泣) まあ、しかし引き続き前回のメンバーでやっているので、チャンスはあるはずだ(w
498 :
316 :02/10/22 14:21 ID:???
>>481 自分でソースコードをハックすればいいだけだろ。サポートフィー払って
「仕様です」なんていわれるだけより、よっぽど早いし気が楽だ。
ワケワカらん外注のコード見て、ウンザリしながら書き直すよりよっぽど効率的だ。
俺は今や全部オープンソースで開発してる。金融系のクリティカルな部分だ。
結構実績もあるが、オープンソースだからということが理由でトラブったことは
一度もないぞ。
トラブルは全て自分たちの設計がまずかったり、要件定義がぶれていたり、とか
そういうものだ。そんなものは、自分で直すのが当然だよな。
人数も少なくて済んでいるので、顧客からも予算が押さえられたといって
喜んでもらってる。使う道具がどうだろうと自分の実力が変わるわけじゃないよ。
他人のコードを読む癖がついてない奴は、他人にメンテしてもらえないコードの
書き方しか身に着かないぞ。
それにな、困ったら誰かに助けてもらおうなんて最初から当てこんでるようでは
客にも部下にも上司にも舐められるぞ(w 女にももてないぞ。
心配するな。お前の書くコードよりは、オープンソースのブツのほうがよっぽど
しっかりしている(w そんな心配をするよりも、しっかりとアプリケーションの
設計をすることだ。
499 :
316 :02/10/22 14:35 ID:???
>>496 XSPを使う。XSPの中でも特にESQLと呼ばれている機能だ。
次のようなXSPファイルを作成すればよい。
<?xml version="1.0" encoding="Shift_JIS"?>
<xsp:page language="java"
xmlns:xsp="
http://apache.org/xsp "
xmlns:esql="
http://apache.org/cocoon/SQL/v2 "
xmlns:xsp-request="
http://apache.org/xsp/request/2.0 "
xmlns:xsp-session="
http://apache.org/xsp/session/2.0 "
>
<hoge>
<esql:connection>
<esql:pool>接続定義名</esql:pool>
<esql:execute-query>
<esql:query>
select * from テーブル名
</esql:query>
<esql:results>
<esql:row-results>
<esql:get-columns/> <== 全部の列をそのままの列名でタグ化するならこれでよい。
</esql:row-results>
</esql:results>
</esql:execute-query>
</esql:connection>
</hoge>
</xsp:page>
500 :
469 :02/10/22 21:05 ID:3vYtKYtk
>>316 さんすごい!
かなり興味湧いてきたYO!
WO厨のマンセーより具体的な中身があるから、明日会社でもう一度読み直してみるよ。
ただこれ以上Cocoon2ネタを続けるとWOの二の舞になりそうだから、
もし質問があればCocoon2スレに行くことにするよ。(そんなのあるのか?)
501 :
316 :02/10/22 21:44 ID:???
>>500 興味を持って貰えて嬉しいYO
漏れは過去レスにも書いたがWOで挫折してCocoon2に流れたが、WOはいいよ。マジで。
ただ可愛い女の子と一緒に仕事できる方を選んだだけだ(藁
Cocoon2スレは残念だが今はない。ので、立ててくれたら書けることなら書くYO
しかし、漏れが書いたことがCocoon2の殆どだ。あとは雑誌の記事や書籍などを
見れば殆ど判る。つか、Cocoon2のサイトは結構ドキュメント充実してるしな。
XSLTの面白さと相性が合うならCocoon2はお薦めだ(輝笑)
503 :
nobodyさん :02/10/22 23:22 ID:3vYtKYtk
316さんしつもーん > XSPプログラマ(M) > XHTMLデザイナー(V) > XSLTプログラマ(C) なの?ざっと読んだ感じでは、 > SiteMap定義者(C) > XSPプログラマ(M) > XSLTプログラマ(V) みたいに見えたんだけど。 J2EEの標準MVCとの比較で書いちゃうけど、 JSPみたいにViewを動的に生成するのがXSLTだと思うし、 Servletみたいに処理を振り分けるのはSiteMapなんだよね? あとCocoon2で開発を行うときに成果物になるのって、 SiteMap、XSP、XSLの3種類だよねぇ? XHTMLデザイナっていうのがいまいちどこに入るのか分からないんだけど。 勘違いしてるかな俺?
>>485-495 (・∀・)イイ!!
>>316 サン グッジョブ!!
漏れも仕事でXSLTとか使うことになりそうなので参考になるます。
505 :
469 :02/10/22 23:26 ID:???
Cocoonスレたてまつた
xiとかいう香具師はまだ出てこないのか?(w
507 :
316 :02/10/23 02:02 ID:???
>>503 すごくいい指摘だ。嬉しいよ。ありがとう。
さて、
> XSPプログラマ(M)
> XHTMLデザイナー(V)
> XSLTプログラマ(C)
というのは、ひとつずつのコンテンツを生成するところに関してだと思って欲しい。
例えばJ2EEだと、JSP・Servlet・Beanの組合せとかになるけど、それはつまり
ひとつのコンテンツを作るという意味だよね。
Sitemapは名前のとおり、サイト全体の地図、即ちサイト全体のコントローラなんだ。
まあFacadeとして考えればいいんだけど、Facadeの後ろに、さらにMVCがあるという
イメージで捉えて欲しい。
だから、サイト全体で考えると
Sitemap(C)
XSP+XSLT(M)
ブラウザ(V)
という風に考えればしっくりくる。Cocoon2は、ドキュメントにもあるんだが
正確には、Logic+Content+Style+Managementという分離が意識されているわけだ。
つづく
508 :
316 :02/10/23 02:03 ID:???
つづき だから、 >JSPみたいにViewを動的に生成するのがXSLTだと思うし、 >Servletみたいに処理を振り分けるのはSiteMapなんだよね? というのは正解なんだけど、それが全てではないってことなんだ。 >あとCocoon2で開発を行うときに成果物になるのって、 >SiteMap、XSP、XSLの3種類だよねぇ? >XHTMLデザイナっていうのがいまいちどこに入るのか分からないんだけど。 うん、実際にはXHTMLをXSLT化して利用することになるので、成果物は指摘のとおりだ。 しかし分業という点では、 XHTMLを作る→XSLT化する ↓ 並行してXSPを作る→Sitemapでガッチャンコ という風になる。このときに、デザイナにXSLTまで理解させようとすると、デザインが 複雑だったりすると大変になるので、あえて役割の違いを強調しているというわけだ。 但しこれは多分に漏れの主観なので、あんまり気にしなくても良い。 # 正確を期すならば、SerializerがVの役割を担っているというのがCocoon2の特徴だ。 つづく
509 :
316 :02/10/23 02:05 ID:???
つづき だから、 >勘違いしてるかな俺? まったくそんなことはない。その解釈は正しい。そしてそれはCocoon1が実現していたことだ。 そこにプラスアルファの小気味良い発想が加わっているのがCocoon2ということなんだ。 その発想こそがSitemapだ。コンテンツのコントローラとしてのXSLTとは別に、 サイト全体のコントローラとしてのSitemapというものが導入されたことで、 非常に分割統治が容易になったということだな。 要するにCocoon2は、少し毛色が違うということだ(笑顔)
510 :
316 :02/10/23 02:06 ID:???
>>505 お疲れ様! じゃあ続きはそちらにしよう。漏れも暇なときは出来るだけ
書くようにするよ。でも今から寝るけどな(w
>>508 >XHTMLを作る→XSLT化する
これって自動化は出来ないんでしょうか?
上のほうに出てたTemplateタグ入れて書いてツールと押すとXSLTに変換してくれるとか。
512 :
nobodyさん :02/10/26 14:07 ID:2YrLVkVE
>509 質問者じゃないが、とても参考になりました。 でも、ちょっと高度だなぁ。抽象化されすぎて、完成イメージが、 途中でわからなくなる。つまりデバッグが大変じゃない? (Javaを使うだけ以上に設計命だな。曖昧じゃ作業指示できない。) で、分業をまとめる際に、どこが尻拭いするかと考えると、結局、 ロジック作ってる奴なんで、ロジック以外は、できるだけ完成品に 近い方がうれしいなぁ。 デザイン主体のWebだと、逆に開発側がHTMLの構造(=デザイン)を 理解してないで、コード埋め込んでたりするし、ワークフローとして、 HTMLのデザイン用のコーディング工数も決して低くはない状況では なかなか・・・。 基本的には、業務システム系の開発用途なんでしょうね。 インターネットのWebでは、せいぜいStrutsがギリギリかなぁ。 ちなみに、POSTリクエストは、誰が値を受けて、どのように制御側に 渡っていくんですか?
513 :
nobodyさん :02/10/26 14:12 ID:2YrLVkVE
>512 あ、ちなみにデザイン側はHTMLだけで完結するように ワークフローなら、容易に女の子採用できますよ。 というか、うちはどの部も半分近く女性がいる。 システムのレイヤーが深くなればなるほど男率が上がるので、 HTMLとかJavaスクリプトなどの上位レイヤーをいかに生かすか? がポイント(w
繭2もよさげなんだけどな、ちょっとめんどいな。作業自体が。 漏れはWOでいいや。DB->Webのドラッグ&ドロップがやっぱり楽。
515 :
316 :02/10/26 15:43 ID:???
>>512 まあCocoon2は複雑なWebアプリケーション向けではないってことで
理解してもらえるといいかと思う。漏れはCocoon2好きだが決して
万能だとは全然思ってないよ。
POSTでの値の受け渡しはどうも駄目らしい。上手くいかない。
GETメソッドOnlyだ。
516 :
316 :02/10/26 15:51 ID:???
>>514 WOで生産性が出てるなら、Cocoon2に乗り換える必要はないと思うよ。
同様にASP.NETもそうだと思う。
XML+XSLTの組み合わせに萌えられる香具師でないとCocoon2は向かないと思う。
逆に、この辺の味を知ってしまうと、普通のRAD環境よりもむしろ楽に感じる
ようになれると思うよ。
Cocoon2に限らず、XSLT + DOMってのも、コンテンツ生成 によく使うと思うんだけど、XSLTをGUI的に構築できる 安価なツールってないもんですかね。 出力結果は、(X)HTML,SVG,SMILとかバラバラだから、 特定の規格に依存されるのも困るんだけど、かと言って、 汎用的すぎて難しいのも困る。(ワガママでスマソ)
518 :
316 :02/10/26 19:30 ID:???
519 :
517 :02/10/26 21:14 ID:2YrLVkVE
>518 XML SPYは以前、評価版をインストールしたことがあったが、 グラフィカルなタグの構造エディタが、ちょっと辛くて、 イマイチ感だったんだが、きっとViewの設定変えれば問題 ないだろう。 XSLTのステップ実行って、すげーよさそうだな。 東芝ITも良いソフト釣ってきたね。 正直、漏れの語学力だと日本語版は必須なので、 日本語版ちょっと会社で買ってもらおうかなぁ。
520 :
nobodyさん :02/10/28 00:24 ID:PgJcPGqE
良スレage
>>316 の熱心な説明がイイ!
長いのでこれからじっくり読むんですけどね(w
どうしてXSLTでデザインしたがるんだよ
そこにXSLTがあるから
CSSを適用した時点で初めてデザインなのではと小一時間…
「デザイナーさ〜ん、 <%〜%>とか<?〜?>で囲まれてるところは いじらないでくださいね〜」 これでいいジャン
526 :
nobodyさん :02/11/08 23:22 ID:bvtho0Sy
そもそもロジックを書くための言語で すべてを網羅しようとするからまずいわけで。 ブラウザベースで完璧なMVCを 実現するために、ロジック、コントロール部分は Java or .NET。ビューにFlashMXはいかが? Java,.NET以外とFlashMXを連携させるには HTTPメソッド渡しorXMLソケット通信になっちゃうけど、 とりあえず最低限XMLパースができる言語なら 何にでも繋げる。 問題はパッケージが高いのと、 コーディングができて、かおかつFlash使いな 人が圧倒的にが少ないこと。 なによりいまだに単なるアニメーションツールと 思ってるひとがあまりに多いこと(`д´)
527 :
nobodyさん :02/11/09 03:45 ID:/vywmaeo
>>526 UIでスプレッドシートが出ればいいんですが・・・
>>526 webブラウザの戻るボタンと相性が悪いことが問題になって採用できない。
>>526 で、例えばFlashつくる時の
デザイナーとコーダー(script)の住み分けはどうなるのかって話しだが…
530 :
316 :02/11/09 08:39 ID:???
>>526 俺もFlashMXは使ってるYO。これはいいよね。Cocoon2と組合せの相性が
悪いのが残念なんだが(w
>>527 UIコンポーネントはMacromediaのサイトでも追加の奴が出てるし、
海外だと結構あちこちを見たら色んな人が作ってるので探してみるといいよ。
スプレッドシートそのものずばり!っていうのは、俺も見たことないけど。
Gridは意外とあったりする。UIコンポーネントセットの3にも入ってるよ。
>>529 そうなんだよね。結局Flashだと普通のアプリケーションと同じようになるんだが
そこでMVCをやるとして(オブジェクト指向でコードを書くのはFlashだと問題ない)
デザインをどう分離するかというのは、結構最初から意識的にやらないと駄目だね。
MXからスキンが使えるようになったといっても、デザイナがそれを使いこなせるか
どうかという問題もあるし。このスレの主旨から見たら、FlashMXのほうが難しいって
ことになるかもね。
まあ、Cocoon2がPOSTもさばけるようになってくれれば、俺はFlashMXと
組み合わせていくと思う。あるいは、FlashMXはGETも送れるようになるか、だな。
Cocoon2は次の2.1からXMLFormってのが付くらしい(まだ試してないけど)から
連携も期待できそうなんだけどなー。
531 :
nobodyさん :02/11/09 10:31 ID:G2RRu86e
>530 ん?GET送信? getUrl("URL?" + 引数ならべる); で、できるが?・・・ということではなく?
532 :
nobodyさん :02/11/09 10:35 ID:G2RRu86e
>528 戻したい状態を、JavaScript経由でhiddenフィールドに記録 しておいて、戻ってきたときにイニシャライズして戻すんじゃダメ? XMLでオブジェクトの内容をシリアライズしとけば、あらゆるデータも 簡単に元に戻せるような気も。
533 :
316 :02/11/09 10:53 ID:???
>>531 あ、スマソ(^^; XMLオブジェクトを使いたいんだ。
XML.sendAndLoadでFlashMX側のデータをXMLにして送信して、
結果をXMLで受け取りたいんだけど、Cocoon2側が上手くいかないんだ。
やろうとしていること自体が無理やりっぽいんだけどね。
誤解を招くようなことを書いてすまん。
534 :
nobodyさん :02/11/09 12:56 ID:R2X/ruI/
フロントエンドとしてのFlashってことで、 VB屋→フラッシャーってことにはならんのかしら?
535 :
316 :02/11/09 14:44 ID:???
>>534 flasherって露出狂って意味もあるらしいYO(w
そうやってなんでもかんでもDirectorでオーサリングって鬱な状態だったようになってくわけだな。
537 :
nobodyさん :02/11/13 02:40 ID:lyGK0s6H
smartyの日本語マニュアルっていつのまにかUPされてたYO!
538 :
nobodyさん :02/11/15 00:25 ID:S+b5MeEl
>>538 それって、XHTMLの関連じゃないの?
だれか教えてクレヨン
540 :
nobodyさん :02/11/15 01:40 ID:YHq6gw+g
>>538 スゲー率直に感激だす。
身障者の役に立ちそうな予感半分、
Javaアプレットの2の舞いになりそうな予感半分。
543 :
nobodyさん :02/11/15 11:18 ID:C/KAghw3
XSLTはあくまでもTransformationsなんだからスタイルとは関係ない気がするが XSLがちゃんと決まるのを待つかHTML側でCSSを使うのがいい気がする と、過去スレ全然読まずに発言
私は、XSLTはスタイルシートではなくて、 スタイルシートに変換するために使うためのものだと思い込んでました。
私は、XSLTはスタイルシートではなくて、 XSLスタイルシートに変換するために使うためのものだと思い込んでました。 と、同じくてきとーに発言。
546 :
316 :02/11/16 10:43 ID:???
>>538 XForms面白そうだね。対応ブラウザの普及がポイントだね。IEが対応すれば
一気に広まると思う。そういう点では
>>540 のいうとおりかもね。
Cocoon2が次の2.1からXMLFormsっていうXFormsのサブセットを実装するらしいので
気になってたんだけど、取り敢えず
http://www.x-smiles.org/にJavaで実装された XFormsのブラウザがあるので試してみた。まだDemoを触っただけだけど、
かなり便利そうな感じだね。可能性をすごく感じるよ。ちょっと雰囲気を感じるには
ちょうど良いブラウザじゃないかな。早く本格的に対応したブラウザが普及して欲しいな。
547 :
316 :02/11/16 10:58 ID:???
548 :
538 :02/11/16 22:24 ID:bimmYP4K
>547 Thanks! 見てみたが、サーバーサイドで実装すれば.NETのWebFormsの 対抗馬になりそう。だれかStrutsあたりで実装しないかな。
>XFormsではこの問題を解決するためにXMLを利用して
550 :
山崎渉 :03/01/16 04:01 ID:???
(^^)
551 :
山崎渉 :03/03/13 17:27 ID:???
(^^)
552 :
nobodyさん :03/03/31 20:10 ID:QM3ujWpw
同じファイルを複数の人間がネットワーク越しに修正できる アプリケーションやらってないだろうか? 例えばWEBアプリを作った場合、プログラマがプログラムファイルをいじり デザイナがテンプレートファイルをいじるという分業があったとして、 でもプログラマもテンプレートファイルをいじりたい。という事がある。 しかも、プログラマはWIN、デザイナはMACだ。 この場合、最悪2種類のテンプレートファイルが出来ちゃう。どれが デザイナの最終で、どれがプログラマの最終かグチャグチャになってしまう。 というかイチイチ、プログラム上の仕様の変更、変数名の変更とかを伝える のがメンドウなのだ。 ならば、ネットワーク越しにファイルを開いて、どちらか一方がファイルを 開いている時はロックされて、開いている人間以外は開くことはできない。 なんて事はできないしか?うーん、ながい割にダメな文章だ。
553 :
nobodyさん :03/03/31 21:53 ID:ilCndFdq
Zopeとか? でなくても、WebDAVやCVS等。すでに存在するよ。
>>552 プログラマとデザイナのやり取りが面倒だとか、
2種類のテンプレートファイルが出来ちゃう時点で
あなたの所は良い仕事してない様に思えるんだが。
>>554 現場でよくある出来事を理解できず、
かつ対策を提示できない時点で
脳内決定のように思えるんだが。
回答:
デザイン、ロジック全部一人でできる香具師を雇う(w
>>554 >>55 そうなんだよねぇ。たすかに。
でも小さな会社でプログラマは漏れ一人、割合として
デザイン面の意見が強い会社だから、こっちの都合が
なかかなわかってもらないのよ。まぁ、グチだよsage。
>>555 webDAVやCSV調べてみます。
557 :
nobodyさん :03/04/01 17:10 ID:/g5xVQFz
最近のAdobeのソフトならほとんどWebDAVに対応してるし、Photoshopには
WebDAVサーバもおまけで付いていたような気が。
>>556 CSVじゃなくてCVSだ。
558 :
nobodyさん :03/04/03 06:26 ID:+kJBCXqS
こんどのWEBアプリでかわいいデザイナの女と 組んで仕事をするのですが、どうにかその女を モノにしたい。目標は会議室で打ち合わせと称して Hすることです。 プログラムとデザインを分離しながらプログラマと デザイナを結合するよい方法を教えてください。
559 :
nobodyさん :03/04/03 09:19 ID:2WKtDWUA
>558は何が言いたいのだろうか
∧_∧
( ´_ゝ`) ∧_∧
/ \ ( ´_ゝ`) 違うよ兄者、
>>558 なりにボケたんだよ
__| | | |_ / ヽ、 自分では面白いと思ったんだろうね
||\  ̄旦 ̄ ̄ / .| | |
||\\ 旦 (⌒\ |__./ ./
|| \\ ~\_____ノ|
. \\ _______\
. \|| ____|| /
. || ̄ ̄ ̄|\____\ / ふかわりょうさんの登場でーす
. || | |======== | \
_| |oo======= | \
|\\|_____|\
| | ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| | 有田みかん |
\|_______|
560 :
nobodyさん :03/04/11 00:41 ID:hGn26AzJ
age
562 :
山崎渉 :03/04/17 12:07 ID:???
(^^)
563 :
山崎渉 :03/04/20 06:25 ID:???
∧_∧ ( ^^ )< ぬるぽ(^^)
564 :
FUCK :03/04/20 23:34 ID:eU24UeFo
それぞれを扱うクラスをつくって、それらに集約するしかないんじゃないの〜? そんでもって、メッセージ通信。ぬるぽっす。
このスレまだあったんだ。 この前見たCGI配布サイトで、プログラムとデザイン分離するソース配付してた。 たしかperlとphpの両方配付してた。 どこまで使えるのか知らんが、使ってる人射たら感想聞かせください。 そのサイトだったか忘れちまったのが痛いとこだが。。。
566 :
WebObjectsの稟議が通らない人 :03/04/21 11:27 ID:T7HiW0bs
Struts どーよ? かなり分離度高いと思うが。
あぼーん
あぼーん
あぼーん
???
571 :
フランキー :03/04/28 13:57 ID:J9EFSzNK
>>552 :nobodyさん
>>同じファイルを複数の人間がネットワーク越しに修正できる
〜snip〜
>>というかイチイチ、プログラム上の仕様の変更、変数名の変更とかを伝える
>>のがメンドウなのだ。
これって、HTMLファイル内にコンテンツもデザインコード
(CSSなど)もプログラムコードも混在させちゃうという
既存のスクリプティング環境の仕様そのものが引き起こし
てる問題だと思います。
私は(ここの先達とはちょっと毛色の違う開発者ですが)
4th Dimension(
http://www.4d.com/ 、
http://www.4d-japan.com/ )
というのを押します。
このソフトなら、HTML内に挿入する独自タグやコードは
最小限で済みます。(量的にはColdFusionより更に少ないと思います。)
プログラムコード本体は、別ファイル(実はデータベーススキーマファイル)
にまとめて保存します。
あぼーん
574 :
nobodyさん :03/05/19 15:22 ID:RBFDZgJt
よくホームページとかである、背景にうすい画像が設定されているものが ありますけど、あれって、ウィンドウ付属のペイントソフトでも作れますか。 どうやってつくってるの?
あぼーん
コンテンツと html&css の分離を
HTML::Template もとから入ってなくて、シェル開放してなくても pmファイル入れるだけで使えるなんて今ごろしったよー(泣)
578 :
山崎渉 :03/05/22 02:00 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
>>574 板違い。
Web製作管理あたりで探せ。
580 :
nobodyさん :03/05/22 19:54 ID:VbbgRC8B
HTML::Template 昨日から使い始めてるんですが、 普通、テンプレを決めてから、プログラムにとりかかります? それとも、ある程度プログラム中でprintしてから、ある時点でテンプレを作ります? みなさん、どっちなんでしょ? 自分、前者のほうがいいとおもったのですが、 今日、最初にテンプレ作ってたら、 ダブルのループと条件分岐 (<TMPL_LOOP NAME="LOOP_NAME"> </TMPL_LOOP> のネストと、 <TMPL_IF NAME="CONTROL_PARAMETER_NAME"> </TMPL_IF> )をつけざるをえない状態になって、 テンプレがスパゲッティ状態になりそうだったので、結局 HTML::Template 使わずにperlの中ですませてしまいますた。。。 なので結局、後者の方がいいのかなと思ったり。
>>580 HTML::Templateは連携のためにあると思えよ。
Perlはできるけどデザインはできない人間と、
デザインはできるけどプログラムは出来ない人間が、
組んで一つのサイトを運営するような時のためのものだろう。
理想は前者だろうけど、デザイン担当者にスキルを要求できるなら、後者でもいいんじゃないか。
俺はそんな状況に出くわしたことはないけどな。
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
その時、むつきの忘れられていた記憶がよみがえった。 むつき 「実は…」 チトセ 「なんだよ」 むつき 「あなたは私が九歳の時に産んだ子供だったんだよ!」 チトセ 「な、なんだってー」 (ありがち
正直すまんかった。 |アニオタ板| λ......
585 :
nobodyさん :03/10/30 00:33 ID:MsIzuyZ0
テンプレートファイルとプログラムファイルが別のディレクトリに ある場合、テンプレートファイルで相対パス指定をしてると おかしなことになってしまいますが、皆さんはこのような場合 どのように対処してますか? baseタグだとhttpから始まる絶対パスで指定しないといけないので、 サイトのURLが変わるとめんどくさいんですよね。 あと、baseタグってパス指定するすべてのタグに適用されてしまうので、 imgタグのみにしたい(aタグには適用させない)とかもできないですよね。
遅レスだが……
>>585 前半部分。そうならないようにうまく作る。当たり前だろう?
後半部分。それもうテンプレートとか言うより、HTML仕様の話なので板違い。
>>581 HTML::Templateって、htmlのコメント形式にできるでしょ?
<!-- TMPL_LOOP NAME="LOOP_NAME" -->みたいに。
だから、とりあえずロジックだけちゃんとしてる(デザインはてきとーな)テンプレートつくって、
デザイナーには、「コメント部分はさわるな」といって、ここはループするからtr1つだけでいいかな
とか言えばたいてい理解してくれる。
やっぱPHPにしろASPにしろJSPにしろ、次第にXMLだけ吐くようになってくるんじゃ? そんでデザイナはHTMLだけという考え方から、次第にXML、XSLTの知識が必要な方向へと。 そして次世代型セマンティックウェブへ。
夢は夢として、 現実問題としては目の前のデザイナーにどうわかってもらえるか? かなw
デザイナーと言う人種は、 何かを理詰めで理解しようとする姿勢がハナから欠けている場合が多い。 まあ、これは俺のそうたいして多くもない経験からなんだが。 HTML作らせても、本当にヅラだけ整えて、ソースは統一感がなかったりする場合が多い。 ツールに頼りっきりだから。 EUC-JPで作ってくれと言っても、意味がわからずS-JISで作って来て平気な顔してる。
591 :
581 :04/02/12 22:50 ID:???
>>588 俺の知識が甘いのかも知れないが、そんときは遠慮なく言ってくれ。
XMLをブラウザにわたし、そのXMLに従ってブラウザがXSLTをダウンロードし、
クライアントサイドでXMLを整形して表示する、んだよな?
転送量は増える一方なのか?
転送漁っていう概念がなくなるんじゃない?
>>591 ApacheにCocoonを組み込めば、自動でUserAgentを判別し、サーバーサイドでXSL変換してHTMLで返してくれる。
XSLデザイナーさん育つまではテンプレート
>>594 教育しないと育たないに一票。
教えない限りデザイナーはXMLの利便性に気付かないだろうし、
教えても理解できない可能性もある。
デザイナーをプログラム的な観点から教育するというのはどうだろう。 教えたところで、それはプログラム側の都合だからね。 彼らが使っているツールがXSLTに対応してくれればそれだけいいよ。 デザイナに何かを教えるのには疲れ果てました…
テンプレートや XML のメリットではなく、 デザイナーのメリットを説明するとうまくいくかな。
>>597 デザイナーにとってのメリットね…
あるの?w
使い慣れたツールが使えなくなるという デメリットしか思い浮かばない…
つかデザイナー人種の労力とか無駄に対する無関心に腹が立つ。 サイトのデザインを変えようとすると、 何のためらいもなく全てのページをツールで一つずつ開いて修正していったりする。 ヴァカかと。アフォかと。 プログラマーに言わせれば(デザインそのものの質は別にして) テンプレートをちょこちょこいじって再生成するだけの作業を、 無駄に時間と労力をかけて疑問に思わない感覚が信じられない、んだよな。 ……常に仕事のやり方を見直して随時改善していくと言うのは、 社会人にとって必須の素養だと思ってたんだが、そうではない人種もいるってことなのか。
>600 しょーがないと思う。HTML自体にインクルードって概念が事実上ないんだもん。 フレームという手はあるけど、同じ見た目を実装するんならフレームよりテーブルが 好まれる希ガス。 (SSIの#INCLUDEはあるったって、あれでページを分割して……なんて聞いたことないし)
……なんか微妙にかみあってない気がする。
> HTML自体にインクルードって概念が事実上ないんだもん。 よーし、パパ iframe 使っちゃうぞ〜。 ……ってことを実践してる現場を見たことがある。
現在Classic ASPでサイト作ってるが、テンプレートをどう書くか、の例として ・Classic ASPそのまま(それテンプレートじゃねーだろってツッコミはご勘弁) ・Perl HTML::Templete風 ・Velocity風 中身はいずれも九九の表を出すってのを書いて見てもらった。 (HTML::Templateだけ、九九計算のロジックがないけどそれはそーゆーもんなので) で、 ・ASP - 「デザイナーさん、これで慣れてるし」 ・HTML::Template - 「これじゃ表の行数列数をデザイナーがいじれなくて困る」 ・Velocity - 「……(あまりにHTMLとは異質な表記にポカーン。意味は理解してたが)」 以上、上司の感想。 いずれサーバサイドJavaとかPHPでのサイト構築も、と言ってるが Model-Viewの分離は遠そうです、姉さん。
HTML::Templeteって、 最後に、 # テンプレートを出力 print $template->output; するので、cgiになるかと思うのですが、 これを、「HTML::Templete」をハックしてもいいので、 (指定したファイル名で)静的なhtmlファイルを生成することはできないでしょうか?
606 :
nobodyさん :04/02/28 21:57 ID:BQeG9529
>>605 頭かてえなおい。
open ( OUT, ">$filename" ) or &error ( "Can't open $filename!" );
print OUT $template->output;
close ( OUT );
607 :
605 :04/02/28 22:05 ID:???
>>606 おおー、ありがとうございます。
頭たしかにかてーなー。
いつもコピペでこれつかってたもんで、理屈ちゃんと考えてなかった。
さんくす。
Template-Toolkitはどうでしょう?
>>608 HTML::Template に比べると重かったような気が。
前にベンチ取ったけど、データどっか行った……(;´Д`)
なんかよく分からないけど、cssで片付く話じゃないの? それか”コンテンツ”って画像やリンク先もXOOPSのように 自動リンクで更新するような感じ? 俺はデザイナー(ちょいプログラムかみ)なんで 基本的にソースが汚くなるのは嫌う。 (さっきもXOOPSの改造していたが、汚すぎて辛かったw
css で 一覧表のTABLEの自動生成とかできればなー
>>608 ・オブジェクト指向とマッチしてる
・フィルタを多段でかけられる
・余計な改行の出力を抑えられる
>613 不勉強でTemplate-toolkitって知らないんだけど >・余計な改行の出力を抑えられる これって、生成されたHTML試しに見るとき、素のテキストエディタじゃ辛くないか?
>>614 テンプレの可読性を保ちつつ、出力結果に影響を与えないようにできる。
たとえば、 site の配列の sites を以下のようなテンプレに渡すとする。
site はハッシュでもオブジェクトでも。
[% FOREACH site = sites -%]
<a href="[% site.url %]">[% site.name %]</a><br>
[% END -%]
タグを -%] で終わらせると改行の出力を抑制するので、
<a href="
http://foo.example.com/ ">foo</a><br>
<a href="
http://bar.example.com/ ">bar</a><br>
のような出力結果になる。
これをしないと前後に空行が入って HTML が読みにくい。
>614 ほう、なるほど。確かに「余計な」改行が入らなくて(・∀・)イイ!!ね。 ご教示dクス。
Template::Toolkitは本当に使いやすい。 プラグインもいっぱい。 例えば、HTML::FillInFormとかもサポートしてる。 条件文なんかも豊富。 HTML::Templateには戻れないなぁ
>>617 > HTML::Templateには戻れないなぁ
うう、、いいなあ。。。
テスト機ならオッケなのに本番機だと(レンタルサーバ)
Perl 5.005 required--this is only version 5.00404,
stopped at lib/Template/Exception.pm line 28.
HTML::Templateから離れられないよー(ノ_・。)
なんとかせーよ、このperl-のバージョン。。。
/home/hoge/lib/perl5.8
とかインストールする方法ないんだろか…
>618 鯖変えれ……ってのは言っちゃ(・∀・)ダメ?
620 :
nobodyさん :04/05/12 17:20 ID:nHfzOwYe
わかった! プログラマがかっこいいデザインを自動生成してくれる プログラム組めるようになればいいんだよ!
621 :
nobodyさん :04/05/14 21:39 ID:VmfHfb+1
622 :
nobodyさん :04/05/14 22:00 ID:wuplD7xZ
|ハ,_,ハ |'A` ';/^l |u'''^u;' | |' A ` ミ ダレモイナイ・・・ | ⊂ :, マンドクセ スルナラ イマノウチ | ミ | 彡 | ,:' |''~''''∪ l^丶 マンドクセ | '゙''"'''゙ y-―, ミ ' A ` ,:' (丶 (丶 ミ (( ミ ;': ハ,_,ハ ;: ミ '; 'A` ';, `:; ,:' c c.ミ U"゙'''~"^'丶) u''゙"J /^l ,―-y'"'~"゙´ | マンドクセ ヽ ' A` ゙': ミ .,/) 、/) ゙, "' ´''ミ ハ,_,ハ (( ミ ;:' ,:' 'A`'; '; 彡 :: っ ,っ (/~"゙''´~"U ι''"゙''u
>>621 つかOperaで見ても違いがわからんのだが
まぁ馬鹿は放って置きなさいってことだ。 オナニーサイトで宜しくやってるんだから。 IEが糞なのには同意だが一般人を敵に回して商売はできない。 現実ってこんなもん。
そもそもスレ違い
デファクトスタンダード>>>>>>>机上の空論
売ってあるフレンチドレッシングは何故分離しないの?
>628 漏れが買ってくるフレンチドレッシングは一度も分離*しなかった*ことがないが。 てか「フレンチアドレッシング」に見えたよw
マヨネーズは実は大量のサラダオイルを使っていますが 卵黄に含まれるレシチン(乳化作用がある)のおかげで分離しないのです。
633 :
nobodyさん :04/05/30 09:23 ID:fQGfuOKk
634 :
nobodyさん :04/07/26 14:04 ID:kJ9CVHSs
ホシュ
635 :
nobodyさん :04/09/06 10:43 ID:BK05bZr2
PHPのテンプレートエンジンってどんなのがあるの?
>>600 そういえば全く関係ないけど、Excelを使って、
セルの統合やセル幅を調整して、
図形描画を使わずに組織図を作っている人がいた。
なんと、人の関係を示す線はセルの罫線。
それで朝の午前1時まで残業してたを見ると泣けた。
他にも、Excelに入力された電子メールを、
1つずつメニューからコピー、Outlookのメール作成画面、
こちらもメニューからペーストを選択して貼り付ける。
さらには、Excelでチェック表を作るのに
まる、まる、まる、と何回入力していることか・・・
もうね、馬鹿かと、アフォかと。
結論:一般人は効率を考えない。
そもそも、何かを改善していこうという意欲がない。
おまいらも一般事務職に就いたらヒーローだぞ。
641 :
nobodyさん :05/01/03 15:08:27 ID:39aQ7Faj
しかし、プログラマという人種は、俺も含めて、「楽するためには労力を惜しまない」のが普通だが、 一般人はそうじゃないらしいぞ
>641 トヨタの「カイゼン」なんかは、お題目だけ見れば「楽するために頑張ろう」っぽいけどね。
643 :
nobodyさん :05/01/03 20:25:49 ID:GSRyV4Gf
smarty使って掲示板作ったやつをシェアウェア(商用)で配るときって smartyをいっしょにLZHにして配布したらライセンス違反?smartyは 別にすればOKなんですか?
>>641 あーわかるわかる、俺もまさに楽するためには労力を惜しまないなあ。
でそれがしばしば本末転倒になると…
Introverted(89%) - Sensing(22%) - Thinking(33%) - Judging(1%)
あなたのタイプ: ISFP(作曲家/職人系) 【詳細】 (%が大きいほどその度合いが強いことを意味します) 内向Introverted(22%) - 感覚Sensing(1%) - 感情Feeling(33%) - 知覚Perceiving(33%)
649 :
nobodyさん :05/01/08 13:42:40 ID:piH9Z8Et
652 :
651 :05/01/22 10:17:31 ID:???
今、再度ググったら簡単に見つかりました スマソ
653 :
nobodyさん :05/02/11 12:55:44 ID:etPJ1t5F
あげー
Smartyじゃだめか?
ほかのもためしたけど、Smartyがベストだと思う。
>>655 マジ?あれのどこがよいのかさっぱりわからん。
Smartyつかうくらいなら素のPHPスクリプトで十分じゃねえか?
Smartyでかすぎ。もっとコンパクトにしる
php -w smarty.class.php > smarty_compact.class.php
659 :
nobodyさん :05/02/14 01:02:37 ID:fzJwBWF6
>>658 確かにファイルサイズは半分になったが、、、
コンパクトだと あれもできない これもできない になるから Smarty くらいが 丁度いいと思うよ。
そうでもない
663 :
nobodyさん :05/02/23 09:14:08 ID:OrWqFsfq
StrutsよりもTapestry
664 :
nobodyさん :05/02/23 09:56:17 ID:5HyLwVaX
XSLはデザインしてくれるわけでなくてJCL程度のダサいもんなんでつね。 Cascading Style Sheet って使いやすい?
しかし4年近く前から続いてる話題で未だ標準的な解がないというのも…。 そんなに根の深い話なのか?
プログラマとデザイナの間には 深くて暗いk(ry
そして気持ちいい(ry
大きくなれよ(ry
デザイナがSmartyのタグ覚えられないからいやだって言います。
俺は教えてません。一から教える暇が無いので・・ マニュアル送ってこれ覚えてねって言ってあります。
デザイナーの作ったHTMLにプログラマが必死でSmartyタグを書き加えて回る というのが普通だと思ってたのだが、違うのか?
それテンプレートエンジン使う意味無いじゃん・・
お前等ってデザイナにSamrty用のテンプレートの書き方まで教えてるの?
教えたよ(過去形)。 半日で集中して説明して 2, 3 日は細々とフォローして 1 週間くらいはぽつぽつ質問を受けて 1 ヶ月もあればバリバリ書けるようになってるね。 今は新人がきても教育はデザイナたちがしてくれるのでノータッチ。
Velocityのサイトに、デザイナもすぐに覚えたとか書いてあるのは誇大広告?
まあデザイナのレベルにもよる
うちはデザイナはおろかプログラマでも無理 もうだめぽ
社内にデザイナが居ない
悲惨なところが多いな
HTMLタグを解さない人間や、CSSはツールが自動的に作る物だと思ってる人間でも
Webデザイナーだったりするからな。
>>681 CMS使ってお茶を濁す。
684 :
nobodyさん :皇紀2665/04/01(金) 22:27:47 ID:w41uHyAk
.
今日とある携帯サイトがバグって思いっきりサーブレットの例外が出ててワロタんだが Tapestory使ってたよ 実用で使ってるとこもあるんだなぁ。てかあんまし分かってないがTapestory。
テンプレート使うなら、どうしてもループの概念ぐらいは必要だしなあ。 「横4列x縦n行で商品画像を並べて表示」みたいなのが鬼門。こういうのにまともに 対応できるデザイナーは少ないね。
それって、いつも思うんだけど 設定ファイルか何かでカラム数を設定しておいて、予めプログラムで回しながらフラグ立てて置くのと テンプレートの機能駆使しながらカウントしつつカラムつけるのどっちが効率良いんだろうか。
688 :
686 :2005/04/03(日) 16:02:51 ID:???
>>687 例えばPerl のtemplateToolkit なら、テンプレートに二重ループ書いておいて
(→ [% FOREACH %] <tr> [% FOREACH %] <td> </td> [% END %] </tr> [% END %] )
同じく二重構造のリストを引数で渡してやればOK
(→ [ [ item1, item2, item3 ,item4 ], [ item5, item6, .item7, item8 ] ] )
でもそれだと、テンプレートには行も列もひとつしかないように見えるので、デザイナー
が混乱する。で、コラムを付け加えちゃったり、横幅の指定がおかしくなったりして残念な結果に。
>>686 div.product { width: 25%; float:left; }
>>688 テンプレートの構造に依存してデータ構造を変えるっていうのは考えもん。
デザインが変更でカラム数が変わったら使えなくなる。
690 :
nobodyさん :2005/07/13(水) 11:36:58 ID:4YoqWe3k
hosh
691 :
nobodyさん :2005/07/13(水) 13:32:12 ID:JaaneMSy
TTはいいあれはいいものだ
TTオライリーの日本語版が欲しい
TTってperlのtemplate toolkitのこと? オライリーから出てるperl関係の本にちょこっと載ってなかったっけ? で、template toolkitって、phpでいう所のsmartyって感じ? もっと良いもの?
template-toolkitのことです。 かなり奥深いんでもっと突っ込んだ内容の本が欲しいですねぇ。 基本的にsmartyと同じですがTTの方が基礎がしっかりしてて論理的に ちゃんと作ってあるって感じがしますね。
template toolkitの洋書がオライリーから出てんだね。 流石オライリー オライリーには翻訳してもらいたい物が沢山あんだよね〜〜
perlのSmartyクローンってないでしょうか?
698 :
nobodyさん :2005/11/12(土) 18:37:50 ID:+mfMPo2s
age
ざっと調べた感じではSmartyクローンは存在しないみたいだね。 簡単なテンプレートだったら自分で変換プログラム作ってTT使うのがいいのでは
700 :
697 :2005/11/12(土) 23:21:56 ID:???
自分はPerl使いたいんですが、デザイナがDreamweaver使ってる関係上、 Smartyがいいんですよね。 自分であんまり調べてないんでアレなんですが、キャッシュとかそういう 細かいところ考えなければ、そこまで手間かけずにできそうですね… ところで、 Smartyのキャッシュってのは、要はそのまま実行できるPHPコードに 落としたってことなんでしょうか?それとも、もっと工夫とかしてるんで しょうか? 識者の方、たのんます
>>700 DreamweaverってSmartyのテンプレートを認識する機能があるの?
>>702 ありますよ。デフォではないけど、ファイル落としてきて設定できます。
あと、極める PHP とかいう本に DW のテンプレート (*.tpl) を Smarty のプレフィルタ通して
そのまま使う方法が紹介されてたと思います。
>>697 > 自分はPerl使いたいんですが、デザイナがDreamweaver使ってる関係上、
> Smartyがいいんですよね。
遊びならそういう考え方でもいいけどね、仕事ならデザイナに合わせるか、
デザイナに合わさせるか、どっちかにしなさい。
?
デザの主張ですから
コンテンツとデザインの分離なんて夢物語だったんだよ…。
ロジックの成果物がコンテンツだろ。こだわるない。
つまりデザインからデザインを分離したいスレだったと言うわけか
コンテンツの提示・操作するインタフェイスがデザインだよ。 お前なんてテンプレートエンジン使ってテンプレートで満足しときな。
いや、無知なら無理せずだまっとけばいいじゃん
コンテンツとデザインの分離と聞いて思い浮かぶのが、 HTML(コンテンツ)とCSS(デザイン)。 でも、板的にこの解釈は違うよなぁ
HTMLをまったくの修正無しにデザインを変えられたら、 コンテンツとデザインが分離されていると思うが、 実際は、CSSでデザインするために、divで囲ったり、 classやidを指定したりとHTMLを修正するのが現実。
結局そこまでしてもHTMLで文書構造を記述してる奴なんて居ないしな。 ただ単にH1とか文書構造を記述するタグを使わなくなった奴が増えただけ。
>>716 そういうの見ると、CSS の限界を感じるな。
確かに。いくつか見てみたけどやたらと独善的なデザインが多いというか…、 よくあるBlogのデザインを超えれない感じ。 まぁ、Blog自体がデザインをCSSでやってる感じだからあたりまえっちゃあたりまえか。
719 :
メソドロジスト :2005/12/31(土) 23:24:10 ID:8280SbsE
オブジェクトブラウザを使えばいいじゃない サーバ側はオブジェクトDBで表示(表示せず検索だけっていうのもあり)はクライアントに任せる
720 :
nobodyさん :2006/01/01(日) 00:54:46 ID:WHqdtVTb
>>718 Zen Gardenが先でBlogツールのデザイナーが真似してるんだが…
>>713 コンテンツは何らかの DB でデザインは HTML + CSS という考え方も
この板的には可能だと思うけどね。
723 :
nobodyさん :2006/03/01(水) 13:25:50 ID:oSoRhsQG
age
分離なんかすんなよ あっちこっち見なきゃいけないだろ
725 :
nobodyさん :2006/03/19(日) 20:24:10 ID:SDrZ8pUg
>>724 うまく分離できれば、必要な箇所だけをみればすむので、逆に楽になる。
あっちこっちみなきゃいけないのは分離の仕方がまずいだけ。
関連するものはひとまとめにし、関連しない・関連がうすいものは別にする。
これをちゃんとやっていれば、分離した方がぜったい楽になる。
問題は、どうやったらうまい分離ができるのかだ。それを議論するためにこのスレがある。
726 :
185 :2006/03/19(日) 22:40:59 ID:???
私が以前試したやり方はこうです。 1. HTMLに<{title}>のような記述をする。 2. プログラム側で<{title}>を置き換えるためのコードを書く。 3. プログラムにHTMLを読み込んで,<{title}>の部分を置き換える。 4. 出力する。 結局、HTMLは見やすくなりましたが、プログラムの方はわかりにく くなりました。(ただし、1の言うようなprintの嵐は回避できました)
>>726 そういうのはわざわざ自分でやらずにテンプレートシステム
使った方が楽じゃないの? で、テンプレートに実際に値を
放り込む部分をうまく抽象化すればロジックに集中できる
ようになるよ。
テンプレート使っても値のセットを直に書いてると全然見やすく
ならない。
728 :
57 :2006/03/20(月) 14:30:14 ID:???
>>727 確かにそうなんですよねぇ。私もsmartyというヤツを使ったことが
ありあます。機能性はかなりいいのですが、動作が遅くて…
>>727 置換程度ですむなら、わざわざテンプレートシステムつかう必要はない。
ロジックが入ってきたり、ちょっと複雑なことをしたくなったら、そのときにテンプレートシステムを検討すればよい。
時代を先取りしていた MVC スレはここでつか?
でもテンプレートを間に入れとくと XSS とか防ぎやすくなるよ
>>726 私のやり方は似てるがちょっと違ってて次のようにHTMLをマーキングする。
<!--FUNCBEGIN display_title $title-->
... 何かHTML ... $title ...
<!--ENDFUNC-->
これを簡単に書いたコンパイラーを通して次のようなperlコードを生成する。
(自分はperl使うけど他の言語にも応用は効くと思う)
sub display_title {
my ($title) = @_;
print <<__END_HTML;
... 何かHTML ... $title ...
__END_HTML__
}
このようにして1つのHTMLを好きな単位で複数の論理的な単位に分解し、
プログラムから呼び出す。 プログラムは単純。 HTMLも単純。
ランタイムのオーバーヘッドもなし。 かなりおいしい方法だと
思ってるのだが。
>>732 そのHTMLの断片が使用するCSSやJavaScriptはどうしてる?
それらはまとめて1つのCSSファイルやJavaScriptにしてるのか、それともそいつらまで複数ファイルに分離しているのかききたい。
もし後者なら、HTMLの断片を、必要なCSSとJavaScriptもいっしょにして、いわゆるコンポーネントとしてまとめることができる。
JSPのカスタムタグのような大げさな方法でないから、スクリプト言語向きだよな。
Template::Toolkit 最強ということでおk?
>>733 使う画面はすべて1つのHTMLにまとめました。 画面によって違うCSSとか使うといったら
出来ないけど、自分の場合はCSSは1つで共通だったのでおk。
>>735 そこなんだよなあ。Portletのようなことをしたいとき、HTMLだけだったらなんとかなるんだけど、CSSとJavaScriptがどうもうまく扱えない。
まあ<head>の中で<script>や<style>を動的に出力すればいいだけともいえるのだが。
webプログラムって、ほんと、ごった煮技術だもんなぁ。
HTML上にアルゴリズム記述して動作させてる分にはウェブデザの範疇だと思うな。 ウェブデザがプログラム出来ないって事なら、HTMLとプログラムを分離すればいいだけ。 あくまでHTMLはウェブデザが記述して納品すべきモノ。 smartyの速度に不満があるってのは、速い鯖買わせるかzend買いなさい。 あるいはウェブデザを換えるかだね。プログラマが変わってもいいけど嫌だろ?
ASP.NETはだめなの? HTMLとCSSでデザインして、必要なデータは引っ張ってこれるし、 ASP.NETの独自タグつかわなてもHTMLのタグでも、runat="server"さえ 挿入してやれば、ほとんど問題ないとおもうんだけど?
740 :
nobodyさん :2006/07/20(木) 00:39:41 ID:aTH5P7qm
スレッドと住民が分離している件について
src="script.cgi"って出来るコードならほぼ分離できる。
そんな複雑なこと許したら、cgiに実行権付け忘れて、スクリプトダウンロードさせまくりのサイトが量産されるだけだよ。 今でさえ、asp/jsp/php/plとかのページをクリックするとダウンロードが始まるサイトがあちこちにあるのに(w
複雑?w web閲覧自体ダウンロードじゃなくてなんなのか問いたいw
そもそも静的ファイルをダウンロードする機能しか無いのに、スクリプト使って動的に生成する時点で規格外。
ん? <img src="cnt.cgi">とかは普通にカウンターとかで使われてますよね?
サーバー側で何しようが、送られるべきモノさえ送られれば、何の問題も無いよ。
HTTPの仕様では、そこはcnt.cgiってイメージファイルを要求してるわけだが。
HTTPはプロトコルなので、サーバ側がどうデータを生成するべきかまでは規定していない。
ブラウザが想定してリクエストしている。鯖がリクエストに従って返せばいい。
750 :
nobodyさん :2007/01/29(月) 12:17:19 ID:HmfI8Dy9
age
javaならmayaaがいいかも
pythonならkidがいいかも
753 :
nobodyさん :2007/02/20(火) 17:57:57 ID:S18lAwTV
wicketってHTMLを分離できてる?一見できているように見えるんだけど、 実はできてないように思える。
PHPならCakeがいいかも
おまいら分離する事自体が間違いだと気付けよ
どの点が間違えているのか頭の悪い私にもわかるように具体的に説明してください><
モデルとデザインは分離するけど デザインはコンテンツの一部な気がしなくもない。
759 :
nobodyさん :2007/05/04(金) 11:04:13 ID:/O1lAt+h
wicket だ、wicket
wicketはあんまりうまく分離できないだろ。
761 :
nobodyさん :2009/01/06(火) 01:23:35 ID:9VtJjPjs
>>4 こういう感じのことをASP.NETでできる?
<html> <head></head> <body> <form> <input name="foo" type="input" value="<?php echo $_GET["aaa"]?>"> </form> </body> INPUTの値を動的に変えようとするとこういう風になってしまうんだが、コードとHTML部分が混じっていて非常に気持ち悪い。 どうにかして分離する方法はないのか? 言いやり方があったら教えてほしい。
いっその事こうするとか、 <?php echo <<< EOF <html> <head></head> <body> <form> <input name="foo" type="input" value="{$_GET[aaa]}"> </form> </body> EOF; ?>
いまさらこんなこと議論する必要ないだろww
編集が楽だろうね
コンデンサに見えたw
え?
コンデンサ?
芸術とか、芸術的とかいう言葉がどうも気恥ずかしい。 自分を芸術家だとおもっている人たちも苦手である。ぼくはイラストレーターであり、子供の頃から 絵を描くことが大好ぎだったが、画家になろうなどとおもったことは一度もなかった。 小学生の時、ゴッホの画集を見ていて、自分の耳を切る話はまったく理解できなかった。気味悪 い男だなあとおもった。 絵を描いていると、インタビューなどでよく訊かれる。「壁にぶち当たったり、描けなくて悩んだりし たことはありませんか」、などといった質問だ。 ぼくは答える。「芸術家じゃありませんので、そんな恰好いいことはないですよ」 描けなかったり悩んだりするくらいならとっくにこの仕事はやめている。楽しいからやっているのだ。 自分を芸術家だとおもっている人たちのファッションも苦手だ。普通のシャツを着れぱいいのに少 しも似合わないマオカラーのシャツなどを着る。どこか普通じゃないことを主張したいのだろうか。 このマオカラー愛好家に何故か建築家が多いのもふしぎである。デザイン関係者にもこのマオカ ラーファンが多く、全国のデザイン会議などあると半分くらいがマオカラーを着て現れる。弁解して おくが、マオカラーのシャツが悪いのではない。自分は普通じゃない、芸術家なんだといった輩に 魅入られてしまったのが不幸である。マオカラーには同情する。 人前で絵を描いたりするのも勘弁だ。ワークショップなどはぞっとする。人前で音楽に合わせて絵 を描くなどは死刑に等しい。もしも肉親がそんなことをしたら自殺するだろう。(イラストレーター)
771 :
nobodyさん :2011/12/05(月) 22:52:58.61 ID:xh2P0rA5
コンデンサ?
∧_∧
( ・∀・) | | ガガッ
と ) | |
Y /ノ .人
/ ) .人 < >_∧∩
_/し' < >_∧∩`Д´)/
(_フ彡 V`Д´)/ / ←
>>564 / ←
>>563
コンデンサ?
/''⌒\ + ,,..' -‐==''"フ + . .* ゜(n‘∀‘)η .+ ぬるぽ〜! . ( ノ . (_)_)
コンデンサ?
コンディション
コンフェデレーション
コッポラ
コンテンツとデザインの分離
あけおめ
ことよろ
コンテンツとデザインの分離
は い 、 ク ソとショウ ベンを喰って完敗した〜☆ゴキブリ蟯虫(* ^ _ ^ *)♪ ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆ 超 絶 ワロ ス(* ^ _ ^ *)♪(* ^ _ ^ *)♪(* ^ _ ^ *)♪ ほ ら っ気色 悪いツラで泣きながら死 ん で る(* ^ _ ^ * )♪
は い 、 ク ソとショウ ベンを喰って完敗した〜☆ゴキブリ蟯虫(* ^ _ ^ *)♪ ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆ 超 絶 ワロ ス(* ^ _ ^ *)♪(* ^ _ ^ *)♪(* ^ _ ^ *)♪ ほ ら っ気色 悪いツラで泣きながら死 ん で る(* ^ _ ^ * )♪
は い 、 ク ソとショウ ベンを喰って完敗した〜☆ゴキブリ蟯虫(* ^ _ ^ *)♪ ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆ 超 絶 ワロ ス(* ^ _ ^ *)♪(* ^ _ ^ *)♪(* ^ _ ^ *)♪ ほ ら っ気色 悪いツラで泣きながら死 ん で る(* ^ _ ^ * )♪
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|
( ( ノ ノ }/:.:.:.:./:.:.:.:/:.:.:./:.:.:.:i:.:.:/:.:/:.:.:.:.:i:.:.:.:.j:.:.:.:.:i:.:.:.:i:. V ト、 、 ) Y イ´//:.:.:':.//:.:.:.:/:.:.:.:.://.:.:./!:./ :/:.:.:.i :.:}:.i:.:.:i:.:.:.:.:l:.:.:.:.i:.:.:V 丶\ - ── …=ニニニニ7 人 v'//' ///:.:./:.:/:.:.//:.:.:/ j/ :/:/:.:/:.://j :.ハ :.:.:.l:.:.:.:.i:.:.:.:h ) ) Y )'/ / ///:.:./:.:;.:.斗/-‐/‐┤/:/:.:/:.:///jL'⊥:.:/! :.:.:.l:.:.:.:l.ト、/ 〈 レ´// / ///:.:./:.:/.:.:// / l /:.:/:.:/// j/ i レハ}:.:.:.:.l::.:.:.i:ト、ヽ ハ . ノi/ ' / ///:.:.:.i:.:.i:.:.i:i:.|ィ「:::バヽ //l// .´バ刈!.:.:.: |:.:.:.}メ、)/ハ | イ/ //j:./ :l:.:.l:.:.l:l:i |:ノトr'| |::トr'}:| /:.:.:i/::.:. |i )' j || ,. -‐==ニ二 ̄イノ ,:.:.:iレ:}i|:l:.:.|i: |:.:| ゝ:::ソ ゝ:ソ:j/.:.//.:.:.:.:/レ' }ノ_ノ /:.:.:.i:.;小|:.:j:}:.|从 ' 厶イ//:.:.:/i:.i:.:.:| //:.:./:/:.:|:.:N:ノ:.ハ ‐ ///:.:.:/::}小:.:ト、 //:.:./ :.:/:.:.从:ノ :/ .:.:.\ ///:.:.:/j;/:.:|:.} ト、\ __ .. - ‐… '"/:.:./ :.:./ :.//:/:.:/:.:./.:.:.:.:`:... . . .:.´///::.:./:./.::.:.|:.l小 ) ,) _ .. -─ …… ¬=≠:.:/.:.:.:.:.:./..:.//:/ :/:.:./:.:.:/:./.:.:(ヽ` ‐-‐ ´ ノ ///:.:.:/.:/i:.:/:.|:.l:.iハ ( /:./ :.:/ :.:/ .://:/ :/:.:./ /:.:/:_:.:ノ_ .. -‐…¬´:./:.:.:/:./:/:/ :.:|:.l:.ト、ハ 丶 _ .. - ─… ≠:./:.:./:.:.:/ :.:.:.//─┬ァァ´_.. -.:.:.:. -‐…¬:.:.三.:. イー┬:/:.:./jL:.j ):i ) ´  ̄ ̄ /.:/.:.:/:.:.:/ .:.:.:// _ .. - ‐… =ニニ二二三 -≠" //:厂 `ヽ:..|