タグ

ブックマーク / nitsuji.hatenadiary.org (6)

  • SetHandlerとAddHandler - libnitsuji.so

    CGIが入ってるディレクトリがスラッシュで指定されたときの動作を指定したくてちょっとはまったのでメモ。 スラッシュで終わるURLがリクエストされたときに返すリソースを指定するのにはDirectoryIndexってのを使ってこんな風にする。 DirectoryIndex index.htmlでも、そのディレクトリに対してSetHandlerを使って、たとえばこんな風にすると <Directory "/cgi-bin"> SetHandler cgi-script </Directory >DirectoryIndexの挙動が上書きされて消えてしまいます。ドキュメントにもちゃんと書いてありました。 注意:SetHandler はデフォルトのハンドラをオーバーライド しますので、通常の挙動、たとえば、スラッシュ (/) で終わる URL が リクエストされたときにディレクトリやインデックスファイ

    SetHandlerとAddHandler - libnitsuji.so
    agw
    agw 2011/08/02
  • psの操作に慣れる - nitsujiの日記

    Linuxなどで実行中のプロセスを表示させるコマンドにpsというのがあります。 これまでこのコマンドをかなり適当に使ってきていて、オプションとかよくわかってなかったのでmanをちゃんと読んでいろいろやってみました。 psコマンドはprocpsというパッケージに含まれるコマンドです。 procpsには他にtop, vmstat, w, kill, free, slabtop, skillといったコマンドが含まれているようです。 ここではFedora Core 6で以下のバージョンを使っています。 $ ps --version procps version 3.2.7 オプションの指定方法 オプションの指定方法にいくつかの方法があるので把握しておきます。 UNIX オプション。まとめることが可能で、前にはダッシュを置かなければならない。 BSD オプション。まとめることが可能で、ダッシュを使っ

    psの操作に慣れる - nitsujiの日記
  • DjangoのAdminサイトのリスト表示で論理削除したレコードを表示しない方法 - libnitsuji.so

    ・・・がよくわかんなかったんだけどそれなりにできてしまって、このやり方に全く自信がないという話です。 - 地域と店舗があって多対1の関係とします。「地域 has many 店舗」です。 テーブルのカラムにdeleted_atというDateTime型のカラムを持たせてこれに値が入っていたら削除されたレコードだと見なします。 これを「論理削除」ということにします。 この場合、削除されてなかったらNULLになるので、削除されていないレコードをすべて取得したいときは以下のようなSQLを使います。 SELECT * FROM shops WHERE deleted_at IS NULL 一方で当に削除する場合は「物理削除」ということにします。 - さて。 DjangoのAdminサイトでは物理削除が行われるので、この挙動を変更したいです。 これは以下のようにモデルクラスでdelete()メソッドを

    DjangoのAdminサイトのリスト表示で論理削除したレコードを表示しない方法 - libnitsuji.so
  • sprintf()関数 - libnitsuji.so

    普段Perl使ってて、sprintf()ってよく使うんだけど、Perlの場合、引数の部分に配列を指定して、たとえば以下のように書ける。 my @list = ('foo', 'bar'); my $str = sprintf('%s, %s', @list); これは、 my $str = sprintf('%s, %s', @list); が my $str = sprintf('%s, %s', 'foo', 'bar'); と同じだから、引数の数が書式指定と一致しておkになります。 これ、配列に値を入れといてあとで使えるから便利なんだけど、これってPHPとかRubyとか他の言語だとできないんですね。配列が、Perlでいうところの配列リファレンスなので、sprintf('%s, %s', list);とかやると引数がすくないよ!っていわれるわけです。もちろんPerlでもsprintf(

    sprintf()関数 - libnitsuji.so
  • Chapter 1. Introducing CGI and mod_perl を読んで - libnitsuji.so

    Practical Mod-Perlというがあるのだけれど、その内容はオープンソースになっている。 mod_perlはいつかちゃんと勉強しなきゃと思っていたので読みはじめました。 んで、やっぱり書かないと覚えないし身に付かないし。 - CGIの歴史 まあ、これはね。問題ないでしょう。 HTTPを使ってデータをやりとりします。ヘッダとデータは空行で区切られます。リクエストを受け取ってレスポンスを返します。レスポンスではヘッダーでMIMEタイプとか文字コードとかを指定します。Apacheはmod_cgiを使ってスクリプトを実行します。環境変数を使っていくつかのパラメータを受け取れます。HTTP_USER_AGENTは簡単に偽装できます。HTTP自体にはURIの長さ制限がないけどサーバーとクライアントにはあるので注意しましょう。ユーザーから受け取った値を使ってレスポンスを作成する場合はクロスサ

    Chapter 1. Introducing CGI and mod_perl を読んで - libnitsuji.so
  • Plaggerはじめました - libnitsuji.so

    まずは概要を把握。 YAPC::2006 Tokyo "Plagger - RSS/Atom remixing platform" : Free Download, Borrow, and Streaming : Internet Archive 実際はiTunes上でフルスクリーンにして見ました。声が聞き取りづらかったのと文字が見にくかったのとがあったけど概要はつかめた。 input/filter/outputするソフトウェア プラグインで機能を追加(というかプラグインがないと何もしない) Plaggerは枠組みを提供 インストールはCPAN経由でやることに決めました。 $ sudo perl -MCPAN -e 'install Plagger'yとnにはテキトーに回答し、大量のモジュールインストールの結果、無事にインストールできた様子。 とりあえずmixiからgmailへっていうやつ

    Plaggerはじめました - libnitsuji.so
    agw
    agw 2006/06/11
  • 1