タグ

2010年6月22日のブックマーク (9件)

  • Stray Penguin - Linux Memo (KVM-3)

    ゲストのインストール (virt-install編) 先のページでは、qemu-kvm コマンドでゲストのインストーラを直接起動してその後普段用の起動用 qemu-kvm スクリプトに移行するという基的な、泥臭い、解剖学的なやり方を紹介したわけだが、当節では、virt-install コマンドでインストールする現実的なやり方を紹介する。virt-install は裏で libvirt (Xenの記事参照) を使用しているため、インストールと同時にゲスト定義が libvirt のドメイン定義データベースに登録される。そのため、インストール後に通常起動用のシェルスクリプトを用意したり libvirt のドメイン定義プールに手で加えたりといった手間が要らない。virt-install のコマンドオプションはかなり限られていて仮想マシンのパラメータをきめ細かく制御することができないという欠点はあ

  • Stray Penguin - Linux Memo (KVM-2)

    このサイトは、もともと作者の自分用メモとして書き始めたものです。書いてあることが全て正しいとは限りません。他の文献、オフィシャルなサイトも確認して、自己責任にて利用してください。 ゲストのインストール (qemu-kvm直接編) GUI ツール virt-manager (仮想マシンマネージャ) を使えば、いとも簡単にゲストがインストールできてしまう。しかし、最初からそれに頼り切っていては QEMU/KVM の仕組みが理解できないので面白くないし、コマンドラインに比べると virt-manager には幾つか制約があり応用が利かない。そこで、当節では敢えてコマンドラインにこだわる。方法としては、qemu-kvm を直接コールするやり方と、コマンドライン版のゲストインストールヘルパー virt-install を使うやり方とがある。現実的には virt-install がお勧めだが、KVM

    kamipo
    kamipo 2010/06/22
  • Stray Penguin - Linux Memo (KVM)

    KVM = Kernel-based Virtual Machine の中核は Linux カーネルのローダブルモジュールで、QEMU と協力してホストOS上で仮想マシンを実行することができる。Xen と異なるのは、Xen が Nemesis という異種OS をハイパーバイザとし、ホストOS はその上で動く特権ゲストと位置づけられるのに対して、KVM では Linux ホストOS 自体がハイパーバイザとなり、個々のゲストプラットフォームが各々ひとつのプロセスとして実行される点だ。また、Xen がフルバーチャライゼーション (完全仮想化) とパラバーチャライゼーション (準仮想化) の両方を提供しているのに対して、KVM はフルバーチャライゼーション専用。そのため、ゲストOS のカーネルを Xen 用に改変してハイパーバイザとの話し方を教えてやるというようなことが必要ない。完全仮想化によるオ

    kamipo
    kamipo 2010/06/22
  • MySQL Conference&Expo 2010に行ってきました | BLOG - DeNA Engineering

    DeNA システム統括IT基盤部の岩永亮介といいます。お初にお目にかかります。 だいぶ報告が遅くなってしまったのですが、4月に参加してきた MySQL Conference 2010の報告を簡単にさせて頂きたいと思います。 こんてんつ はじめに 僕の見たMySQL Conference Performance Tunings and others MySQL and Cousins Future Databases おわりに はじめに MySQLを触り始めてまだ半年程度の自分でしたが、弊社の 「 国際学会派遣制度 」を利用して、今年4月にシリコンバレーで開催された MySQL Conference&Expo 2010 に 運良く参加させて頂くことになりました。 一人で海外とか初めてだし、英語もできないし、MySQLも初心者なので ホントにどうなることかと思いましたが、「MySQL愛して

    MySQL Conference&Expo 2010に行ってきました | BLOG - DeNA Engineering
    kamipo
    kamipo 2010/06/22
  • テンプレートエンジンを素のPHPからTwigに乗り換えた理由 - id:anatooのブログ

    そもそもPHP自体がテンプレートみたいなものなのにさらにテンプレートエンジンとか使う理由って何ですか? http://d.hatena.ne.jp/xmalloc/20091225/1261709421 nimpadでは、以前はテンプレートエンジンとして素のPHPを使っていましたが、最近Twigというテンプレートエンジンに切り替えました。 理由は幾つかあるのですがその中から主なものを挙げてみました。 テンプレートの継承ができる テンプレートを継承できるのは便利です。レイアウトなどは同じだけど細かいところは違う、というようなテンプレートを書くのが格段に楽になります。 素のPHPでレイアウトなどを共有する場合、includeする部品ひとつひとつを他のファイルに切り出してやる必要があるんですが、継承に比べるとこれは面倒です。 素のPHPからTwigに乗り換えた一番大きな理由はこれです。 変数を勝

    テンプレートエンジンを素のPHPからTwigに乗り換えた理由 - id:anatooのブログ
  • blanka - anatoo@nimpad

    Blanka web application framework Blankaとは PHP5.3で利用できるウェブアプリケーションフレームワーク。 現在githubにて開発中。 github Blankaが目指すもの シンプル 単純である。学習コストが低い。 パワフル コードあたりの生産性が高く、再利用性も高い。簡潔である。 柔軟 小さなものから大規模なアプリケーションまで対応できる。様々な用途のウェブアプリケーションに対応できる。 具体的な特徴 MVCアーキテクチャでいうコントローラの部分を主に提供する軽量フレームワーク モデルやビューは関知しない。好きなものを容易に組み込める コントローラが木構造を持てる バックトラックによりコントローラの木構造を逆向きにたどれる 高度なプラグイン機構 自動的にインジェクトされるパラメータ プロバイダによりコントローラを疎結合にできる コントローラのテ

  • PHPの次の十年のためのフレームワークBlankaの話 - id:anatooのブログ

    http://github.com/anatoo/Blanka タイトルはここからインスパイアされた。 最近PHP5.3で動く新しいウェブアプリケーションフレームワーク作っている。 まだ一度もリリースしていないが以下その概要について箇条書きとサンプルコードを少し書く。 PHP5.3以上で動く コントローラ = コールバック コントローラを作るのに必ずしもクラスを書く必要がなく、匿名関数でもよい hello worldのコード <?php include_once '/path/to/Blanka.php'; Blanka::app()->respond(function($b) { return 'hello world'; }); コントローラの最初の引数には必ずBlankaオブジェクトが渡される。 Blankaオブジェクトは、リクエストを得るためのメソッドや、レスポンスを返すメソッド、

    PHPの次の十年のためのフレームワークBlankaの話 - id:anatooのブログ
  • WebSocketを使ってリモートデスクっぽいVNCっぽいWebSocketRemoteというものを作ってみました (Kanasansoft Web Lab.)

    (2010/04/09 追記:タイトル内のVNCをSVNと間違えていたのを修正しました。) 次世代のWebの規格としてWebSocketというものがあります。WebSocketは、AjaxでもCometでもないサーバ-クライアント間の新しい通信方法です。通常のWebアクセスや、Ajax・CometはHTTPを使用していますが、WebSocketはHTTPではありません。接続のたびに接続のリクエストが発生するHTTPと違い、WebSocketはとても高速で、同時に複数の接続も可能となっています。遅延も小さく比較的容量の大きいデータも高速に転送できるため、リモートデスクトップのようなものが作成できないかと思い、WebSocketRemoteというものを作ってみました。ブラウザには、プラグインやFlash、Javaアプレット等は一切不要となっています。 一応動作するのですが、XMLHttpReq

  • Emerge Technology: WebSocketでChatを作ってみた

    MacChromeを入れたことだし、HTML5のWebSocketでChatを作ってみました。サーバがgolangで作っています。クライアント側のコードは、こんな感じです。 <html> <head><title>Web Socket Chat</title></head> <body> <script> var ws = new WebSocket("ws://127.0.0.1:1972/chat"); ws.onopen = function() { }; ws.onmessage = function(message) { var txtNode = document.createTextNode(message.data); var brNode = document.createElement('br'); var cnode = document.getElementByI