前回はロードバランサー(LB)について書きましたが今回は実際にLVSを用いてLBを構築してみます。 LVSの仕組み LVSについては前回の記事で紹介しましたが、Linuxを高パフォーマンス、高可用性(HA)を持つサーバを作るプロジェクトや機能です。 準備 VMwareでゲストを3つ作る。 LVS WEB01(ApacheなどのWEBサーバを導入しててください) WEB02(ApacheなどのWEBサーバを導入しててください) LVSにはネットワークアダプターを2つにしてください。 片方はNATかブリッジ、もう片方はホストオンリー。 WEB01/WEB02に関してはネットワークアダプターは1つで、ホストオンリーにしてください。 OS LVSはOSのkernelバージョンに影響します。 2.6以上であれば基本的に問題ありません。(標準では2.4 2.6に導入されています) kernelバージョ
先日、以下の記事で初めて作ったAndroidアプリを紹介しました。 一週間で初めてのAndroidアプリを作ってみました その後、そのアプリをAndroidマーケットで公開してみました。 はてブ閲覧用Androidアプリ「HTBPocket」を公開しました この一連の作業で参考にした記事やサイトについて、「Androidアプリ開発関連情報まとめ」としてまとめてみました。 開発環境構築まず必要になるのが開発環境です。以下はMacの環境構築です。MacにAndroid SDKをインストール (Update 2010.05.25) そして以下がWindowsでの環境構築です。私はやったことないのでよく分かりませんが(^^;;世界を目指せ!Androidアプリ開発入門:第2回 Androidアプリ開発のための環境構築 公式の開発情報公式の開発者向けサイトです。Android Developers
「ファイナルファンタジー XIV」プロデューサー田中弘道氏インタビュー “成長”をキーワードに、レベル制からの脱却を計った新世代のMMORPG この記事読んだ時から、書こう書こうと思っていて、結局、今頃になってやっと書き始めたわけなんですが、今日はFF11のお話です。といっても、僕は現役のFF11プレーヤーではなく、随分前に引退して、それ以来、WoWを小休止を挟みつつ、続けてきたネトゲプレーヤーなんですけども。 僕は、UO→EQ→FF11→WoWと渡り歩いてきたMMOゲーマーで、一番長く続けているのはWoWになる。WoWをこれほど長く続けているのは、非常に完成度が高い為で、全世界で1000万アカウントのモンスターMMOというのはやはり伊達じゃない。 で、今回の話は、その前にやっていたFF11の話である。FF11は、FFシリーズのナンバリングタイトルということもあり、日本ではそこそこの成功を
forever 5 years old blogさんにて、Emacs で行末の空白を目立たせてみるをやってらしたので、自分もvimでそれっぽい設定を行ってみました。 (自分のソースには行末スペースが混在してるらしく、それはいかんよなぁ、きれいじゃないなぁ、と。) 参考にさせていただいたブログはこちらです(というか全コピーです・・・)。 グニャラくんのグニャグニャ備忘録@はてな - 今流行の.emacs & .vimrc 方法 .vimrcに以下を追記します。 highlight WhitespaceEOL ctermbg=red guibg=red match WhitespaceEOL /\s\+$/ すると、vim上にて、以下のように行末のスペースがredでハイライトされます。 これでばっちりです。 ※しかし、後で気づいたのですが、 vim7の新機能であるタブで開いた2つ目のファイルに
第2部でやったように全てのクラス、関数のラッパーを書いてRubyに登録すればいいのだが、さすがに数が多いと全て人力でやるのはつらい。 この処理の自動化は一昔前はSWIGを使う事が多かったように思うが、rbplusplusの方が新しいのでそちらを使う。 rbplusplusはほとんどすべてのC/C++ライブラリのラッパーを自動作成する。 唯一の制限はC/C++のライブラリは名前空間で囲まれている事。普通は問題ない。 インストールはgemで。rbplusplusが依存しているriceなどのパッケージは自動でインストールされる。 $ sudo gem install rbplusplus Rubyからこう書きたい helloライブラリをrequireしてHelloクラスをnewしてsay_hello関数を呼ぶ。 このHelloクラスはC++で書かれている。 #!/usr/bin/ruby req
C++のクラスとメンバー関数をRuby側から使えるようにする。 この辺情報がないので苦労した。同じ苦労を他人がしないように。 hello.hpp Helloクラスを作る。コンストラクタが引数を取るが特に難しい事はない。実装は省略。 class Hello { public: Hello (int n); ~Hello (); void sayHello (); int n; }; Init_XXX Init_XXX関数はこのように作製する。ライブラリ名(モジュール名)はMyLibとした。 rb_define_class でクラスを定義する rb_define_alloc_func でメモリのアロケート関数を定義する rb_define_private_method でinitialize関数を定義する rb_define_method でメンバー関数を定義する C++のnew演算子はメモリ
まずは普通にC++でグローバルな関数を定義してRubyから呼び出す。 hello.cpp まずはhello worldを表示するC++のソース。解説不要。 #include <stdio.h> int hello (int x) { printf ("hello world, %d\n", x); return x+1; } hello_wrapper.cpp Rubyから呼べるようにする関数。本当はモジュール名と一緒にするのが良いらしい。 まずはruby.hのインクルードとhello関数のextern宣言。 #include "ruby.h" int hello (int x); それからhello関数のラッパーを書く。VALUEはruby.hで定義されている構造体。 Rubyの変数はVALUE型の構造体を通してアクセスする。selfはよくわからないが自分自身を指す。 RubyのVALU
CでRubyの拡張ライブラリを作る方法はいくらでものっているのに、調べてもC++で作る方法が全然見つからなかったので自分で書く事にする。 ようはC++で定義したクラスとそのメンバー関数をRubyから使えるようにしたい。 第1部は普通のグローバル関数をRubyから使えるようにする。 第2部はクラスとそのメンバー関数をRubyから使えるようにする。 第3部はrbplusplusを使って処理を自動化する すべてのクラス、関数を手で書くと結構大変なので、実際には第3部で紹介する rbplusplus を使って自動で処理する事になると思うが、 そうは言っても中で何をやっているのか知っておかないと気持ち悪いので第1部、第2部も書いた。 自動処理のためのツールには他にもswigがあるが、今なら多分rbplusplusの方を使った方が良い。
天ぷらを大量に食べました。油でギットギトです。というわけで、gitで共用リポジトリにpushした変更を取り消す方法です。gitって、ローカルのリポジトリを使う参考記事は多いですが、共用リポジトリを使う記事は少ない気がしますね。でも、githubのユーザーは多いと思います。 490円のServersMan@VPS (CentOS 5) をGitサーバーにする会。 - このブログは証明できない。 追記 2010-12-03 :重要!注意を書いたつもりが書き忘れてました。共用リポジトリをいじるので、複数人で使ってる場合は他の人に影響がでますよね。注意!! あ。間違えてcommitしちゃった。しかも、共用リポジトリにgit pushしちゃった。しかも、50万円もする布団買っちゃった。まず、間違えてcommitしただけなら、git resetを使います。 $ git reset --soft HEA
最近、windowsとmac両方の環境でflex使ってflash開発をしてるのですが、 printデバッグをしたくても、flashのtrace()がどこに吐かれるかがよくわかりませんでした。 で、それは、flash debug playerをいれればいけるみたい。 その辺の設定メモです。 ■windowsでflashのlogを吐く 1.コントロールパネル→プログラムの追加と削除→Flash Player 9 ActiveX(を削除) なんか色々トラブるとめんどいのでflash debug playerを入れる前に、一旦flash playerをアンインストールします。 2.http://www.adobe.com/support/flashplayer/downloads.htmlから、debug playerをダウンロード。 Download the Windows Flash Play
今仕事でRailsアプリケーションを組むときに、test/unitじゃなくてRSpecを使ってる。mock周りの使い勝手がいいとか、語彙が馴染みやすいとかいろいろ魅力があるんだけど、その「可読性」を保つにはなかなかコツがいると思う。言うまでもなくRSpecはRubyのコードを「英語の表現として自然に見える」ようにすることを意図して語彙や書き方を決めている。これは英語圏のエンジニアには非常に素敵なことではあるんだけど、英語が苦手で英作文なんて始めて数分で泣きたくなるようなへたれ外国語学部生にとっては正直やっかいだし、周りの人達の大半は英語に慣れていない人達*1だったりするので、せっかく可読性が高い綺麗な表記でさえむしろ意図を理解する妨げになったりする。いっそドイツ語で書いて「お勉強」に活用してやろうかという衝動に駆られたけども、誰一人として読めない上に一週間後の俺ですら理解に苦しみそうなので
MacBook Airを中古で購入した。理由はいくつかある。ThinkPadの劣化に耐えられなくなった。 Xシリーズの劣化は見るに耐えない。Tシリーズはどうやらまだ奮闘しているようだけど、俺が求めているのはモバイルラップトップだ。というか、トラックパッドいらねーんだよ。キーボードの品質も戻せ。 というわけで、次のThinkPadを探している。以前からこの業界ではThinkPad VS MacBookという図式であったが、ThinkPadが死につつある今MacBookを選択するのは自然。Windows 8の方向性もWindows PhoneみたいにMicrosoftが厳しく監査を通して端末を製造するのならともかく…ねえ。 早くs30の後継機を出すんだ。アイソレーションキーボードとか要らないから。Macでできないお仕事は無いが、Windowsでできないお仕事はある。 いやまあぶっちゃけiOS開
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く