ページ

2008年11月20日木曜日

InstantRails備忘

今までPerlで作っていた出欠表を作り直そうと思い立ってRuby on Railsの勉強をはじめました。
手順をメモしながら勉強を進めていきます。
ちなみにまずはInstantRails2.0で試してみます。


1. プロジェクトの作成
C:\InstantRails\rails_apps>rails rollbook

このコマンドで C:\InstantRails\rails_apps\rollbook というフォルダを生成します。


2. スキャフォールドの作成
テーブル名からモデル名を命名。単数形のアッパーキャメルケースに変更。

C:\InstantRails\rails_apps\rollbook>ruby script\generate scaffold RollBook schedule:date attendance:string


3. マイグレーションファイルの作成
C:\InstantRails\rails_apps\rollbook>ruby script\generate migration create_table

このコマンドでdb\migrate\001_create_table.rbを生成します。


4. ここでいったんデータベースの準備をして動作テスト
C:\InstantRails\rails_apps\rollbook>rake db:migrate
C:\InstantRails\rails_apps\rollbook>ruby script\server

ブラウザから以下のURIにアクセス。

http://127.0.0.1:3000/roll_books


5. 認証処理用プラグインrestful_authenticationをインストール
C:\InstantRails\rails_apps\rollbook>ruby script\plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/


6. 認証モジュールの生成
C:\InstantRails\rails_apps\rollbook>ruby script\generate authenticated user sessions


7. ここでいったんデータベースの準備をして動作テスト


C:\InstantRails\rails_apps\rollbook>rake db:migrate

C:\InstantRails\rails_apps\rollbook>ruby script\server



ブラウザから以下のURIにアクセス。



http://127.0.0.1:3000/users/new



2008年9月22日月曜日

Thunderbird PortableをGoogleデスクトップで検索する

Thunderbird Portableを標準の電子メールに設定しても、それだけではGoogleデスクトップは検索対象とはしてくれないみたい。
そこで状況は違うけどダメ元で以下のサイトの情報を参考に試してみます。

アイテムを検索できない : Firefox ウェブ履歴 - ヘルプ センター

ちなみに2で検索すると3つではなく5つファイルが見つかる。試しに5つともコピーしてまずは試してみよう。


GoogleDesktopMozilla.dll

GoogleDesktopMozilla.png

GoogleDesktopMozilla.src

GoogleDesktopMozillaStub.js

GoogleDesktopMozillaStub.xpt

その先は5でファイルを削除するところもあるし、いきなり削除するのも怖いし。
そしたらうまくいったみたい。とりあえずうまくいったみたいだけど、そのうち上記URL通りのことも試してみようかな。

なお、適当にやったことなので、参考にする場合にはあくまで自己責任の上でお願いします。



2008年9月14日日曜日

なんとなく宿屋を探してみた

http://www.new-seaside.com/

Visual C++ 2005 Express EditionでBoost C++を使おう!

