diff options
| author | fukachan <fukachan> | 2001-01-19 12:54:13 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-01-19 12:54:13 +0000 |
| commit | 4377641665acbf1a4a83883241afe392e88ec112 (patch) | |
| tree | 7ed8f24cd168c95d329bcaf2958b6a63feac6bfb /fml/doc | |
| download | fml8-4377641665acbf1a4a83883241afe392e88ec112.tar.gz fml8-4377641665acbf1a4a83883241afe392e88ec112.tar.bz2 fml8-4377641665acbf1a4a83883241afe392e88ec112.zip | |
Initial revision
Diffstat (limited to 'fml/doc')
| -rw-r--r-- | fml/doc/00_IDEA | 264 | ||||
| -rw-r--r-- | fml/doc/__template.ja.html | 18 | ||||
| -rw-r--r-- | fml/doc/architecture.gif | bin | 0 -> 9906 bytes | |||
| -rw-r--r-- | fml/doc/architecture.html | 20 | ||||
| -rw-r--r-- | fml/doc/components.ja.html | 32 | ||||
| -rw-r--r-- | fml/doc/dirhier.ja.html | 53 | ||||
| -rw-r--r-- | fml/doc/index.ja.html | 29 | ||||
| -rw-r--r-- | fml/doc/interfaces.ja.html | 67 | ||||
| -rw-r--r-- | fml/doc/menubar.ja.html | 79 | ||||
| -rw-r--r-- | fml/doc/modules.ja.html | 51 | ||||
| -rw-r--r-- | fml/doc/objects.ja.html | 62 | ||||
| -rw-r--r-- | fml/doc/refactoring.ja.html | 137 | ||||
| -rw-r--r-- | fml/doc/releng.ja.html | 51 | ||||
| -rw-r--r-- | fml/doc/terms.ja.html | 72 |
14 files changed, 935 insertions, 0 deletions
diff --git a/fml/doc/00_IDEA b/fml/doc/00_IDEA new file mode 100644 index 00000000..c09f60d9 --- /dev/null +++ b/fml/doc/00_IDEA @@ -0,0 +1,264 @@ + fml5 project + + +○ 基本理念 + + (仮称) fml5 == Fml Modular Listmanager based on perl 5 + (recursive definition) + + sendmail -> postfix 的な置き換えプログラム + 例えば + /etc/aliaes や .forward はそのまま使いつづけられる + しかし sendmail.cf は解釈しないといったイメージ + + /var/spool/ml + /var/spool/ml/ML名 + + という構造は残したいとおもうが、 + それ以外の互換性を保証するかはかなり不明 + + Q: ? ~ユーザ名/fml/ML名 + suEXEC みたいなものかい? + + ユーザが死にそうにいるサーバ上では uniqueness をチェッ + クするのがとても大変そう? + + +○ fml.pl は wrapper で + + /usr/local/libexec/fml/$VERSION/ ... + + LDAP とか SQL をしゃべれてほしいですな > Netscape + + +○ メインプログラムディレクトリ階層の例 + ( 現在の /usr/local/local/fml にあたるもの ) + ports, packages, RPM, .deb フレンドリィに(?) + + /usr/local/libexec/fml/ + + /usr/local/libexec/fml/distribute (配送プログラム) + /usr/local/libexec/fml/command (コマンド処理プログラム) + /usr/local/libexec/fml/mead (エラー解析) + /usr/local/libexec/fml/confirmd + + 注: --ctladdr はつかわない。できるだけ DO NOT PARSE + でないと機械的な処理がしにくいため + # 例えば CGI では include-ctl ファイルの編集の際 + s/distribute/command/g + するだけの方が楽などといった具合(?) + + /usr/local/libexec/fml/emul/ + + /usr/local/libexec/fml/emul/fml.pl + --ctladdr なしは /usr/local/libexec/fml/distribute を + --ctladdr つきは /usr/local/libexec/fml/command を実行する + + /usr/local/libexec/fml/emul/XXX + 例: emul/listserv + + + /usr/local/lib/fml/ + ドキュメントや perl module などをおく ? + + /usr/local/lib/fml/doc/text/ + /usr/local/lib/fml/doc/html/ + /usr/local/lib/fml/doc/sgml/ + /usr/local/lib/fml/doc/pod/ + /usr/local/lib/fml/doc/man/ + /usr/local/lib/fml/doc/jman/ + + /usr/local/lib/fml/lib/base/Proc.pm + /usr/local/lib/fml/lib/CPAN/Mail/ + /usr/local/lib/fml/lib/Jcode/Jcode.pm + /usr/local/lib/fml/lib/gnu/ + /usr/local/lib/fml/lib/3rdparty/ + + /usr/local/lib/fml/messages/ + /usr/local/lib/fml/makefml/ + + /usr/local/lib/fml/examples/ + /usr/local/lib/fml/examples/www/ + /usr/local/lib/fml/examples/databases/ + + /usr/local/lib/fml/contrib/ + + +○ 基本設定の例 + + ( makefml が使うため, virtual domain/host を考慮する ) + + /etc/fml/$domain/fml.cf + /etc/fml/$domain/cgi.cf + + こうすれば + # makefml newml elena@fml.org + # makefml newml elena@nuinui.net + といった操作でバーチャルドメインの場合に簡単にできないか? + + elena ML + /var/spool/ml/elena/設定ファイル (仮称: config.cf ) + # もっと良い名前募集中 + + + :include:/var/spool/ml/elena は + + "| /usr/local/libexec/fml/distribute /var/spool/ml/elena" + + :include:/var/spool/ml/elena-ctl は + + "| /usr/local/libexec/fml/command /var/spool/ml/elena" + + を呼び出す。 + + Q: 実は実体は1つで、$0 で処理が分かれるようにしていてもよい + + +○ 再利用可能性 + + たとえば confirmation module の例 + + subscribe エンジン ---> confirmation module + モデレータ ---> confirmation module + confirmd ---> confirmation module + + /usr/local/lib/fml/lib/base/Confirm.pm + + +○ 設定ファイル + + 問題点 + perl でかくと parser がかけない(perl が柔軟過ぎるから) + 1/0 はいやん、yes/no のほうがまし + 配列が表現できない + 型チェックをしたいのだが… + + + config.cf の例 # 段落区切り ( postfix とおなじ形式で ) + + # これは自動設定されるはず + # myhomedir = /var/spool/ml/elena + + myfqdn = ahodori.fml.org + mydomain = fml.org + + mail_list = elena@$mydomain + control_address = elena-ctl@$mydomain + + # メンバーリスト関係 + members_maps = $myhomedir/members + admin_members_maps = $myhomedir/members-admin + + # definition of recipients: fml uses recipient lists in this order + # [a-z]+: のうち file: だけは省略しても良い + # これで配列の表現ができる + recipients_maps = $myhomedir/recipients + file:$myhomedir/actives + mysql:$sysconfdir/mysql.cf + + + # makefml add の際にはどの maps をアップデートするか? + # たとえばファイルに追加であって、mysql へではない + # XXX この名前づけルールは良くないと思う > postfix + # XXX もっとよい名前を + recipient_database = $myhomedir/recipients + + + # かならず use_* と *_type がこんび(か?) + use_verps = yes + verps_type = qmail + + + # 配送モード ( REJECT_POST_HANDLER をやめよう ) + # distribute_mode = forward + distribute_mode = forward_if_moderator_allow + + # $PERMIT_POST_FROM + allow_post_from = reject_system_accounts + members_only + reject + + # $PERMIT_COMMAND_FORM (?) + allow_command_from = reject_system_accounts + members_only + ignore + + # + distribute_restrictions = reject_system_accounts + members_only + reject + + command_restrictions = reject_system_accounts + members_only + reject + + + # 逆にモデレータ は use_moderator (にすると変な例?) + use_moderator = yes + moderator_type = otp + moderator_maps = $myhomedir/moderators + + # LDAP + LDAP::HOST = + LDAP::PORT = + + + +○ フック? + + 別案1 + + # hooks + hooks = $myhomedir/hooks.ph + + 別案2 + + =head1 configurations + + postfix スタイル(なんですよ、これは) + + =head1 hooks + =cut + + # 現在の LOCAL_CONFIG で別れ目になる行 + # HOOK + + +○ 多国語化 + + 「developpers はメッセージの他国語化は前提にしてくれればいいだ + けで、べつに英語の見本を書かなくてもいいですよ〜ん」 + + この時代、日本人が運用していてもその ML のメンバーが外国人のば + あいはあります。だからサポートしたいです。 + + また、IETF では来年あたりに、エラーメッセージなどの多国語化問 + 題とかあるので、MLM (MTA もどき)であっても、多国語かは必要とお + もいます。#なにをもってえらーめっせーじかによりますけど… + + +○ 設定ファイルのロード順 + + + 現在の cf ですら設定してる項目が多すぎる + 「実はこんな項目もconfig.phで設定されちゃっているのね」はだめ + + あどれす + POST_RESTRICTION + COMMAND_RESTRICTION + REGISTRATION_TYPE auto_confirmation (とかか?) + + 以外はデフォルトのままにしたいなぁ。 + ぼく、差分だけが一画面くらいあるだけなのが希望ですぅ。 + + ということは + + use FML::LoadConfig; + my $rcf = new FML::LoadConfig; + $rcf->load( /usr/local/fml/lib/$VERSION/etc/default_config.cf ); + $rcf->load( /etc/fml/$DOMAIN/default_config.cf ); + $rcf->load( /var/spool/ml/elena/config.cf ); + + とかいうローディングをしないといけないような気がする + + * メニューで明示的に変更すると、それだけは新たに付け加わる > config.cf diff --git a/fml/doc/__template.ja.html b/fml/doc/__template.ja.html new file mode 100644 index 00000000..5a8af747 --- /dev/null +++ b/fml/doc/__template.ja.html @@ -0,0 +1,18 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> + ... title ... +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> + + + +<!-- =================================================================== --> +</BODY> +</HTML> diff --git a/fml/doc/architecture.gif b/fml/doc/architecture.gif Binary files differnew file mode 100644 index 00000000..4f185758 --- /dev/null +++ b/fml/doc/architecture.gif diff --git a/fml/doc/architecture.html b/fml/doc/architecture.html new file mode 100644 index 00000000..f5e59edc --- /dev/null +++ b/fml/doc/architecture.html @@ -0,0 +1,20 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> + ... title ... +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> + +<CENTER> +<IMG SRC="architecture.gif" ALIGH=CENTER> +</CENTER> + +<!-- =================================================================== --> +</BODY> +</HTML> diff --git a/fml/doc/components.ja.html b/fml/doc/components.ja.html new file mode 100644 index 00000000..748e632d --- /dev/null +++ b/fml/doc/components.ja.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> +コンポーネント +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> +<PRE> + + fml/{distribute,command, ... } + ||| + -------- 乖離層 -------- + ||| + FML::BaseSystem + | | + FML::Config | + | | logging() + | | | | + file DBMS file syslog(3) +</PRE> + +FML::BaseSystem は設定の保守とログとりをサポートする最低限の基本システ +ムのクラスといえる。 + +<!-- =================================================================== --> +</BODY> +</HTML> diff --git a/fml/doc/dirhier.ja.html b/fml/doc/dirhier.ja.html new file mode 100644 index 00000000..151368de --- /dev/null +++ b/fml/doc/dirhier.ja.html @@ -0,0 +1,53 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> +ディレクトリ構造 +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> + +<P> 実際にインストールされる場所は、次のような場所。 + <PRE> + /etc/fml/ + /usr/local/lib/fml/$VERSION/ + /usr/local/libexec/fml/$VERSION/ + /usr/share/doc/fml/$VERSION/ + </PRE> + +<TABLE BORDER=4> + <TR> + <TD> ディレクトリ + <TD> 説明 + + <TR> + <TD> doc/ + <TD> ドキュメント + + <TR> + <TD> etc/ + <TD> configurations + + <TR> + <TD> lib/ + <TD> + <A HREF="../lib/index.ja.html"> + ベンダーごとのサブディレクトリ + </A> + + <TR> + <TD> libexec/ + <TD> + 実行されるプログラムの実体。 + もっともすぐにモジュールを + 呼び出すので wrapper というべきだろう。 + +</TABLE> + +<!-- =================================================================== --> +</BODY> +</HTML> diff --git a/fml/doc/index.ja.html b/fml/doc/index.ja.html new file mode 100644 index 00000000..160cc67c --- /dev/null +++ b/fml/doc/index.ja.html @@ -0,0 +1,29 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> +fml5 documents +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> + +<UL> + <LI> + <A HREF="interfaces.ja.html"> + モジュール間インターフェイス + </A> + + <LI> + <A HREF="modules.ja.html"> + モジュール's + </A> + +</UL> + +<!-- =================================================================== --> +</BODY> +</HTML> diff --git a/fml/doc/interfaces.ja.html b/fml/doc/interfaces.ja.html new file mode 100644 index 00000000..aad5871e --- /dev/null +++ b/fml/doc/interfaces.ja.html @@ -0,0 +1,67 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> +インターフェイス仕様 +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> + +<CENTER> +インターフェイス仕様 (原案のメモ(注: 単なる走り書き)) +</CENTER> + +<P> <EM>基本的なスタイル</EM> +<UL> + <LI> + Perl ではポリモーフィズムと実行時バインディングができることに + は重視すること。多重継承などに頭を使うより + ポリモーフィズムと実行時バインディングによる + コンポーネント指向ぽい方向性を模索する。 + + <LI> + Perl 5 のパッケージを使った、オブジェクトぽい書き方は + 変数自身が自分のパッケージをしっているので、 + 単にパッケージ修飾(例: :: )を使わなくてもよいくらいに + 思う方がよい。 + + <LI> + そのために、 + 再利用性と抽象度を高くしたインターフェイスは + オブジェクトぽい書きかたが良さそう。 + + <LI> + perl 5 だと必然的にオブジェクトぽくなってしまうが、 + オブジェクト、オブジェクト、オブジェクトし過ぎないように + バランス感覚に注意しよう。 + + <LI> + 他人のモジュールを使う場合はともかく、 + 自分達で書くモジュールでの + ”深い”継承はできるだけ避けたい。 + 何でも深くすればよいというものではないでしょう。 +</UL> + +<P> <EM>メイン → モジュールの基本的な形の例:</EM> + libexec/ や libkern.pl にある関数は、 + main:: に記述される部分は基本的なフローを記述している。 + これらは基本的な枠組を示すものであるため、 + $CurProc (C でいえば struct *curproc にあたるもの) + を受け渡す、構造化プログラミング的な書き方をしている。 + <PRE> + + </PRE> + +<P> <EM>モジュール → モジュール </EM> + <BR> + しかし、そのひとつ下の層、そしてさらにその下では、 + 再利用性とポリモーフィズムに傾いた方がよさそうにおもえる。 + + +<!-- =================================================================== --> +</BODY> +</HTML> diff --git a/fml/doc/menubar.ja.html b/fml/doc/menubar.ja.html new file mode 100644 index 00000000..222b2889 --- /dev/null +++ b/fml/doc/menubar.ja.html @@ -0,0 +1,79 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> +fml5 homepage menubar +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> + + +<P> ある程度形のあるもの +<UL> + <LI> + <A HREF="../libexec/boot.ja.html" TARGET="right"> + ブートの仕方 + </A> +</UL> + +<P> 構想 +<UL> + <LI> + <A HREF="objects.ja.html" TARGET="right"> + 目的 + </A> + + <LI> + <A HREF="refactoring.ja.html" TARGET="right"> + アイデアのまとめ + </A> + + <LI> + <A HREF="components.ja.html" TARGET="right"> + コンポーネント指向 + </A> + + <LI> + <A HREF="architecture.html" TARGET="right"> + アーキテクチャ + </A> + + <LI> + <A HREF="../curproc.ja.html" TARGET="right"> + プロセス構造体 + </A> + + <LI> + <A HREF="interfaces.ja.html" TARGET="right"> + モジュール間インターフェイス案 + </A> + + <LI> + モジュール例 + <BR> + <A HREF="../lib/fml5/FML/index.ja.html" TARGET="right"> + FML::* クラス + </A> + <BR> + <A HREF="terms.ja.html" TARGET="right"> + FML::* 用語集 + </A> + + <LI> + <A HREF="dirhier.ja.html" TARGET="right"> + ディレクトリの階層構造 + </A> + + <LI> + <A HREF="releng.ja.html" TARGET="right"> + リリースエンジニアリング + </A> +</UL> + +<!-- =================================================================== --> +</BODY> +</HTML> diff --git a/fml/doc/modules.ja.html b/fml/doc/modules.ja.html new file mode 100644 index 00000000..83819912 --- /dev/null +++ b/fml/doc/modules.ja.html @@ -0,0 +1,51 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> + ... title ... +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> + + +<P>今あるモジュールの説明 + +<TABLE BORDER=4> + <TR> + <TD> モジュール + <TD> 説明 + + + <TR> + <TD> FML::LoadConfig + <TD> 設定ファイルを読み込みハッシュに入れる。 + + + <TR> + <TD> FML::File + <TD> + ログファイルに記録するインタフェイス。 + 将来は syslog(3) へとばすことができるとなおよい。 + まず間違いなくほとんど全てのルーティンが + use するべきもの。これをしないと Log() が + 使えないから :-) + + <TR> + <TD> FML::Date + <TD> + いろいろな型の日付関連のフォーマッティングのため + + <TR> + <TD> FML::String + <TD> 文字列操作関数へのインターフェイス + +</TABLE> + + +<!-- =================================================================== --> +</BODY> +</HTML> diff --git a/fml/doc/objects.ja.html b/fml/doc/objects.ja.html new file mode 100644 index 00000000..873da858 --- /dev/null +++ b/fml/doc/objects.ja.html @@ -0,0 +1,62 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> +目的 +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> + +<P> fml5 プロジェクトの目的 + +<UL> + <LI> <A HREF="refactoring.ja.html">再構想 (refactoring)</A> + <LI> <A HREF="releng.ja.html">新リリースエンジニアリング</A> + <LI> 設定ファイルとメニュープログラムの負荷を少なく + <LI> 乖離層 + <UL> + <LI> バージョンアップを簡単にできるように + <LI> CPAN モジュール使いまくり + <BR> + (ただし、できるだけ直接使うより、 + 一層被せておくほうがよい) + <LI> 3rd party 用ディレクトリ + </UL> + + <LI> 統一化されたメンバーリストなどへのアクセスをできるだけ抽象化する。 + <UL> + <LI> ファイル + <LI> /etc/group + <LI> NIS + <LI> SQL + <LI> LDAP + <LI> SSRP (?) + </UL> + 実際には効率の問題もあり、 + あらゆる抽象化は重たくなってしまう。そこで、 + 全部は抽象化できずに SMTP ライブラリにも一部いってしまうが、 + この二箇所におしこめること。 + + <LI> CUI (makefml) インターフェイスおよび CGI インターフェイス + <BR> + これは従来通りのもの。 + <BR> + ただしより統合化され、 + よりメニューなどが書きやすいものであるように + + <LI> IPv4/IPv6 ready +</UL> + +<!-- =================================================================== --> + +<CENTER> +アーキテクチャア・イメージ +<IMG SRC="architecture.gif" ALIGH=CENTER> +</CENTER> + +</BODY> +</HTML> diff --git a/fml/doc/refactoring.ja.html b/fml/doc/refactoring.ja.html new file mode 100644 index 00000000..a7ec77c4 --- /dev/null +++ b/fml/doc/refactoring.ja.html @@ -0,0 +1,137 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> +fml5 [ fml リファクトリング プロジェクト (Refactroing Project) ] +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> + +<CENTER> +fml5 [ fml リファクトリング プロジェクト (Refactroing Project) ] +</CENTER> + +<P> いくつかのアイデア + +<TABLE BORDER=4> + <TR> + <TD> status + <TD> <EM>項目</EM> + <TD> 備考 + + <TR> + <TD> + <TD> <EM>ライセンス</EM> + <BR> + ライセンスを Perl 準拠へ変更する + <TD> + + <TR> + <TD> + <TD> <EM>イメージ/モティーフ</EM> + <BR> + fml4 から fml5 へは、sendmail から postfix への移行のようなイメージで + <BR> + 最低限の config.ph コンバータは用意する。 + + <TR> + <TD> + <TD> + <EM> メインプログラムの wrapper (乖離層) </EM> + バージョン管理やデバッグを簡単にするための乖離層 + <PRE> + fml.pl --- /etc/fml/wrapper.cf ---> fml/$VERSION/libexec/distribute + </PRE> + + <TR> + <TD> + <TD> + <EM>再利用性</EM> + <BR> + 自主開発はできるだけ避ける。 + <BR> + 可能な限りあらゆる CPAN モジュールなどを使う。 + また、利用する場合にも乖離層を設ける。 + <PRE> + FML::モジュール → 乖離層 → CPAN/モジュール + </PRE> + <TD> + <A HREF="interfaces.ja.html">インターフェイス仕様</A> + + <TR> + <TD> + <TD> <EM>設定ファイル形式</EM> + <UL> + <LI> cf と config.ph を統合化する + <LI> 配列を表現できる形式 + <LI> メニュープログラムが楽できるフォーマットを + <LI> 原則として”設定ファイル”という名のものは + どれも同じフォーマットとする。 + </UL> + <TD> + + <TR> + <TD> + <TD> + <EM> 変数名ルールの統一 </EM> + <UL> + <LI> USE_機能 + <LI> 機能_TYPE + <LI> 機能_ATTRIBUTES + </UL> + <BR> + ”USE_ほえ”および”ほえ_TYPE”形式か? + また、NOT_USE などは禁止する( default_config に書くこと)。 + <BR> + attribute にあたるものが + 群れになってしまうのはしょうがない。しかし、 + 配列表現が可能なため、現在の ifdef の群れで表現する + ようなことが少なくなるはず。 + + <TR> + <TD> + <TD> + <EM> 関数名ルールの統一 </EM> + <BR> + main:: スペースに出てくるものは従来通り X11 風準拠に。 + <BR> + メソッドは他のモジュールにあるようなそれっぽい小文字の名前をつける。 + <BR> + lisp 的要素を廃止する。 + <BR> + 参考文献 Perl Cookbook として、 + そこにあるようなシンタックス風を推奨する?例: + <PRE> + MemberP() -> IsMember() + </PRE> + + + <TR> + <TD> + <TD> + <EM> queue manager </EM> + <BR> + 再送処理のため (e.g. smtpfeed ) + + <TR> + <TD> + <TD> + <EM> tools </EM> + <BR> + BSD make を使わない。 + <BR> + C 言語ではないので、autoconf は特には必要ないと思う。 + しかしながら configure という名前のスクリプトを(フェイクでも) + 用意することはよいことかもしれない。 + そのスクリプトは例えば + IPv6 ready か否かを決めるために使われるだろう。 + + +</TABLE> + +<!-- =================================================================== --> +</BODY> +</HTML> diff --git a/fml/doc/releng.ja.html b/fml/doc/releng.ja.html new file mode 100644 index 00000000..e011eae7 --- /dev/null +++ b/fml/doc/releng.ja.html @@ -0,0 +1,51 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> + ... title ... +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> + +<P> + アーキテクトでも、デベロッパーに偏ってもいけない。 + 抽象化に萌過ぎても、オブジェクト指向分析に燃え過ぎてもいけない。 + 中庸であり、一カ月単位でフィードバックしながら + プロジェクトの計画とコードレビューを行なうこと。 + + +<P> 月単位でのリリースエンジニアリングの原案 + +<TABLE> + <TR> + <TD> 最初の 4〜5日 + <TD> 計画を練り直す。 + <BR> + リリースエンジニアリングプロセス中の + 20 %程度はこの計画に費やすこと + + <TR> + <TD> 2〜3 週間 + <TD> コードを書く + + <TR> + <TD> 最終週 + <TD> ドキュメントを見直す、およびコードレビュー + + <TR> + <TD> 月の切れ目 + <TD> まぁまぁ大丈夫ぽい snapshot を出してみる。 + alpha-0, + alpha-1, + alpha-2, ... + +</TABLE> + + +<!-- =================================================================== --> +</BODY> +</HTML> diff --git a/fml/doc/terms.ja.html b/fml/doc/terms.ja.html new file mode 100644 index 00000000..3e5dbb2c --- /dev/null +++ b/fml/doc/terms.ja.html @@ -0,0 +1,72 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE> +関数名および変数名に関連した用語のまとめ +</TITLE> +<META http-equiv="Content-Type" + content="text/html; charset=EUC-JP"> +</HEAD> + +<BODY BGCOLOR="#E6E6FA"> +<!-- ================== body =========================================== --> + +<CENTER> +関数名および変数名に関連した用語のまとめ +</CENTER> + +<TABLE BORDER=4> + <TR> + <TD> 用語/単語の省略形 + <TD> 説明 + + <TR> + <TD> STR + <TD> 文字列 ( string ) の略 + + <TR> + <TD> 日本語コードの略称 + <TD> JIS SJIS EUC などおなじみのもの… + + <TR> + <TD> 2 + <TD> + to と発音が一緒のため省略形としてよく使う。 + 類似品として 4 ( for の意味)もある + <BR> + 例: STR2EUC (STRing to EUC の略) + <BR> + <PRE> + use String qw(STR2EUC); + $euc_string = &STR2EUC($string); + </PRE> + + <TR> + <TD> 4 + <TD> for と発音が同じために用いる。 + <BR> + 例: まだなし + + <TR> + <TD> fh + <TD> ファイルハンドラ( file handler ) + + <TR> + <TD> dh + <TD> ディレクトリハンドラ( directory handler ) + + <TR> + <TD> _なになに + <TD> 慣習的にパッケージ、クラス、オブジェクト内部で使う + 変数や関数名に _ ではじまるキーワードを使う。 + + <TR> + <TD> CurProc もしくは curproc + <TD> ”current process 構造体”の略 + + +</TABLE> + +<!-- =================================================================== --> +</BODY> +</HTML> |
