2005年10月21日金曜日

log4netを使ってみる



ここがオフィシャルサイト

説明は後回しでトラブったのでメモ

ビルドは通るのにページを開くと「アクセスが拒否されました」みたな文章が出て動かない。そんな時はbinに入れたlog4net.dllのアクセス権の設定で「NETWORK SERVICE」を追加してみると吉。

このモジュール、結構前からあるにも関わらずあまり日本語の資料って無いですね。それだけ.NETの案件が無いのか、それともログははかせないのか他の製品使ってるのか・・・ハテハテ。




2005年10月12日水曜日

VIを調べていたら・・・



借りてるレンタルサーバ上でちょいとviでhtmlのファイルを編集しようとしたらDreamweaverとかでいうデザインビューみたいなのになってしまい頭を抱える。viの使い方なんぞカーソル移動と文字削除、検索くらいしか覚えてないのでこういう状況になると訳がわからない。

で、一体viは何が入ってるのか調べてみたらelvis君でした。あー、まだあったのね。なんかはるか昔MS-DOSの時代にPC-98上にgccとかGNUのソフトが移植されてお祭りになってた頃に聞いたっきりだったのでちょっとびっくり。色々進化しているもんだ。

で、ちょっと亜種に興味がわき色々検索してみたんだけど色々ありますな。vimなんかが有名で殆どがこれだと思うけどまた色々拡張されてるみたいでvi上でwiki動かしたりってのもこれじゃないかと。なんか紹介の記事がITMediaエンタープライズでトップアクセスになってたりして何か不思議な気持ちに。(余談だけどネタ元のMOONGIFT、OpenArexandoriaから今の形になってすげー見難くなりました。なんとかして。)

で、他にもRubyで実装したRuviだのってのもありーの、Rubyで作られたDiakonosなんてエディタがありーの・・・いやこれはviとは関係ないけどw もー勢いで話脱線させるけどRubyの世界もディープですな。むかーしRubyがまだ今ほど認知されていないマイナーな時にRubyで実装されたMUAを動かそうと四苦八苦した記憶があるけどその頃から兆候はあったのかも。1.6くらいまではそこそこいじってて色々自分ツール作ってましたが最近はさっぱりその手のものから手を引いちゃってるので良くわかりません。RD?gem?ハテハテ

メモついでに色々貼っておきましょう



ところでGNU nanoってのの話を最近ちょくちょく目にするのだけど(話題になってるのではなく、単にたまたま見たところに書いてあっただけだけどw)これは使いやすいのだろうか。viは結局のところどんなレンタルサーバとかでも入ってるので使ってるってだけで他に使いやすい選択肢があるのであればそれに行っても良いかなとか色々考えてみたりみなかったり。emacsのネタが全くもって出てこないのは・・・カスタマイズがすげー面倒というイメージがあるからです。色々なサーバを渡り歩く身としては全サーバに同じ環境を作るのは至難の業だと思ってるし、、、クライアントとして自分の環境作るという話であればWindowsメインの現在わざわざそっちを覚える必要性も正直無いっと。まー、MacOSXなんかだとemacsの方が便利っぽい感じもするんですが。ろくなエディタないし・・・。Windowsで何がなんでも使いたいならWinアプリとして移植されたものよりcygwin+poderosaをお薦めします。cygwinでsshたててTTSSHでも良いんですが・・・poderosaだとcygwinに直でつながるのでDOS窓じゃ嫌だって人にも最適かと。何気に結構重宝してます。




2005年10月4日火曜日

ActionScriptの値の渡し方



ちょいとメモ

ActionScriptにおける参照渡しの話。

基本的にActionScriptは下記の型しか存在しておらず、大きく分けて3つに分類される。



  • プリミティブ型


    • ストリング (String) データ型

    • 数値 (Number) データ型

    • ブール (Boolean) データ型



  • リファレンス型(これでいいのかな?)


    • オブジェクト (Object) データ型

    • MovieClip データ型



  • 特殊な型(なんて言うんだ?)


    • ヌル (Null) データ型

    • 未定義 (Undefined) データ型

    • Void データ型

参照渡しをやりたい時とかはこの辺を気をつける必要がありますよっと。

プリミティブ型は強制的に値渡し、リファレンス型は文字通り参照渡しになるらしい。

以下サンプル

class RefTest
{
var obj:Object;
var val:Number;
function SetObject(obj:Object, val:Number):Void
{
this.obj = obj;
this.val = val;
}
function AddObject(Void):Void
{
this.obj.x += 10;
this.val   += 10;
}
function ViewObject(Void):Void
{
trace("ViewObject : " + this.obj.x + " / " + this.val);
}
}

var test:Object = new Object();
test.x = 10;

var view = new VCViewBase();
view.SetObject(test, test.x);
view.ViewObject();
test.x = 33;
view.ViewObject();
view.AddObject();
view.ViewObject();

結果


ViewObject : 10 / 10

ViewObject : 33 / 10

ViewObject : 43 / 20


Objectは参照渡しに、Numberは値渡しになってますな