[ADP開発日誌-公開1周年記念特集 Part1] ADPの1年間を振り返る

この7/30で、ADPをSourceforge.jpさんで公開して1周年になります。本来なら大々的なパーティでもするところですが、残念ながらそこまで流行っていませんが、それでも感慨深いものがありますので、このブログで1周年記念特集でもやってみます。
(もっともこういうふうに、こそっとやっている時が一番楽しいところかもしれません。)
先ずは、この1年間の活動を総括してみます。

ダウンロード件数250件

残念ながらあまり多くないです(他の自作のソフトの方がもっとダウンロードされてたりします)。もっとも最近では、固定客がついたのか、リリースの度に数十件のダウンロードがあり、4月以降のダウンロード件数が150件となっています。
ADPですがまだ開発版なので、ガチであまり使って欲しく無い面もあり、とはいっても流行らせたい思いもあり、といったジレンマを感じるわけですが、Ver 1.0までは開発優先で行こうということでこのまましばらく様子をみます。

バージョン:0.5 → 0.73

この1年でバージョンが0.23増えましたので、このペースで行けば来年の年末にはVer 1.0が出そうです。もっとも途中でスキップ(0.5 → 0.55、0.62 → 0.69)していますので単純には比較できませんが。
この1年で、内部のアーキテクチャーにも手を入れました。特にインタプリタ本体の構造が変わりました。
Ver0.5ではグローバル変数に実行環境のスタックを持っていましたが、途中のバージョン(忘れた・・・Ver0.6付近)からは、スタックを、実行状態を保持するオブジェクトで持つように変更しました。
また、Ver0.69でライブラリを整理し大分洗練されてきたかと思います。

キャッシュ機能の実装、DB関係の充実

機能の実装ですが、大きなところではキャッシュ機能の実装があります。細かなところではDB関係の機能の充実、JSONの対応などがあります。最近では他社からの請負仕事以外はなるべくADPで作成するようにしており、他のプロジェクトのモックアップをADPで作成したりして、この1年で少しは鍛えられたかと思います。

マニュアルがそこそこ充実してきました

マニュアルが大分充実してきました。リファレンスマニュアルで一部抜けているところがありますが、そこはまだ仕様が変わる可能性があるのでそのままにしています(またはサボっている)。
マニュアルは英語版が欲しいところですが、現在のところ日本語版のみです。

Sourceforgeさんについて

当初はダウンロードのみということで使っていましたが、最近ではチケットシステムやSVNのリポジトリもSourceforgeさんのものをメインで使うようになりました。
ちなみに、2011年上半期までの活発なプロジェクトにADPがランクインしました!

その他

LL Eventさんの方で実行委員を募集していましたので、応募してみましたところみごとにとおりました。
今年は、8/20に行われますが、Lightning Talkにも発表者として参加いたします。
80%の出来のADPを発表するのもどうかと思ったのですが、LL Eventに出るというのは目標だったので、早くも達成できたのでよかったです。

ということで次の記事は『次の1年間の目標』を書いてみます。
2011-07-28 | コメント:0件



[ADP開発日誌]0.73リリース バグフィックス

0.72に続きまして、WEBの表示系でまだ不具合が残っていましたので、再度のリリースです。

AWPモード(WEBページの標準的な出力モード)で、改行をBRタグに変換していますが、0.72で pre タグ内では、BRタグに変換しないように改修を行ったのですが、その他にも色々ルールを加えた方がよろしいということで、0.73では以下のようになっています。
□AWPモード時で、BRタグに変換しない改行コード
・preタグ内(0.72から)
・tableタグ内でかつ th、td、captionタグ内でない場合
・ul、olタグ内でかつ li タグ内でない場合
・タグの終了直後の改行
Wordpressもそうですが、WEBのアプリを作っていて改行コードをBRタグに変換する処理を加えたくなりますが、結構悩ましかったりします。なので思い切ってそういうことはしないという方針もあるかと思いますが、いい感じで改行コードをBRタグに変換してくれるとそれはそれでありがたかったりしますのであえて挑戦したりしてます(まぁ記事を直すのが面倒というのもあるのですが・・・)。
2011-06-28 | コメント:0件



[ADP開発日誌]0.72リリース バグフィックス

最近忙しいのでリリースする気はなかったのですが、しょうもないバグを見つけてしまったので、0.72としてリリースします。

バグ内容ですが、このブログとhttp://www.adp.la/ のページでコードを晒していますが、そのコードをコピペすると改行コードが全て取り払われるという、ある種の嫌がらせのようなバグでした。
ブログの方は今年の2月に入れ替えたのですが、それ以来気づいていませんでした・・・。お恥ずかしい。
2011-06-21 | コメント:0件



