gist

2012年1月5日木曜日

XCode4でlibxml2を使えるようにする

libxml2は、XMLを扱うための機能が盛り沢山の高速ライブラリです。XMLをダウンロードしながらパースできたりします。時代はJSONですが。

XCode4でlibxml2ライブラリを使う準備です。

1. libxml2ライブラリを追加する

[TARGET]を選択し、上部タブの[Summary]を選択します。(この画面、なんていう名前なんでしょうか。)

[Linked Frameworks and Libraries]の[+]ボタンをクリックします。

表示されたダイアログでlibxml2.dylibを選択し、[Add]ボタンをクリックします。

libxml2.dylibが追加されます。

2. Header Search Pathsを設定する

[TARGET]の上部タブ[Build Settings]を選択します。

検索ボックスで[Header Search Paths]と入力して、表示された[Header Search Paths]をダブルクリックします。表示されたダイアログの[+]ボタンをクリックします。

入力欄に

${SDKROOT}/usr/include/libxml2
と入力して[Done]ボタンをクリックします。

以上で、準備完了です。

2012年1月4日水曜日

IE6で角丸にして影をつける

PIEを使って、前回のエントリーで出来た角丸に影を追加してみます。

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="style.css" />
</head>
<body>
    <p class="borderRadiusShadow">
    4pxの角丸+影 
    </p>
</body>
</html>

style.css

@charset "utf-8";

p {
   width: 200px;
   padding: 20px;
   text-align: center;
   font-family: sans-serif;
}   
    
.borderRadiusShadow {
    width: 200px;
    text-align: center;
    background-color: #ccc;

    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    
    box-shadow: 4px 4px 4px #000;
    -moz-box-shadow: 4px 4px 4px #000;
    -webkit-box-shadow: 4px 4px 4px #000;
    behavior: url(PIE.htc);
}

実行結果

Safari

IE6

2012年1月3日火曜日

IEで角丸にする

IE6でもCSS3で角丸にするには、PIE.htcを使うと上手いことやってくれます。PIE-1.0beta5.zipをダウンロードします。解凍後のPIE.htcを使います。

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="style.css" />
</head>
<body>
    <p class="borderRadius">
    4pxの角丸
    </p>
</body>
</html>

style.css

@charset "utf-8";

p {
   width: 200px;
   padding: 20px;
   text-align: center;
   font-family: sans-serif;
}   
    
.borderRadius {
    background-color: #ccc;    
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    behavior: url(PIE.htc);
}

実行結果

Safari

IE6

2012年1月2日月曜日

QUnitの文字化けを解消する

QUnitで日本語を表示できるようにしてみます。といってもたった一行追加するだけです。前回のエントリーのqunit.htmlのヘッダに以下を追加します。

<head>
  <meta charset="utf-8" />
  ...
</head>

実行結果

2012年1月1日日曜日

QUnitでJavaScriptのユニットテストを始める

JavaScriptでユニットテストを実行するには、QUnitを使うのが良いかと思います。QUnitはもともとjQuery用のユニットテストでしたが、今ではjQueryに依存しないように作られていますので、JavaScriptをテストできます。JavaScriptの特徴でもある非同期のテストにも対応していますので、オススメです。

ここではQUnitのインストールと実行までやってみます。

まず、テストを実行するためのHTMLファイルを用意します。

qunit.html

<!DOCTYPE html>
<html>
<head>
    <title>QUnit Test Suite</title>
    <link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-git.css" type="text/css" media="screen">
    <script type="text/javascript" src="http://code.jquery.com/qunit/qunit-git.js"></script>
    <script type="text/javascript" src="myTests.js"></script>
</head>
<body>
    <h1 id="qunit-header">QUnit Test Suite</h1>
    <h2 id="qunit-banner"></h2>
    <div id="qunit-testrunner-toolbar"></div>
    <h2 id="qunit-userAgent"></h2>
    <ol id="qunit-tests"></ol>
    <div id="qunit-fixture">test markup, will be hidden</div>
</body>
</html>

次に、テストコードを記述するためのmyTests.jsを用意します。先ほどのqunit.htmlと同じ階層に配置します。必ずOKになるテストです。

myTests.js

test('a test', function() {
    ok(true, 'Happy New Year!');
});

では実行してみます。index.htmlをブラウザで開きます。

実行結果

グリーンになりました。

実行結果のデザインが見やすくカッコイイのでモチベーションが保てそうです。デザインの良さもQUnitを選択する理由かもしれません。

詳しい使い方は、公式のqunit(英語)をご覧いただければと思います。日本語ですとNodeで活躍されているJxckさんのサイトがとても詳しいです。

2008年12月6日土曜日

オープンソース仮想OS「VirtualBox」で Vista を動かす(Mac OS X 10.5 Leopard)

オープンソースの仮想OSに「VirtualBox」というアプリケーションがあります。仮想OSソフトウェアとは、簡単に言えばコンピュータ上に仮想のコンピュータを作り、好きなOSを入れてグヘヘ・・・というソフトウェアです。Macで言えば、VMWare、Parallels など、Windowsで言えばVirtual PC と同じ機能でありますな。天下のSun Microsystems様が提供されております。こんな変態ソフトがタダかよ。

