ActionScript2のライブラリが少ないなかせっかく見つけたライブラリのソースコードがいまいちなので結局自分で書くことにした。しかも個人じゃなくてどこぞの会社のライブラリっぽいんだけどなー。。。
100人いれば100通りの実装があり、自分の書き方がもっとも正しいとは思わないのだけど、そのまま使うに値しない、なんかいまいちだなーと思っているのか以下の用な点。
1) データ(モデル)が存在しない
オブジェクト指向なんだから、ある程度オブジェクトはデータでないといけない。もちろんMVCで云うところのController的なクラスも必要なこともありこのあたりは判断が難しい。
たとえば、MusicFileというデータに当たるクラスがあったときにMusicFile.Playで再生を行うのか、MediaPlayerというコントローラに当たるクラスを持ってきてMediaPlayer.Play(MusicFile)とするのかみたいな。
しかし、今みてるライブラリはどっちでもなく全部がコントローラ的なクラス名がつけられてる。PlayingFileクラスみたいな。わかりにくいんだよ、どこでデータを格納してるのかが。
とういか、記憶をたどってみてもingなんてクラス名につけることなんてあんまり無い気がするのだけど・・・
2) 変数名が気に入らない
これは、好みの問題もある。
配列の変数にわざわざArrayとかつけるの好きじゃない。自分の場合は単に複数形にする。
あと、currentという接頭頭をつける変数もちゃんと取捨選択したほうがいい。実行中はみんなcurrentなんだから。。。
3) 関数の結合度が密
モジュールやクラスももちろんのこと関数も祖であることが望ましい。最小限の役割を果たすだけのものがよい。最小限の役割の関数を結合して別の機能を組み立てていくべき。
こういう祖で簡単な関数をつくる場合、できるだけクラスのメンバ変数を参照させたくない。たとえると下のaのようなコードがいいのだが、このライブラリはbのコードが多いのだよ。クラスメンバの責任がわかりにくい、なんとかして欲しい。
3-a)
class Math {
int add(int a, int b) { return a+b; }
}
3-b)
class Math {
int a;
int b;
int add() { return this.a + this.b; }
}
まぁ、ActionScriptやるような人はWeb系やデザイン系の人であんまりオブジェクト指向になじみがないのかもしれないけど・・・イライラしてきた。
Archive for 12月, 2008
液晶ブラビア持っているのに、テレビ衝動買いで買い換えるのはどこのどいつだい?
あたしだよ!
衝動買いといっても実は結構計画的。
地デジ録画計画で微妙にボトルネックになっていたテレビがHDMIに対応していない問題。買い換えを検討し、買う機種も限定(40インチ)。
10万くらいなったら迷わず買うのになぁ~と思いつつここ数ヶ月毎週のように電機屋に足を運んでいたがついに買ったぜ。
ポイント還元で11マソ。カード払いだと2%ポイントひかれるんだけど、1%にまけてもらったぜ!そして価格COMの最安値よりも2万もやすいぜ!!すごいぜ!いや、そらテンションもあがるわ。
意味不明なのは、同サイズの下位機種より安いこと。
店員さんに聞いたところ、「ぶっちゃけ言うと、ヨドバシさん対抗なんです」だそうだ。(いや、じゃぁヨドバシはこの下位機種もっと安いじゃないのか?)と思ったが聞かないことにした。そして、この値段をもってヨドバシにいくほど元気じゃないので、買うたった。
もちろんブラビアなので、今月末までブルーレイレコーダーを買うと1万円のキャッシュバックがある。ポイントを有効に使うにはそれもありなのだが、まだブルーレイレコードを買うのは早い気もしている。そこでレコーダーは買わずに余ってるビスタ動作確認マシンをテレビパソコンにしようかとも思っている。
まぁ、キャッシュバックは今月いっぱいまであるのでもう少し考えよう。
そういえば、Chumby買ったのを報告してなかった。ちょうど届いたときに風邪で死んでたからなぁ。。。
せっかくのChumbyだったけど日本語が表示されなくてあんまりうれしくなかった。twitterを表示しても日本語のコメントはUnsuported text formatみたいに表示されてしまう。アラームと時計と天気予報表示くらいでしか機能してなかった。
でも久しぶりにみたら日本語化キット(ベータ版)が公開されている!
http://www.chumby.jp/news/japanease2.html
で、あててみた。なんか空のUSBメモリじゃないとうまくいかない?ちゃんと調べてないけど。

