JavaScript 配列の基礎

・配列を作成する。


・配列の要素にアクセス


・配列の長さを知る


・境界を考えないでいきなりアクセスできる


・配列の末尾に要素を追加する。push
・配列の先頭に要素を追加する。unshift
・配列の末尾から要素を削除する。pop
・配列の先頭から要素を削除する。shift


・配列に配列を追加する。concat(追加する配列)


・配列内の部分配列を取得するsliceメソッド。slice(開始インデックス,終了インデックス)


・配列内の部分配列に別の配列を挿入する。splice(開始インデックス、削除する要素数、追加する要素、追加する要素、・・)


・配列を文字列に変換する。join(separator) デフォルトのseparatorは”,”


.NETのWebBrowserコントロールでflashがクリックできなくなる

WebBrowser上のflashを一回クリックすると、クリックしてもflashが反応しなくなる現象。

とりあえずの直し方

WebBrowserのWndProcをオーバーライドして、WM_L・・・をスルーする。

ネタ元はここ

サンプルソリューションwindowsapplication1

Ubuntu 8.04でWineを使う

WineはWindowsプログラムをLinuxなどのX Window System上で動かすためのソフトウェアでWindowsプログラムが必要とするWin32APIの実装を提供しています。またネイティブのDLLをWine上に持ってきて使うことも出来ます。

しかし実際にはなかなか動かないことが多かったり、動くとしてもコツが必要だったりするみたいで、そのためかAppDBなどを用意して有名ソフトが動くのかどうかをデータベースとして提供していたりもします。

また「なぜWineが必要なのか」としてWindowsの蔓延に対する警戒として以下のようなことも書いています。

同種の人間達は各個人が同じ脆弱性を共有する。たった一つの脆弱性を見つければその人間達すべてを滅ぼすことが出来る。我々はこのことをからよく学ばなければならない。

(途中省略)

Wineは別の手段でのWin32APIの実装であり違うOSで動作する。Wineは同じ欠点を共有せず、それにより必要な多様さを提供している。

ここではUbuntu8.04を使ってWineを動かしてみます。まずインストール。

$ sudo apt-get install wine

スタートメニューにWineが現れ、その中に「notepad」(メモ帳)がありますので起動してみます。


起動はしましたが、改行が入力できず、日本語も入力できませんでした。

これはとりあえず置いておいて、日本製の有名フリーウェアが動くかどうか試してみます。Terapadというテキストエディタをダウンロードして、~/winapps/terapad/に置いて以下のように実行してみました。

$ cd ~/winapps/terapad
$ wine TepaPad.exe

改行は出来ますが、日本語入力がやはり少しおかしくてキャレットが戻ったりしてしまうようです。

つぎにファイルマネージャのMDIEを同様に起動してみましたが以下のようなエラーがでて起動出来ませんでした。

世界最高峰ダウンロードマネージャirvineを試してみました。

これはちゃんと動くようです。

Continue reading Ubuntu 8.04でWineを使う

debianでデフォルトのブラウザを設定する

デフォルトのブラウザの設定の方法は色々あるみたいでアプリによってどこを見るのかが違うようです。

1、httpプロトコルハンドラを見る場合

gconf-editorを起動して、/desktop/gnome/url-handlers/http/commandの値を”firefox %s”などに設定する。

2、デフォルトのブラウザを設定を見る場合

gconf-editorで/desktop/gnome/applications/browser/execの値を”firefox”などに設定する。

3、x-www-browserを見る場合

以下のようにupdate-alternativesやgalternativeなどで設定を変える。

Frama-C C言語のソースコードを解析するツール

Frama-CはC言語のソースコードを解析し、おかしいところをチェックしてくれるツール。Ubuntu,Window XP, Mac OSで動作する。またACSLという、ソースコードにコメントの形で付加する行動記述言語も備えており、例えば以下のように関数の前に記述しておくと、この関数の戻り値\resultの値の条件を示しておくことができる。

ソースコードの解析方法は色々なものがあり、それぞれプラグインで提供されており、デフォルトでも実験的なものも含めて16個くらいある。

Windows XPで使うにはmingwとocaml for mingwがインストールされている環境でmsysから使うことができる。解析の際GCCでプリプロセスを実行するため対象のCソースファイルが含むヘッダがないとエラーになってしまう。

実行は、frama-cコマンドまたはframa-c-guiコマンドで行う。以下はサンプルでついてきたwin_iconv.cに対して行った例。

$ frama-c-gui.exe win_iconv.c
[preprocessing] running gcc -C -E -I. win_iconv.c
Parsing
Cleaning unused parts
Symbolic link
Starting semantical analysis


ソースコードにACSLが記述してある場合、プラグインのValViewerによって評価、解析ををすることができる。