2007年10月7日日曜日

Meteor0.9.6リリース

変更点はThe road to Meteor0.9.6 #1~#3に書いたとおりです。
#1 #2 #3

Kuro Project

The road to Meteor0.9.6 #3

jp.kuro.meteor.ParserIFをjp.kuro.meteor.Parserに名称変更。

The road to Meteor0.9.6 #2

jp.kuro.meteor.ParserIF#setAttribute(Element,String)、
jp.kuro.meteor.ParserIF#setAttribute(String)
を廃止。
jp.kuro.meteor.ParserIF#setAttribute(Element,String,String)、
jp.kuro.meteor.ParserIF#setAttribute(String,String)
にて対応済み。

2007年10月3日水曜日

The road to Meteor0.9.6 #1

JAVA標準正規表現API利用バージョンでパターンのキャッシュを行う。
(パフォーマンスチューニングの一環)

2007年9月16日日曜日

Meteor0.9.5リリース

変更点はThe road to Meteor0.9.5 #1に書いたとおりです。

Kuro Project

2007年7月29日日曜日

The road to Meteor0.9.5 #1

例外処理を変更。findElementメソッドで要素が見つからない場合、
NoSuchElementExceptionをスローします。
NoSuchElementExceptionはRuntimeExceptionを継承する非チェック
例外とします。

2007年5月12日土曜日

Meteorのドキュメント

現状ではチュートリアルは超入門レベルしか書けていませんし、
APIレファレンスは最低限の記述となっています。
バグ潰しを行いつつ、優先順位高めでドキュメントの拡充を
行っていきます。

#仕様変更や機能追加は優先順位低めですが、行っていきます。
#目下、ParserFactoryまわりの変更とエラーハンドリングの
#変更を計画中。

2007年5月8日火曜日

Meteor0.9.4リリース

変更点はThe road to Meteor0.9.4 #1~#4に書いたとおりです。
今後はチュートリアルやAPIドキュメントの整備を優先的に行っていきます。
バグとりも今までと同様、行っていきます。
バグ報告は https://asip.backlog.jp/ で受付中、guest/guestでログイン
できます。アカウントがほしい方がいれば連絡いただければ作成します。

Kuro Project

The road to Meteor0.9.4 #4

いくつかのバグ修正。
・パーサ全般のsetAttributeメソッドで最初の属性の前に余計なスペースが
 挿入されていたバグを修正。
・(X)HTMLのパーサのsetContentメソッドで改行を<br>or<br/>
 に変換するロジックが動作していなかったバグを修正。
・Jakarta ORO利用バージョンの(X)HTMLのパーサのsetAttributeメソッドに
 おける属性selected、checked、disabledでのロジックの不具合を修正。

The road to Meteor0.9.4 #3

Jakarta ORO利用バージョンをベタな方法でパフォーマンスチューニング。

The road to Meteor0.9.4 #2

jp.kuro.hook.Looperの単一要素ループ時のバグを修正。

The road to Meteor0.9.4 #1

JDK標準正規表現API利用バージョンをベタな方法でパフォーマンスチューニング。

Kuro Projectのライセンスポリシー

ボランティアで作っているわけではないので、商業ベースでタダで美味しく使ってもらう気は毛頭ありません。
それに対しては予防線を貼っていますし、貼っていきます。
趣味で使うぶんには問題ないライセンス方針をこれからもとっていきます。
多くの方に使ってほしくないわけでもないので、ライセンスを変更するならGPLあたりが妥当と考えています。
これで大概のタダのり商用利用は予防できますから。

Meteor0.9.3リリース

変更点はRoad to Meteor0.9.3 #1~#3に書いたとおりです。
1.0リリースに向けてAPIの大きな変更はもうないと思います。
今後はチュートリアルやAPIドキュメントの整備を優先的に行っていきます。
バグとりも今までと同様、自分が気づいた範囲内で行っていきます。
バグ報告は https://asip.backlog.jp/ で受付中、guest/guestでゲストログインできます。
アカウントがほしい方がいれば連絡いただければ作成します。

Kuro Project

The road to Meteor0.9.3 #3

ParserIF#print()メソッドの挙動を修正、ParserIF#getDocument()メソッドを追加。

The road to Meteor0.9.3 #2

getChildParser(Element)とgetMonoParser(Element)を統合し、一本化します。統合後のメソッドは
getChildParser(Element)です。これに伴い、jp.kuro.meteor.hookパッケージのMonoHooker、
MonoLooperクラス及びParserIF#execute(Element, MonoHooker)、
ParserIF#execute(Element, MonoLooper,List)メソッドを廃止します。

The road to Meteor0.9.3 #1

<a id="aa">
  <b id="bb">
</a>
今まではaタグをgetChildParserの引数として掴んで取得した子パーサではaタグの属性をいじれませんでしたが、
0.9.3からはElementを引数に持たない要素操作メソッドを介してaタグの属性を操作できるようになります。
ParserIF#getChildParser、ParserIF#getMonoParserの実装に伴い、jp.kuro.meteor.coreパッケージに
手を入れたことがこの改善に繋がりました。

Meteor goes to Open Source

Meteorをオープンソース化することにしました。ライセンスはGPL、近日中にSF.jpにて公開予定。
他のプログラミング言語への移植も行っていきます。第1弾はRuby、第2弾はC#を予定。

