goo blog サービス終了のお知らせ 

まず持ってから

「もちつもたれつ」「ギブアンドテイク」でもいいんだけどまず”もって”から、つーことで

Excelでマクロs

2007年11月01日 23時15分28秒 | プログラム
今日も再現性の低いバグ調査でログの解析。

一応、処理のログはあるし、調査用に色々ログを埋め込んだんだけど、もともと再現性が低い&&どこでリセットが起きているかわからない(ICEでうまく捕まえられない)のでログだけで調査するするのはなかなか骨が折れる。

それに、ログの大部分は正常動作でのログなのでどうしても真面目に追いかけられない。

そんな感じで調査を進めていたとき、ふと思った。
「Excelで解析補助用にログを整形するマクロを組んで流し読みでの不具合発見効率を上げよう。(ついでにマクロ作成で気分転換だ!)」
こんな感じでExcelにログをコピペして、整形マクロ処理を動かしながら調査してました。


Excelでマクロ?ExcelでMACROs?Emacs?
ごめんなさい。ごめんなさい。ごめんなさい。

いや、時々Excelのセルを方眼紙みたいにして「高機能マクロ付きエディタ」として使うときもあるし・・・

Xcode

2007年10月27日 22時56分34秒 | プログラム
MacOSX 10.5 をインストールした。なんか色々verUPしたみたいでHDDの空き容量が3GBほど減ってしまった(涙。おかげでオイラ的iBookのHDD使用の目安である空き容量5GBを切れなくなってしまった・・・。

それで仕方なくXcode等iBookにインストールしていた各種開発ツール・資料をアンインストール。最近つかってなかったからあきらめるけど、もう一度必ずインストールするぞ!!!

とりあえず、最悪でもIntelMacBookをHDD200GBにしたものを買って、XP+VisualStudio2005 をインストールするときには同時にインストールしよう。

ネタ帳へのメモ

2007年10月03日 22時32分32秒 | プログラム
任天堂の中の人がやってるOS「es

なぜか es の上で動いているSqueak(Smalltalk)を使ったデモ画像もあります。SqueakなのでWebブラウザなんかも当然動いています。

今の段階ではPCエミュレータ qemu で動作確認をしながら開発を進めているようです。

別にこれをどうこうしてる事はありませんが、リンク先ページ更新記念にここに記録しておきます。

cygwinで日本語

2007年09月30日 08時49分48秒 | プログラム
cygwin環境で日本語を扱うのはあきらめてました。

たとえば、「5文字めから8文字め」と文字位置指定をする場合、英数1byte文字だけで構成されている文字列ならvygwin上のツールだけで問題なく指定できるでしょう。最悪Cのプログラムで書いてもそんなに手間はかからない。
でも、日本語が絡んでくると、cygwin上のどのコマンドが日本語対応ができていて、どのコマンドが日本語対応できていないか、よくわからない。コマンドによっては日本語対応patchがあったり、cygwinのdll自体に手を入れて日本語対応する方法もあるみたいだけど、そこまですると、今後は手を入れた環境のメンテナンスが大変そう・・・

こう思っていたので、日本語込みの状況でスクリプト処理を行う場合、ExcelVBAで強引に実行させていました。

でも、ExcelVBAは便利なんだけれど、cygwin上のシェルスクリプトでやらせたほうが楽な処理もたくさんあります。条件付きファイルの一括処理とか、パイプでつないでコマンド処理を連結させるとか、正規表現でゴチャゴチャっと小細工をさせるとか、etc,etc,

こんな感じで使い分けをしていたのですが、cygwin環境からVBを使う方法を発見!!!

正確に言えば、VBではなくVBSやJScriptと言われている、WSH(WindowsScriptHost)ですが、これを使えば、cygwin上からVBのコードを使うことが出来るようになります。
VB上の関数なら日本語処理も問題ないし、cygwin上から実行させられるので、その制御はシェルスクリプトで書ける。WSHなのでポップアップメッセージなんかも出すこともできるし、いざとなれば、CreateObject() でCOMオブジェクトなんかを生成、制御することも出来る。CreateObject()が使えると何が嬉しいかといえば、COMオブジェクトを使えると、Excelなんかの機能をを「部品(=コンポーネント)」として使えるようになります。

なにか、この組み合わせはワクワクするなぁ

ツンデレマップ!

2007年09月22日 16時51分00秒 | プログラム
べっ、べつにあなたのために地図を作るんじゃないからねっ!

ツンデレマップ!



・・・ツンデレはいいんだけどね。
ZAPAサンのブログで紹介されてたアルプス社のAPI「ALPSLAB api」がなんか楽しそう。

簡単に言えは地図情報をPDFで作ってくれるAPIになるのかな?GISの結果をPDFファイルの形で得られるのだと思う。GIS関連で個人的に一番大変そうだと思っているのが「データをいかにそろえるか」だと思う。これなら地図情報をアルプス社が公開しているAPI経由で使い、他のデータと組み合わせれば簡易GISになる気がしてる。PDFファイルなら印刷して紙形式にするのも楽なので使用目的をはっきり限定させればいい。

いつやるか不明だけど、ネタ帳に記録しておこう。

バーコードリーダ

2007年09月20日 00時41分06秒 | プログラム
以前から「買おう、買おう」と思っていたけど後回しにしてたバーコードリーダを買いました。
一番安かったので CCD-TSK を注文し、これが今日手元に届きました。



本当はQRコードが読めるやつが良かったけど、そちらは少し高いのでQRコードは携帯電話にまかせてしまおう!と割り切ることにしました。

対応パソコンにはMacの名前はなかったのですが、Windowsで使う場合もデバドラの必要もないみたいだから、「使えるだろ、多分」「USBのHIDクラス対応と予想」と考え、実機で実験してみました。

で、iBookにつないでみると、「よくわからないキーボードだぞ。確認するから手伝え」といってきましたが、無視して使ってみました。使ってみると問題なくバーコードを読んでくれ、数字を入力してくれます。Windows環境との違いは、改行処理をしてくれるかどうか、の違いがありますが、まぁ、見なかったことにします。(改行処理の設定はありますが、イマイチよくわからない)

とりあえず、本の目録でも作りますか。
使ってるうちにネタを思いつくでしょw


GNU GLOBAL

2007年09月13日 00時03分47秒 | プログラム
GNU GLOBAL ソースコードタグシステム

リンク先の解説のとおり、ソースコード調査を行うときに便利な解析ツールです。ソースコードに索引付けを行うことで、大規模システムのハックやレビューを効率化するソフトウエアです。定義ソースをHTML化してくれたりもしてくれます。

今見てるソースでこれを使いたかったのですが、その開発環境ではcygwin上のツールの細かいverが指定されていて、GNU GLOBAL を使える環境(まぁ、./configure,make,make install だけど)かどうか自身がなかったのでエディタのタグシステムやGrepで調査していました。

幸か不幸か、今暇なのでGNU GLOBALの話を現場で紹介すると、「おぉ、なかなかよさそう。使おうよ。解説よろしく」、ということで色々調べました。

調べてみると、どうも、Win32用にバイナリで配布もされているみたいで、使用試験を行っています。

Win32バイナリ版

配布パッケージを確認すると、どうもタグファイルを作るのにはcygwin上の色々なツール(perlとかawkとか)は必要ない?これらはあくまでも GNU GLOBAL 自体を作るのに必要なだけ?という思いが浮かんできています。

タグファイルを作るのにかなりの時間がかかるので、まだバイナリ配布verの評価は出来ていませんが、上手く動いているような印象を感じています。

うまくいくといいな。

オブジェクトの履歴

2007年09月09日 12時00分10秒 | プログラム
Cのプログラムは現在のメモリ空間に対して演算を行っているだけで、常にオブジェクトの状態は上書きされていく。履歴を残しておこうとすればその仕組みを組み込んでおけばいいのかも知れないけど、そうすると、その履歴に縛られてクラスの構造を変えていくことが難しくなっていく。究極的にはオブジェクト自体をシリアライズすることで履歴を残していき、内部状態だけでなく機能自体も時間軸で管理することが出来るようになるのかもしれない。

Smalltalkで似たようなことをしてるみたいだけど、あれはVMを含めた世界を丸ごと履歴管理してるしてるはずだから、内部のオブジェクトだけ履歴を戻すなんて事は出来たかどうかちょっとはっきりしない。

出来るようになるとして、問題は履歴をどれくらい保存しておくか、だと思う。
これはあるキャパを決めておいて、長いあいだ変更がなかった履歴を消していくしかないのかな?オブジェクトが更新されたらその履歴の時間順も更新されていく。オブジェクトの更新はなくてもどうしても履歴を残しておきたい物に関してはその履歴を更新する手段も用意しておくけど、あくまでも時間軸で管理していく。




そうね、google desktop search なんかの検索結果で時間軸で並べてるのはこんなイメージなのかな?

iPod touch

2007年09月09日 00時04分47秒 | プログラム
iPod touch

iPhone から電話機能を取り除いた iPod だそうです。
iPhone の中身は OSX(MacOSXカスタマイズ)だという話です。と、いうことは開発には、
・カーネルは C
・ドライバは embedded C++
・アプリ層は Objective-C
・勝手アプリは Javascript
が使われてるんでしょうかね。組み込みはCだと自動的に考えていたからちょっとびっくり。まぁ、あれを「組み込み」ということ自体間違ってるんだろうけどね。

一生勉強なんだろうけど、あんまりドラスティックな変化はつらいなw

廃品回収

2007年08月18日 11時53分07秒 | プログラム
中学校の廃品回収があるので、部屋の本・雑誌を片付けています。
#今休憩中

最近買ってる雑誌には付録が付いてきます。CD/DVD、とか フィギュア、とか 電子基板、とか色々です。特に開発系の雑誌を良く買っているので、CD/DVD、電子基板なんかが片づけをするときに目に留まります。
「はて?これら付録は廃品回収で雑誌にまとめて出してもいいんだろうか?まぁ、CD/DVDはプラスチックごみでいいとして、電子基板は小型破砕ごみに分類してもいいの?それとも電気製品?」
などと考えながら雑誌を紐で絡んでいきます。


実際のところ、電子基板なんかの付録はどう分類するものなのでしょうか?