タグ

ブックマーク / blog.liris.org (8)

  • Emerge Technology: Google Calendarのgdata(python)の雑多なメモ

    yuiseki
    yuiseki 2012/03/28
  • Emerge Technology: Pythonで3分MongoDB

    生まれ変わった「Days of Liris」。プログラミングのこと、Pythonのこと、気になったソフトウェアのこと、身の回りのこと、いろんなこと。など PythonでMongoDBで遊びます。shardingとかGridFSとか、MongoDB自体のお話はまた、きっと後日。 まずは、mongodbのインストール。 $ sudo port mongodb MongoDBを動かします。Cassandraと違って一般ユーザで。 $ mongod  --dbpath data では、PythonでMongoDBを遊ぶためにpymongoをインストール。 $ pip install pymongo さて、準備ができたので早速遊びましょう。MongoDBをインストールしたらmongoというインターラクティブシェルも一緒にインストールされます。これを使って、インターラクティブにmongodbを操作でき

  • Emerge Technology: 初めてのRabbitMQその1

    生まれ変わった「Days of Liris」。プログラミングのこと、Pythonのこと、気になったソフトウェアのこと、身の回りのこと、いろんなこと。など メッセージングキューがなぜか続きます。今回はSpringSourceに捨てられたプロダクト、RabbitMQです。昨日のZeroMQとは違うんです。ちゃんとした(?)AMQPなんです。AMQPの標準に準拠した高可用性、高スケーラビリティ、ポータブルなメッセージングシステムらしいです。ただ、このうたい文句の検証は大変なのでやりませんん。小人さん、お願いします。 僕の手元にはMacしかないので、Mac上で遊んでみます。まずは、RabbitMQのインストールはhomebrewから(MacPortsやめました)。brew install rabbitmqです。インストールが終わるまではお茶を飲みながらゆっくり待ちましょう。それから、Python

  • Emerge Technology: はじめてのZeroMQ その1

    生まれ変わった「Days of Liris」。プログラミングのこと、Pythonのこと、気になったソフトウェアのこと、身の回りのこと、いろんなこと。など MQ関係は「遅い!機能過多!」というイメージがあって敬遠していました。最近、もう一度調べ直しています。その中でZeroMQと言う変なのがいるらしい、と言うことで、しばらくはZeroMQ関係のお話です。ざっとドキュメントを読んだ感想は、MQと言うより、ネットワークをもう少し抽象化して、ユニキャスト、ブロードキャストを簡易に使えるようにしている、と言うものです。そのため、APIもとても薄くローレベルなものです。僕はこれくらいのものが好きだったりします。 トップページには次のように特徴を書いています。 並列フレームワークとして振る舞うソケットライブラリ プロセス間, IPC, TCP, マルチキャストを横断的にメッセージ伝搬 fanout, p

  • Emerge Technology: [翻訳] geventのeventletとの比較

    Bob Ippolitoは2006年にEventletの最初のバージョンを書きましたが、割とすぐに開発をやめてしまいました。Donovan Prestonは当時働いていたLinden Labの他の人とメンテナンスを行いました。ステートマシンやコールバックを使うよりも簡単にネットワークソフトウェアを方法を探しており、2008年にEventletに興味を持つようになりました。GreenletをベースとしたEventletは、当時あった他のフレームワーク(PYthonネイティブのジェネレータ、生のgreenlet、Corotwine)よりも、使いやすさという点で進んだものでした。 その時関わっていたプロジェクトTwistedを使っていたので、二つのライブラリを統合することから始めました。作業をしているとEventletの大量のバグを見つけて、ほとんどのコア部分を書き換えました。修正したブランチ

    yuiseki
    yuiseki 2011/01/29
  • Emerge Technology: WebSocketのサーバ間でメッセージをリレーさせるサンプル

    生まれ変わった「Days of Liris」。プログラミングのこと、Pythonのこと、気になったソフトウェアのこと、身の回りのこと、いろんなこと。など どうもです。なぜかPythonのアドベントカレンダーに参加することになっていましたおおたにです。お題が、PythonのWebフレームワークです。えっ、Webフレームワーク?僕はそんなにWebフレームワーク詳しくないし・・・。数年前ならまだしも、最近は便利に使えれば後はそれほど気にしなくなっていました。でも、Webフレームワーク・・・。ということで、WebSocketとFlaskを絡めてサンプルコードを書いたら、どこにもimport flaskってやっていない罠が・・・。ということで、前置き(言い訳)が長くなりました、WebSocketのサーバを複数立てたときに、サーバ間のデータのやりとりをどうするのかというお話です。 まず、WebSock

    Emerge Technology: WebSocketのサーバ間でメッセージをリレーさせるサンプル
    yuiseki
    yuiseki 2010/12/24
  • Emerge Technology: [翻訳]Hadoopで動くPythonのMapReduceプログラムを書く

    HadoopフレームワークはJavaで書かれていますが、Hadoop上で動くプログラムはJavaで記述する必要はありません。PythonC++(バージョン0.14.1以降)のような他の言語で開発することができます。しかし、Hadoopのホームページのドキュメントや最も重要なPythonのサンプルコードを読むと、PythonコードをJythonを使ってJavaのjarファイルに変換しないといけないように考えてしまいます。明らかに、この方法はきわめて不便で、もし、Jythonが提供していないPythonの機能を使っている場合はともて問題です。Jythonのアプローチのもう一つの問題は、Hadoopと連携させてPythonプログラムを書くオーバーヘットです。<HADOOP_INSTALL>/src/examples/python/WordCount.pyを見れば、言っていることがわかると思いま

    Emerge Technology: [翻訳]Hadoopで動くPythonのMapReduceプログラムを書く
    yuiseki
    yuiseki 2010/02/05
  • Emerge Technology: PythonでExifの編集

    iPhoneで撮った写真の位置情報が常に北緯の西経になる問題で,せっかく位置情報がついているので修正したくなるのが人情です。しかも,iPhoneで撮った写真は沢山あるので,GUIのツールでちまちま作業することは出来ません。コマンドラインのツールは何があるか知りません。まあ,シェルで計算させるのもつまらないので,PythonでExifを扱ってみました。 Python Imaging LibraryもExifを読み込めますが,出力は出来ません。Exifのついた写真を編集して保存すると,Exifがなくなるみたいです。仕方なく他のものを探すとpexifと言うのがいます。pyexifと言うのもいて,これは読み込みしかできないです。名前が異常に紛らわしいので注意。

    yuiseki
    yuiseki 2009/09/03
  • 1