幾つかの注意点

総閲覧回数:4,220,164回 / ブログ拍手:2,819
作品DB等各サービスの機能追加情報や、技術系・面白系記事を中心に提供。
記事の投稿は基本Twitterでも告知させて頂いています。
連絡は作品DBの論客の方なら私書、DB外ユーザの方ならメールTwitterで可能です。
アクセス記録[推移 / PV内訳(過去1日 / 過去1週間) / 外部アクセス元 (昨日 / 過去1週間) / ログイン論客足跡]
プロフィール私書(メール)
   /   /送済
評価(一覧   /)
投票   /共:   /
ファン登録
作品/情報/
DB構築()
ブログ
[書く]
攻略記事リンク集
My Play List
RSS購読
RSS
表示開始年月
分類
全て
1.このサイトについて
2.作品DB開発/運用
3.ホームページ制作技術
4.Perl
5.C言語 / C++
6.検索エンジン&SEO
7.サッカー
8.自分のこと
9.Linux
10.旅行
11.思ったこと
12.パソコン
13.Berkeley DB
14.その他技術系
15.企画
16.スマートフォン
17.鑑賞
18.皆声.jpニュース
19.インターネット業界
20.運用マニュアル(自分用)
21.技術系以外実用書
22.料理
23.ALEXA
24.アニメ
25.会計
26.漫画
27.設計書
28.色々サイト作成
29.サーバー
30.自分専用
31.生活
32.OP/ED/PV
33.ゲーム
34.DB整備
35.新規開始作品紹介
36.英語圏の話題
37.大道芸
38.映画
39.PHP
40.ダイエット
41.Mac
42.JavaScript
43.MySQL
44.介護
45.作品DB作品追加作業
46.BI
47.Web API
48.パフォーマンス
49.インターネットの活用方法
50.Riak
51.Androidアプリ開発
52.Cassandra
53.スパム
54.写真
55.iOSアプリ開発
56.AWS
57.マーケティング
58.Web漫画
59.法律
60.mongodb
61.開発環境整備
62.Google Apps Script
63.meteor
64.Pentaho
65.Ansible
66.VPS
67.技術書メモ
68.Vagrant
69.Docker
70.dokuwiki
71.Apple Watch
72.Webサービス
73.セキュリティ
74.Elastic Search
75.Wordpress
76.クラウド
77.英語
78.MVNO
79.シンガポール
80.マレーシア
81.海外生活
82.海外旅行
83.創作活動
84.コワーキングスペース
日記の主な内容
サイト運営/開発
検索エンジン情報
・技術ネタ(Berkeley DB,
Linux, Perl, サイト作成)等

サイト管理
全まとめ
サーバー管理
定期処理状況
開発予定
削除提案
作品追加依頼
OP/ED追加依頼
OP/ED not found
作品提案承認欄

格言 fromスクライド
この世の理は即ち速さ
20年かければ馬鹿でも
傑作小説を書ける

助けられたら助け返す
それが俺のルール

強くなるには
一番弱い考えをする事だ
そしてその考えに反逆する




右側に何か入れてみるテスト


仕事でのサイト
介護DB
Helpyou
Doctor career
Nurse career
<=次の記事 またノートパソコン壊れた & 直近反応数追加 & 追加特殊機能
=>前の記事 削除権限の分散 & 定期更新時間の変更

1.
2005/08/16 Perl > mod_perl > 幾つかの注意点」
[この書込みのみ表示(記事URL紹介用) / 編集 / 削除 / トラバ送信 / 共有分類に追加(タグ付け)]

1. 文章目的
2. 使い分け
3. 注意点
4. Apacheの設定
5. 性能
6. Perlのダークサイド
7. 参考文献

1. 文章目的

少々情報が少なげなmod_perlに関するテクニックを公開します。
2. 使い分け

・CGIからmod_perl化するものは、Apache:::Registryでメモリーに解析済みのものを入れる場合のみmod_perlを使う。
中途半端は、あまり意味ない。
・mod_perlは、想定外のバグが混入しやすいので、それ程のパフォーマンスが必要ないのなら、一回実行で切れるCGIを、書き込みのところには使う。読み込みは基本的にmod_perlとして使い分ける。
3. 注意点

・読み込んでいるモジュールの更新では、mod_perlプログラムは通常再読み込みされない。apacheの再起動が必要。
・mod_perlだとプログラムの実行しているパスはうつろうものだから、絶対パスで書く。
$^O=~ m!^(?:cygwin|MSWin)!で、Windows系と区別させ、パスを変える
・mod_perlは、普通のプログラムは、Object Oriented Programmingをし、変数を綺麗にしておくのが良い。
user strict; use warningsをし、警告は出ないようにする。局所変数化をしておかないと、変数自体が、次のプログラム実行時に引き継がれて生きていくので、そういう漏れを発見する為に、綺麗なプログラミングをする。
4. Apacheの設定

どのファイルをmod_perlで実行するのかhttpd.confに記述する場合、ディレクトリを指定してそこのディレクトリ内ならmod_perlを使えるようにするという方法もありますが、うちのサイトの場合だと拡張子を見てそれをさせています。それだと、どこの場所でも使いたい時には使えるのと、今までaaa.cgiだったのをaaa.mplとするだけで、使えるので、移行もしやすいので。実際のところは、text/htmlを返すプログラムだろうとう想定して貰うために、.aspを使っています。.jspでも.phpでも何でも良いのですが、検索エンジンにとって想定外の拡張子だと、クロールされない可能性が出てくるので、それを避けています。
5. 性能

・mod_perlは日本で500位位のトラフィックがあるaccessup.orgのサーバーを一台でも稼動させる能力を持つ。
また1秒以内の処理が求められる速度クリティカルな環境でも基本的に使える。
6. Perlのダークサイド

死なないプログラムなら、変数を局所化しないことが、再度の実行(ファイルアクセス等)を避けさせることができる。
極端な速度の向上を求めるのなら、宝はここにあり。
但し、myなど局所化を避ける、思考を伴った局所化が必要。
何でも局所化という発想な人には、コペルニクス化の発想転換で、Perlのダークサイドに堕ちる(昇華する)必要があり。
速度の果てに辿り着く稀な境地です。
とはいえ明示的にやっているということを示すのと、とwarnを避ける為、
use vars qw(変数リスト);

use constant 変数名 => 不変の値;
という風に明示的に永続変数は宣言するのが良い。
7. 参考文献

O'REILLYから出ているPratical mod_perlの中身(分厚い)は、
http://modperlbook.org/html/index.html
で読める。個人的には、買っていながら、apache2 + mod_perl2ではなく、apache1.3 + mod_perl1が中心の内容に嫌気がさして、全く読んでいなかったりするが、もしかしたら、オンライン版は、apache2 + mode_perl2の情報も、拡充されているかもしれない。
まあ、あんまりApache APIを使って、スタンドアローンと互換性を消すような使い方に、メリットを私が感じていない為かもしれませんが(それだったらOOPさえマスターしていれば良い)。

コメントする


[他の記事も読む]
<=次の記事 またノートパソコン壊れた & 直近反応数追加 & 追加特殊機能
=>前の記事 削除権限の分散 & 定期更新時間の変更


大分類が「Perl」の記事
この論客の記事全て
↑上へ