クライアントサイドJavaどうよ? part2
■ このスレッドは過去ログ倉庫に格納されています
0001Sunがダメ
NGNGマターリ語りましょう。
前スレ
http://pc3.2ch.net/test/read.cgi/tech/1002160815/
0696デフォルトの名無しさん
NGNG超えたのか?
0697デフォルトの名無しさん
NGNGJVMさえあればプラットホーム非依存という、ポータビリティを
実現しています。ファイルを環境事に書き換える必要がありません。
特定のコードを変換する必要などもありません。
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNGロートルUNIXかぶれの、自己厨馬鹿にいわれたくありません。
0700デフォルトの名無しさん
NGNGそんなにMakeFileのフォーマットが好きなら、俺様マンセーフォーマットで
定義ファイル書くようにして、JakartaのVelocityでも使って変換しなされ。
0701デフォルトの名無しさん
NGNG貴方の好きなフォーマットからAbstractSyntaxTreeを作るパーサを
貴方が作ってください。
0702デフォルトの名無しさん
NGNG>で、Antの定義ファイルは、Makefileの可読性・書きやすさを超えたのか?
どのように判定すればよろしいのでしょうか?
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNGDOCTYPEなしでも(つまりどのタグが省略できるかわからない状態で)
parseできるようにするためには仕方ないな
でもSGMLでは閉じタグを</>とも書けたんだけど
0705デフォルトの名無しさん
NGNGantはXMLという規格でコーディングスタイルの自由を縛り付けることで
統一性、移植性、ポータビリティを達成している。
コーディングスタイルの自由を縛り付けるXML
を普及させたW3Cの努力によって、
antはJVM使わなくともXML使っている時点でポータビリティは実現されているようなもの。
Javaが汎用プログラミング言語ならXMLは汎用データフォーマット言語。
この組み合わせは非常に相性が良いといってもいい。
>>704
HTMLとかで自分のページ作ったことがあるならわかると思うが、
それじゃかえってソース読みにくくする。
0706デフォルトの名無しさん
NGNGJavaよりサポートするプラットフォーム数が多いぞ。
0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNGまあまあ。素人にそんな突っ込んじゃ駄目。(w
0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNG実行プログラムではJavaが最強
0711デフォルトの名無しさん
NGNGポータビリティはJavaに追いつく
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNG>>722は>>720の答えに対する質問をしなきゃならないっと
0715デフォルトの名無しさん
NGNGクラ/サバ開発するシステム屋の独り言。
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG数人混ざっていると思われます。
0718デフォルトの名無しさん
NGNG数人混ざっていると思われます。
0719デフォルトの名無しさん
NGNGJavaには向かない
0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNGそれいうなら
JavaScriptとJScriptとVBScriptとECMAScriptとActiveScriptとActionScriptの違いを解っていない奴もおるよ
0723デフォルトの名無しさん
NGNGそこまでくると、普段何やってるヒトなのか、ちょっと尋ねてはみたい。
0724デフォルトの名無しさん
NGNG今後私はどうするべきでしょうか。
0725デフォルトの名無しさん
NGNG一生Javaに引きこもってろ、といってあげてください。
0726デフォルトの名無しさん
NGNGと、自分が今風にすがりつくためにも、そう思います。
0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNGえ、違うのけ?
0729デフォルトの名無しさん
NGNGJava以外にOracleやXMLも使いこなす。
0730デフォルトの名無しさん
NGNG真のJavaプログラマーの集団はJ2EEに頼らない。
あれは開発に金かけられないときのテヌキ用の道具。
あるいは、JSPしかデキナイアホだけでサーバ開発しな
きゃいけないときとか。
…などということを考えている自称スペシャリストが
J2EEモドキのミドルウェアを作ろうとして、マヌケな
シッパイを繰りかえすことが、巷であちこち散見されますな。
確かにそのとおりなのだが、そのことと「ソイツガほんと
に実装のスペシャリストであるか」ということは、あまり
関係が無いらしい。
0731デフォルトの名無しさん
NGNGEJBサーバとEJBクライアントと答えてあげましょう。
RMIでサバクラ作るなら許容範囲さ。
0732デフォルトの名無しさん
NGNGそれにかかるお金も大きいほうじゃないのか?
0733デフォルトの名無しさん
NGNGJ2EE準拠のAPサーバと同じことを、下から作ることに比べれば、
1/100000くらい楽。設定と動作の関係だけ調べれば済むんだから。
というか、アレを難しいという人が増えたのが、最近の不幸。
サーバー/クライアントを下から作ったことがある人にとっては、
あれはとても簡単でありがたい仕組みですよ。
0734733
NGNGJ2EEと同じレイヤーを、自力で設計して実装することを
かな。
0735デフォルトの名無しさん
NGNG単にそいつのレベルが低いか、
噂に踊らされてるかのどちらかでしょう。
0736733
NGNG難しいことにしとかないと、お金にならないからねえ。
情報の偏在がお金を生むという一般法則は、プログ
ラミングの世界ではより顕著にあらわれる。
0737デフォルトの名無しさん
NGNG同意。永遠普遍の法則。
0738733
NGNGくさい」という意味で「難しい」っていうんだろうね。
責任転嫁を全く悪意ナシでやる人間ほど、御しがたい
ロクデナシはいないよ。
0739デフォルトの名無しさん
NGNG実はそれ以前に知っておくべき前提がいろいろとあって、それら周辺の定義の継承図をたどっていくのが、
めんどくさい=難しいって事なんじゃないかな。
って、本腰入れて一つづつ調べに入ってみるなり、(それが手元にあるなら)弄ってみるなりしてみれば、
実はそんなに大層な事でもなかったりするってのが、真実なのに。
で、その努力を惜しむタイプの奴らには、結局そこにある概念そのものが、闇に包まれた「ナゾのモノ」で
しかなくて、上っ面のイメージ(それも「ヨクワカラナイもの」っていうイメージ)だけで捉えて、結局
「うーん、難しい」ってな事になるのでは。
ま、職業にしてるヤツじゃないなら、別にそれでもいいんだけどね。
0740デフォルトの名無しさん
NGNGいやいや。職業にしてない香具師は追究するって。
職業と割り切ってるからこそ深入りしないんだって。悲しいけど。
0741739
NGNGうーん。言われてみればそうかも。悲しいな。(笑
特にシステム屋の上の方の人間に多い気がする。
こっちは筋道がわかりきった上で「こうした方が良い」と言ってるのに、なんか
「写真撮られると魂抜かれるんだっけ?」みたいな顔して、即決できない。
ただ、世の中には完全な事も完全な人間もいないから、ちゃんと検証もしますがって言っても、
イマイチ納得できていない様子だったりする。って、これは実話。そして板違い。(マ板向け)
それでメシ喰ってるんなら、深入り上等。むしろ自分の穴をいつも探しとけって、
俺は思う。
0742739
NGNGひたすら、掘らねば。俺も。
0743732
NGNGJ2EEの英語ドキュメントを見て以来、
J2EEにはほとんど触れていないかも。
JNDIもRMIも直列化の意味もわからんかったし
ServletもJDBCもOracle(関係ないけど)も触れたばかりで
最初はつらかった。
アルバイトでベンダのある人がつくったEJBやJSP/Servletのソースコードの解析はつらかった。
日本語ドキュメントが登場したなら、
今から漏れもJ2EEに再挑戦してみますか。
0744デフォルトの名無しさん
NGNGぜひ死滅スレのアンチM$厨に諭してやってください
0745デフォルトの名無しさん
NGNG分からなくても分かると思って勉強しなきゃ分からないんだよ。
諦めてるやつらは辞めて田舎に帰っちまえ、と思う。
0746739
NGNGていうか
J2EE概要
http://java.sun.com/j2ee/ja/index.html
シリアライズ関係
http://java-house.jp/cgi-bin/namazu.cgi?query=%A5%B7%A5%EA%A5%A2%A5%E9%A5%A4%A5%BA&whence=0&max=50&result=normal&sort=score
RMI基礎の基礎
http://www63.tok2.com/home2/jd4/RMIBasic.html
Servlet基礎
http://www.java-conf.gr.jp/wg_bof/servlet/docs/980526/yoko_k_h
等、探せばいろいろ出てくるぞ。(つーか本買った方がいいかもしれんが)
0749デフォルトの名無しさん
NGNGサーバーサイドだと、mmapとかshmemとかsemaphoreとかlockfとかが
欲しくなることは無い?
selectやpollが無いことはやはり長らく問題とされていて、そのために
java.aioが導入されたようだけれども(使ったことが無いのでよくは
知らないが)。
0750デフォルトの名無しさん
NGNG0751733
NGNGsemaphore除いてぜんぶnioにある。
mmap→MappedByteBuffer
shmem→ByteBuffer#allocateDirect()(プロセス間共有はできんが)
lockf→FileLock
select、poll→SelectableCannel,Selector
概念知ってる奴なら、Tutorial読めば使い方はすぐわかる。
Semaphoreが欲しいなら、DougRea博士のconcurrentライブ
ラリでいいんちゃうか。
0752デフォルトの名無しさん
NGNGSemaphore と言えば Singleton。
でもこの辺の事は、むしろコンテナ(アパートメントなスレッドのトリガー握っている管理者)の仕事だよね。...って、
それを自分で管理(あるいは実装変更)したいって事?
俺の貧困な応用力じゃ、Contextになんか入れといて管理とかしか浮かばない......。
つーか、
>selectやpoll
って、ゴメン。不勉強で意味がわからない。
0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNGそれってJ2EE1.4 ??
0755733
NGNGサーバーサイドの鉄則
「Servlet(特にHttpServlet)で安易にSingletonつかうな」
0756733
NGNGいーえ、J2SE1.4のコアAPI。
J2EE1.4は、もっと上位レイヤーのAPIの改善。
0757752
NGNGあ、ゴメン。言葉足りなかった。
別にSingleton使いたいって話じゃなくて、「Semaphoreを表現しようと思ったら、Singletonになるよね」って意味。
だとすると、コンテナに実装しないとって話。
0758749
NGNGThx. 仕事で未だに1.3ベースしか触ったことなかったんで...
便利になったんですね。
Java.nioのFileChannel/*Bufferまわりと今までのjava.ioとの
関係・整合性がいまいち良く分からないけれども...
>>752
Singletonは同一のJavaVMプロセスどころか同一ClassLoader内でしか
役にたたんでしょう。semaphore、lockfでは同一ホスト内の複数の
プロセス間での排他を行うことが出来ます。
select/pollはUNIX上でI/Oの多重化(multiprexing)を行うための
昔ながらの手段です。他の典型的な手段がprefork+共有メモリ、
またはスレッドプーリングということになると思いますが。
従来のJavaで利用できたのはスレッドプーリングだけでした。
0760733
NGNGに出来ているから(Winでは確認。ほかはシラン)それを利用して、プロセス
間共有のMutexLockやSemaphoreを作ってみるのはありかモナー。
プロセスをまたぐことは考えないというのが、Javaのポリシーなのかもね。
スレッド使って一つのJVMでなんでもやれ、ということかと。
マルチプロセスだと、プロセスフットプリントのメモリと実行時のコンテ
キストスイッチのコストが無駄だしさ。
0761733
NGNGこんどは「スレッドスケジューリング操作API」と、「GCスケジ
ューリング操作API」が欲しくなるね…
できるかな?JCP調べてみるかな。
0762749
NGNGJVMの境界を越えた形に拡張できる気が。
インスタンスをJVM内のstataic変数という形ではなく、共有メモリ上に
シリアライズされた形で配置する。もっとも普通Cでこれを実現する場合は
一々シリアライズする必要はなくて、アラインメントさえちゃんとしていれば
単にキャストするだけの話なので、性能的に大きな差がありそう。
>>760
コンテキストスイッチのコストが発生するのはマルチスレッドでも
同じ話では。
Javaのポリシーという意味では単純に「移植性」の問題かなぁ、と思って
いたのですが。「クライアントサイド」というスレッドの趣旨に即して
云えば、例えばMutexロックを利用してアプリの多重起動を防止する、といった
テクニックは非常にありがちであって、できれば欲しい、という類の
ものですよね。
シングルJVMにあくまでこだわるのであれば、javaコマンドは独自の
JVMインスタンスを起動するようなものではなく、JVMサービス(daemon)に
新たなスレッドを生成し、クラスロードを指示するようなものであるべきだった
と思います。
その方が起動は確実に早くなっただろうし。
0763733
NGNGそういうのは、おそらくEJBサーバとかRMIサーバを利用するの
がJava流。(TCP/IP越しになるので遅いだろうけど。でも、
LinuxのGNOMEなんかCORBAでやってるし〜♪)
アプリケーション製作側が、全体でJVMを一個だけ使用する
ようにして、追加機能はプラグインで、という発想は、
Eclipseとか、APサーバーとかでどんどん普及してるじゃんよ。
シランカ?
0764っていうか
NGNG0765デフォルトの名無しさん
NGNG0766749
NGNGMappedByteBufferまわりのヘルプを呼んだ限りでは、それがMAP_PRIVATE
相当機能ではなくMAP_SHAREDなものを提供すると読めたのですが、
勘違い?
分散オブジェクト環境は、個人的には
・大がかりすぎる
・柔軟だが、スケーラブルでない。端的に云えば性能がよろしくない。
と思っているので、代替手段があるのならその方がいいわけです。
性能がよくなくても良いのであれば、何らかのメッセージ機構が提供
されているならば、それを用いて排他プリミティブも実現できるでしょう。
APサーバが単一のJVMを用いているのは無論知っています。が、
何でもかんでも一つのAPサーバ上で実現できる(または、する)訳でも
ないでしょう。現実的な問題を云えば、例え基本的な実行単位が
プロセスではなくスレッドであるWin32環境においても
*スレッドはプロセスの代替にはならない*
ので、マルチプロセス環境を無視する訳にはいかないし、
javaインタプリタを>>762に書いたような方法で実装することは
現実的で有効な選択肢ではない(だから実際にそうなっていない)
...ということを云いたいわけです。
0767デフォルトの名無しさん
NGNGJ2EE学んでおけばなにか楽なことができそうだな。
移植性の高さからJ2EEを学ぶ価値は高そうだな。
ライブラリの統一性から学んでも損はしなそうだな。
それよりレスを見るとOSやネットワークの話が多いのか。
OSの知識やTCP/IPとかも深く学んでおく必要がありそうだ。
0768デフォルトの名無しさん
NGNGそれにかかるお金も大きいほうだよ。
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG俺は >>764 では無いが、あくまでこのスレの主旨が「クライアントサイドJava」であるのだから、
当然、対となる「サーバサイド」の存在があるわけで。
たぶん >>764 が言いたかったのは、「クライアントサイドが起動する時にサーバ側に問い合わせて、
自分は起動してもいいかを確認する」って事だったんじゃないの?その起動情報の保存用にサーバ側の
DBを使う、と。
接続法としては、別にSocketだろうが、URlConnectionだろうが、RMI(含む IIOP)だろうがなんでもいいと。
...って、そう考えると、APサーバやDB周辺がデカいMutexに見えてくるな(笑
0771デフォルトの名無しさん
NGNGアプレットみたいなもんじゃないのか?
ま、どれを話題にしてもすぐネタ切れになりそうではあるが…。
0772デフォルトの名無しさん
NGNGwhile(true) {
>>715-771
}
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNGat line 772
0775733
NGNGファイルがマッピングされるダイレクトバッファは、JVMインスタンスに対して
関連付けられている状態ですので、プロセス間で共有は出来ませぬ。
Sunは、Javaでスレッドをプロセスの代替として使うことを推進してますでしょ。
第一、プロセスフットプリント分のオーバーヘッドを消費してまでプロセス分け
なきゃいけない理由ってナニヨ。JVM一個でヒープ広く取っておいて、スレッドで
シェアしたって一緒じゃん。
もしJavaでOSつくるなら、OSカーネル=イッコのJVMなんじゃないのかな。
0776デフォルトの名無しさん
NGNGSunとMSのバトルで振り回されるのは、もう飽きた。クライアントサイド
にやる気のないSunは市ね(MSとの訴訟は大好きみたいだなw)。
こちとら、年配のコンシューマがターゲットなんで、JREをインストール
しろだなんだと、めんどくさいことさせられねぇのよ。アナログ回線な時
代はそんなことは死刑を宣告するようなもんだった。んで、インストール
ベースの一番多いMicrosoftVMを仕方なく使ってるが(Swingなんて使った
ことねーよバカ!)、バグの修正はもうやってねーし、この間はWindowsXP
SP1aなんか出しやがって。MSVMが入ってねー客はどーすんだオラ。JREダウ
ンロードさせようと思っても、使用許諾画面はなんで英語なんだ?ダウン
ロード方法教えるのがめんどくせーんだよ!Java Plug-inのgetjavaページ
もなんで英語なんだよ。日本語版作れ!ま、SunのVM入れたって、Win98とか
じゃHotSpotが落ちることあるしな。バグ減らせよ。本当に勘弁してくれ。
世間じゃJ2EEだなんだと、サーバサイドや組み込み全盛。展示会のセッショ
ンじゃ、クライアントサイドの話題なんて殆どねーよ。見に行く気にもなら
ん。JavaWebStartはなんで2回目の起動時にショートカットアイコンを作る
ような画面を出すのだ?余計なお世話はやめてくれ。その説明もめんどくさ
いんだよ。今じゃこの辺の制御は出来るようになったのか?
よーしパパ、C#に浮気しちゃうぞ。これならファイルの関連付けもマイドキ
ュメントフォルダも自由自在だ!あ、パイの狭いMac版対応は後回しで許して。
じゃ、バイバイ。
0777デフォルトの名無しさん
NGNG0778776
NGNGおいおまいら。
マリンバはどーした?クライアントサイダーにとって、カスタネットは希望の
星じゃなかったのか?いや、違うな。失礼した。
とにかく、Sunはさっさと安定したVMを出せってんだ。ちょこちょこバー
ジョンアップするな!マウスのクリップ部分の画面表示が崩れるのを
DirectXのせいにして放置するな!グラボのパフォーマンス設定を落と
せだと?ふざけんな!そんなことユーザにさせられるか!VMオプショ
ンでDirectXをOffにしろ?そしたら画面が汚いんだよ!アホ!
BugParadeの大行列を解消しろ!
すっきりしたのでマジバイバイ。
聞いてくれてありがと。
0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNGはるか昔に聞いたことがあるような気がするが…。何だっけ?
調べようかと思ったけど別にいいや。
俺は netscape4 についてきた netcaster の糞っぷりが忘れられない。
アクティブデスクトップに対抗したプッシュ配信技術なんだけど、
Java で書かれてたせいで起動に 1 分以上かかったな。
あとは Java で書かれた netscape4 ヘルプの糞鈍重っぷりとか。
あの辺がクライアントサイドの行く末を暗示してたな。
さて、仕事すっか。
0781デフォルトの名無しさん
NGNGあなたは仕事でJavaやっているの?
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNGあなたはよくそんなことを客に言えますね。
0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNGSunでもMSでもいいから、どっちか倒してくれ
0786デフォルトの名無しさん
NGNGかといって.NETにサーバーサイドを支配させるのはどうかと
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNGJavaと.NETが相互利用できるようになるのが一番ありがたい。
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNG(゚Д゚)ハァ? ソースは?
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGJava マンセー、みたいな。
0794デフォルトの名無しさん
NGNGhttp://developers.slashdot.org/article.pl?sid=03/02/09/1347215&mode=nested&tid=108
0795デフォルトの名無しさん
NGNG肝心の部分が見れないんですけど。
■ このスレッドは過去ログ倉庫に格納されています