タグ

2008年2月4日のブックマーク (6件)

  • inforno » Python:続・アクセサの生成

    以前書いてみたアクセサ をpropertyを使って改良してみる。 propertyというのはnew-styleクラスに対してのみ使える、メソッドで 1class C(object): 2 def __init__(self): self.__x = None 3 def getx(self): return self.__x 4 def setx(self, value): self.__x = value 5 def delx(self): del self.__x 6 x = property(getx, setx, delx, "I'm the 'x' property.") こんな感じで使う。 Rubyを使った人なら分かると思うけど、プロパティ名でのアクセス=アクセサ呼び出しになるのは結構便利。 ActiveRecordなんかでは、特に便利だと感じる。あ、このプロパティ、もういっそ

  • Parallel Python - 最適化問題に対する超高速&安定計算

    Parallel Python を使うと Python から簡単にジョブ並列(タスク並列)を行うことができる。以下のような環境で使用することができる。Linux マシン(クラスタ)で試したみたところ、確かに簡単に出来た。 1: SMP(マルチコアも含む)のマシンで並列計算 2: クラスタ計算機上での並列計算 (1も含む) Parallel Python をダウンロードページから入手して、展開した後に python setup.py install とすればインストールは終わり(管理者権限のユーザで行う必要あり)。サンプルファイルとして配布されている sum_primes.py を用いてみよう。 1 の場合: python sum_primes.py [ncpus] とすれば良い。[ncpus] は同時に使用する CPU(コア) の数。 1CPU : 5.731s 2CPU : 3.012s

    Parallel Python - 最適化問題に対する超高速&安定計算
  • inforno :: Python:アクセサの生成

    Pythonの練習がてら、アクセサの生成をやってみる。どうせ探したらいっぱいコードが転がってるだろうし、練習にはうってつけかな、と。 まず、ダメそうだけど、Rubyをやってる人からするとこうかきたい、というコード。 1class Test(Accessor): 2 attr_accessor("__test", "__test2", "test3", "_test4") 3 4 def __init__(self): 5 self.__test = "test_value" 6 self.__test2 = "test2_value" 7 self.test3 = "test3_value" 8 self._test4 = "test4_value" こんな感じ。まぁ、絶対にダメそうだ(笑 でも組み込みとはいえ、classmethodやstaticmethodみたいなのもあるから無理やりに

  • GUIで管理できるSubversion·VisualSVN Server MOONGIFT

    開発に際してSubversionを利用しているという方も多いだろう。一度立ててしまえばごく簡単に運用でき、それでいていざというときに役立つソフトウェアだ。さらにクライアントはGUIフロントエンドも多数存在するのが良い。 ではサーバはどうだろうか。CUIでインストール、管理するのが当たり前になっている。だがWindowsであればGUIの方が便利そうだ。 今回紹介するフリーウェアはVisualSVN Server、SubversionのGUI管理ソフトウェアだ。 VisualSVN Serverの便利な点は、HTTPSのHTTPサーバと、Subversionがインストーラーで手軽に利用できるようになる点だ。また、その管理はWindows標準のコンピュータの管理で行える。 ユーザの作成はもちろん、グループの作成もできる。リポジトリの作成もGUIベースで完結するのでごく簡単だ。ファイル単位にアク

    GUIで管理できるSubversion·VisualSVN Server MOONGIFT
  • コマンド一つで各種操作·Enso Launcher MOONGIFT

    Mac OSXではQuickSilverというランチャーの人気が高い。キーボードから簡単に呼び出せて、各種操作をコマンドライン的に行えるのが便利だ。コンピュータの操作は慣れてくるとマウスよりもキーボードを使った方が効率がいい。 同じような観点から出てきたソフトウェアを紹介しよう。こちらはWindows向けになる。 今回紹介するフリーウェアはEnso Launcher、コマンド的に使うランチャソフトウェアだ。 Enso Launcherは小さな便利ツールが寄せ集まり、それをキーボードから呼び出すソフトウェアだ。標準ではCaps Lockを押しながらコマンドを打ち込んでいく。指の配置が辛いときもあるので、そうした場合は右ウィンドウキーなどに変更しよう。 例えば「3*4」という文字列を選択しながらCalculateコマンドを実行すると、12に置き換わる。同様に大文字化、小文字化などの文字変更も可

    コマンド一つで各種操作·Enso Launcher MOONGIFT
  • 美しい設計の追求(113~119日)

    今回のテーマは、シンプルで、美しい設計の追求である。ソフトはハードに比べ、一見変更が容易に見える面があり、絶えず変更追加がなされる。しかも長期にわたって使われるだけに、当初からしっかりした美しい設計がなされていないと修正に伴う事故が発生しやすくなり、保守費も増えてしまう。 最近は短納期が増えてきたこともあり、基設計に十分に時間をかけずに先を急ぎ、「まずいところは後から修正するしか仕方がない」と考える人が散見される。だが、これは大きな誤りである。たとえ時間がかかってでも、まずは徹底的に基設計を行い、しっかり土台を固めてから先に進むという王道を歩まなければならない。 プログラム構造、基となるデータベースやテーブルの構造、プログラム制御方式、サブシステム間インタフェース、マン-マシン・インタフェースの基画面、基的な操作方式などは最初に必死に考えておかないと、後で大変苦労することになる。

    美しい設計の追求(113~119日)