タグ

2010年11月7日のブックマーク (10件)

  • にひりずむ::しんぷる - make test で Test::mysqld を永続化させる方法

    実際にどうやってんのかなーって話をあんまりしてなかったので。 まず、こんな感じのモジュールを t/lib/Test/MyApp/mysqld.pm とかで作って M::I::TestTarget の default_test_target() で `make test` を書き換えてやり、t/script/setup_mysqld.pl に とか書いてあげます。 それぞれのテストでは、Test::MyApp::mysqld->setup で mysqld を立ち上げるようにして置けば、 prove で個別にやった時は、それぞれ立ち上がる make test したときは、最初に立ち上げて、あとは使いまわす という感じになります。 ポイントとしては、 $ENV{TEST_MYSQLD} に Test::mysqld のデータ構造をそのまま JSON にして突っ込む Test::MyApp::m

  • アメリカで働くITエンジニアのブログ: ディスクを UUID でマウント

    kamipo
    kamipo 2010/11/07
  • UUIDを調べる方法

    UUIDWindowsでいうところのGUID。世界でひとつの、ユニークな識別子。ubuntuでは/etc/fstabで以前は/dev/hda1としていたところを、UUID='そのデバイスのUUID'と変更されている。 USB接続機器の識別とかでもUUIDは便利に活用されている。 UUIDの調べかた。例えば、/dev/sda1のUUIDを確認したいときは、ls -l /dev/disk/by-uuid | grep sda1またはsudo tune2fs -l /dev/sda1 | grep UUIDなどと指定。 またはsudo blkid /dev/sda1などの調べかたがある。 さらには、sudo vol_id -u /dev/sda1と、vol_id コマンドを使うのがいいのかな。

    kamipo
    kamipo 2010/11/07
  • C言語 libeventの使い方 tailを作ってみる

    このドキュメントの内容は、以下の通りです。 libeventサンプルコード コンパイル方法 実行方法 参考 libeventは、スケーラブルなネットワークサーバを開発するためのイベント通知ライブラリです。 libeventは、memcachedなどで利用されています。 libeventは、イベントの抽象化ライブラリです。 libevent APIは特定のイベントがファイルディスクリプタに発生するか、タイムアウトに達した場合に、コールバック関数を実行するためのメカニズムを提供します。 ファイルの更新やソケットのデータ到着などのイベントを監視する アプリケーションを開発するには、FreeBSDでは、selectやkqueueなどを 利用します。Linuxならepollを利用します。 このように、プラットフォームになるオペレーティングシステムによって 利用するAPIが異なるため、移植性が低くなり

  • ØMQ(zeromq)について調査する。

    ØMQ(zeromq)について簡単に調査したのでメモ。元ネタはØMQ - The Guide。 概要 N-N通信を実現する、socket API風軽量メッセージングライブラリ。 自動的な再接続や、メッセージのキューイングを行ってくれる。 複数のメッセージングパターンと呼ばれるものを組み合わせることによって、柔軟なメッセージ配信を行うことができる。 ライブラリについて socket APIライクなC APIを持つ。以下socketは、zeromqのsocketを指す。 zeromqはコンテキストというものを通じて使う。1コンテキストに、I/Oスレッドが1つ割り当てられる。基1プロセスに1コンテキストでOK。複数のcontextを持つことはできるし、その場合は同じ個数のI/Oスレッドが走る。 zeromqのsocketは、プロセス内通信(スレッド間通信など)、プロセス間通信、TCP、UDPマ

    ØMQ(zeromq)について調査する。
  • XSでC++を使おうとしたけど挫折したので教えてクン>< - Kentaro Kuribayashi's blog

    追記 コメントでご教示いただいた通り、とりあえず#include を、ファイルの一番最初にもっていけば、エラーは起こらなくなるようです。id:tokuhiromさん、通りすがりさん、ありがとうございました!!1 C++の勉強がてら、XSでC++ライブラリのバインディングを作ってみようと思いました。しかし、超初歩的なところでつまづいてしまいました……。どうすればいいかさっぱりわからない><。。。そこで偉いひとの降臨を待つことにしました。誰か教えてくれくれクンだお><。。。 概要 MacOSX/Debian双方において、UncoというモジュールのためにUnco.xsを書いてるとして、下記のようにC++ライブラリのヘッダファイルを #include <iostream> とかしてincludeした途端、いろいろうまくいかなくなる。環境については、このエントリの下部に記載。 やったこと 準備する。

    XSでC++を使おうとしたけど挫折したので教えてクン>< - Kentaro Kuribayashi's blog
    kamipo
    kamipo 2010/11/07
  • これがWikipediaの裏側、知られざる大規模システムの実態「Wikipedia / MediaWiki におけるシステム運用」

    Wikipediaといえば世界で第5位の訪問者数を誇る巨大サイトですが、システム運営に携わる人間は世界でわずか6人、しかもこれはボランティア込みという恐るべき少人数で、第4位のFacebookのサーバ数が3万台を超えているのに対して、Wikipediaはわずか350台で運用している……などというような感じで、知られざる今のWikipediaの実態が「KOF2010」にて日行われた講演「Wikipedia / MediaWiki におけるシステム運用」で明かされました。 登壇したのはWikipediaを運営するWikimedia財団のエンジニアであるRyan Lane氏で、100席ある座席は満席になり、隣の中継の部屋まで人があふれているほどの盛況っぷりで、語られる内容もなかなか参考になることが多く、今後のGIGAZINEサーバにも活かせそうな内容でした。 というわけで、「Wikipedia

    これがWikipediaの裏側、知られざる大規模システムの実態「Wikipedia / MediaWiki におけるシステム運用」
  • 分散ハッシュテーブル - Wikipedia

    分散ハッシュテーブル (英: Distributed Hash Table, DHT) とは、ハッシュテーブルを複数のピアで管理する技術のこと。2001年に発表されたCAN, Chord, Pastry, Tapestryが代表的なアルゴリズムとして挙げられる。 アドホック性とスケーラビリティの両立を目指す探索 (lookup) 手法で、コンピュータネットワーク上に構築されることから、オーバレイネットワークの一つといえる。 アドレスとコンテンツのハッシュ値を空間に写像し、その空間を複数のピアで分割管理することで、特定ピアに負荷が集中することなく大規模なコンテンツ探索を実現する。 DHTはサーバの集合により構成され、主な機能はハッシュテーブルと同等である。あるキー(ビット列)をハッシュ関数、あるいは何らかの直線化関数により論理的な空間の1点に射影し、射影された点に値を関連づけることを特徴とす

    kamipo
    kamipo 2010/11/07
  • 特定のコマンドやファイルがどのパッケージに含まれているかを検索できる"apt-file" - RX-7乗りの適当な日々

    DebianやUbuntuで、パッケージ管理システム"apt"を使っている場合、ある特定のコマンドやファイルを"apt"を使ってインストールしたくなる場合があります。 そんな時、"apt-file"を使うと、特定のファイルが含まれているaptパッケージを探し出すことが出来ます。 例えば、UbuntuにLinux用のベンチマークツールの"HDBENCH Clone"をインストールしようと"configure"を実行したところ、以下のエラーが出た。 checking for X... no configure: error: *** X libraries or include files not found. Check 'config.log' for *** more details.config.logを確認したところ、、、 configure:3739:27: error: X11/

    特定のコマンドやファイルがどのパッケージに含まれているかを検索できる"apt-file" - RX-7乗りの適当な日々
  • Arduino - Wikipedia

    Arduino(アルドゥイーノ もしくは アルデュイーノまたはアルディーノ)とは、(ハードウェアの)「Arduinoボード」、および(ソフトウェアの)「Arduino IDE」から構成されるシステムである。Arduinoボードは、AVRマイコン、入出力ポートを備えた基板であり、Arduino IDEはC言語風の「Arduino言語」によってプログラムを制作・コンパイル・デバッグ等し、それをArduinoボードに転送 等々するための「統合開発環境」と呼ばれる、PC上で作動させる一種のソフトウェアである。 また「Arduino」という名称は広義には、それらの開発・改良を行う一連のプロジェクトや、その結果生まれた会社、またその多くの開発者らによるコミュニティまでも指すことがある。 もともと2005年にイタリアで5人の人物によって、「もっとシンプルに、もっと安価に、技術者でない学生でもデジタルなも

    Arduino - Wikipedia