しかし、一つ注意事項が・・・widgetも日本語フォントを使うように設定されてないとだめなんだって。既存のtwitter widgetじゃやっぱり日本語表示されなかった。↑のは日本の人が投稿したtwitter widget。
ということで・・・widgetつくれってことですな!?
月曜日、ふとしたきっかけでwidgetownの中の人に会ってきました。
widgetownはwidgetの投稿サイト。vector
widget版と言えばわかりやすいのだろうか。
widget開発者の立場から、widgetはフレームワークごとにowner(YAHOOとかGoogle)がギャラリーを持っていて、他にもいくつかwidgtownのような投稿サイトがあり、ユーザからのコメントを見る場合はいくつものサイトをチェックしないといけなくてしんどい。開発者ごとに一つにRSSにまとまっているとうれしい。というお願いをした。
しばらく自サイトのリファクタリング的なことをずっとやっていてデスクトップ系の開発が止まっていたので、そろそろwidgetの開発も再開しようと思う。
kwWikiグローバル化案もあったのだが、kwWikiはもともと個人ホームページのような感じでつくっていたため内容がごちゃまぜになっている。その後個人的な話はblogに、自作ソフトはtracに移行したりしていて立ち位置が微妙になっている状況。
とりあえず内容は適当なサイトに移動しようかと。で、どうせならみんなで書けるwikiは別にしようかとも思っている。(まだ未決定)
で、最近自分専用のPukiWikiにメモ書きをまとめているんだけど、そこではUTF8で保存してる。後々の移行も考えてkwWikiの文字コードをEUCからUTF8に変換することにした。
PukiWiki Plusに移行ツール(/tools/data2utf8.php)があり、それがそのまま使えそうだったので利用させてもらった
http://pukiwiki.cafelounge.net/plus/index.php?Documents/About%20the%20migration%20from%20EUC-JP%20to%20UTF-8
別フォルダにrsyncでコピーしてそこでデータの文字コードを変換して、pukiwikiのutf8のソースを上書きした。skinだけは上書きせずに単体で文字コード変更。
一部プラグインの出力が文字化けしたのでプラグインの文字コードもおのおの変換。
ツールのおかげで意外に簡単にできた。
prototypeベースのLightbox2を入れてみることにした。
http://www.lokeshdhakar.com/projects/lightbox2/から2.04をダウンロードして解凍。
css/js/imagesは以下のように配置
- css/lightbox.css -> /css/lightbox.css
- images/* -> /images/lightbox/*
- js/*.js -> /js/lightbox/*.js
パスの変更に伴い、lightbox.jsの49,50行目あたりを以下のように変更
fileLoadingImage: '/images/lightbox/loading.gif', fileBottomNavCloseImage: '/images/lightbox/closelabel.gif',
おなじくlightbox.cssの16,17行目あたりを以下のように変更
#prevLink:hover, #prevLink:visited:hover { background: url(/images/lightbox/prevlabel.gif) left 15% no-repeat; }
#nextLink:hover, #nextLink:visited:hover { background: url(/images/lightbox/nextlabel.gif) right 15% no-repeat; }
あとはヘッダーのテンプレートに
<link href="/css/lightbox.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="/js/lightbox/prototype.js"></script> <script type="text/javascript" src="/js/lightbox/scriptaculous.js?load=effects,builder"></script> <script type="text/javascript" src="/js/lightbox/lightbox.js"></script>
を追加して終わり。
Example
とりあえずMovable Type 4.23(MTOS)に更新。主にセキュリティアップデートらしい。
中日のWBC代表辞退問題、個人的には中日の肩を持つけどなぁ。
北京オリンピックでは選手を出していたわけだし、その北京では選手が酷使されたわけだし・・・ 選手の方もリスクがあるには違いない。
だいたいあんな意味不明な代表監督人事してたらそっぽむく人が野球界の中にいても仕方がないと思うけど。 都合のいいときだけ、国とのためにとかファンのためにとか言われると冷めるわ、マジで。
サッカーの場合はワールドカップ、テニスならウィンブルドン、ゴルフならマスターズ。 スポーツによって最高の国際舞台は変わるわけで選手も小さいころからそれらを目指したりすると思うけど、 野球の場合は突然現れた大会だから、選手もどういうふうに目標を定めるべきかはかりかねてるんじゃないかなぁ。
今はいろんなものを成熟させていくときだと思うし、もっと冷静に考えるべきじゃないかと思う。 ぶっちゃけ本当にボイコットする球団が現れてもまだ歴史のない大会なんだし、しょうがないくらい考えでよいのでは。
なんかいつの間にかAIR 1.5がリリースされてるーと思ったら10日ほど前に出てたんですね。
というわけで、AIRアプリであるさぐりプレーヤーをAIR 1.5でコンパイルしなおしました。AIR I.5からAdobe LabsにあったAdobe AIR Update FrameworkがAIR SDKに含まれてます。
(「さぐりプレーヤー」はみんなでつくる動画検索 SAGURI(http://saguri.jp/) の検索結果をそのまますぐに再生できるプレーヤーです)
<name> <text xml:lang="en">Saguri Player</text> <text xml:lang="ja">さぐりプレーヤー</text> </name>
も読み込めるようになってました。
本体についてはニコニコ動画判定が甘かったので修正しました。
下記からダウンロードできます。
http://apps.makotokw.com/saguriclient/