#04/01に書いたので、エイプリルフールネタかもしれません。

Meteor0.9.2 リリース

リリースしました。
[変更点]今回の変更は
  [バグ]改行コード処理におけるMac OSの改行コード「\r」への対応
  [追加]ParserIF#getChildParser,getMonoParser及びflushの追加
      及びParserIFへのメソッド群の追加

ParserIF#getChildParser,getMonoParser及びflushについては
meteor-0_9_2.zip付属のサンプルでわかると思います。

The road to Meteor0.9.2

ParserIF#getMonoParser(Element)周りで少し悩む、スマートな解決方法ではないなぁと思いつつ、
ParserIFにメソッドを追加する方向に確定。
0.9.2で追加のParserIF#getChildParser(Element)、ParserIF#getMonoParser#getMonoParser(Element)によって
従来Hookerのサブクラスを用意してPaesrIF#executeメソッドから呼び出していた処理をHookerのサブクラスなしで
書けるようになります。従来のHookerのサブクラスを用意してPaesrIF#executeメソッドから呼び出す方法も残します。

この追加でNovaの実装に向けて頭を悩ませていた問題が1つ解決。

NovaFacesデザインノート

NovaFacesは似非JSF実装。

アイデア書き溜め中。

Novaデザインノート

Novaはピュア(X)HTML指向のテンプレートエンジン。ひとまずJavaで実装。

アイデア書き溜め中。(X)HTMLテンプレートのパース部分の実装もノートにてシミュレート中。

初期実装には含みませんが、UIのコンポーネント化についても思案中。

Meteor進捗

MeteorはDOMライク?な(X)HTML、XMLパーサです。正規表現と文字列処理のみで作ってあるので軽量。
現在はJavaでの実装のみが存在。

実装当初から内部実装のおおまかな概要をノートに記述しつつ、実装してきました。
これからもノートでおおまかな部分を決め、実装していくスタイルは変わらないと思います。

Meteor自体に名前の変遷があり、KLP(Kuro Light Parser) -> Comet -> Meteorとなっています。
Meteorは0.9.1からの名称です。

進捗は https://asip.backlog.jp/ 、guest/guestで確認できます。

公式サイトは http://kuro.s26.xrea.com/ 。

[2006/08/20]
ParserIF#findElement(elm,attrName1,attrValue1,attrName2,attrValue2)メソッドの実装を
ノート上でシミュレートしてみた。

[2006/09/03]
ParserIF#setAttribute(elm,attName,attrValue)メソッドの実装の変更を
ノート上で再シミュレート...完了。

[2006/09/24]
ParserIF#setAttribute(elm,attrName,attrValue)メソッドの実装の変更...完了。
この変更に伴い、ParserIF#setAttribute(elm,attrName)メソッドをdeprecatedとし、近い将来、廃止します。

[2006/10/01]
ParserIF#getAttributeValue(elm,attrName)メソッドの実装の変更...完了。
ParserIF#findElement(elmName,attrName1,attrValue1,attrName2,attrValue2)メソッド着手。
ParserIF#findElement(attrName1,attrValue1,attrName2,attrValue2)メソッド着手。

[2006/10/09]
ParserIF#findElement(elmName,attrName1,attrValue1,attrName2,attrValue2)メソッドの実装...完了。
ParserIF#findElement(attrName1,attrValue1,attrName2,attrValue2)メソッドの実装...完了。

[2006/10/15]
Meteor0.9.1、リリース。
・変更点
 [変更](X)HTMLパーサにおけるsetAttribute(elm,attrName,attrValue)メソッドの変更
     及びsetAttribute(elm,attrName)メソッドの廃止準備
 [変更](X)HTMLパーサにおけるgetAttributeValue(elm,attrName)の変更
 [新機能]setAttribute(Element,AttributeMap)の追加及びgetAttributeMap(Element)の修正
 [新機能]findElementのオーバーロードによるfindElemnt(elmName,attrName1,attrValue1,attrName2,attrValue2)メソッドと
      findElemnt(attrName1,attrValue1,attrName2,attrValue2)メソッドの追加


[2007/03/10]
久々に改良モードに突入。
[変更]パーサ内の改行コード関連処理の不具合を修正。マックの改行コード「\r」に対応。

[2007/03/18]
[新機能]ParserIF#getChildParser(Element)、ParserIF#getMonoParser(Element)及びParserIF#flush()メソッドの実装...開始

[2007/03/21]
[新機能]ParserIF#getChildParser(Element)、ParserIF#getMonoParser(Element)及びParserIF#flush()メソッドの実装...完了
The road to Meteor0.9.2

[2007/03/25]
Meteor0.9.2 リリース

[2007/04/07]
The road to Meteor0.9.3 #1

[2007/04/14]
The road To Meteor0.9.3 #2

[2007/04/15]

The road to Meteor0.9.3 #3


Meteor0.9.3リリース

[2007/04/17]
Kuro Projectのライセンスポリシー

[2007/04/28]
The road to Meteor0.9.4 #1

[2007/05/02]
The road to Meteor0.9.4 #2

[2007/05/04]
The road to Meteor0.9.4 #3

[2007/05/06]
The road to Meteor0.9.4 #4

Meteor0.9.4リリース