Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

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

web2pyを使おう!

おはようございます!小倉智昭です! ちんこうp!ちんこうp! いやあid:moriyoshiがパイプカットするとかしないとかで盛り上がってる中恐縮なんですが今回は @aodag先生から、アドベントカレンダーが回ってきたのでその話をしたいと思います。 web2py web…

Python Hack-a-thonで話してきた

そんときの資料です。meinheldView more presentations from Yutaka Matsubara.とりあえず書いたって感じ

greenletを使う場合にはPostgreSQLを使う方がいいという話

こんにちわ、Python界の便所虫ことmopemopeです。前から書こうとしていた話を書いておきます。最近、eventlet、geventが市民権を得てきましたね。 特にgunicorn経由で使用しはじめてる人も多いんじゃないかなと思います。まあこれらは NonBlocking IO + 協調…

社員募集

etc

アニョハセヨー(こんにちわ)、東方神起のジュンスです。株式会社Abbyでは、中途社員を募集しております。 応募資格 ・プログラミング言語で、得意言語を最低1つお持ちの方(言語は問いません) ・弊社メンバーと協力して作業を行える方。 ・やる気と技術力…

meinheld websocket

こんにちわ、しのまりファンことmopemopeです。 meinheld 0.3よりwebsocketをサポートする予定です。websocketはmiddleware経由で取得できます。 WebSocketMiddlewareを使うとenvironからwebsocketを取得できます。シンプルなチャットはこんな感じ。 meinhel…

meinheld Cotinuations

こんにちわ、韓流スターことmopemopeです。 meinheld 0.2よりContinuationをサポートしました。 これでlong poll(comet)も組めるようになります。chatの例:http://github.com/mopemope/meinheld/tree/master/example/chat/ from flask import Flask, render…

meinheldをリリースした

こんにちわ、闇金業者です。Cの練習とPEP333の実装として作っていたpicowsですが、せっかくなのでpypiにあげることしました。 名前も変えてmeinheldにしています。 meinheld · PyPIあとbitbucketもなんだか寂しい気がしてきたのでgithubに移動しました。http…

http_parserを乗せ変えた話

こんにちわ、情弱DQNです。最近は寝かしていたpicowsを見直しています。 その時にとある事が気になったのでhttp_parserを乗せ変えました。 でその時の話。 以前まで 今まではmongrel, thinなどでも使われているZedの書いたragelベースのhttp parser を使用し…

プロセス名を書き換える

こんにちわ、情弱です。 村崎百郎が殺されて少し動揺しています。話は変わって。。。 perlなどは$0でプロセス名を変えたりできて便利ですよね。 でpythonではできるの?って話です。ダメかと思ったが一応できるっぽい。 誰も書いてなさそうなので書いておき…

consistent hashing

30越えて書いたことないなんて恥ずかしいので書いてみた。 #include <inttypes.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #define POINTS_PER_SERVER 100 #define MAX_HOST_LENGTH 128 typedef struct{ uint32_t index; uint32_t value; } point_item_t; typedef struct { char </string.h></stdio.h></stdlib.h></inttypes.h>…

libmemcachedのなか

ちょっと使えるかどうか調べた時に思ったこと。 libmemcached/connect.c /* libmemcached will always use nonblocking IO to avoid write deadlocks */ int flags; do flags= fcntl(ptr->fd, F_GETFL, 0); while (flags == -1 && (errno == EINTR || errno …

writevで全部書けなかった場合

なんか最近Cばっか書いてる気がするなあ。Non Blockingで書いてるとよくあるケース。 static int send_writev(int fd, struct iovec *iov, int iov_cnt, size_t total) { size_t w; int i = 0; w = writev(fd, iov, iov_cnt); if(w == -1){ //error if (errn…

属性アクセスのパフォーマンス

tp_memberだと遅くね?通常版 bench1.py class Noddy(object): first = 2 last = 1 noddy = Noddy() d = dict() d["A"] = 1 def test1(): return d["A"] def test2(): return noddy.first if __name__=='__main__': from timeit import Timer t = Timer("tes…

Flaskを触ってみる 1

Flaskですがあんまり書かれてなさそうなので書いておきます。Flaskはmitsuhiko先生が作ったmicroframeworkです。 Flaskが指すmicroは単純に小さいというわけではなく、他のライブラリをつなぎ、シンプルなAPIを 提供する小さなフレームワークのようなイメー…

サイトリニューアル

こんにちわ、DQNことmopemopeです。 うちの会社のサイトをリニューアルしました。http://abby.co.jp白黒でかっこよくなりました。 DQNの僕ももかっこよくみえればいいなあと思います。皆様今後とも、宜しくお願いします

sqlalchemyで結果をキャッシュする

こんにちわ、sqlalchemyを日本で一番使い倒してるであろうmopemopeです。 sqlalchemyのcacheに関して具体的なコードを書いている人がいないのはみんなexampleのあれを見てるからなのか? と思ったのですがあえて書いてみます。SQLの内容を60秒間キャッシュす…

Python Hack-a-thonの資料

皆様、お疲れ様でした。 Python Hack-a-thonとか言いつついろんな話ができるのがPython Hack-a-thonのいいところでもありますが、 せっかくなのでPythonの話もしていきたいですね。個人的には毎回、少しマニア向けなPythonネタを発表できればいいかなと思い…

eventletのクライアントコードサンプル

書いてる人ほぼ見たことないので書いておくかな。

最近のeventlet

http://sklave.jp/logs/2010/1/17/eventlet%E3%81%A7comet%E3%82%B5%E3%83%BC%E3%83%90を見て気になったのでわかる範囲で。 僕がeventletを見てたころより実はいろいろ変わってたりするわけだけど。 event(pyevent)はだめくさい 僕の環境だとimport eventが…

Python Hack-a-thon #3でeventletの話をします

みなさん、明けましておめでとうございます。 年末はCoD:MW2漬けだったmopemopeです。 ボコられすぎてデスの借金が2000を超えたのでコードの世界に帰ってきました。えーっと1/23にPython Hack-a-thon #3があるのですが、そこでeventletの話をしようと思いま…