読者です 読者をやめる 読者になる 読者になる

Python Developers Festa 2012.03 無事終わりました

雨の中、無事終了しました。参加者、発表者、ハンズオン担当者の皆様、そして @yokatsuki 様ありがとうございました。 反省 今回は少し時間が押したのと、開場時間を上手いこと管理出来なかったなと。特にプレゼンでは @takufukushima には迷惑をおかけしま…

jiffy と mochijson2 と simplejson のベンチマークを取ってみた

MBA なのでスペックがしょぼいです。( Core2Duo 1.6 / 4G / SSD 128 ) Erlang R15B Python 2.7.2 追記 2012-03-19 simplejson を 2.4.0 にアップデート tokoroten.json を置き換える 結果 simplejson は C 拡張アリですencode(decode(data)) を 100 回ほど回…

Broker を使った N:N な REQ/REP パターン (XREQ/XREP)

概要 Broker を間に置いた REQ/REP パターンを作ってみます。 基本的にはどう頑張っても 1:N しか出来ないのですが中間に Broker をおくことで、 N:N を実現しています。 実現したいこと REQ と REP どちらかの 1:N 構成ではなく、N:N 構成をするただ、今回…

ZMQ で PUSH/PULL を使ってロードバランシングしてみる

PUSH/PULL で PULL 側を複数立てた場合は、 PUSH 側で自動でロードバランシングするようなので確認してみました。PULL 側を複数立てて、PUSH 側から複数メッセージを投げた場合で、やってみます。 PUSH range で簡単に回して、ロードバランスしてくれている…

Erlang gen_server(SUB) に対して Python (PUB) からメッセージを送ってみる

Erlang 側で gen_server を複数立てておき、全てを Subscriber として待ち受け状態にして、Python 側からメッセージを送ってみます。メッセージはルートは使わないでファンアウトです。メッセージは JSON でシリアライズしています。 ソース $ git clone git…

zmq で Erlang/Python のデータのやりとりに JSON を使う

通信が確認出来たので、シリアライズしたデータを渡すテストです。 色々ありますが、まずは簡単な JSON データにしてみました。 ソースコード https://github.com/voluntas/snowflake/tree/feature/zmqgit checkout 7c153e853e624b9aeefe6c0e83003b92c8ecbd3…

zmq で REQ/REP を Erlang/Python でつないでみる

Erlang と Python でメッセージのやりとりをしてみます。まずは Erlang が REQ で Python が REP です。 相変わらず同期ですが、テストはシンプルな方が良いので同期から。 サンプルコード https://github.com/voluntas/snowflake/tree/feature/zmqここの 0d…

zmqで PUB/SUB してみる