このページでは主に以下の手順についての概要をまとめてあります。
ただ正直細かい点はあまり覚えてないので省略してたりもします。(^^;


    1. Boost C++ Librariesをインストール
    2. bjamをインストール
    3. Boost C++ Librariesのビルド
    4. VC++2005でのパス設定






1. Boost C++ Librariesをインストール



私は今回SOURCEFORGE.NETからboost_1_34_1.zipをダウンロードして利用しました。
まずはダウンロードしたファイルを展開し、任意のフォルダにコピーします。
ここでは、展開したフォルダを「C:\Program Files\boost」以下に移動しています。
インストール後のフォルダ構成はこんな感じです。
※深いところは省略しています。


C:\Program Files\boost\boost_1_34_1:.
├─boost
├─doc
├─libs
├─more
├─people
├─regression
├─status
├─tools
└─wiki


2. bjamをインストール



またまたSOURCEFORGE.NETからダウンロード。ここではboost-jam-3.1.16-1-ntx86.zipをダウンロードして利用しました。
ダウンロードしたファイルを展開し、任意のフォルダにコピーします。
ここでは、展開したフォルダを「C:\Program Files\boost」以下に移動しています。


3. Boost C++ Librariesをビルド



コマンドプロンプトを起動し、「C:\Program Files\boost\boost_1_34_1」に移動します。
次に以下のコマンドを実行します。


>..\boost-jam-3.1.16-1-ntx86\bjam --toolset=msvc --stagedir=. stage


ビルドに結構時間がかかりますが、これで完了(のはず)です。
正直、文字化けなメッセージがたくさん出てきたので、ちゃんとできてるか心配です。
そのうちちゃんと調べないと。。。


ちなみにビルドされたライブラリ群は、「C:\Program Files\boost\boost_1_34_1\lib」に配置されたようです。


4. VC++2005でのパス設定



最後にVC++2005で利用可能にします。
[ツール]→[オプション]からオプションダイアログを表示します。
[プロジェクトおよびソリューション]→[VC++ ディレックトリ]を表示します。
ディレクトリを表示するプロジェクトから、[インクルード ファイル]、[ライブラリ ファイル]に以下を登録します。



  • C:\Program Files\boost\boost_1_34_1\boost

  • C:\Program Files\boost\boost_1_34_1\lib

これで一通りの設定が完了(のはず)です。
近いうち簡単なサンプルでも作って試してみないと。。。



2008年8月29日金曜日

WTLでスライダーバーを使いたい

今日はWTLにチャレンジ
スライダーバーを使おうとしてMSG_WM_HSCROLLマクロを埋め込んだところ、なにやら未解決のメソッドが出てきた。
そこでよくatlcrack.hを見ると以下のコメントが、

// Note about message maps with cracked handlers:
// For ATL 3.0, a message map using cracked handlers MUST use BEGIN_MSG_MAP_EX.
// For ATL 7.0 or higher, you can use BEGIN_MSG_MAP for CWindowImpl/CDialogImpl derived classes,
// but must use BEGIN_MSG_MAP_EX for classes that don't derive from CWindowImpl/CDialogImpl.

BEGIN_MSG_MAPをBEGIN_MSG_MAP_EXに置き換えたら見事ビルドが通りました。
使い方は以下みたいな感じ。

class CMainDlg : public CDialogImpl<CMainDlg>, public CUpdateUI<CMainDlg>,
        public CMessageFilter, public CIdleHandler
{
private:
    CTrackBarCtrl    track_bar;    // トラックバー

…中略…

    BEGIN_MSG_MAP_EX(CMainDlg)
        MSG_WM_HSCROLL(OnHScroll)
        MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
        MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
    END_MSG_MAP()

    void OnHScroll(int nCode, short nPos, HWND hWnd)
    {
        CTrackBarCtrl trackbar = hWnd;
        ATLTRACE("%d\n", trackbar.GetPos());
    }

    LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
    {


…中略…


        // コントロール設定
        track_bar = GetDlgItem(IDC_SLIDER_MAIN);

        // スライダーバーの初期化
        track_bar.SetRange(0, 32767);    // 値の範囲(32767が最大値)
        track_bar.SetTicFreq(3276);        // 解像度
        track_bar.SetPageSize(3276);    // PageUp/PageDown での移動量
        track_bar.SetLineSize(328);        // カーソルキーでの移動量

        return TRUE;
    }


…中略…




}


2008年8月23日土曜日

Visual C++ 2008 Express EditionでWTLを使おう!

このページでは主に以下の手順についての概要をまとめてあります。
ただ正直細かい点はあまり覚えてないので省略してたりもします。(^^;


    1. Visual C++ 2008 Express Editionをインストール
    2. Microsoft Platform SDKをインストール
    3. WTL8.0をインストール






1. Visual C++ 2008 Express Editionをインストール



特に大変なことはありません。ウイザードに沿ってインストールを進めます。
ちなみに私は以前マイクロソフトのサイトからダウンロードしていたものを使用しました。

2. Microsoft Platform SDKをインストール





Windows Server 2003 SP1 Platform SDK ISO Installを使ってインストールします。
インストール後に、VC++2008の[ツール]->[オプション]からオプション設定ダイアログを開き、include・libのパスを設定します。
[プロジェクトおよびソリューション]->[VC++ ディレクトリ]->[ディレクトリを表示するプロジェクト]->[インクルード ファイル]

3. WTL8.0をインストール



SOURCEFORGE.NETより最新版を入手します。


(1) 自己解凍書庫を展開したものを任意のフォルダに移動します。


(2) 移動後に、VC++2008の[ツール]->[オプション]からオプション設定ダイアログを開き、includeのパスを設定します。
[プロジェクトおよびソリューション]->[VC++ ディレクトリ]->[ディレクトリを表示するプロジェクト]->[インクルード ファイル]


(3) セットアップスクリプトをVC++2008EE用に編集します。

- setup80x.jsをコピーしてsetup90x.jsというファイルを作成します。
- setup90x.jsをテキストファイルで開いて、「8.0」という文字列を「9.0」に置換します。
- setup90x.jsを保存して閉じます。
- setup90x.jsを実行し、セットアップが完了します。



2008年8月9日土曜日

EeePC 901-X購入

ここ最近ずっと気になっていたミニノートPCのEeePC 901-Xをついに購入してしまいました。
ヨドバシで3台入荷しましたというセールストークにまんまと引っ掛かった感じですかね。(^^ゞ