タグ

2009年3月24日のブックマーク (51件)

  • DBD::Mock を使ったテスト - 日向夏特殊応援部隊

    DBD::Mock は DBI のドライバの一つで、DBI を使ったプログラムで意図的な状態を作る事が出来ます。 と言う訳でメモ程度に書いて行きます。 データベースハンドルの取得 use strict; use warnings; use Test::More; use DBI; plan tests => 3; my $dbh = DBI->connect('dbi:Mock:', '', '', +{ AutoCommit => 0, RaiseError => 1 }); ok($dbh, 'Create database handle'); isa_ok($dbh, 'DBI:db'); is($dbh->{Driver}->{Name}, 'Mock', 'Driver information'); で、普通に Database Handle が取れます。 SELECT してる箇

    DBD::Mock を使ったテスト - 日向夏特殊応援部隊
  • Lovely Charts

    Whether you are looking for flowcharts, sitemaps, business processes, organization charts, wireframes or other diagrams to use on your website, we can help! Visualization is a powerful medium of communication. What can be expressed in thousands of words can be easily conveyed through one image or diagram. Diagrams are pictorial or graphical presentation of information. They can be used for a pleth

    Lovely Charts
  • yohei-y:weblog: CAPのCとACIDのC

    CAP 定理と BASE の概念を考えたのは UCB の Brewer 先生で、彼は inktomi の偉い人だったというのは前回述べた。 当時のinktomiはYahoo!Microsoft、それにgooにも検索エンジンを提供していて、1億以上のWebページ(テラバイト級のデータ)を扱っていたようだ。 手元のWEB+DB PRESS Vol.49 のはてなブックマークリニューアル記事によると、現在のはてなブックマークは1160万URLと100GBのHTMLデータ(圧縮済み)を扱っているらしいので、ざっくりいって98年の時点でinktomi は現在のはてブの10倍のデータを扱っていたといってもいい。inktomiで使っていたコンピュータの性能は現在のPCサ ーバに比べれば1/10程度の性能なので、システム全体でみると現在のはてブの100倍の規模になるだろうか。 結果的には、inktom

  • yohei-y:weblog: CAP と BASE について調べたこと

    時系列で 1990年代後半: Eric Brewer (UCB)が inktomi でいろいろ作る CAPとBASEの基礎ができる http://www.ccs.neu.edu/groups/IEEE/ind-acad/brewer/ 2000年7月19日: Eric Brewer が PODC (Principles of Distributed Computing) の基調講演で CAP 定理?と BASE を発表 CAP は Brewer 予測として知られるようになる この時点で、inktomiと同等スケールのWebサービスの問題に対処していた人はあまりいなかったのかもしれない 2002年 MIT の Seth Gilbert と Nancy Lynch が CAP を形式化 ここで Brewer の CAP が晴れて定理となった この間、よくわからず 2007年-: eBay の

  • クラウド上のリレーショナルデータベースはなぜ難しいのか? BASEとCAP定理について

    今週18日からマイクロソフトがラスベガスで「MIX09」を開催します。Windows 7やWindows Azureが発表された昨年秋のPDC(Professional Developers Conference)とは異なり、MIXはWebデザイナーとWebデベロッパー向けのイベントです。 ところで、デザイナーとデベロッパー向けのイベントといえばアドビシステムズのイベントが有名。その名称はたしか「MAX」ですよね......。 さて。MIX09ではWindows Azureの料金体系の発表があるかもしれないといわれています。もし発表されれば、IT系メディアのヘッドラインを飾ることでしょう。 僕が注目しているのは、先日「マイクロソフトがクラウドでリーダーシップを握る可能性が高まる」で書いた、SQL Server完全互換の「SQL Data Services」(SDS)についての具体的な内容の

    クラウド上のリレーショナルデータベースはなぜ難しいのか? BASEとCAP定理について
  • Memcachedにtelnetで接続する。 | キムラデービーブログ

    オープンソースデータベースを加速する「キムラデービー」のブログです。カレー日記を兼ねてます。なお著者は2010-06-01より日オラクルに在籍していますが、サイト(ブログ、またはウェブサイト)において示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。 Memcachedは単純なテキストプロトコルということで、Telnetで試しにつないでみました。クライアントにはいつも使っているPuttyを使います。下記の用に設定します。 Host Name: localhost Port: 11211 Connection type: Telnet で、Memcachedに接続します。まずは、"stats"とタイプしてみましょう。文字列がずらずらでたらとりあえず接続成功です。 stats STAT pid 740 STAT uptime 22606 STAT

    Memcachedにtelnetで接続する。 | キムラデービーブログ
  • http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt

    Protocol -------- Clients of memcached communicate with server through TCP connections. (A UDP interface is also available; details are below under "UDP protocol.") A given running memcached server listens on some (configurable) port; clients connect to that port, send commands to the server, read responses, and eventually close the connection. There is no need to send any command to end the sessi

    kamipo
    kamipo 2009/03/24
    <command name> <key> <flags> <exptime> <bytes> [noreply]\r\n
  • いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl

    スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。 私は C, C++ でプログラムを書いているときはデバッガ (主に GNU/Linux 上の gdb) を頻繁に利用します。しかし、スクリプト言語ではそれほどでもありません。これはおそらく次のような理由によります。 ビルドが不要なので printf デバッグが容易 (ある程度大きい C++ のプログラムではビルド時間が長いので printf の挿入はしんどい) 異常終了時にスタックトレースが表示される (Ruby, Python なら自動、Perl の場合は use Carp; $SIG{__DIE__} = \&Carp::confess; など) オブジェクトのインスペクトが簡単 (Ru

    kamipo
    kamipo 2009/03/24
    use Carp; $SIG{__DIE__} = \&Carp::confess;
  • わたしがprintf()デバッグをしない理由 2009-03-22 - 未来のいつか/hyoshiokの日記

    プログラマという職業について、もう25年くらいになるのであるが、その間にコンピュータのコストパフォーマンスは、それこそムーアの法則に従って、10万倍〜100万倍くらい向上した。にもかかわらづ、デバッグの方法というものの劇的な変化はほとんどみられない。 プログラミング入門書では、デバッグについて、ほとんど議論されていないし、仮にふれられていても、おざなりな方法というか、かなり邪険にあつかわれていたりする。プログラマの多くの時間がデバッグについやされていたとしてもだ。 たまたま手元にあった、C実践プログラミング(ISBN4-900900-64-8)という10年くらい前に買った参考書では、450ページのうちデバッガの利用については、4行ほど記述がある。たった4行である。診断用のprintf()を挿入するということは3ページにわたって記述されているのにだ。 流石に21世紀になってprintf()デ

    わたしがprintf()デバッグをしない理由 2009-03-22 - 未来のいつか/hyoshiokの日記
    kamipo
    kamipo 2009/03/24
  • 第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編] | gihyo.jp

    みなさん、はじめまして。はせがわようすけと申します。 最近、文字コードと関連したセキュリティの話題を目にすることが増えてきました。文字コードを利用した攻撃は技術的に未開拓ということもあり、参考となる情報がなかなか見当たりません。この連載では、文字コードを利用した攻撃やそれに対する対策について正しい知識を解説していきます。 文字コードとセキュリティが関連するもっとも大きな点は、やはり文字列の比較でしょう。「⁠危険な文字列の検出」「⁠安全な文字列であることの確認」といった文字列の比較は、セキュリティを考えるうえで避けて通れない処理だと思います。 文字列の比較においては、単純にバイト列を比較するだけでは不十分で、文字列がメモリ上でどのようなバイト列として格納されているのか(このルールを符号化方式あるいは文字エンコーディングと言います)に注意しなければならないこともあるでしょう。攻撃者は巧みに文字

    第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編] | gihyo.jp
  • APR-util の DBD API を使ってみる - daily dayflower

    APR(の一部の APR-util)には,各種データベースを統一インタフェースで使うことのできる DBD API があります。のでちょっと使ってみました。 ちなみに普通に C でアプリケーションを書いている人にはあまりおすすめできないと思います。統一インタフェースというほど方言を吸収しているとはいえないので。もっとも portability layer としてすでに APR を使用していて,ちょっくら DB も(軽く)使用しようかというケースなら向いているかもしれません。どちらかというと,DB を使用する Apache のモジュールを開発している場合に,個別のデータベースクライアントライブラリにバインドするよりはこちらを使ったほうが,柔軟性(データベースの選択)が増すという用途です。さらに mod_dbd なんてのもあわせて使うとおもしろいかも。 どのデータベースエンジンがサポートされてい

    APR-util の DBD API を使ってみる - daily dayflower
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • インタプリタ型言語を高速化する computed goto : DSAS開発者の部屋

    先日Python 3.1a1 がリリースされました。 Python 3.0 は Python 2.6 に比べてパフォーマンスが悪かったのですが、Python3.1はPython2.6よりも速くなるかもしれません。 Python3.1のパフォーマンス向上は、主に次の2点が影響しています。 ioモジュールがC言語で書き直された computed goto の採用 (--with-computed-gotos というconfigureオプションで有効) computed goto という名前を聞き慣れなかったのですが、調べてみると Ruby 1.9 の VM (YARV) や、 Perl6 の VM として開発されとうとうリリースされた Parrot にも採用されている手法でした。今回は簡単に computed goto の紹介をしてみます。 とりあえず label as value C言語の規

    インタプリタ型言語を高速化する computed goto : DSAS開発者の部屋
    kamipo
    kamipo 2009/03/24
    --with-computed-gotos
  • 無料のDNSサーバにSlaveを持ってもらう。 - 家賃抜いたら6万円でした。

    毎月ゴルフなんか行ってる場合なんやろうか。メーカー系SIerでネットワークエンジニアをしています。職場ではWindows Server好きだが、自宅ではMacintoshを使う…。2008年は湖でのルアーフィッシングとゴルフばっかりしてました。…な男の悲しい生き様。 コメントはOpenIDだけじゃなくmixiの認証でもOKにしてあります。 というか、自前のZone Masterはインターネットに公開したくありません。 無料のDNSサービスなんてたくさん有ります。そのうちでSvaleまたはBackupに 対応したサービスを使って間接的に公開します。 今は5つのサービスを見比べてますが、最終的には2つに絞り込むつもりです。 1.FreeDNS  <a href="https://freedns.afraid.org/">https://freedns.afraid.org/</a> Mast

    kamipo
    kamipo 2009/03/24
  • レコメンド(推薦)・サービスに一番大切なこと - llameradaの日記

    flickrの写真をクリック履歴から自動的に推薦するサービス「フォト見る」を数日前にリリースしました。さいわい、気に入って頂いた方もいるようです(Route 477(2009-03-12))。「フォト見る」をリリースしてみて思ったのですが、レコメンド(推薦)を軸としたサービスでは初心者ユーザにいかに使ってもらえるかが一番大切だなと思いました。 ユーザに何かを推薦するには、当たり前ですが、そのユーザの好みを知っている必要があります。例えば、「フォト見る」では、ユーザが過去にクリックした写真から好みを推定しています。ところが、初めてページを訪れたユーザの好みは全く分かりません。1つでも写真をクリックしてくれれば、ユーザの好みが少しでも分かります。ところが、ユーザの好みが分からない状態では推薦は無理なので、初めてのユーザに対してはどうでもよい写真が表示されやすく、写真をクリックしてもらうのがなか

    レコメンド(推薦)・サービスに一番大切なこと - llameradaの日記
  • https://blog.8-p.info/2009/03/textfield-js

  • SQLとXSSは最凶ツートップ? - 極楽せきゅあブログ

    世間の認識と脅威レベルのギャップ――XSSは当に危ないか?:川口洋のセキュリティ・プライベート・アイズ(13) - @IT これ良い記事だなあ。最近なんかセキュリティ業界のあおりすぎが鼻につく気がしていたんだよね。まあその片棒を思いっきり担いでいたりもしたので、今更何をと言われてしまうだろうけど。 この記事では、実際に即したリスクの分析をちゃんとしようぜ、ということを言っていると思うんだけど、そういうところ大事っすよね。 ただ、あっしの意見はちょっと違うかなあ。あっしは、結局SQLインジェクションとXSSってセットで考えるべきなんじゃないの、と思っていたりします。 そら細かく見れば、対策する方法や対策そのものも異なりますし、例えば「SQLインジェクションには対策を行って、かつXSSの対策は行っていない」という状況になる可能性はゼロではないでしょう。しかし現実的には、SQLインジェクション

    SQLとXSSは最凶ツートップ? - 極楽せきゅあブログ
  • lsコマンドをハックしてみよう

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ショッピング事業部開発部の吉野です。 Yahoo!ショッピング開発部では新人エンジニア向けにコマンドのソースコードを読むことを奨励しています。 その初期の題材として、lsコマンドがよく挙げられます。 今回は「lsコマンドをハックしてみよう」と題し、lsコマンドについてお話しさせていただきます。 突然ですがエンジニアの皆さん、lsコマンドのソースコードを読んだことはありますか? 読んだことのない方はぜひ一度、目を通しておくことをおすすめします。 意外と知られていませんが、lsはcd,pwdなどのコマンドと違いシェルの組み込みコマンドではありません。 一口にlsと言っても、複数のソースコードが存在します。 代表的なのはGN

    lsコマンドをハックしてみよう
    kamipo
    kamipo 2009/03/24
  • DBT-2によるベンチマーク手順

    DBT-2とはTPC-Cライクなオープンソースのベンチマークソフトで、OLTP系の負荷を擬似的に作り出すように設計されている。細かい更新系の処理を測定したい時には便利なベンチマークツールである。しかしながら、DBT-2の実行手順は多少面倒くさく、さらにREADMEには偽の(?)情報まで含まれている上にDBT-2の実行手順はあまりWeb上では解説されていない。そこで、今日は簡単ではあるがDBT-2によるベンチマークのやり方を紹介しよう。(以下の例では利用するデータベースをMySQLDBT-2のバージョンを0.40であると仮定している。) 1. ダウンロード次のページからDBT-2をダウンロードしよう。 http://osdldbt.sourceforge.net/ 2. 補助パッケージのインストール以下のperlパッケージ類はconfigureスクリプトでは「足りないよ」と言ってくれないの

    DBT-2によるベンチマーク手順
  • たけまる / cpan2pkg - .deb を賢く自動作成

    _ cpan2pkg - .deb を賢く自動作成 [cpan][debian] CPAN モジュールを .deb にするスクリプトを作りました.単純に .deb に まとめるだけでなく,もう少し賢く振る舞ってくれます. # 同じことをしている人はたくさんいそうだし,ツールも公開されているの # かもしれませんが,見つからなかったので作ってみました.より良いもの # をご存じの方がいましたら教えてください. 開発環境のモジュール構成を忠実に再現したいときに使います.次のよう な状況を想定しています. - cpan コマンドでモジュールをインストールして開発し,テストしている - 運用マシンにも同じバージョンでモジュールをインストールしたい - Perl をよく知らない人でも扱えるように,.deb にしておきたい - 開発マシンにインストールされているすべてのモジュールではなく,指 定したモ

  • UML::Class::Simple で Catalyst のクラス継承図を描いてみた

    UML::Class::Simple ってモジュールがあります。このモジュールを使うと既存のプログラムを解析してクラス図を作成することができます。業務で仕様書を書く必要がでた場合、もしくは Catalyst のようなフレームワークをより深く知りたくなったときなどに大いに役立つモジュールです。 http://search.cpan.org/~agent/UML-Class-Simple/lib/UML/Class/Simple.pm UML::Class::Simple is a Perl CPAN module that generates UML class diagrams (PNG format, GIF format, XMI format, or dot source) automatically from Perl 5 source or Perl 5 runtime. Per

  • PC覚え書き | プログラムのデーモン化

    VvZX(qvZX)Afork()VXeR[gpBVXeR[oAovZXmAvZXRs[B ovZXevZXARs[VvZXqvZXBevZXAqvZXfork()lpB evZXAfork()qvZXvZXIDpAqvZX0pBplAevZXqvZXッBlBAqvZXPvOヲB int main(void){ pid_t child // fork()li[ if( !(child=fork()) ){ // child=0qvZX printf("inchildprocess\n"); exit(0); } // evZXqvZXID\ヲ prinft("inparentprocess:childprocessID=%d\n,child); return 0; }

  • 再帰処理のクイックソート vs 非再帰処理のクイックソート

    なるエラーでプログラムが続行できなくなる不具合に悩みました。そこで、今まで記述したことのない非再帰処理のクイックソートに書き直すことになりました。 僕の業は VBA でないので、これ以上詳しい Excel VBA のソートのお話しは以下のサイトをご覧下さい。 さて、以下の説明は VBA に実装する前に作成した Perl 版クイックソートに説明を切り替えます。 まずは単純に再帰処理のクイックソートを実装してみる sub qsort_normal() { my $array = shift; my $left = shift; my $right = shift; my ($i, $j, $pivot, $tmp); if ($left < $right) { $i = $left; $j = $right; $pivot = $array->[($left+$right)/2]; whil

  • 第15回 udevを読む | gihyo.jp

    過去数回に渡ってLinuxの起動の仕組みを紹介してきました。今回はその最後としてudevとそれが利用するsysfsについて紹介しましょう。udevを使えば、従来はあらかじめ用意しておく必要があったデバイスファイルを必要に応じて動的に作成することができ、周辺機器の活線挿抜などにも、より柔軟に対応することができます。 デバイスファイルとは コンピュータが機能するためには、ディスプレイやキーボード、ハードディスクなど、さまざまな周辺機器が必要で、これら周辺機器をうまく取り扱うことがOSの重要な仕事になります。Linuxの元となったUNIXでは、さまざまな種類の周辺機器を統一的に扱うために「周辺機器もファイルと同様に扱う」ことにしました。このアイデアを実現するために導入されたのがデバイスファイル(スペシャルファイル)です。 デバイスファイルは、アプリケーションからはファイルと同じように見えますが、

    第15回 udevを読む | gihyo.jp
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • C言語で実行時バックトレース - moratorium

    C言語で実行時バックトレース 2006-07-30 (Sun) 2:43 Unix glibcにはbacktrace()という便利な関数が有るらしいのですが、あえてその中身を自分で実装してしまおうという暇潰しをしてみました。 x86に限ると以下の様な感じでスタックフレームにアクセス出来てしまいます。 int get_stack_trace(void **result) { void **sp = (void**)&result - 2; // sp[0] : pointer to previous frame // sp[1] : caller address // sp[2] : first argument int n = 0; while (sp && n < 100) { result[n++] = *(sp + 1); void **new_sp = (void**)(*sp);

    kamipo
    kamipo 2009/03/24
  • libaio(Linuxの非同期I/Oライブラリ)の使い方 - moratorium

    libaio(Linuxの非同期I/Oライブラリ)の使い方 2007-06-05 (Tue) 4:53 Unix Linuxで非同期I/Oを行うためのライブラリ「libaio」の使い方を書いてみる事にする。少し昔の話になるが、lighttpdが使用し、スループットを80%も上げたらしい。 TOEFLに向けて転置ファイルについての論文(Inverted files for text search engine [moffat 06])でReading対策をしていたところ、意外とスニペット(検索にヒットした箇所の前後の文章)を作るところが時間がかかるという事を教えてもらったので、適当にそれを例題にしてみる。具体的には以下のようなコードを非同期I/Oを使用して速くなるかどうか見てみる。 for (unsigned int i = 0; i < files.size(); i++) { FILE*

    kamipo
    kamipo 2009/03/24
    非同期I/Oを使えばファイル分だけI/O要求を一気に出しておけば、それをI/O Schedulerが賢くスケジューリングし、全体としての読み込み時間をminimizeする事が出来る。
  • kzk9.netをEC2へ移行 - moratorium

    日、kzk9.netAmazon EC2上(1 Small Instance)に移行しました。 合わせて、今までブログツールとしてMovabileTypeを使用していたのを、WordPressに移行しました。以下のエントリが非常に参考になりました、ありがとうございます。 固定リンクを変えずにスムーズにMovableTypeからWordPressに移行するまでの作業ログ また、以下のテーマ・プラグインを使用させて頂いています。 wp.Vicuna Ext Vicuna Adapter - はてな系 FeedLocations - FeedURLの変更 まだ色々と調整中ですが、完全移行に向けて、ちまちまと作業して行きたいと思います。レスポンスの方ですが、少し気になりはしますが、E-Mobileで日常的に過ごしている自分としてはあまり気にならないレベルじゃないかと。 元々kzk9.netはM

  • Ruby/Rubygems使い方まとめ - 俺の基地

    ネットワークからパッケージを探して一覧で出す hogeってキーワードに引っかかるパッケージ一覧出す gem search --remote hoge 省略形 gem search -r hoge ▲ ▼

  • 堀江貴文 エンジニアは誇り高くあれ|【Tech総研】

    東京大学文学部宗教学宗教史学専修課程中退。1996年に「有限会社オン・ザ・エッヂ」を設立。2002年に旧ライブドア社から営業権を取得し、2004年に社名を「株式会社ライブドア」に変更。2006年に証券取引法違反容疑で起訴されて一審、二審ともに有罪判決を受ける。現在上告中。1972年福岡県生まれ。 今、非正規雇用の増加やいわゆる「派遣切り」が社会問題になっていますけど、僕が前の会社(ライブドア)で社長をやっていたときは、技術者派遣やSI会社の常駐社員などは一切使わなかったし、逆に自社の社員を派遣することもしなかった。社内ではこうしたシステムを利用するようにかなり説得されたけど、ここだけは頑固に譲らなかった。 唯一、派遣会社を使ったのは受付の女の子たち。いろいろとあって押し切られてしまったのだけど、彼女たちが望めば正社員にしていたし、希望すれば総務や経理に異動もさせていた。ほかに社員でない人と

  • GIGAZINE - FirefoxやThunderbirdのメモリ消費量を劇的に減らす方法

    Firefoxはページのブラウジングを快適にするため、パソコンに搭載されているメモリを使いまくるという仕様になっています。ふつうの一般ピープルであればだからといってどうということもないのですが、Firefoxを好んで使う人のブラウジングスタイルだと異常なほどのメモリを消費し、もっさりしてきたり、快適さが損なわれてしまうように感じるのもまた事実。 なんとかならないものかとみんなあれこれ試行錯誤しているわけですが、そういう対策で一番お手軽で快適さが損なわれない方法を1つ、ピックアップしておきます。 なお、この対策方法はFirefox、Thunderbird、Mozillaで動作確認しています。 ■最小化したときにメモリ消費量を減らす メモリ消費量を抑える一番簡単な方法です。やり方もとっても簡単。 1. アドレスバーに「about:config」と入力してEnterキーを押す 2. 開いたページ

    GIGAZINE - FirefoxやThunderbirdのメモリ消費量を劇的に減らす方法
  • git-svnのサブコマンド補完関数(Zsh) - Hello, world! - s21g

    1  _git-svn () { 2  `git-svn --help | grep "^ \w" | sed "s/^ //" | sed "s/ .*//" | sed 's/^/ compadd /'` 3  } 4 5  compdef _git-svn git-svn

    kamipo
    kamipo 2009/03/24
  • VirtualBoxで仮想化を始めるための、もっともシンプルなチュートリアル - UNIX的なアレ

    仮想化、使っていますか? 少し前までは特殊な扱いをされていましたが、VMwareやXenなどの普及にともなって現在においては当たり前の技術としてつかわれるようになってきています。自分自身も、コーディングを行ったり検証をおこなうような環境としてすでに手放せないモノとなっています。しかし、そこでよく議論となるのがhypervisorは何がいいの?というお話です。 自分自身も様々なhypervisorを使っていますが、なかなか良かったとおもえるのがVirtualBoxでした。 エントリーでは、VirtualBoxの簡単な導入方法を説明したいと思います。導入までの時間はダウンロード時間含めても10分ほど!これならちょっと導入をしてみたくなりますね。 なお、VirtualBoxのインストールにはNetworkの再起動が必要です。作業中の方は注意してください。 VirtualBoxとは サンによって

  • 第3回 Moose::Role:役割単位のクラス分け | gihyo.jp

    多重継承しないほうがよい場合 前回は多重継承を利用してクラスを拡張するときにありがちな問題と、そのひとつの解決策を見てきましたが、クラスにいくつかのメソッドを追加したいだけであれば、むしろ継承を利用しないほうがふさわしい場合もあります。 たとえば「コウモリ」というクラスを実装するとき、「⁠乳を出す」というメソッドのために「ほ乳類」というクラスを、「⁠空を飛ぶ」というメソッドのために「鳥類」というクラスを継承するのは――たしかにそれで当座の問題は解決するかもしれませんが――違和感が残ります。 use strict; use warnings; use Test::More tests => 4; package Mammal; sub new { bless {}, shift; } sub produce_milk { print "I can produce milk.\n"; } pa

    第3回 Moose::Role:役割単位のクラス分け | gihyo.jp
  • masuidrive on rails - RailsアプリをチューニングするならNew Relic RPM

    Photo by Riverman72 あとで自分メモを書こうと思うけど、先に一言。 37signalsも使っているといううたい文句に惹かれて試してみた、Railsのパフォーマンス記録ツール/サービスNew Relic RPM(Rails Performance Management)が、すばらしい。 RPMは開発時用のDeveloperと、実機用のProductionのが二つあり、まだ開発時用のDeveloperモードしか試してはいないんだけど、専用の管理画面で、アクションを実行時のメソッド単位の実行時間、生成されるSQLSQLの実行時間やインデックスの利用状況などが非常に簡単に把握できます。 Railsで開発している人なら、下のムービーを見れば、そのすごさが分かるはず。 RPM developerのデモ動画 | RPM production のデモ動画 いまこれを使って、PhotoS

  • mod_headers - Apache HTTP サーバ

    Please note This document refers to the 2.2 version of Apache httpd, which is no longer maintained. The active release is documented here. If you have not already upgraded, please follow this link for more information. You may follow this link to go to the current version of this document.

  • スパイダリング(Spidering)の基礎

    スパイダリング(Spidering)の基礎 宮崎 真, 廣安 知之, 三木 光範 ISDL Report  No. 20050813008 2005年 9月 19日 Abstract スパイダ(spider)とは,インターネットから様々な情報を自動的に取得するプログラム のことである.スパイダを用いることによって,例えば複数のサイトにまたがって存在する情報を 組み合わせて,データ蓄積やファイル保存,独自の検索システムを構築,など様々なサービス が可能となる. 報告では,このスパイダリングについての概要および注意点を述べる. 1  はじめに 現在,Webサイトの肥沃化が進んでおり,実に30億以上ものページがWeb上に存在している. 多くの情報がオンライン化され,Webは従来に比べずっと閲覧しやすく,検索しやすく, 便利になったのである.しかしながら,この巨大なWebに対し,Webユ

  • 正規表現の文字クラスの重複を削除する - 素人がプログラミングを勉強していたブログ

    s?https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+ Perlメモ の文字クラス部の範囲が重複していたので、重複を除去して短くしてくれる関数を書いた。ASCIIの範囲のみ対応。 function optimize(range) { var ascii = new Array(0x7f); var i, begin, end; var result = ""; for (i = 0x00; i < ascii.length; ++i) ascii[i] = false; for (i = 0; i < range.length; ++i) { begin = range.charCodeAt(i); if (range.charAt(i+1) == "-") end = range.charCodeAt(i += 2); else end = begin;

    正規表現の文字クラスの重複を削除する - 素人がプログラミングを勉強していたブログ
  • Loading...

    kamipo
    kamipo 2009/03/24
  • Nginx

    Analytics cookies are off for visitors from the UK or EEA unless they click Accept or submit a form on nginx.com. They’re on by default for everybody else. Follow the instructions here to deactivate analytics cookies. This deactivation will work even if you later click Accept or submit a form. Check this box so we and our advertising and social media partners can use cookies on nginx.com to better

    kamipo
    kamipo 2009/03/24
  • RailsデプロイはRailsを使う人なら買っておくべき本 - I am Cruby!

    読書感想文, RailsRailsデプロイを全部読み終えました.Railsデプロイ作者: Ezra Zygmuntowicz, Bruce A. Tate, Clinton Begin, 前田修吾(監訳), 橋将(監訳), 小倉正充(監訳), 牧野聡出版社/メーカー: オライリージャパン発売日: 2009/03/16メディア: 大型 このはこんな賞賛の声で始まります. 書を購入するまでは,私はこの種の情報を求めて何時間もWebを探し回っていました. 書には求めていた情報すべて(しかも正確に)納められており,Railsプロジェクトを成功裏に 稼働させる上で非常に役立ってくれました.どうもありがとう! --- Eric Kramer (Nationwide Children's Hospital. プログラマ) 私も仕事Railsを扱うようになって最初にとまどったのが,世の中に溢

  • CPAN dependencies and test results checker

    Given a module name, this service will show you its dependencies along with a summary of their test results from the CPAN testers. The idea is that if you have a choice of several modules to use, this will show you which is the most reliable. Search Module Please note: this site is a tool to analyse the dependencies of modules written in the Perl programming language. I can not help you with any p

  • 永続化対応のインメモリDB「Redis」が登場 - @IT

    2009/02/26 memcachedに似たキーと値の対を保存するタイプの新しいデータベース「Redis」がGoogle Codeで2月25日にベータ版として公開された。開発したのは、イタリア人でフリーランスの開発者、Salvatore Sanfilippo氏。同氏はイタリアでソーシャルブックマークサイトやソーシャルニュースサイトを立ち上げた経験があり、現在はWebサイトの訪問者をリアルタイムで追加表示するステータス情報取得サービスを開発中という。 Redisのソースコードは、GPL2のライセンスで公開されている。ANSI Cで書かれていて、LinuxMac OS Xを含む多くのPOSIXシステムで動く。現在、PHPRubyのクライアントライブラリを開発中という。 Redisはmemcachedのようにキーと値の対を、すべてメモリ上に保存する。ただし、memcachedと異なり、同時

  • 本邦初公開!電話番号の正規表現 - にぽたん研究所

    近年「邦初公開」って表現、あんま使わないすね。。。 さて、Regexp::Assemble という、正規表現愛をものすごく感じるモジュールを見付けました。 愛がある上に、ものすごく便利です。 use strict; use Regexp::Assemble; my $ra = Regexp::Assemble->new; $ra->add('a'); $ra->add('b'); print $ra->re, "\n"; みたいなのを書くと、 (?-xism:[ab]) という結果になる。 要は、add() メソッドに渡した文字列や正規表現の全てにマッチする正規表現を作ってくれるスグレモノ。 (?-xism: 〜 ) というのは前にも書きましたが quote regex 演算子を使ったために付加される「クロイスタ」です。 この結果に対しては、クロイスタは別に無くても構わないので、実質 [

    本邦初公開!電話番号の正規表現 - にぽたん研究所
  • 矢沢久雄の早わかりGoFデザインパターン(1) | 日経 xTECH(クロステック)

    今回は、パターンを1つだけ紹介します。「Mediatorパターン」です。GoFでは、それぞれのパターンの「目的]「背景」「効果」などが明示されています。私も、ちょっと真似をしてみましょう。複数のオブジェクトを組み合わせてプログラムの機能を実現するという目的において、オブジェクト間の関連がゴチャゴチャになってしまうという背景(問題)があり、Mediatorパターンの採用によって関連をキレイに整理できるという効果があります。説明だけでは、何のことだかわからないと思いますので、具体例をお見せしましょう。 図1[拡大表示](1)をご覧ください。これは、UML(Unified Modeling Language、ユーエムエル)と呼ばれる表記法で記述されたプログラムの設計図です。UMLでは、四角形の中に下線付きで名前を書いてオブジェクトを表し、関連のあるオブジェクトを矢印で結んで示します。ここで関連

    矢沢久雄の早わかりGoFデザインパターン(1) | 日経 xTECH(クロステック)
  • 「美少女図鑑」に載りたい! 普通の女の子の応募殺到

    新潟、沖縄、大阪など地方都市で発行されているフリーペーパー「美少女図鑑」が急速に拡大し、大ブームになっている。最大の売り物は普通の女の子がモデルとして登場していることで、各地でモデル応募も殺到している。フルカラーで、見た目はファッション誌のよう。配布時には「黒山の人だかり」ができるほど人気が出ている。 配布すると黒山の人だかりができる 「美少女図鑑」は、「普通の女の子たち」をモデルにしたファッション誌仕立てのフリーペーパーだ。「地方都市に美少女を増やそう」という目的で、デザイン会社、テクスファーム(新潟市)が立ち上げた。 2002年11月に新潟版から始まり、05年8月に沖縄版が誕生。じわじわと口コミで広がり、08年4月に大阪版、12月に宮崎版、09年2月に群馬版が登場した。 新潟版は年2~3回発行し、新潟市内のファッションビルや美容室などで配布している。A5サイズ、全64~80ページ、フル

    「美少女図鑑」に載りたい! 普通の女の子の応募殺到
  • コールトレースを追うデバッグ用モジュール - daily dayflower

    Perl スクリプトをトレースするには Perl デバッガを使ってもいいですが,全体的な実行フローを追いたい場合 Devel::Trace が使えます。 たとえば #!/usr/bin/perl use strict; use warnings; my $i = 0; sub foo { bar(); baz(); } sub bar { baz(); } sub baz { $i ++; } foo(); みたいなスクリプトがあるときに,Devel::Trace でトレースするには下記のようにスクリプトを実行します。 $ perl -d:Trace test.pl実行結果は, >> test.pl:6: my $i = 0; >> test.pl:21: foo(); >> test.pl:9: bar(); >> test.pl:14: baz(); >> test.pl:18: $i

    コールトレースを追うデバッグ用モジュール - daily dayflower
    kamipo
    kamipo 2009/03/24
    Devel::Trace でトレースするには下記のようにスクリプトを実行します。 $ perl -d:Trace test.pl
  • twignature(トゥイグネチャー) / twitter用署名画像を自動生成するツール

    Warning: imagefttext(): Could not find/open font in /home/creazynet/creazy.net/public_html/labs/twignature/index.php on line 60 twignature (beta2) -- トゥイグネチャー(ベータ2版) まずはこちらをご一読ください。 twignatureについて 生成フォーム username: image pattern: 生成画像 ※画像は直リンクせず、保存してから使って下さい。お願い! 貼り付けサンプルコード <a href="http://twitter.com/username"><img src="http://labs.creazy.net/twignature/img/username.gif" alt="twitter / username"

  • へぼへぼCTO日記 - メールアドレス(addr-spec)の正規表現

    能書き 前エントリを書いてからいろいろと調べていて驚いたんだけど、日語のwebsiteで、それなりにまともにRFC822(RFC2822,RFC5322)に準拠した(もしくはきちんと意図的に準拠していない部分を選択している)正規表現はPerlだろうがPHPだろうがRubyだろうが軽くぐぐった程度では見当たらない。PerlのモジュールのEmail::AddressもEmail::Validも程度の差はあれ問題を抱えている。そこらへんの既存の出回ってる正規表現にどういった問題があるかなんてことは次回エントリにて。 というわけで、PerlPHPRubyでRFC5322準拠なメールアドレス(addr-spec)の正規表現を以下に示します。尚、addr-specの最終的な正規表現のみならずそれを作成するに至る部分も併記してあります。これは、最終的な正規表現だけでは難解すぎてとても理解できないか

  • Perlの正規表現のバグ? (後編) - moriyoshiの日記

    追記: ケース4についての記述がなかったので言及。 前回の調査で、[[:print:]] と \p{IsPrint} は実は等価でないということが分かったわけだけど、これだけではまだ再現できなかった理由、つまり、 use encoding 'utf-8'; $_ = "\t"; # 1. マッチしない printf("%d\n", /[[:print:]]/); # 2. マッチする printf("%d\n", /^[[:print:]]/); # 3. マッチする printf("%d\n", /[[:print:]]$/); # 4. マッチする printf("%d\n", /^[[:print:]]$/); # 5. マッチしない printf("%d\n", /[[:print:]]+/); # 6. マッチする printf("%d\n", /^[[:print:]]+/);

    Perlの正規表現のバグ? (後編) - moriyoshiの日記
  • PHP: mysql_real_escape_string - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su