|
[最近のツッコミ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [全文検索] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ☆基本的に個人的なリンク集、偶に思い出したように文章を綴る日記。 ☆JAVA・Ruby・RELAX NGネタ中心です。O:原文,P:ポップアップ辞書,t:和訳 ☆[category]:カテゴリフィルタ画面 ☆[blogger]:Blogger出張所。徒然。 ☆[kuro]:個人的ライブラリ開発プロジェクト「Kuro Project」サイト。 ☆[kuro-pj]Kuro Project開発日誌。 ☆[ruby]Ruby学習日誌。 ☆[vox]:VOX出張所。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[気づいた点] 初回起動時のレイアウトの新旧の選択 HTML->XHTMLコンバータの内蔵
分散オブジェクト技術という側面で比較の対象とされがちだが、本来SOAP VS RMI over IIOPが正しく、
上記のような比較はナンセンスだ。
なぜなら、データの授受を規定するSOAPとオブジェクトの永続性やトランザクションの管理を規定
するEJBは全く異なるベクトルを持つ技術だからです。
JDK1.4のStringクラスのreplaceAllのソースを除いたところ、このメソッドを一回呼び出す
たびにPatternオブジェクトとMatcherオブジェクトとStringオブジェクトの生成(メモリ上の領域
の確保を含む)を行っているので、「オブジェクト指向言語でのパフォーマンス改善の鉄則
の一つであるオブジェクト生成の抑制」を考慮すると、このメソッドの利用は推奨できない。
オブジェクト生成の抑制をわかりやすく表現すると「オブジェクトはできるだけ使い回すこと」と
「内部でむやみやたらにオブジェクトを生成しているメソッドの利用はできるだけ避けること」だと思う。
オブジェクトをnewするとき、メモリ領域が確保されていないと変数のメモリ領域 の確保とオブジェクトの生成が行われる。変数を再利用すると1回newしておけ ば、次にnewするときはオブジェクトの生成だけが行われる。
オブジェクト生成の抑制をわかりやすく表現すると「オブジェクトはできるだ け使い回すこと」と「変数はできるだけ使い回すこと」と「内部でむやみやた らにオブジェクトを生成しているメソッドの利用はできるだけ避けること」だ と思う。
[気づいた点への追加] ・エディタに対するタブ機能の追加 ->ソースエディタ兼WYSWYGエディタコンポーネントにタブ機能が付加されてます。 ・使い勝手の良いフローティングウィンドウ ->Windows標準のフローティングウィンドウ機能よりも使い勝手が良いです。 ・ウィンドウの折り畳み機能 ->画面がすっきりします。
XML・XHTML・HTML簡易パーサKLPのプレビュー版をKuro Projectで公開しました。ドキュメントは整備していないので、ご注意下さい。
[気づいた点] Tagインスペクタ兼階層ビャーア ->エディタ上でカーソルの存在するタグの属性の編集をRADのプロパティウィンドウのような コンポーネントで行えます。特にXMLの編集で力を発揮しそうです。 ->HTML・XHTML・XMLの階層構造を表示するビューアと一体化しています。 Tagライブラリエディタ ->エディタというよりはマネージャです。JSPのTLDファイルやDTD等で定義した タグセットを追加・管理でき、エディタ上から利用できます。 現在はXMLスキーマ言語としてDTDのみを採用、将来的にRELAX NGが採用 されることを期待。
WindowsXPとのデュアルブートがうまくいきません。情報をお持ちの方、お教えください。
IBMのオープンソースJava IDE「Eclipse」はリファクタリング支援機能が多少あり。
Forte for Java はセッションの中身を確認できる機能があるらしい。
JavaのIDEは選択肢があり、多種多様。開発用はこれ、デバッグ用はこれ、テスト用はこれという
使い分けができる。
最近「これ凄い」と思うJavaIDEを発見したがその話はまた今度。
#Windows系のC++IDEベンダってMSがほとんど叩き潰したような気がする。
#正確にはMSの独占状態だから商売にならず倒産あるいは撤退してしまった。
#MSの独占状態はIDEのRAD的側面以外の使い勝手の向上にはよくないような気が...。
#そういえば、VisualStudioにリファクタリング支援機能やテストケース作成支援機能ってあったっけ?
KLPではサーブレットの初回起動時にオブジェクトの生成を集中させる構造にすることによって
2回目移行の実行速度を稼いでいるので、初回起動時の遅さはいかんともしがたい。
今のライセンス方式や諸規定は暫定的なものです。よりよいものがあれば、そちらにシフトします。
KLPは「ドキュメントとロジックの分離」を謳っていますが、その主眼は
「デザインとロジックの分離」です。
W3CのXSLやJSPのTagLibは「ドキュメントとロジックの分離」を実現していますが、
デザインを全く考慮していません。必然的にシステム屋以外には扱いづらい代物に
なっています。
ホームページ作成用のWYSWYGツールからのXML&XSLの自動生成については
XSLの仕様がそこらへんを全く考慮していないので個人的には無理だと思っています。
だとしたら、時代劇フリークの俺は...。
本当は秘密でもなんでもなく、SUNのドキュメントをみれば載っている。でも以外に知らない人が多い。
SUN純正のJVMにはClient版とServer版があり、JVM起動時に-serverオプションを付けるとServer版になる。
世界最高速JVMフリー版の話はまた今度。
開設したら利用者数はどれくらいだろうか?開設希望者はツッコミに希望の旨を書かれたし。
JAVAでは高負荷時の性能劣化を防ぐためにEJB等のメカニズムがJ2EE仕様に盛り込まれているが、
.NETには高負荷時の性能劣化への防御策がないような気がする。高いミドルウェアを購入しないと
高負荷時の性能劣化の防御策が提供されないなら、.NETも所詮「MSの金儲けの道具」止まりだと
思う。
少なくともJAVAにはEJB仕様を満たすフリーのEJBコンテナ(EJBサーバ)がいくつか存在する。
今日紹介するサイトは紹介するまでもなく有名なサイトです。その名もWhat's New about Java。
サン純正としてJAXB(Java Architecture for XML Binding)が開発中。JAXBは
Marshalling APIとスキーマコンパイラのセット。JAXBではXMLスキーマ言語として
W3C XML SCHEMAのサブセットとRELAX NGを採用。
現在利用できるものとしてはじゃばじゃばを運営されている浅海氏作の「Relaxer」が最強だと思う。
こちらは内部でDOMとSAXを利用。RELAX NG対応に向けて開発が進行中の模様。
W3Cの基本理念は「実装なくして勧告なし」だったはず。ところが最近は「実装なくても勧告奨励」に
なってしまっている。また、最近の仕様にはコンパクトさがなく、肥大化ばかりが目立つ。
学者バカが増えたのか、それとも勧告すれば実装がついてくるほどの権威が自分たちにはあると
思っているのか? このままだとW3Cの衰退は目にみえている。
XP(extreme programming)の紹介サイトです。その名もeXtreme programming FAQ。
ハードウェアの性能に頼りきってパフォーマンス・チューニングを全く考慮しないJAVAプログラマが
結構いる。JAVAの学習しやすいという側面がプログラマに表面上の知識を得た段階でその全てを
理解したような錯覚を起こさせるのかもしれない。
KLPではパフォーマンス・チューニングをすることでかなり実行性能を改善できていると思う。
某MLで村田真氏からRELAX NG 1.0仕様の日本語訳のドラフト版が公開されてから半月以上
経過したが、まだ正式版リリースのアナウンスがない。
W3C XML Schemaの仕様の日本語版は存在しないので、公開されれば日本でのRELAX NG普及
の起爆剤になると思う。
[気づいた点] HTML、XHTML、XML等の検証機能 ->XMLについては整形式なXML文書であるかどうかの検証をサポート。 ->XMLスキーマを用いた妥当なXML文書であるかの検証は未サポートの模様。 ->列挙されたエラーをクリックするとエディタ上の該当行にジャンプ。
インターフェイスと抽象クラスの違いは「メソッドの実装の有無」です。インターフェイスは
一切メソッドの中身の実装を許しません。抽象クラスは通常のメソッドと抽象メソッドの混在が
可能で、メソッド単位で実装の有無をコントロールできます。
HTMLのタグのNAME属性は推奨されない属性なので注意。XHTMLではNAME属性は廃止され、
ID属性がその役割を引き継いでいます。
映画の題名。昨日テレビでやっていたので録画しようとしたが、字幕だったので却下。
見て面白い日記ではないな...。と思っていたら見てくれている人がいるらしい、ありがたい。
Mozilla1.0RC2を上書きアップグレードしたら、保存ダイアログが開かない、設定画面のツリーが
反応しない等の変な挙動が頻発。こういうときの最終手段である再インストールを決行。まず
最初にMozilla1.0RC2をアンインストール、インストールしていたフォルダをクリーン、Mozillaを
再インストール。そして、最終調整。変な挙動が解決。
Mozillaはエンドユーザー向きではないと改めて実感。上書きインストールは非推奨だし...。
通りすがりですさんのアドバイスで下記の問題が解決しました。Mozillaが厳密に
解釈していて、IE6.0やOperaがアバウトに解釈していたためにMozillaのバグである
かのように錯覚していただけかとも思ったのですが、やはりこれは明らかにMozilla
のバグ。 通りすがりですさん、初ツッコミありがとう!!
<?xml version="1.0" encoding="Shift-JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<meta name="GENERATOR" content="Mozilla/4.7 [ja] (Win98; I) [Netscape]" />
<style type="text/css"><![CDATA[
<!--
a:link {target="_blank"}
-->
]]></style>
<title>半自動生成リンク集</title></head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" alink="#800080">
<div align="center">
<table width="100%" border="0">
<tr>
<td bgcolor="0099FF">
<table width="100%" border="0">
<tr>
<td height="2" colspan="3"> </td>
</tr>
<tr>
<td height="2" bgcolor="#FFFF66">タイトル</td>
<td height="2" bgcolor="#FFFF66">ジャンプ</td>
<td height="2" bgcolor="#FFFF66">内容</td>
</tr>
<tr name="loop">
<td width="50%" height="4" bgcolor="#00FFCC"><!-- @quark id="name" --><!-- /@quark --></td>
<td width="8%" height="4" bgcolor="#CCFFFF"><a href="" target="_blank">START</a></td>
<td width="42%" height="4" bgcolor="#CCFFFF"><!-- @quark id="set" --><!-- /@quark --></td>
</tr>
</table>
</td>
</tr>
</table>
<!-- @quark id="warning" -->現在このページは利用できません。<!-- /@quark -->
</div>
</body>
</html>
デフォルトブラウザはMozilla、Mozillaで表示がだめなページ(=IE専用ページ)はそのときの気分
でIE6.0かOpera6.01のどちらかで動かすのが筆者のスタイル。
[気づいた点] タグ入力の補完機能(エディタ) ->「<」を入力すると入力候補がポップアップされる。 実体参照の補完機能(エディタ) ->「&」を入力すると入力候補がポップアップされる。
はんばあぐさん、ツッコミありがとう!! そこではんばあぐさんの紹介を少々。
はんばあぐさんはHysteric Programmer 日記とIDEA2.5.2のレビューの作者兼ばりばりの
IDEAユーザであり、IDEA掲示板の幹事的存在(=管理者)です。
#ASIP>はんばあぐさん、僕も内部コードUnicode化による日本語等2バイト文字への対応が待ち遠しいです。
#ASIP>国際化対応を追加した3.0開発版が公開されたら、日本人にとって使いやすくなるようにIntelliJに
#ASIP>日本人ユーザの存在をアピールしていきましょう!!
まず、初期費用が非常に高い。電信料4000円、手数料2500円。最初の振込先口座がUSドルの口座でなく
なおかつ口座のある銀行(フランス)がドル->ユーロ変換を扱っていなかったため、振込を拒否される。しかた
がないので、振込先の変更を依頼。電信料3000円、トレースチャージ1500円。手数料だけで合計11000円も
掛かった。振込先企業(要素5)から送られてきた口座情報の不備もさることながら、銀行のぼったくり体質に
も呆れるばかりだ。
経済のグローバル化が叫ばれるにも関わらず、日本の銀行のグローバル化は進んでいないようだ。銀行間
ネットワークがあれば、振込拒否は未然に防げたはず。ちなみに外国送金を依頼した銀行(M銀行)とのやりと
りは電話とFAXだった。日本の銀行の情報化の遅れがちらつく。
追記:振込拒否に関してM銀行からは通知しかなく、振込先企業とのメールのやりとりで詳細が判明した。
IDEは初心者向きではないと思う。IDEは生産性の向上には貢献してくれるが、内蔵ソースエディタの
補完機能等により初心者の怠け心を刺激しやすい。また、初心者のプログラミング言語に対する
習熟をIDEが妨げる結果になっていることが往々にしてある。
プログラミング言語を学ぶ上でコマンドラインツール&テキストエディタでの開発を一度は経験して
おいたほうがよいと思う。
・優れたGUI ->IDEA用に開発されたらしい独自のGUI上に構築されています。 ->シェーディング・ウィンドウ等SWINGにない機能を実現しています。 ->(参考)Eclipseも独自のGUI上に実装されているようです。
・JDK1.3レベルでのホイールマウスの正式サポート ->JNI経由での実装となっています。 ->そのものずばり、mousewheel.dllがあります。 ->(参考)Forteでは非公式パッチorJDK1.4、EclipseではJDK1.4利用
・CVS、VSS連携 ->CVSクライアント及びVSSクライアントを介した連携 ->IDEA側で設定しておけば、クライアントを直接いじる必要はありません。 ->JNI経由で実装しているようです。 ->FileWatcher**.dllが怪しい。
・JNIの積極的利用 ->100%PureJavaであることよりもパフォーマンスや高機能の実現を優先 ->しています。
・正規表現の利用 ->ORO Matcherが同梱されています。 ->Jakartaに寄贈される前にライセンスをとったものと思われます。
・XMLの積極的利用 ->全ての設定ファイルがXML形式になっています。 ->プロジェクトファイルもXML形式です。 ->crimson.jar及びjaxp.jarが同梱されています。
たまにSystemIdleProcessがCPUを掴んだままになり、2〜3分反応しないことがある。再重要ランクの
バグだと思うのだが...未だにパッチは未提供。SP1は夏の終わり頃、提供されるらしい...。
リファクタリング機能は...SE(日本ではProfessional)以上にしか付かない。SEにはソースまわりの
多少のリファクタリング支援機能しかなく、Enterprise以上にならないとUMLによるビジュアル化の
機能はない。おまけにSEにはWEBシステム開発に必要とされる機能が全くない。
SEってStandard EditionではなくSpecial Editionだった。アメリカ人って...太っ腹。
メディアフュージョン社がRELAX NG関連にてRELAX NGバリデータを無償配布中。
[XML関連] ・XMLパーサの変更 ->XMLパーサをSun純正CrimsonからJakarta製Xercesに変更 ->xerces.jarを同梱 ・JDOMの導入 ->jdom.jarを同梱
[WEB関連] ・Servlet2.3 & JSP1.2の採用 ->servlet.jarを同梱
[その他] ・ログ機構の導入 ->Jakarta製Log4jを採用 ->log4j.jarを同梱
[理由]String a = "bb" + "cc";はコンパイル時の最適化によりString a = "bbcc";と同一のバイトコードになるので
最近、巷で話題になっているIDE。紹介サイトとして[eclipse/java]や[じゃヴぁいで Eclipse]がある。
「じゃヴぁいで Eclipse」はIDEの紹介サイトとしてよくできていると思う。
OASISのRELAX NG技術委員会から発表がありました。
RELAX NGがISO/IEC JTC 1/SC34にて策定が進められている文書スキーマ定義言語(DSDL)
の世界標準草案(DIS)として承認されたとのことです。
RELAX NGがXMLスキーマ記述言語のデファクト・スタンダードへとまた一歩近づきました。
Answer:27歳です。
1.フルスペックの実装(バリデータ等)が存在しない、というか誰も実装できない。
[RELAX NGにはフルスペックの実装が多数存在します] 2.仕様書が分厚すぎる。つまり、詰め込みすぎ。仕様策定時に提案されたスキーマ言語から いいとこ取りでつぎはぎして作られた模様。[RELAX NGの仕様はコンパクトかつスリムです] 3.制限が多すぎる。[RELAX NGの制限は少ないです] 4.日本語の仕様書が存在しない。[RELAX NGは日本語版仕様書が準備中、草案は既にあり] 5.スキーマ言語仕様全体を貫く理論がない。[RELAX NGは池垣オートマトン理論に基づいています]
殿様千石たこ道中−三匹が斬る!を発見。"三匹が斬る!"フリークはやはり実在した。
Answer:京都府京田辺市です。
英語トライアル版がMacromediaの英語サイトにて公開されています。
英語Preview版の使用期限は6月8日です。
言語仕様と記述したソースコードで全てを表現でき、言語仕様を満たす開発環境及び実行環境が
無償で提供されていることです。この条件を満たしていれば特定のツールに依存しないので
テキストエディタとコマンドラインベースの開発・実行環境があれば全ての開発が可能です。
KLPのダウンロードによる配布を再開します。MLも開設しましたので併せてご利用ください。
embrace change(変化を抱擁せよ)。XPのスローガンですが、開発環境にも必要だと思います。
TurboLinux、Caldera、Suse他数社が連携して"UnitedLinux"の開発を開始。日本語記事はこちら。
# 通りすがりです [<td bgcolor="0099FF">のところ <td bgcolor="#0099FF">だとどうでしょう?]