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

Emacs LispとRubyを使ってGoogle Chromeを操作する

私は以前までブラウザはFirefoxを使っていましたが、Firefox4でMacでFlashが見れなくなったり、Firefox5でタブを切り替えても表示が切り替わらない(この現象は検索してもヒットしないので自分の環境だけの可能性有り)といった不具合があってから、メインのブ…

Google App Engineを辞めた

約1年前にGAEを使って立ち上げたこのサイトですが、今回のGAEの料金体系の変更によって無料クオータの限界を超える日が存在することが分かったため、GAEを辞めて既に契約しているVPSに移動することにしました。最初に無料クオータの限界に達していたリソース…

DevQuiz スライドパズル 解答

本日、Google Developer Day 2011の参加資格をかけたDevQuizが終了しました。 というわけで、今年一番の難問だったスライドパズルの回答を掲載します。 結果から先に言うと、5000問中4562問正解でした。 が、特別なアルゴリズムを使っているわけでもなく、計…

nginxとgunicornとsupervisorを連携させる

私はVPSと自宅LAN内でDjangoで作った個人的なwebサービスをいくつか運用しています。 現在の運用環境はapache+mod_wsgiですが、ネットで色々調べていると、nginxとgunicornとsupervisorを組み合わせるのが旬(?)のようなので、その方法について色々調べたこと…

Djangoのモデル継承でポリモーフィズムを実現する

Djangoのモデルクラスは継承が可能ですが、基底クラスのオブジェクトを派生クラスのオブジェクトに変換する手段がデフォルトで存在しないため、普通のオブジェクト指向プログラミングのように、派生クラスでメソッドをオーバーライドしてオブジェクトの振る…

Qt4のQFileSystemWatcherでファイルの更新検知を行う

プログラマの方々なら、ファイルを更新したときに自動的にあるアクションを実行したいと思うことが、一度はあると思います。 そのようなタスクを実行するプログラムを書くには、ファイルシステムを監視して、ファイルの更新を検知する必要があります。 ファ…

C言語の正しいヘッダファイルの書き方

最近、仕事でC言語での組み込み系の開発に携わっています。 開発中のコードを眺めていると、ヘッダファイル内にstatic関数のプロトタイプ宣言を記述していたり、ヘッダファイル内で不必要に他のヘッダファイルをインクルードしているなど、ヘッダファイルの…

pythonでファイナンス計算

先日会社で退職金の説明会がありました。それによると退職金の一部を確定拠出年金として自分で運用しなくてはいけないとのことで、ポートフォリオを設計する必要あります。今時は各種金融機関がポートフォリオのシミュレーターを公開していますし、Excelを使…

Rubyメソッドのアラウンドエイリアスについて

Rubyで末尾再帰最適化をする。を読んで思ったこと。 このエントリやメタプログラミングRubyでメソッドのアラウンドエイリアスを定義する際に、古いメソッドに別名をつけてから新しいメソッドを定義しています。以下はメタプログラミングRubyの例。 class Str…

Emacsのauto-insertでテンプレートを自動生成する

プログラムの単体テストを書く場合や、各種フレームワークを使用してプログラムを書く場合などは、ある規則にそってファイル名を付けると思います。(例えば単体プログラムのソースファイル名は"モジュール名_test.py"(Pythonの場合)など) Emacsのauto-insert…

PythonでWEBページをクローリングする時のTips

PythonでWEBページをクローリングする時のTipsをまとめてみました。 urllib2.urlopenのデフォルトのユーザーエージェントを変更する PythonでURLを開くには、urllib2.urlopenします。 urllib2.urlopenは、デフォルトで"Python-urllib/(Pythonのバージョン)"…

Djangoのデータベースをsqlite3からMySQLに移行したときにハマったこと

sqlite3はデータベースが1つのファイルで簡潔するので、バックアップがファイルのコピーで済む等、扱いが非常に簡単です。 そのため僕はDjangoのアプリケーションを作るときは、sqlite3を使用しています。 しかし、sqlite3ではトランザクション実行時にファ…

serversman@vpsでキャッシュの使用量が0と表示される件について

serversman@vpsでfreeコマンドでメモリの使用量を確かめようとすると、キャッシュの使用量が0と表示されます。 > free -m total used free shared buffers cached Mem: 1024 234 789 0 0 0 -/+ buffers/cache: 234 789 Swap: 0 0 0(ちなみにOSはCentOSです。…