[ADP開発日誌]0.71リリース Twitter ハッシュタグの検索

前回のリリースから3週間ですが、Ver0.71のリリースです。
引き続きドキュメント執筆時に見つかった仕様の矛盾点の修正と幾つかの述語の追加を行っております。
 
■変更履歴
select述語の変更(ドキュメントに反映)
item述語の仕様変更(ドキュメントに反映)
述語の追加
raise json _json rearray ctimestr
整数型のサイズを32ビットから64ビットへ変更
加算演算子(+,+=)の文字列対応

また、だじゃれくらうどのプロジェクトでモックアップをADPで作成しましたが、そのときのフィードバックも反映させています。
実際にADPを実用言語のレベルまで引き上げる為、色々なプログラムをADPで作成しています。まだまだ追加・修正等が発生しますが、なかなかよい言語になったかと思っています(自画自賛)。
だじゃれくらうど関連の成果は機会があれば発表したいですが、一部披露させていただきますと、ツイッターのハッシュタグを検索するというのがありまして、以下サンプルになります。

ソース(twearch.p)
+hserver('search.twitter.com');
+url_base('/search.json');

+prt_tweet($rec)
  ,$item == $rec['results'].each
    ,prtn( $item['created_at'], ',', $item['from_user'], ':', =futf8($item['text']))
    ,next;
+check($n), $n <> NIL, !;
+check($n), exit(0), !; # 終了
,$url = url_base + '?rpp=100&q=' + =arg(0).urlencode
  ,counter(1, 1, 15, $c)
    ,html( =hserver, 80, $url, "GET", $, $, $, $, $data)
    ,$rec == $data._json
    ,prt_tweet($rec)
    ,check($rec['next_page'])
    ,$url = url_base + $rec['next_page']
    ,sleep(1000)
    ,next

実行例(Windows)
以下の例のように、コマンドライン引数の -A 以降に検索するハッシュタグを指定します。
D:>adp twsearch.p -A dajare

Mon, 30 May 2011 13:19:31 +0000,teatime_avenue:足の血行が結構悪い。 #dajare

…いまいち。
Mon, 30 May 2011 13:19:15 +0000,Tomonobu1979:RT @mc1242: そうそう!先週金曜から
#dajare をつけてくれたダジャレは、ダジャレクラウド http://dajare1242.appspot.com
/wall.html が動いてまして、永遠に記録されます! QT @_gukkii: #mc1242 みんなでだ
じゃれを考えましょう!
  ・
  ・

ちなみに0.71のリリース直後に、バグが見つかったので、入れ替えております。
adpを引数なしで動かしたときのバージョン番号が  0.71.0082 のものはバグがあります(↑のコードを実行するとエラー終了します)。
 0.71.0083 のものがバグフィックス版になります。
リリース後3時間で、そうダウンロードする人も多くないので、リリースのアップデートで対応しています。
2011-05-30 | コメント:0件



[ADP開発日誌]0.70リリース

前回のリリースから2週間ちょっとですが、Ver0.70のリリースです。
前回のリリースからドキュメントの方も充実させようと執筆を行っているのですが、執筆中に『この仕様はおかしい』ということで色々本体の方も修正しました。その他機能追加やバグフィックス等もあり、以下のとおり修正は盛りだくさんです。
 
□論理演算子の変更
 &(AND) ^(XOR) |(OR) ~(NOT)
□述語の追加
 ・awpモードで許可するタグの追加・削除
 ・文字列の置換関連の述語の追加・整理
  replace / replace_first / regex_replace / regex_replace_first
 ・代入演算子の追加
  += -= *= /= %= &= ^= |=
 ・パスセパレーター述語
  → Windows上での動作時に\を返し、Unix上での動作時に/を返す。
  pathsep
□名前空間の実装
□コンパイルエラーのエラーコードとメッセージの整理
□DBライブラリのインタフェースの変更
□centos 64ビット版の動作確認
□コマンドラインからのプログラム実行
□デバッグポストフィックス(~d)の追加

昨年の6月からブログで公開して早1年になりますが、本バージョンで文法上は大分安定してきましたので、以降バージョン1.0までは仕様変更は軽微かと思います(ひょっとしたら大々的な変更もあるかもしれませんが・・・)。
今まではいかんせん機能的な追加・変更が多かったので、ただリリースしているだけでしたが、そろそろもっと本格的に使ってもらおうかと思っております。
ドキュメントはまだ執筆中で不十分ですが、それでも少しずつ充実させていきますので、ご不明な点等はお気軽にご質問ください。
どうぞお試しくださいませ。
2011-05-09 | コメント:0件
Previous Page | Next Page