The Dabsong Conshirtoe

技術系の話を主にします。

2013-01-01から1年間の記事一覧

cliffとその実装

python advent calendar 15日目の記事です。 以前から気になっていたcliffについて調べてみました。 ライブラリやフレームワークのコードを読むのが最近のマイブームなので、使い方とかは適当に流してcliffがどのような実装構成になっているか見てみたいと思…

venusianライブラリの実装

デコレータの実行を遅延させる仕組み。デコレートされた関数のテストがしやすくなったりする。 メタ情報を付与するだけのアノテーションのようにデコレータを使うことができそう。 pyramidのview_config関数で使用されている。 http://docs.pylonsproject.or…

ミクロな可読性とマクロな可読性

コードにおいて最も重要なことは何か?と問われれば、「可読性」だと答えます。 とにかく読みにくいコードは嫌だ。なんといっても醜いので生理的に不快。 では可読性とは何か?と考えてみたところ、2つのタイプがあるように思いましたので、ここではそれを書…

「オブジェクト指向でコードが書けるようになろう」に参加して来ました

「オブジェクト指向でコードが書けるようになろう」に参加して来ました。会を通して考えることがあったのでメモ。 設問 内容は、事前に出題されていたCodeIQの設問「クラス名を考えてみよう」について数人で議論しました。 設問は以下(いろいろはしょってま…

何をオブジェクト化しないか

設計において何をオブジェクト化するか、について考えることがあったのでメモ。 何をオブジェクト化するか 通常、設計においてはソフトウェアの仕様から「何をオブジェクト化するか」を考えます。「オブジェクト化する」とは、ソフトウェアの主要な関心事に…

dotcloudにRailsをデプロイ

dotcloudが楽しそうなので使ってみました。 アプリケーション作成 cd $HOME/src rails new myapp DBはmysql想定です。 dotcloudでアプリケーション作成 dotcloudにでサインアップしてください。サインアップしたらダッシュボードでcreate a new application…

SQLアンチパターン「ランダムセレクション」の補足(でもないけど)

DB

解決策③「すべてのキー値のリストを受けとり、ランダムに 1 つを選択する」では、当然の話だけどトランザクションの考慮も必要ですよねって話。なんだか書いてて当たり前すぎて消そうかと思ったけどもったいないので公開します笑例えば以下のような手順をと…

pythonの日時系操作まとめ

プログラミングをしていれば、日時系の操作をする機会ってかなり多いですよね? 何日前を計算したり、文字列を日時オブジェクトにしたりその逆をしたり、曜日や月末日が欲しかったり。自分が忘れっぽいのか、この辺の操作はすぐ忘れてしまい何度もググってし…

へび年なのでpythonで占い

あけましておめでとうございます!今年はへび年なのでpythonで占いしてみますね。 >>> import random >>> print random.choice([u'大吉', u'中吉', u'マジ吉', u'凶', u'大凶']) 中吉 悪くないですね! 今年もよろしくお願いします。