購入したVMWareが泣いております。僕の財布もな。

せっかくなのでインストール手順を紹介します。
その前に実行環境。

ホスト環境
24インチiMac (MB325J/A)
OS: Mac OS X 10.5.5
CPU: 2.8GHz Intel Core 2 Duo
メモリ: 2GB 800MHz DDR2 SDRAM

ゲストOSWindows Vista Ultimate 32bit
インストールDVDかイメージをご用意くださいませ。

ソフトウェアフリークの皆さんには暗黙の了解ですが、各自の責任でやってくださいね。


全体の流れ
  1. VirtualBoxをダウンロードする
  2. VirtualBoxをインストールする
  3. Vistaをインストールする
  4. VistaにPlugInをインストールする

1. VirtualBoxをダウンロードする

VirtualBox公式サイトのダウンロードページに今すぐ進む。

VirtualBox 2.0.6 for OS X hosts Intel Macs をクリックしてダウンロードします。


2. VirtualBoxをインストールする
ダウンロードが完了すると「VirtualBox」がマウントされます。
画面左上の「1 Double click on this icon:」の下のパッケージ「VirtualBox.mpkg」をダブルクリックします。
「続ける」ボタンをクリックして次に進みます。
使用承諾契約が表示されるので「続ける」ボタンをクリックする。
同意するかどうか聞いてくるので、「Agree」ボタンをクリックして同意します。

インストールするパッケージを選択します。まあ、デフォルトのままでいいと思います。インストール先を変更するか聞いてきます。今回はデフォルトのまま「インストール」ボタンをクリックします。
パスワードを入力するダイアログが表示されます。自分のパスワードを入力して「OK」ボタンをクリックすると、インストールが始まります。
インストールできたようです。
ダウンロード直後の「VirtualBox」のマウント画面を表示して、「2 Run the VirtualBox application from the Application Folder:」の下のアイコンをダブルクリックしてアプリケーションフォルダを開きます。
VirtualBoxがインストールされています。
以上でインストール完了です。

3. VirtualBoxにVistaをインストールする

アプリケーションフォルダの「VirtualBox」をダブルクリックすると最初に登録フォームが開きます。任意なのでキャンセルしてもおk。
以下が起動直後になります。
画面左上の「新規」ボタンをクリックします。
新規仮想マシン作成ウィザードが開きます。「次へ」。
仮想マシン名とOSタイプを選択します。今回、名前は「Vista」、OSタイプを「Windows Vista」にして「次へ」ボタンをクリック。
ちなみに、OSのタイプはこれくらい。Windows Server 2008にも対応かよ!Virtual PC 2007だって対応していないのにっ。変態っ!
で、メモリを決めます。2GBしか積んでいないのに32Bit CPUの最大3584MBまで選べるのか?とりあえず512MBに設定しました。後から変更できるしね。
ハードディスクを設定。「新規」ボタンで新たに作ろう。
新規仮想ディスク作成のダイアログに進む。
可変か、固定か。説明は書いてあるとおり。今回は可変を選択した。
サイズと仮想ディスクの場所を選択。今のところ20GBあれば十分。
確認ページが表示される。仮想ハードディスクの場所がライブラリとかに。まあいいや。「完了」ボタン。

仮想ハードディスク作成完了。「次へ」ボタン。
最終確認。「完了」ボタン。
仮想マシン「Vista」が左側のペインに一個追加されている。
Vista 電源オフ、をダブルクリックしていざ起動。
マウスキャプチャの説明が表示される。仮想OSの画面をクリックすると、マウスがゲストOSになる。ホストに戻るときは左コマンドキーで戻れるよ。だそうです。次回からこのメッセージを表示しない、にチェックして「OK」ボタン。
初回ウィザードが開きます。これからVistaをインストールするよ。「次へ」。
インストールメディア、メディアソースを設定。インストールメディアがCDの場合はそのまま次へ。
いよいよCDで起動する。この画面のときにVistaのインストールDVDを入れよう。
お、インストールが始まった。

いろいろやりまして、Vistaインストール完了。
4. VistaにPlugInをインストールする

Vistaインストール直後は、マウスの挙動がおかしいし、ゲストOSから抜けるのに左コマンドキーを押すのがうざい。ネットワークやサウンドのドライバも一気にいれたい。ので、Vistaを起動しているときに、VirtualBoxのメニューバーで「デバイス」>「Guest Additionsのインストール」を選択する。

自動再生しなかったよ。。。
なので、コンピュータ開くといる。

今度はマウスが変。左クリックがシフトを押しながらクリック状態のようだ。
こういう場合は、コマンド起動。
「D:¥vboxwindowsadditions-x86.exe」をたたく。
インストールが始まります。ああ、Sun様。
同意して、
インストール先を選択。
ドライバのインストール認証を聞かれるので、「Sun様からのソフトウェアを常に信頼する」にチェックして「インストールする」ボタンをクリックする。
インストール完了。

Vistaを再起動して終了です。

インストール直後の状態よりもマウスがサクサク動くようになりました。少し重いかもしれませんが、メール、Office位なら全く問題なしです。