タグ

ブックマーク / naoya-2.hatenadiary.org (35)

  • Catalyst::Engine::HTTP::Resterter における自動再起動サーバーの実装

    前の話の続き。新しい server.pl は -r オプションをつけたときに、自動的にファイルの修正を検知して再起動してくれる機能が付いてます。 いままでの server.pl だと、デーモン上で perl が永続化してるためにモジュールを書き換えてもそれが再読込されず、一度 ^C で止めてまた起動とかする必要がありました。で、それが必要なくなったと。先日 Rails を試しにいじってたんですが、Rails 付属の WEBrick なサーバーは、クラスの更新も検知してくれてスゲー便利だったので、server.pl がこの仕様になったのはすごくいいです。 どういう実装でこれを実現してるのかなーと思って見てたんですが、やっぱりそこは Catalyst、ちょっと面白い実装になってました。手元にある 5.33 からだと Catalyst::Engine::HTTP::Restarter Catal

    Catalyst::Engine::HTTP::Resterter における自動再起動サーバーの実装
    shozzy
    shozzy 2005/11/22
  • Catalyst の開発版の Helper - naoyaのはてなダイアリー

    PowerBook にインストールして使ってる Catalyst は 5.33 なんだけど、このところすごい勢いでバージョンアップしているらしい。 それはさておき、svn から開発版のソースを拾ってきて Catalyst::Helper のコードを眺めていたら server.pl がずいぶんパワーアップしていることに気づく。 Options: -d -debug force debug mode -f -fork handle each request in a new process (defaults to false) -? -help display this help and exits -host host (defaults to all) -p -port port (defaults to 3000) -k -keepalive enable keep-alive con

    Catalyst の開発版の Helper - naoyaのはてなダイアリー
    shozzy
    shozzy 2005/11/22
  • TUXのベンチマーク記事 - naoyaのはてなダイアリー

    カーネル・モードで高速に動作するオープンソースのWebサーバー「TUX」の性能を,現在主流の「Apache」と比較した。静的コンテンツに大量のアクセスが集まる用途で,TUX 3.2はApache 2.0の1.57倍の性能を出した。OSが扱えるTCPコネクション数を増やす調整を施せば,標準設定時より性能が33%改善する。 TUX のベンチマーク記事。参考になります、グッジョブ。 カーネルモードで動作するウェブサーバー TUX、ということで久しぶりにこの名前を聞きました。3, 4 年前に Linux Magazine のムックか何かで特集されていたのを思い出します。その後あまり話を聞かなかったので TUX プロジェクトは頓挫したのかなと思いきや、それは僕の勘違いで、ちゃんとプロジェクトは動いていて成果が出ているということなのかも。 この記事ではベンチマークの比較対象として Apache が選ば

    TUXのベンチマーク記事 - naoyaのはてなダイアリー
    shozzy
    shozzy 2005/11/16
  • cvspon ウェスポン - naoyaのはてなダイアリー

    cvs でファイルを commit しつつ Perl の syntax チェックをかけたりウェブサーバを再起動したりといった一連の流れの処理をバッチにしたコマンドを、id:onishi がだいぶ前に作りました。cvsoni と名づけられていました。 これに改良が加えられたバージョン2は cvsoni2 という名前になりました。さらにインテリジェントに改良したものを id:higepon が作って、名前は cvspon になりました。 開発してると「cvsponがさあ...」みたいな会話をときどき耳にします。しーぶいえすぽん。しーぶいえすぽんの後半にイントネーションを置くと "しーぶいえすぽん" とかになって、なんか「ウェスポン!!」って言ってるみたいに聞こえる。内P終わっちゃったけど。 内Pファンの人たちの会話についていくためだけに内Pを観ていてこうやって背伸びしていかにも知ってる風に振舞

    cvspon ウェスポン - naoyaのはてなダイアリー
    shozzy
    shozzy 2005/10/05
  • naoyaのはてなダイアリー - 人の話をひたすら聞く

    ただいまシリコンバレーは朝の5時半。昨日は id:umedamochio の家でご飯をご馳走になって、たらふくってお酒も飲んだおかげで宿に帰ってきて 20:00 くらいには寝てしまいました。そんなわけで早起き (1:30 くらいから起きてる) な日。 まだみんな寝てるしすることもないので、ネットをだらだらとめぐったりしてます。自分のインタビュー記事を読み返してみたりとかもしました。それで、ひとつ思い出したことを書いてみる。 前にもちょろっと書いたんだけど取材を受けてるっていうのは1時間なり2時間なり、ひたすら自分の話をするというすごく非日常的な時間帯です。自分の話をただただ聞いてもらえる時間っていうのは普段ありそうで実はほとんどない。そしてそれはとても気持ちいいものです。(だからこそカウンセリングっていうものがあるんだと思うけど。) そんなわけで取材が終わった直後は、自分のテンションが

    naoyaのはてなダイアリー - 人の話をひたすら聞く
  • naoyaのはてなダイアリー - 手軽に Web 2.0 メソッド

    主に Windows ユーザー向けですが。 del.icio.us や Flickr は Web 2.0 っぽいサイトの代表格ですが、どちらもデフォルトフォントは Arial です。そこでブラウザのフォント設定を Arial にしておくと、フォントを指定していないサイトが Web 2.0 っぽく見える。IE の人は「ラテン語基」を Arial にしておくと良い。 すいませんごめんなさい。

    naoyaのはてなダイアリー - 手軽に Web 2.0 メソッド
  • naoyaのはてなダイアリー - Perlプログラマのレベル10 - Perlプログラミング救命病棟より

    プログラマ、と一言で言っても、if文の意味をようやく理解したばかりの駆け出しのプログラマもいれば、汎用的で優れたライブラリを量産できるような凄腕のハッカーもいる、つまりはピンきりです。 Perlプログラマに関してはどうでしょう。一流のPerlプログラマになるためには、見えない階段があるようです。use strict を使い始めたらその階段を一歩上ったと言えるでしょうし、正規表現を理解したときも一段あがることになると思います。リファレンス、クロージャ、オブジェクト指向、CPANモジュール、mod_perl、MVCフレームワーク。それらも階段を構成する材料の数々と言えるでしょう。 さて、Perlプログラミング救命病棟という書籍から、ちょっと長いですがそんなPerlプログラマのレベル10のリストを引用してみます。 レベル1: Perl 関係の書籍や資料を何も読んでいない。Perl がプログラミン

  • NDOメソッド - naoyaのはてなダイアリー

    プログラムを作ってみて途中でわからないことがあったらソースを公開して質問してみる 調べことをしてみてわからないことがあったので、調べごとした内容をサマリして掲載してわからないところを質問してみる 勉強してからじゃなくて勉強しながら学んだことを書いてみる というのをNDOメソッドと言います。というか言われました。要は give and take というやつです。時間をかけてプログラムを書いたり、調べごとをした、その結果を世の中に還元しているからこそ質問に回答をしてくれる白馬の王子様が現れるかもしれないというわけです。 必要に迫られてそれを解決し得るかもしれないモジュールを思いつきのままに書いてみたけれど、どうもうまくいかんなー、どうしよう……こりゃぁお蔵入りネタになりそうだ……でももったいないなぁ。じゃぁとりあえずわからないままにエントリとして投げたりしたら Perl ハカーな方がいい方法を

    NDOメソッド - naoyaのはてなダイアリー
    shozzy
    shozzy 2005/09/09
    新たなメソッド出現!その名も「NDOメソッド」!
  • startup.pl で require? - naoyaのはてなダイアリー

    use と require の話、まだ引っ張るのかよって感じですがもうちょっとだけ。del.icio.us で typester 氏からコメントがありました。 requireだけでも、startup.pl のような使い方すればいいよね? んで、一瞬「そうか、startup.pl で全部 reuiqre すればいっしょなのか」と思ったんですがよく考えてみると、その場合 reuqire でロードされるのって結局 startup.pl に書いたファイルだけですよね。 この方法だと、XML::Atom みたいに中で色々使ってるモジュールとかは、その中の実装を考えて全部 require する必要が出てきます。ソースの require な部分を舐めて require するようなロジックを startup.pl に実装するってのも変な話だし。ということでやっぱり use だよなあと。 勘違いかも。 そう

    startup.pl で require? - naoyaのはてなダイアリー
    shozzy
    shozzy 2005/08/30
    オライリー本はWebで全部読めるのかな?
  • 技術勉強会 podcast はじめました - naoyaのはてなダイアリー

    はてな技術勉強会も podcast してみよう、ということではてな勉強会というページを作りました。勉強会自体は今日が3回目なんですが(以前にもやってたけど途中でフェードアウトしてしまったらしい)、今回は僕が発表担当で、内容はここ最近この日記でもちょくちょく触れている JavaScript についてです。 こんな感じの発表資料も併せて公開してます。最近のイケてる JavaScript、という意味で「なんでも2.0メソッド」に基づき JavaScript Programming 2.0 というタイトルです。 なんか音声を後から聞き返してみると、結構間違ったことを喋ってたりするけど、とりあえずこういう試みは昔から是非やってみたかったので、このまま行ってしまいましょう。mp3 が30メガもあって大丈夫かなと少し不安です。 いずれ社内勉強会を Shibuya.pm のように、外の世界にも拡大してい

    shozzy
    shozzy 2005/08/26
    こういうのを隠さずに積極的に発信するところがはてならしい。
  • JavaScript で SQL - AjaSQL - naoyaのはてなダイアリー

    All About で JavaScript のガイドも勤めている高橋さん が AjaSQL なる JavaScript (+PHP)のライブラリを公開しています。 AjaSQLは、JavaScriptからSQL文をAjax発行し、サーバー側のゲートウエイを経由して、データベース(MySQL,SQLite...)へ接続、結果セットもJavaScriptでAjax受信するツールです。 基構成は、Ajaxライブラリ(jslb_ajaxXXX.js)、AjaSQLライブラリ(jslb_ajasqlXXX.js)とPHPによるAjaSQLゲートウエイ(ajasql_gwXXX.php)および、データベース(JavaScript側からSQLiteMySQLを選択制御)です。 AjaSQLを使うことで、今まで、サーバー側がひとりで一手に引き受けていた、 SQLデータベースの処理を、Ajax通信によ

    JavaScript で SQL - AjaSQL - naoyaのはてなダイアリー
    shozzy
    shozzy 2005/08/24
  • prototype.js でデザインパターン - Bridge

    結城さんのデザパタMLでも紹介されてしまった手前、さぼるわけにもいくまい、ということで「機能の階層と実装の階層を分ける」 Bridge パターンです。 使いどころはたくさんありそうでなさそうでありそうな(どっちだ)、個人的には結構好きなパターンです。プログラムを拡張するには、クラスを追加するわけですが、あらかじめ「機能」を追加するのか、「実装」を追加するのかという視点で二つの階層に分けて実装しておくことで、拡張しやすい構成にしましょうというパターンです。 +-------------+ |Hello, Japan.| +-------------+ +-------------+ |Hello, World.| +-------------+ +----------------+ |Hello, Universe.| +----------------+こんな感じの出力を作りたい場合、まず

    prototype.js でデザインパターン - Bridge
  • naoyaのはてなダイアリー - onsubmit で submit ボタンを disable にしてユーザビリティを良くする

    先の Yahoo! Shopping のアプリケーションで、今度ちょっとやってみようと思ってたことを実装してみた。 http://bloghackers.net/~naoya/ys/app.cgi ボタンを押したときに、そのボタンが disable になります。この方法を使うとボタンが押されて次の処理に入ろうとしているというのが直感的に分かるのと、二重送信防止にもなるということでユーザビリティが改善できます。 仕掛けはすごく簡単で、form の onsubmit ハンドラに、その form に紐づく submit ボタンを disable になるような JavaScript を登録しておくだけ。 function disableSubmit(form) { var elements = form.elements; for (var i = 0; i < elements.length;

    naoyaのはてなダイアリー - onsubmit で submit ボタンを disable にしてユーザビリティを良くする
    shozzy
    shozzy 2005/08/04
  • はてなTIPS - アドレスから「id naoya」でダイアリーに - naoyaのはてなダイアリー

    はてなダイアリーの TIPS を一点紹介します。id が分かっている人の日記に飛ぶのに、「http://d.hatena.ne.jp/○○/」と入力して飛んでいる方も多いはず。これをもっと短縮する方法です。Internet Explorer のアドレス欄に「id naoya」と入力すればこの http://d.hatena.ne.jp/naoya/ に飛びます。 「スタート」-「ファイル名を指定して実行」で出てくるプロンプトに "regedit" と入力しレジストリ・エディタを開きます。左のツリーから、「HKEY_CURRENT_USER」-「Software」-「Microsoft」-「Internet Explorer」-「SearchUrl」と辿っていきます。「SearchUrl」のフォルダアイコンの上で右クリックをして「新規」から「キー」を選びます。すると「新しいキー」というフォル

    はてなTIPS - アドレスから「id naoya」でダイアリーに - naoyaのはてなダイアリー
    shozzy
    shozzy 2005/07/01
    おお、便利そう。RegEdit技だけど。
  • naoyaのはてなダイアリー - HTML::TagCloud

    del.icio.us / miyagawa 経由で見つけた CPAN モジュール HTML::TagCloud。Tag Cloud (はてなブックマークの右側に出てくるタグ一覧みたいなやつ) を生成する CPAN モジュールです。 出力はどんな感じかなと思って使ってみました。 #!/usr/local/bin/perl use strict; use HTML::TagCloud; my $tags = [ { tag => 'blog', count => 20}, { tag => 'ajax', count => 10}, { tag => 'mysql', count => 5}, { tag => 'hatena', count => 12}, { tag => 'bookmark', count => 30}, { tag => 'rss', count => 1}, { t