プログラミング

Csv.class の改修

csvファイルを扱うためのクラスを作ったのだけど、読み取りの部分でcsvの仕様を満たすの面倒でセパレータだけで分割するように作っている。つーわけでfgetcsv()をつこて対応するように直す。現在の手順としては load()内で、file()で配列に一括して読み込む…

F5攻撃対策

仕組み XOOPSに使われている Protector.class を参考につくりました。 短時間に同一のURIに対して同一のIPアドレスから、繰り返しリクエストがあった場合に攻撃とみなす。 F5攻撃と判定した場合は、F5攻撃ですよ画面を出力して、しばらくスリープする。 同一…

はまちちゃん。どんだけぇ〜

IEを華麗に撃墜する一行 - ぼくはまちちゃん! Internet Explorerを一行でクラッシュさせてしまうコードが登場 - GIGAZINE Proxomitron フィルター作成スレッド Part7 thinkのScrapBook: position:relative のブラクラに対抗するProxomitronフィルタ 探す人…

PHPでの文字化けというかコード変換に関する注意

追記 いぇーい。ツッコんでもらえたぜ。id:elf:20070905 ハードコードしたやつをそのままechoしたらアカンでというメモだったんだけど、ちゃんと突っ込んでもらえた。mb_regex_encoding()というのは、気付いていませんでした。ありがとうございます。でもほ…

postgres カラムを追加する

追加だけ ALTER TABLE table_name ADD COLUMN column_name type constraint; デフォルト値を規定するときには、別コマンド ALTER TABLE table_name ALTER column_name {SET DEFAULT expression | DROP DEFAULT}; なので、ユーザー情報にタイムゾーンを表現す…

間違って where句なしで update, deleteしちゃったよ。

http://tdiary.ishinao.net/20030207.html http://ml.postgresql.jp/pipermail/pgsql-jp/2007-April/021904.html ラージオブジェクトを使用した時のバックアップとレストア | マイブログナビ 外部キー - Wikipedia pg_controlodata, pg_resetxlog についてお…

トリガーのつくり方

トリガーとは、INSERT や UPDATE, DELETE(イベントと呼ぶ)の際に連動して行なう一連の処理を自動化してくれる便利な機能。 トリガーをつくるときには、そのトリガーが呼び出される条件を定義する。 CREATE TRIGGER トリガー名 AFTER insert ON テーブル名 …

mbstring.encoding_translation = On

よく調べもしないで設定を変えてはダメだな。 "\t"タブの記号を、そのまま渡していたものが動かなくて悩んだ。たぶん、↑のせい。 どのような動作をするのか調べていないので、早めにやっといたほうがいいのだろうな。 ...でもまだ地獄。

qmail-injectでメールを送信してくれるスクリプト

アプリが個別にメールを送信するよりも、どこかにメールデータを吐き出すと勝手に送信してくれるというのがスマートかなって思った。 メールファイル(ヘッダ+本文)を、アプリで用意してスプールディレクトリに置くと、自動で送信してくれる。 cronなどで…

ベイジアンフィルタ その2 間違っていたので修整もしたぜ

テスト使用できるくらいまでは出来ました。 good.txt = Non-SPAM bad.txt = SPAM 一行が1メールとなるように作成します。10メール分を登録するには、各メール本文の改行を削除して一行にする。それを10行用意すると10メール分のデータが出来上がりで…

ベイジアンフィルタ

以前メモしたベイジアンフィルタで遊んでみようと思い、ちょっと調べてみました。 ベイジアンフィルタについて(www.archive.org) http://labs.unoh.net/2007/02/post_66.html アルゴリズム トークン(文字の塊)を w とする、この w のスパム確率 P(w) は、…

hackとはまさにこのこと...だな。

なんと、次の1行だけで、isMSIE 変数に、IEで見れば true そうでなければ false を代入することが出来ます。 var isMSIE = /*@cc_on!@*/false; JavaScriptでIEかどうかをたったの1行で判別する方法:phpspot開発日誌 に関してのブクマ米欄をみると、脊髄反射…

全文検索およびその応用。

Python ベイジアンフィルタ

自動SEO対応サイト雛形メーカー

ini形式で設定できる htmltemplate でパッと見を作成 cliモード前提でphpで作成

出来上がりプログラミング ver.1.0

HTML_FormControl.classでエンバグ

element.allowempty が正しく動作しない。常にTRUEとして動作してしまう。 さらにsa01上では、クラスないでの print_r(), echo が効かないので出力して確かめることができない。まいった...

DBオブジェクトでやってもーた!

いま作っている HTML_FormControl.class では、DbDataクラスを継承した DbHTML_Formクラスを Session に入れてしまっているので、以下の投稿者と同様のエラーが発生している。 これを避けるには、石井達夫さんが述べているように一々 `& new' してやらないと…

最も単純なページングのコントロール

この流れを観察して、関数化 or クラス化を行えるか検討する 初期プロセス Sessionをつくる iniから$formをつくる Sessionに$formを保存する チェックプロセス(正常終了) Sessionから$formをとりだす Requestの値をつかって$formの値を変更する $formをfre…

多重継承

HTML_Form.class こんなメソッドもありました。

setRequestVars フォームで渡された値を Formオブジェクトに代入する HTTPリクエストで渡される値 array('名前'=>値) を再代入する。 フォームを作成するときに、フォーム要素はすでに定義済みであるので、 渡された値を入れなおすという作業をするためのメ…

PHPについて知りませんでした。(配列編)

配列のオペレーションについて、実は理解していなかったというか知らんかった。array_mergeを多用するあまり、キー付きの配列を合わせるときには array_merge() を使うものだと思い込んでいました。 配列の要素をただ単に付け加えたいだけなら $array_result…

IniToHTML_Form.class の残り

とりあえず一通りの流れは出来た。しかし、テストがまだ...。*1 コンストラクタの設計・実装 動作テスト (UnitTest) ini形式データを用いたテスト htmltemplateを用いたテスト iniデータの呼び出しは、setFilePath()にて指定された値からファイルを開く。 rea…

IniToHTML_Form.class の落とし穴

_makeFormObject() での各フォーム要素の扱いが複雑になってしまった。 出来るなら、ポリフォーミズムを利用して Option or Text を問わないで扱えるようにしたいところだ。 さすれば、もっとシンプルに実装できるだろう。現状のままでは、複雑になってしま…