2008-04-01から1ヶ月間の記事一覧

ファイルロックを使った Mutex というか排他処理というか。

PHP

例えば cron で定期的に重い処理を呼び出していて、前回の処理が終了していなかった場合は、何もせず終了させたいというとき。 flock() ならプロセスが (異常だろうと何だろうと) 終了すればロックが外れた状態になるので、それ使って判定できれば楽だなと思…

配列っぽいクラスを書いてみる

PHP

http://d.hatena.ne.jp/hope-echoes/20080424/1209031875 の続き。 PHP: ArrayObject - Manual を参考に実装してみる。

配列演算子オーバーロードもしくは PHP 5 の配列エミュレート機能全般

PHP

正確にはオーバーロードじゃないけど。 PHP でも [] でアクセスできるクラス作れたんだね。参考 PHP: ArrayObject - Manual 分かりやすい実装例。 PHP: オブジェクトのイタレーション - Manual イテレータについて全般。 SPL-StandardPHPLibrary 詳細なリフ…

クラスの挙動まとめ #2

前回 クラスの挙動まとめ #1 内容 関数とメソッドの違い 以降は、新形式クラスのみに焦点を当てる。 中には旧形式クラスにも適用される動作もあるけど、無視する。区別が面倒だから。 オブジェクトを比較する際に == と is を使い分けているけど、理由がある…

[Python] クラスの挙動まとめ #1

内容 クラスの基本的な挙動、新形式クラス、 type() を使ったクラス生成 対象 ある程度プログラミングの知識がある人。 クラスもオブジェクト Python ではクラスもオブジェクトである。 class Class: """クラスオブジェクトを作成するリテラル Class という…

Ftxa クラス図

目的は以下の通り。 Linux 、 Windows 対応予定 FTP 、 SFTP 、 WebDAV 対応予定 シェルで操作する ローカルのディレクトリ構造とリモートのディレクトリ構造を同期させる 1985 年製の RFC から FTP のモデルを抜粋 2.3. THE FTP MODEL With the above defin…

Python プログラムを書く前に

書くからには出来るだけちゃんとしたのを書きたいよね。 (Python の理念的にも) というわけで書き方の作法を頭にいれておく。 みんな大好きコーディング規則 日本語 PEP - PEP 8 -- Style Guide for Python Code インデント強制よりこっちのが特徴的な気がす…

FTP クライアントを書いてみようと思う

Python 始めたことだし、練習用に。 名前、クラス名など FTXA - File Transfer and eXchange Agent 用途 シェルやコマンドプロンプトなど CUI 上からファイルの転送を行う 言語 Python 2.4 OS Linux 系 (将来的な Windows への拡張も考える) サポートするプ…