Posted at 2012-10-12 11:12:25 under テクノロジ (by key)

開発環境でのみ起こっていて、うーん、ってなったのでまとめ。メモのみ。

  1. Twitterのアプリ一覧 から自分のアプリを選択
  2. Settingsタブを選択
  3. Websiteを開発で使っているURLをポート指定なしで設定 (e.g. http://example.com)
  4. Callback URLを開発で使っているURLをポート含めて指定 (e.g. http://example.com:8000)
  5. Update this Twitter application's settingsを力強く押下

Tags: twitter
Posted at 2012-08-06 23:04:40 under テクノロジ (by key)

法政大で行われた Jenkins User Conference 2012 に行って来ました。

朝から夕方までぶっ通しで、セッション聴き続けた感じ。疲れた。

Jenkinsは成長していて、ライセンスや知財保護などの足回りも創始者であるところの川口さんが頑張っており、非常に良いプロダクトになっています。 JUS2012は数百人(1000人弱位?)の参加者がきており、ユーザコミュニティも大変活発で安心して利用できそうです。

evernoteにメモってやつをバーっと公開。

Continue reading
Tags: jenkins
Posted at 2012-06-26 21:45:34 under テクノロジ (by key)

ジオメディアサミットは位置情報サービスの勉強会で、 部分的にジオ系機能を含むサービス( MyBike とお仕事)を展開する自分としては気になる勉強会?の一つでしたが、 地方で開催されていることが多かったため参加に二の足を踏んでいました。

第9回はパシフィコ横浜で開催というのを @inuroさん ウォールで見かけて、 これはぜひ行くべし!と思ったのですが時既に遅く満席…。が、コメントしたところ数分後には枠が広がり、無事に参加する事ができました(笑)。

Continue reading
Posted at 2012-03-31 00:54:53 under テクノロジ (by key)

MongoDBのニュースレターで MongoEngine を知った。

てっきり MongoDB Engine のことかと思ってサイトを覗いてみたら、 サイトの体裁がぜんぜん違うし10gen official evangelistのソフトウェアということだし、どうやら違うプロダクトである模様。 ちょっと気になって調べてみたところわりと素性が良さそう。

schemalessなデータベースを利用していて困るのはデータセット内に何があるかわからなくなることなので、個人的には保存時に何かしらのバリデーションが必要だと思ってます。 スキーマを定義可能なライブラリはいくつかありますが、django-mongodb-engineはdjangoモデルの拡張フィールドセットだけ、 mongokitはスキーマ定義が出来るものの埋め込みドキュメントがサポートされておらず、帯に短し襷に長しといった状況です。

で、mongoengineのドキュメントを読んだ限りではその辺りをクリアしており、なかなか良さそうだな〜という判断。

直近で使う機会がありそうなので、いろいろ試してまた紹介したいと思います。

Tags: mongodb, python
Posted at 2012-03-26 22:09:55 under テクノロジ (by key)

SSL通信を行うサイトを作ったりなんかしています。

django + fastcgiプロセスの組み合わせでリダイレクトする処理を確認していたところ、 アプリケーションがプロトコルスキームを認識出来ずにhttp://〜にリダイレクトされる問題がありました。

最初はアプリケーションが固定値でhttp://〜と出力しているのかと思い、 自分が書いた部分のコードやサードパーティのライブラリを含めて調査しまくった結果、 どうやらfastcgiプロセスがプロトコルをハンドリング出来ていないようでした(pdb埋め込んで追いかけまくった)。

で、ダメ押しでnginx fastcgi sslなどでググりまくって得た回答は nginxのコンフィグを適切に設定しないさい というものでした。

参考: FastCGI application behind NGINX is unable to detect that HTTPS secure connection is used

というわけで、以下のようなコンフィグを書いたところ、きちんと動くようになりました。

server {
    listen 443;

    # 省略
    location / {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:8083;
        fastcgi_pass_header Authorization;
        fastcgi_params HTTPS on;
        fastcgi_intercept_errors off;
    }
}

djangoのビュー関数が処理するrequestオブジェクト(内部オブジェクトを失念してしまったけどwsgi関連?)には アプリケーション実行時の各種環境変数が含まれていますが、この中にHTTPSというキーがありプロトコル判別にはその値を利用しています。 SSLアクセス時には、ウェブサーバ側で強制的に値を突っ込むことで解決することが出来るというわけですね。

というわけで久々のエントリは備忘録でした。

Tags: django, python