「あなくつ」のおもちゃばこ

Blog

request_rec の content_type

前の記事でこれ書こうと思っていたんだよね。

Apacheのモジュール開発するとき、絶対というほど使う「request_rec」構造体。これの中にある「content_type」変数はHTTPリクエストヘッダの「Content-Type」じゃないので注意。これはApacheの設定(httpd.confなど)でAddTypeされている値です。たとえばPHPだと「AddType application/x-httpd-php」を設定するので、「content_type」変数には「application/x-httpd-php」が入ってきます。フォームの送信などではリクエストヘッダに「Content-Type: application/x-www-form-urlencoded」などを送ってくるはずですが、これの「Content-Type」を得る場合は、同じ構造体内の「headers_in」変数から拾ってくる必要があります。

逆に、「content_type」変数からフックするモジュールができます。独自の拡張子にAddTypeして、モジュール内で自分の「content_type」かどうか判別して処理してあげればいいわけです。ネットでApacheモジュールを開発する方法を見ると、SetHandlerでハンドラを登録する方法で解説されているものを多く見るけれど、こんな処理方法もあるということで。

タグ : Apache,モジュール

2010/08/14 07:40:10 | Trackbacks (0) | Comments (0) | Technology

Apacheモジュール開発

Free Pascal最近はPHPをやめて、ウェブシステムをネイティブコードのApacheモジュールで開発しています。

まぁネイティブコードと言ってもPascalですけどね!! しかもFree Pascal (笑)。みんなにバカにされるんだろうなぁ、そんなもんで開発すんな!ってね。まぁほら、使わないと発展しないどころか廃れちゃうじゃん? 世の中ネイティブコードがC/C++だけとか面白くないし。ちゃんとメジャーなプラットフォームでコンパイルできるし、64bitも吐けますから。Object Pascalって軽く使うだけならメモリとか意識しないですむし、オブジェクトとかスコープの概念が理解しやすいなど、メリットもあると思うんだよね。このあたりは言語宗教だね。

ま、いずれにせよ、もうかなりの時間かけて環境とかライブラリ作っちゃってるし、後戻りできないよねー。

で、肝心の性能。単純にHello World返すだけならPHPとネイティブコードだとあまり動作スピード変わらないんだけど、オブジェクトとかガリガリ使ってくるとやっぱりネイティブの方が速いみたい。

個人的にはメモリ管理が出来るのがよい。どこでメモリを開放する/されるか知っているのでなんか安心。開放し忘れのリスクはあるけれど、try..finally使ったり生成と破棄のコードを同時に書くなど注意するようにしている。あ、そうそう、文字列処理とかリストの処理はメモリ管理ができたほうが実行速度速いね。基本的に文字列やリストの操作ってのは内部的にはメモリの再確保なんで、ネイティブなら先にガバッとメモリ確保するなどそのあたりでメリットがある。

あとは、変数の宣言と型指定があるのが良い。PHPのようにどこでも変数が現れて、何でも入るってのはなんか気持ち悪い。Integerの変数ならDBに問い合わせるときにエスケープする必要がないって保証できるじゃん? コードや変数は必然的に長くなるけどねぇ、個人的精神衛生のために我慢。

あれ、Apacheのモジュール作るときの覚え書き書こうと思っていたのに、思ったことを適当に書いちゃったな。マネージドやインタプリタもいいけれど、それのベース作ってるのはだれ?ネイティブじゃないの?と思う。プログラムが全部ネイティブである必要はないけれど、ネイティブも操れるくらいの方ができることの幅も広がると思うんだよね。

タグ : Apache,Free Pascal

2010/08/14 06:45:42 | Trackbacks (0) | Comments (0) | Technology

富士山を登ってきた

死ぬかと思った。

天気が悪いと予想されるときは山に登ってはいけない!!これは断言する。まーじ、もう、2度と雨の山は登りたくないわ。

ということで、去年登りきれなかった富士山にリベンジしてきた。

富士山を登ってきた」の続きを読む

タグ : 富士山,登山

2010/08/10 21:10:08 | Trackbacks (0) | Comments (2) | Pastime

スパムトラックバック

トラックバックの確認を怠っていたらスパムが1万件くらいたまってた...。一通り目を通して全部アルファベットだったので、保留中のものは削除した。もし海外からの通常のトラックバックだったとしても知りませんわ!

タグ : スパム,トラックバック

2010/08/01 00:16:55 | Trackbacks (0) | Comments (0) | Pastime

« 2010年7月 | Top | 2010年10月 »

  • Top
  • Software
  • Blog
  • Laboratory
  • Profile
Search
Feeds of Blog
Archives

Copyright © 2004-2017 Ana-Kutsu All Rights Reserved.