タグ

2009年4月23日のブックマーク (29件)

  • mizzy.org : write はユーザプロセスを待たせない?

    naoyaグループ - naoyaの日記 - I/O, iowait にちょっと反応してみます。 write はページに dirty フラグを立てるだけなので決してユーザープロセスを待たせない って、当にそうなんでしょうか?(否定しているわけではなく、純粋な疑問です。) 最近、書き込みの多いメールサーバのディスク I/O 周りを調査していて、実際にどのプロセスの書き込みが多いのかを調べる方法がわからなかったため、I/O 待ちになっているプロセスをカウントして、そこから類推してみようと、まずは while [ 1 ] do ps -eo comm,state|grep D|grep -v COMMAND >> ps.txt sleep 1 done な感じで STAT が D のプロセスを記録するスクリプトをしばらく走らせておいて、 sort ps.txt | uniq -c | sort

    kamipo
    kamipo 2009/04/23
  • Kazuho@Cybozu Labs: キーワード抽出モジュールを作ってみた

    « IIS のログを tail -f | メイン | Lingua::JA::Summarize 0.02 » 2006年04月26日 キーワード抽出モジュールを作ってみた 一昨日、同僚の竹迫さんに、文書内からのキーワード抽出技術について教えてもらっていた時、わざわざ TF-IDF注1 用に別のコーパスを用意しなくても、MeCab だったら生起コストを辞書内に持っているんだから、それを使えばいいのではないか、という話になりました。 竹迫さんがその日のうちに作ってくれたプロトタイプで、アルゴリズムの改善とパラメータのチューニングを行ったところ、十分な品質が出そうなので、書き直して公開することにしました。 普通の Perl モジュールなので、 perl Makefile.PL && make && make install すれば使うことができます (15:50追記: すみません。 MeCab

  • 8-3. NTFS のセキュリティ機能と落とし穴

    NTFS はその名の通り,Windows NT のファイルシステムである。Windows NT の開発が進められる過程でこれまでのパーソナルコンピュータとは一線を画した(1994 年当時としては)高度で信頼性の高いファイルシステムを実現し,その上で稼動するWindows NT の信頼性そのものを高める目的で作られたものである。 NTFS は当初から次のような機能を備えていた。 64 ビット整数によるファイルサイズ(最大約1.8×1019 バイト) 複数データストリーム データ圧縮機能 ファイル名へのUnicode の採用 高速なファイル名検索 アクセスコントロールリスト(ACL)によるきめ細かなアクセス制御 監査ログ機能 トランザクション処理モデルにもとづくエラーリカバリ機能 ミラーリングやストライピングによる信頼性向上機能 不良セクタの動的再割り当て POSIX サポート(ハードリンク,

  • VFSとファイルシステムの基礎技術

    現在のLinuxは、複数のファイルシステムが選択できる。だが、どれを選べばよいのだろうか? ファイルシステムにはそれぞれ特性がある。連載では、基礎技術から各ファイルシステムの特徴、パフォーマンスを検証する。(編集局) カーネル2.4から、Linux格的にエンタープライズを意識したOSとしての機能を備えるようになった。その特徴の1つがファイルシステムの信頼性である。Linuxの場合、当初に実装されたext2からジャーナリングファイルシステムであるext3やReiserFS、そして商用ファイルシステムとして発展してきたJFSやXFSが取り込まれ、複数のファイルシステムが選択できるようになっている。 連載は、これらのファイルシステムの違いを把握し、ファイルシステムを選択するための指針となるような情報を提供する。 ファイルシステムとは 私たちは通常、データの「読み込み」「書き込み」などの操

    VFSとファイルシステムの基礎技術
  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。
  • pocket*

    If you like pocket* as well as other applications by drikin.com, please consider a donation. It will help us continue to develop great products for all of us. *The simplest Twitter client. *Easy post, easy Retweet. *Stays under the menu bar constantly. *Please use TwitterPod or the other twitter client at the same time to your likings. *Change theme. *(Optionally) Plays sound when new tweets

  • Shibuya Perl Mongersテクニカルトーク#11 に行ってきた - すぎゃーんメモ

    Shibuya Perl Mongers : Shibuya Perl Mongersテクニカルトーク#11に行ってきた。Shibuya.pm初参加。 テーマは"no Perl; use x86;"と、「低レベル」な内容。 内容についてはYokohama.pmに続きid:hirataraさんのレポートが詳しいです。 今日はShibuya.pm #11の日です - 北海道苫小牧市出身のPGが書くブログ が、せっかく自分でも手書きでメモをとってみたので、理解できたところと出来なかったところを整理するためにも、全部晒してみます。 色々間違っているところもあると思いますが、ご指摘などいただけると幸いです。 第一部 sandbox特集 バイナリ畑で捕まえて - inside lleval (dankogaiさん) ライ麦畑でつかまえて、から「バイナリ畑で遊んでいる子どもたちを捕まえてあげられるような

    Shibuya Perl Mongersテクニカルトーク#11 に行ってきた - すぎゃーんメモ
  • 今日はShibuya.pm #11の日です - Pixel Pedals of Tomakomai

    no Perl; use x86; *1ですので、Perlにそんなに興味がない方でも楽しめると思います!!(笑) 今日はユニバーサルアクセスを兼ねて内容を細か目に書いたのですが、書いてる人もあまり理解してないので雰囲気だけ読み取って下さい・・・。誤りの指摘は大歓迎ですorz 4/23追記: 内容の補完のために、すぎゃーんメモさんとこのメモも合わせてどうぞ。 第一部 sandbox特集 バイナリ畑で捕まえて - inside lleval / dankogaiさん バイナリ麦畑で捕まえて → lleval というサービス デモ Perlのコード(CSSの都合で動かない) BASICのコード postscript Perl6 → 重いけど動く 動かすのは簡単 → 不正なコードを動かされると困る → 捕まえて欲しい 1分を越すとタイムアウトする fork爆弾 外部モジュール(syscall.p

    今日はShibuya.pm #11の日です - Pixel Pedals of Tomakomai
  • 本を読む Shibuya.pm TT #11に参加した

    Perl開発者の集まりであるShibuya.pmのテクニカルトーク#11というイベントに行ってきました。あいかわらず、濃い技術話をテンポよくノリよく話していて、楽しく勉強できました。 Perlといいつつ、今回はシステムコールとかレジスタとかjmpとかNOPとかそんな単語が主に飛びかっていたような…というわけで、内容はわからなかったけどがんばってメモとりました >< 以下、そのメモのまとめです。間違いなどありましたらご指摘ください。 バイナリ畑で捕まえて - inside lleval (dankogai) 「サリンジャーは、いま生まれたらPerl Mongerになっていたにちがいない」ということで、ブログで書いていたllevalを紹介。そのこころは、崖っぷちで止める。llevalはLLをWeb上から実行する仕組み。Perlとか、Perl 6とか、みんな大好きBASICとか。 危ないのでサン

  • YappoLogs: Shibuya.pm #11で発表しました

    Shibuya.pm #11で発表しました こんにちは、日のHOTEL担当、素敵なレディーことYappoです。3人の荷物が家族のオモチャにされないか心配だけどもう寝るぞ!話は変わるけど、acotieさんはアクメアクメ言っててどんだけアクメ好きなんだよ!と思ったのは内緒だぞ! という訳でShibuya.pmで発表してきました。二立てです。 一目は、一般的なperl userの作法のBやらDevel::Peekの紹介に加えて、新しく作ったDevel::RunOpsAnalizeを使ってOPCODEの実行単位でPerlの動作を覗き見る方法の紹介をしました。 二目はLTで、dan the eval botの作り方を説明する為のCentOSのインストールをするというのを口実にHatetterのアーキテクチャや、なぜこれらの要素を採用したかを紹介しました。 もちろんCentOSのインストールも

  • Shibuya Perl Mongers #11 に参加して - コードを舐める日々

    初めてShibuya.pmに参加した。 耳が聞こえないこともあって、事前にid:TAKESAKOさんにメモを取っていただける人がいればその人から情報収集できたらいいなという相談メールを送った。 しかも、その相談が2日前だったので、直前なお願いにも関わらず、迅速に対応していただいた。 当日にShibuya.pmのメーリングに「参加者の中に手話の出来る方を募集します。」という配慮も恐縮した。 id:TAKESAKOさん、改めてありがとうございます! 当日はid:hirataraさんの隣に座ってトークの様子をスライドと同時に議事を見せていただきました。ありがとうございます!>id:hirataraさん id:hirataraさんのまとめ 今日はShibuya.pm #11の日です - 北海道苫小牧市出身のPGが書くブログ 発表者がアップしてある記事をまとめてみる。*1 第一部 sandbox特集

    Shibuya Perl Mongers #11 に参加して - コードを舐める日々
  • WindowsユーザのためのはじめてのPerlプログラミング

    This document provides instructions on how to use Perl on Windows and call functions between Perl and x86 code. It discusses using ActivePerl to run Perl on Windows, calling DLL functions from Perl using Win32::API, calling x86 code from Perl using signal handlers, and calling Perl subs from x86 code. Examples are provided for each technique.Read less

    WindowsユーザのためのはじめてのPerlプログラミング
  • O_DIRECTで遊ぶ - takkan_mのNo planな日常

    ここ二日ほど、Linuxをインストールしていたのは、O_DIRECTで遊ぶため。たまには、Linuxでご飯を当にべているということを見せようかと。たぶん、間違っている可能性があるので、ご指摘いただけるとうれしいです。一応、参考は、Linxuカーネル解読室のP314あたり。 O_DIRECTというのは、Linuxのカーネル2.4から(だよね)openシステムコールにたてれるようになったI/Oの直接転送を指定するフラグ。 自分が今の部署にはいって、最初に書くことになったTestプログラムで使ってくれとたのまれて、ちょうど一年前ぐらいにもさわっていたんだけど(昔のブログにはかいたんだけど、今そのブログがない)、最近、仕事の空いた時間で、ファイル経由のI/Oアクセスについて、いろいろ勉強(主にオライリーのカーネルを読んでいる)していて、昔より何やってるいるかわかったきがするので、ちょっと遊ん

    O_DIRECTで遊ぶ - takkan_mのNo planな日常
    kamipo
    kamipo 2009/04/23
  • コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ

    誰に教えられたのでもないのですが、ぼくは冬眠前のリスのようにコード片を溜め込んでいます。 コード片とは、ライブラリにするほどまとまった大きさではない、数行〜十数行のコードのことで、溜め込んだコード片は、アプリケーションやツールを作るときに使っています。 例えば「Perlでメール送るのどう書くんだっけかな」とか「Pythonでファイル開いて全部読むのどう書くんだっけかな」とかというときに、溜め込んだ中からコード片をさっと取り出してコピペした後、なじむようにちょっと修正して使っています。 コードポケット コードを溜め込んでいるディレクトリをぼくは「コードポケット」と名付けていて、コード片を取り出すことを「ポケットからコードを取り出す」と呼んでいます。先日、知り合いが似たようなことを実践していて、その人は「コードスケッチ」と呼んでました。いい名前ですね。 ぼくの場合、コードポケットは ~/lan

    コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ
  • nginxで名前ベースのバーチャルホストの複数指定をするときの注意点 - (ひ)メモ

    先日、wikipedia:冒険遊び場 に参加してきて、森の中を駆けずり回ったり、泥んこ遊びをしたり、たき火でおにぎりや焼きイモを焼いたりましまろを炙ったりしてべたhirose31です。あといまだにnginxかngnixかつづりがおぼえられないhirose31です。 nginx (0.6系) で、ひとつのserverブロックで複数の名前ベースのバーチャルホストを設定するには、server_nameディレクティブをこんな感じで指定します: 列挙する: chikin.curry.example.com beef.curry.example.com pork.curry.example.com 先頭(か末尾)にワイルドカード: *.curry.example.com 正規表現 ここで注意しなければならないのは、nginxがLocationヘッダのリダイレクトをする場合です。例えば、http://

    nginxで名前ベースのバーチャルホストの複数指定をするときの注意点 - (ひ)メモ
    kamipo
    kamipo 2009/04/23
  • gitの中央repos運用時のパーミッションの調整 - (ひ)メモ

    gitで、bareな中央reposにpushしたい。 使うプロトコルは: http:// は遅いのでいや git:// はgit-daemon的に認証がちょっとやわそうなのでいまいち いい方法があったら教えてください>< pushする人らはsshアカウントがあるので、git+ssh:// でいいや 複数ユーザがpushするので、パーミッションに気を使わなければならない: 共通のグループ(例:sandbox)に属させて、chown -R root:sandbox sandbox.git; chmod -R g+w sandbox; find sandbox -type d|xargs chmod 2775 すればグループの統一はOK 問題は sandbox.git/objects/ 下とかに新規で作られるディレクトリのパーミッション。 ~/.bashrcでumask 002すればいいんだけど

    gitの中央repos運用時のパーミッションの調整 - (ひ)メモ
    kamipo
    kamipo 2009/04/23
  • WWW::Mechanizeで"HTTP::Message content must be bytes"とか表示されて大変だった。 - goryugo

    表題の通り WWW::Mechanizeがうまく動かずに大変だった。実はこれ(HTTP::Message content must be bytes)以外にもいろんなエラーが出てたりもしたが、その辺は省略。 どうにか原因らしきものと対策がわかったのでメモ。 原因は文字コード。UTF-8で書かれた一部のhtmlでこうなるみたい。 で、このUTF8テキストをHTTP::Request::Comoonがうまくutf8ヘッダー?を処理できていなかったっぽい。 もうどうしようもなかったので、手動でCommon.pmを書き換えた。 (それ以外にも、プログラム内に use utf8;も追記した) HTTP::Request::Common v5.824 108行目あたり 変更前 while (($k,$v) = splice(@data, 0, 2)) { if (!ref($v)) { $k =~ s

    WWW::Mechanizeで"HTTP::Message content must be bytes"とか表示されて大変だった。 - goryugo
  • PerlとRubyで省メモリなハッシュを使おう - mixi engineer blog

    サボっていた早朝ジョギング@駒沢公園を再開して2週間たち、やっと抜かれる数より抜く数の方が増えてきたmikioです。今回は、PerlRubyのハッシュの代用としてTokyo Cabinetを使うことでメモリ使用量を激減させられることを説明します。 抽象データベースAPI Tokyo Cabinetには抽象データベースという機構があり、先日、そのPerlRubyのバインディングをリリースしました。それを使うと、各種言語のハッシュとほぼ同じような共通したインターフェイスで、以下のデータ構造を利用することができます。 オンメモリハッシュ:各種言語に標準のハッシュと同じく、メモリ上でkey/valueの関係を表現する。 オンメモリツリー:メモリ上の二分探索木としてkey/valueの関係を表現する。 ファイルハッシュ:いわゆるDBMとして、ファイル上でkey/valueの関係を表現する。 ファ

    PerlとRubyで省メモリなハッシュを使おう - mixi engineer blog
  • Epeg で JPEG ファイルのサムネイルを高速に生成する - bkブログ

    Epeg で JPEG ファイルのサムネイルを高速に生成する Epegは JPEG ファイルのサムネイル (縮小画像) を高速に生成するライブラリです。JPEG に特化した手法でサムネイルの処理を行うため、内部的に画像をビットマップに伸張せず、高速かつ少ないメモリで処理できるのが特徴です。 インストール Epeg は Debian パッケージになっていないようなので、ソース (ダウンロード) からインストールしました Epeg は内部的に libjpeg を使っているため、Debian GNU/Linux では sudo apt-get install libjpeg62-dev で事前にインストールしておく必要があります。 Epeg そのものは ./configure && make && sudo make install でビルド・インストールできます。 サンプルコード Epeg の

    kamipo
    kamipo 2009/04/23
    JPEG, PNG のどちらを扱う場合はImlib2
  • Shibuya Perl Mongersテクニカルトーク#11 でLTしてきました - 葉っぱ日記

    昨日開催された Shibuya Perl Mongersテクニカルトーク#11で「Windowsユーザのための初めてのPerlプログラミング」というテーマでLTしてきました。なかなかゆっくり説明はできなかったので、デモとして用意しておいたコードを貼っておきます。 (追記)プレゼンテーション資料もアップロードしておきます。 http://www.slideshare.net/hasegawayosuke/windowsperl-1330816 ちなみに、「そのPPTのテンプレよく見つけたね」と言われたんですけど、手頃なテンプレがなかったので自分でハートとか並べて作ったやつです。 Perlからx86コードを呼びたいときの例。Win32 APIの SetConsoleCtrlHandler を使ってバイナリコードをシグナルハンドラに設定し、GenerateConsoleCtrlEvent で C

    Shibuya Perl Mongersテクニカルトーク#11 でLTしてきました - 葉っぱ日記
  • Manpage of ACCEPT

    Section: Linux Programmer's Manual (2) Updated: 2004-06-17 Index JM Home Page roff page 名前 accept - ソケットへの接続を受ける 書式 #include <sys/types.h> /* 「注意」参照 */ #include <sys/socket.h> int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); 説明 accept() システムコールは、接続指向のソケット型 (SOCK_STREAM, SOCK_SEQPACKET) で用いられる。 この関数は、接続待ちソケット socket 宛ての保留状態の接続要求が入っているキューから 先頭の接続要求を取り出し、接続済みソケットを新規に生成し、 そのソケットを参照する

  • Manpage of ERRNO

    Section: Linux Programmer's Manual (3) Updated: 2008-07-09 Index JM Home Page roff page 名前 errno - 直近に発生したエラーの番号 書式 #include <errno.h> 説明 ヘッダファイル <errno.h> で整数型の変数 errno が定義されており、 システムコールやいくつかのライブラリ関数は、エラーが発生した際に この変数にその原因を示す値を設定する。 この値は呼び出しの返り値がエラー (ほとんどのシステムコールでは -1 で、ほとんどのライブラリ関数では -1 か NULL) を示したときに のみ意味を持つが、ライブラリ関数は成功した場合も errno を変更することが許されている。 有効なエラー番号はいずれも 0 以外の値を持つ。 どのシステムコールもライブラリ関数も errn

    kamipo
    kamipo 2009/04/23
  • lighttpd-1.5.0-r1454 ベンチマーク : blog.nomadscafe.jp

    lighttpd-1.5.0-r1454 ベンチマーク http://blog.lighttpd.net/articles/2006/11/15/pre-release-lighttpd-1-5-0-r1454-tar-gz にでているlighttpd 1.5.0のpre releaseを前回と同じように3KB*100万個でテスト。 結論から言うと、このlighttpdのaioの実装では小さいファイルがたくさんという条件ではそれほど効果がなさそうです ■普通にlinux-sendfile ・設定 server.document-root="/var/www/html" server.port=8080 server.network-backend = "linux-sendfile" server.event-handler="linux-sysepoll" ・結果 $ ./http_lo

  • lighttpd vs Perlbal : blog.nomadscafe.jp

    lighttpd vs Perlbal lighttpdのlinux-aioサポートの記事を読んでいて気になったので、既にaioをサポートしているPerlbalの静的コンテンツを配信するWebサーバとしての性能を調べてみた。 サーバは CPU Pen4 2.8GHz ( HyperThreading付き) Memory 512MB FedoraCore6 な環境です。 上記の記事の様にファイルを3GBほど作成(メモリーより明らかに多い量) 小さい画像ファイルと見立てて、3KBのファイルを10*100*1000=1M個作成しました。 #/bin/bash for i in `seq 1 10`; do for k in `seq 1 100`; do mkdir -p $i/$k; for j in `seq 1 1000`; do dd if=/dev/zero of=$i/$k/$j b

  • lighttpd-1.5.0を入れてみる

    Apache2.0 + mod_proxy + pound + mongrelでは X-Sendfileが使えないのですが、どうしてもどうしても使いたいのでlighttpd1.5.0(mod_proxy_coreがすばらしい)を使ってみることにしました。 (とはいってもまだ正式リリースされていないようなので、そのまま番運用に使うのもどうなのかなぁ、と思いつつ試してみます。当面はpoundを置き換えるだけだし。) ソースはこちらから。 lighttpd-1.5.0-r1992 と思ったらいきなり ./configure で gthread-2.0がないと怒られます。 # ./configure checking build system type… x86_64-unknown-linux … (中略) … checking for GTHREAD… Package gthread-2.0

    lighttpd-1.5.0を入れてみる
  • Redhat Enterprise Linux 5 - lighttpd 1.5.0 installation - nixCraft

    Lighttpd 1.5.0 pre release is now available for download. There are some nice and good features. Many things have been improved, changed and added. New mod-proxy-core is much better as compare to old mod-fastcgi/mod_cgi. On other hand Redhat Enterprise Linux 5 comes with => PHP5 fastcgi binary (/usr/bin/php-cgi) => MySQL 5 => And nice latest and stable stuff. My old lighttpd howtos all are based u

    Redhat Enterprise Linux 5 - lighttpd 1.5.0 installation - nixCraft
  • Lighttpd 1.5.0 を検証 → 現時点で移行は見送りだ

    lighttpd-1.5.0 が stable バージョンに近づいてきたようです。以前も紹介したとおり、1.4.x → 1.5.0 では多くの変更点があります。I/O 周りのパフォーマンス改善とか proxy 機能の多機能化が主な変更点かと。 Latest Pre-Release ・ lighttpd-1.5.0-r1691.tar.gz was release on 2007-02-23 Changes On the way from 1.4.x to 1.5.0 many things have been improved, changed and added and we try to keep track of them to make it easier for user to migrate their configuration. ・ IMPORTANT requires g

  • local::libを使ったCatalyst5.7と5.8の比較テスト - hide-k.net#blog

    JPAセミナー#1でJay Shirley氏が絶賛していたlocal::libですが、その際に「異なるバージョンのモジュールをテストするのにも便利ですね」とか言っていた気がするので、早速やってみました。 お題は、Catalystで先日公開されたMoose版の5.8と旧5.7をベンチマーク比較してみます。 まずはCatalyst::Runtime 5.71001を$HOME/cat5.7にインストールします。 $ cd $ perl -MCPAN -Mlocal::lib=cat5.7 -e 'CPAN::install("M/MR/MRAMBERG/Catalyst-Runtime-5.71001.tar.gz")' 次にCatalyst::Runtime 5.8(この時点での最新版は5.8001でした)を$HOME/cat5.8にインストールします。 $ cd $ perl -MCPAN

    kamipo
    kamipo 2009/04/23
    perl -MCPAN -Mlocal::lib=cat5.7 -e 'CPAN::install("M/MR/MRAMBERG/Catalyst-Runtime-5.71001.tar.gz")'
  • colordiff で diff や svn diff を見やすくする方法 - Craftworks Tech Blog - Branch

    vim などと同様に、diff も色分けされていると見易いですよね。 colordiff を使うと、普段の diff や svn diff で色分けできます。 インストール yum install colordiff diff との置き換え ~/.bashrc に alias diff='colordiff' を追加 svn 内臓 diff との置き換え ~/.subversion/config に [helpers] diff-cmd = colordiffを追加 less でも色付きで見れるように ~/.bashrc に export LESS="-R" を追加 詳しくは、less の man の --RAW-CONTROL-CHARS の項を参照のこと。

    colordiff で diff や svn diff を見やすくする方法 - Craftworks Tech Blog - Branch