PUSH/PULL はあまり面白く無さそうなので、PUB/SUB を試してみました。 PUB PUB 側が bind します。 SUB は定期的に PUB に接続を見に行くので、少し寝てあげる必要があったりします。 import time import zmq ctx = zmq.Context() sock = ctx.socket(zmq.PU…

zmq の python binding で echo テスト

ZMQ は非同期が売りですが、まずは同期で書いてみます。とりあえず書くと言えば Echo サーバ、ということで書いてみました。REP 側は pyzmq のサンプルにあったコードそのままです。 REQ 側 zmq.REQ で Connect します。ポイントは REP 側を先に起動しておく…

zeromq の Erlang と Python のバインディングをビルドしてみる

あるところで ZeroMQ が素敵な感じで使われていたので、使ってみようかと思います。基本がわかってないので、まずはライブラリのビルド確認から。 ZeroMQ ? 素敵なメモがあるのでのでこれを読めばよろしhttp://blog.wktk.co.jp/archives/71 環境 つなぐのは…

Lager を使ってみた

概要 Lager というのは Riak の Basho が開発したロギングツールです。https://github.com/basho/lagerそもそも Erlang にはロギングモジュールは付随しているのですが、あからさまに使いにくいのです ... 。 特徴 Lager ですがかなり柔軟に出来ています。 …

eldap_pool というライブラリを作ってみた

作ってみたというよりは既存のライブラリを組み合わせてみた、という方が正しいです。eldap という、古い LDAP ライブラリはあるのですが、これがコネクションプールには対応していなかったので、実際に使うには厳しいのかなぁと考えていたので対応させてみ…

Python 温泉 2012.06 延期のお知らせ

主催者に余裕がないため、6 月、7 月開催はあきらめて 9 月、10 月あたりを考えています。日程は決まり次第連絡させて頂きます。参加費用は 1 泊 1 万円で 2 泊で 2 万円です。 (お菓子代、タオル代含む) 余ったら主催者判断で寄付したり飲み会のドタキャ…

boto を使って Sphinx を S3 にデプロイする

やりたかったこと 毎回 AWS Console からデプロイするのはアホだし、ミスも生まれるので自動化したかった 結論 わざわざ S3 にデプロイする必要なんかなくて、レンタルサーバ借りて FTP でデプロイしても別に何も問題ありません。 いくつかの条件がマッチし…

Flask の使いどころ

Web アプリを仕事ではほとんど書いたことが無かったのですが、Flask を仕事で使う事にしたので、書いてて感じた Flask の使いどころを。 追記 コメントに色々な意見を頂いておりますので、是非そちらも。がっつり使われた方の感想 Flaskを1年仕事で使った感…

商用サイトに Sphinx を導入してみた

商用の製品紹介サイトに Sphinx を導入した事について書いてみます。 結論 とりあえずの結論 非技術者でも HTML を知らずに気軽に更新できる うまくテンプレート化されているのでページ追加が簡単 静的 HTML なのでリリースが簡単 結局画像の修正が大変 文章…

Sphinx (PDF 出力) を導入してみた

注意 PDF 出力を前提とした話しになっています OSS のドキュメントとしてはよく使われておりますが、実際に仕事の道具として導入してみた人はあまりいないのではないでしょうか。導入のきっかけや、実際導入した際の環境などを書いて行ければと思います。注…

2012 目標

英語 仮想化 自動化 Clojure/Ring 色々考えたのですが、今まで以上に大きく伸ばしたいのが4つくらいしか思いつきませんでした。 あとはこれらに色々付随しているので、なんとも。英語と仮想化は、当面自分に足らないスキルの一つなので。自動化は自分がメイ…

2011 振り返り

新しい技術を身につけるのは苦手なので正直ほとんど何もしていません。 Clojure ただウェブ系のお仕事が出てきそうなので Python でいくかと考えていたところに Clojure/Ring が登場してきたので、少しずつではありますが Clojure を勉強し始めた年でした。P…

Heroku 上で WebMachine (Erlang) を動かす

heroku コマンドが入っていない場合は gem install heroku で入ります。まずは webmachine を持ってきて、webmachine ベースのアプリを new_webmachine.sh で作ります。 $ cd /tmp $ git clone git://github.com/basho/webmachine $ cd webmachine $ make $ …

Python 温泉 & Python Developers Festa グッズ開発

Python 温泉も定期開催が終了し、不定期開催となり色々と落ち着いてきたところなので、 グッズを作ろうかなぁと考えています。もともと @moriyoshi のおかげで一回グッズを作ったことがあるのですが、せっかくなので再度作ろうと。 だったらついでなので Pyt…

Clojure/Ring の middleware を使ってみる

最近は通勤電車で Clojure/Ring のコードを iPhone でだらだら読んでいます。今回は ring/middleware を使ってみたいと思います。 使ってみるのはわかりやすいベーシック認証ミドルウェアです。 結果 公開ページ http://morning-summer-6648.herokuapp.com/ …

ハッカーに憧れて

ちらしのうらです。 自分は誰かに憧れてということはほとんど無いのですが、今も昔も憧れている人がいます。その方はハッカーです。初めての知ったのは学生時代に Python を勉強し始めた頃でした。 当時 Python を触っている人はほとんどおりませんでしたが…

lein uberjar で standalone な jar ファイルを作る

Clojure のビルドツールといえば leiningen です。 https://github.com/technomancy/leiningen https://github.com/technomancy/leiningen/blob/stable/sample.project.clj これが無いとやってられません。というか凄く良く出来てます。さて leiningen の le…

django-coverage を使う

ジェネリッククラスビューのテストを試行錯誤しながら書いているのですが、テスト書いているとやはりカヴァレッジを見ながら書きたくなりますよね。ということぐぐったら Django + Coverage を上手いことやってくれる django-coverage というのがあるようで…

Clojure + Heroku を試してみる

ということで先日書いてみたサンプルアプリを Heroku に載せてみることにした先日書いたのはコレ http://d.hatena.ne.jp/Voluntas/20111124/1322075170ちなみにレポジトリはコレ https://github.com/voluntas/clj-snowflakeとりあえず動いたのはコレ http://…

ring + compojure + clj-json を使ってみる

プログラミング Clojure を読む以外はほとんど Clojure 触れていなかったので、気分転換に触ってみることにしました。コードをほとんど書かずにひたすら本を読んでいただけなので、やっとこさのコードです。やりたいことを広げると失敗するので、Ring を使っ…

requests と mock を使ってみる

テストを書くときに、外部の HTTP API を叩く処理が組み込まれている場合は、何かしらモックが必要です。どう書くのがスマートなのか良くわからないので色々試してみる 準備するモノ python 2.7.x mock simplejson requests nose covarage テストのデファク…

Clojure でウェブアプリ開発する際のライブラリメモ

どれを使うのが王道なのか良くわかりませんが、調べてみたらこの辺かなというのをメモleiningen さえあれば Clojure すらインストールする必要はありません。あとは project.clj に書くだけ。 leiningen https://github.com/technomancy/leiningen clojure h…

継続開発のススメ [Python 温泉編]

とりあえず書き出してみました、これから色々修正します。 こうしたら良いと思う、こうしたら良かったの両方がごちゃごちゃっとなってますが、あくまで考え方なので銀の弾丸ではありません。 #bucho Python 温泉で @torufurukawa と色々話しをしました、いい…

なぜ Clojure なのか

いつも告知ばかりなので、たまには。 始まり 最近 Clojure を勉強しています。Clojure というのは JVM 上で動く Lisp に影響を受けた言語です。 JVM 上で動く言語といえば Scala だと思いますが、なんか興味が持てなかったので一切手を出していません。さて…

Python Developers Festa 2012.03 を開催します

日時 2012-03-17 で 9:00 開場で 10:00 スタートの予定です。遅くても 20:00 までには解散します。 懇親会 主催者側では開催しません。各自でご自由にどうぞ。 場所 今回もオラクル様のご厚意により、オラクル青山センターの会場を提供して頂く予定です。 参…

Python Developers Festa 2011.10 を終えて

参加された皆様、 発表して頂いた方、 お手伝いして頂いた方、ありがとうございました。時間通りというか時間配分はあまり考えておりませんでしたが 19:00 前に終わる事が出来てほっとしております。あんまり何も考えてないで運営しているので、反省点とかは…

Python Developers Festa で野良ハンズオンを検討しています

開催場所 Python Developers Festa というイベントで野良ハンズオンをやろうと思っています。 http://d.hatena.ne.jp/Voluntas/20110828/1314542601 開催条件 参加希望者はコメントに「参加したい!」や @voluntas までリプライを頂ければ。どちらも最低 1 …

シニアデベロッパー募集中

正式に募集開始を致しました。応募お待ちしております。お手数ですが、募集サイトにて確認していただければと思います。 募集サイト シニアデベロッパーを 1 名募集します http://omake.accense.com/wiki/Recruit 会社概要 会社のウェブサイト http://accens…

riak 1.0.0 の導入方法とクラスターの構築について

riak 1.0.0 がそろそろ出るので導入方法など 変更履歴 パッケージを riak 1.0.0 rc2 に変更 riak って何 Basho Technology, Inc. が開発している Erlang で書かれている商用分散 KVS です。 アジェンダ インストール方法 ローカル環境での構築 クラスター環…

クラスベースのジェネリックビュー

もともと 1.0 系くらいしかしらない Django 1.3 系を触っていて見知らぬものが出てきて使ってみたのでメモ。今までのファンクションベースのジェネリックビューからクラスベースのジェネリックビューになった。なったといってもファンクションベースが使えな…

Heroku で Flask + SQLAlchemy を使う

Heroku | Cloud Application PlatformDjango は動いたので、さて Flask と SQLAlchemy です。 github https://github.com/voluntas/heroku-template-flask 環境 Mac OS X Lion でやっているので、Linux や Windows だとまた別だと思います。 必須 Git Python…

heroku が提供している Add-On をさっと眺めてみた

さっとなので間違ってる可能性アリ、突っ込み待ってます。基本は Add-Ons の話しです Loggly http://addons.heroku.com/loggly http://loggly.com/HTTP または syslog 経由でログが残せる。logplex が syslog 吐いてたのでそれを使うのかな。 Amazon RDS htt…

Heroku 上で Django を動かす

Heroku | Cloud Application PlatformHeroku と言えば Ruby/Clojure/Node ですが、 Django アプリ(というか Python アプリ)がデプロイできるようになったらしいので試してみました。 変更履歴 2011-09-21 gunicorn 対応しました github https://github.com/…

Riak 1.0 の Secondary Index を試す

Riak 1.0 における Secondary Index の制限 マルチインデックスクエリーがない SQL っぽいクエリー言語がない ソート/ページネーションがない 文字列と数値のみ バックエンド DB は LevelDB のみ GitHub からソースを取って来てビルドする 重要なのは 1.0 ブ…

riak-erlang-client を触ってみた

https://github.com/basho/riak-erlang-clientgit clone して make すれば動きます。通信はPB です。ただ中身で使うデータは Erlang の binary です。 term_to_binary -> binary_to_term という方法が使えます。サンプルそのままですが ... riak は 1 ノード…

Riak が使用しているライブラリについて

Riak がそろそろ 1.0.0 が出そうなので、本格的に触ってみることにしました。何が出来るかと言うよりはある程度仕組みをしっておきたいなと思いどんなライブラリを使ってるのか調べてみました。とりあえずさっと眺めただけなので間違ってる可能性大です、突…

Amazon S3 ウェブホスティング機能をつかって Sphinx をデプロイする

Sphinx のデプロイ先、趣味や一時的なら困る事がありませんよね。 たとえば、Google App Engine や Dropbox などが多いと思います。ただ、仕事でアカウント管理やドメインについて考えると ... 。 なんか面倒だからレンタルサーバ借りてーとかになりますよね…

Python Developers Festa 2011.10 を開催します

Python Developers Festa 2011.10 を開催予定です。 日程 2011-10-15 9:00 開場 10:00 開始 遅刻厳禁 開場時間は 9:00 - 10:00 と、12:45 ~ 13:30 の二回だけです。 ハッシュタグ #pyfes 参加費 無料 懇親会 ありません キャンセルについて ドタキャンして頂…

継続開発のススメ

概要 開発をすればリリースがあり、リリースが終われば開発があります。継続開発をする以上はリリースと開発の繰り返しです。開発手法やリリース手段は沢山あるのですが、あまりしっくりくるものが無かったので自分でまとめてみました。これで完璧というもの…

Unite.vim を導入してみた

vim

巷で噂の Unite.vim を導入してみることにした。 理由 MRU と QuickBuf で困ってはいなかったのですが、色々足らないなぁと思っていた QuickBuf は Terminal で色々上手いこと動いてくれない(環境 MRU は複数ファイルを同時に開けない 同僚の @itawasa (emac…

mochiweb を使ったデータ分割読み込み処理

mochiweb_multipert:parse_multipart_request/2 を使う データを分割して読み込んだりしたい時、 つまりストリームとしてファイルデータを扱いたいときは mochiweb_multipart モジュールの parse_multipart_request/2 を使います。データが送られてきたタイ…

最終回 Python 温泉 (予定)

日程 2011-11-18 12:00 ~ 2011-11-20 11:00 開催場所 熱海(来宮) 費用 20000 円 (一泊の方は 10000 円です) 参加条件 20 歳以上で自活している男性 ただキャンセルは基本的に 5 名以上はでますので、とりあえず申し込んでおいても問題ないと思います。 初め…

第 9 回 Python 温泉を終えて

2011-08-05 ~ 08-07 で熱海(来宮)にてPython 温泉が開催されました。皆さん自分で持ち込んだタスクをこなしつつ色々な人と交流をしていたようで良かったなと思いました。まとめについては他の誰かが書いてくれると思いますので、ここでは割愛します。Togette…