Welcome!
データベース論特講(2005)
第1回(4/19)
- 2種類のデータベース
- 検索の高速化(インデックス)
- Hash
- Tree
- 検索(など)の高度化
- SQL
- 検索の高速化(インデックス)
- インデックスDBの利用
- dbm, ndbm ... BSD/SVR4/Solaris
- gdbm, BerkeleyDB ... Open Source
第2回(4/26)
- Hash による高速化の例
- Python のソースコード も眺めてみるべし
- NDBM を Python から使う
- 上の「高速化の例」を System V / BSD の ndbm/dbm でやってみる。
- BerkeleyDB (Ver 4) を導入してやってみる。には、何が必要か調べなさい。
第3回(5/10)
- PostgreSQL ... Relational Database
- Python からの利用 ... psycopg first.py
- PostgreSQL で index を作るには? ... 日本 PostgreSQL ユーザ会
- EXPLAIN を使って cost をチェック
- Python psycopg で index の効果を確認してみる。
第4回(5/17)
- PostgreSQL を使う
- サーバ と クライアント
- サーバを立ち上げるには?
- 既存のサーバに接続するには?
第5回(5/23)
- 応用プログラム − アクセスカウンタ
- 必要なもの
- mod_python ( apache + python + mod_python )
- PIL + pilfonts
- プログラムソース
- プログラムファイルひとつだけ(身軽)
- データベースを指定(最初は手で作成)
- データ形式(某カウンターCGIからパクリ)
- ページURL : カウント | 最後のアクセスIP
- 別 URL でのアクセス対策
- /index.html を消す #? の後ろを消す
- カウンタ設置 URL の制限
- カウンタのリスト (そのアクセス制限)
- カウンタ表示形式(文字、画像)桁数の指定
- フォントの指定・サンプルのリスト
- 管理インタフェース(パスワードで防御)
- apache の htpasswd で作成した passwd ファイルを使う。
- カウンタのリセット
- 発展?
- リソースを気にしなければ、PIL で画像を ふにゃらら して、もっと ふぁんしぃ なカウンタにできる。
- id と URL が(前方部分)一致しないと受け付けないという手もある。
- これで金を取るのは無理?ISP ならサービスのひとつ。
第6回(5/31)
- 応用プログラム (Sprint 的に) - 学会参加登録システム
- 去年の
- Mod_Python + PostgrSQL
- /www/conf/httpd.conf -> virtualhosts.conf
- Alias /P/ /www/seppyo-python/
- ここが起点
- Cookie (ここでは使っていない)
- セッション管理
- ユーザ認証 ... メールアドレスが正しいこと
- SHA を用いて ticket 管理
第7回(6/7)
- counter.py その後
- Power Mac G5 が入った。
- sshd を動かした。
- OS X 10.4 だけど Server じゃないので、厳しいか?
- CPU がスリープしたらログインできない :-<
- ssh でパスワード無しでログインするには
- キーの生成 (ssh-keygen)
- 公開カギを相手に預ける
- 次回 6/14 は休講
第8回(6/21)
- メールシステムを考える
- SMTP(RFC2821) と POP(RFC1939)
- メール(メッセージ)のヘッダ情報 (RFC2822)
- MIME(RFC2045-2049)
- telnet での実験
第9回(6/28)
- Python でやってみるメールの実験
- シェル端末から
- mod_python を使う
- 宿題:Python のライブラリを使って、自分と菊地宛に短いメールを送ってください。
Python を使った証拠に X-Python: yes というヘッダを付加してください。
別の証拠として、プログラム自身をメール本文として送るようなプログラムにしなさい。
第10回(7/5)
- Mailman の解剖 (1)
- Mailman とは
- SourceForge プロジェクトページ
- CVS/ViewCVS
- Concurrent Versioning System
- Mailman でのメールの流れ
- /etc/aliases -> /usr/local/mailman/mail/mailman
- post insei ---> /usr/local/mailman/scripts/post -> INQUEUE_DIR (qfiles/in)
- /usr/local/mailman/qrunner --runner=IncomingRunner
- /usr/local/mailman/Mailman/Queue/IncomingRunnder.py -> pipeline
- pipeline default ==> Mailman/Defaults.py
SpamDetect,Approve,Replybot,Moderate,Hold,MimeDel,Scrubber,Emergency,Tagger,CalcRecips,AvoidDuplicates,Cleanse,CookHeaders,ToDigest,ToArchive,ToUsenet,AfterDelivery,Acknowledge,ToOutgoing, ---> OUTQUEUE
- Queue/OutgointRunner.py ---> Mailman/Handlers/SMTPDirect.py (process)
第11回(7/12)
- Mailman の解剖(2)
- 設定項目の追加
- Content Filter での multipart/alternative の問題
- collapse.patch を作ってみる
- 修正すべき点
第12回(7/19)
- Zope
- Plone
- ArcheTypes?