タグ

ブックマーク / mopemope.hatenablog.com (10)

  • 覚悟を決める 新卒準備カレンダー 2011春 - Doge log

    このエントリーは新卒準備カレンダー 2011春 : ATNDという、みんなで仕事に関して自分が考えることなどをエントリーに書いていく企画で書かれたものです。 事の発端は某所でgdgd言ってた話が膨らんでこーなったわけですが、まあその場に居合わせてのもあり何か書いてみようと思います。 はっきり言ってみんなに書きたい事が書かれてしまってるので適当です。 震災に関しては他で散々言われてますので敢えて触れません。 お前、誰よ? @mopemope:松原 豊と言います。株式会社 Abby CTOやってます。大掃除では便所掃除を担当しています。 一時期、Seasar界隈のコミッタをしていた事もありますが、今はほぼpython界隈の人間です。 アウトプットとしてはまあなんかとかjavaの雑誌にチラ裏みたいな事書いたりしてます。 他にも PEP249の実装(pymysqlmysqlDBドライバ) P

    覚悟を決める 新卒準備カレンダー 2011春 - Doge log
    ocs
    ocs 2011/03/18
  • web2pyを使おう! - Doge log

    おはようございます!小倉智昭です! ちんこうp!ちんこうp! いやあid:moriyoshiがパイプカットするとかしないとかで盛り上がってる中恐縮なんですが今回は @aodag先生から、アドベントカレンダーが回ってきたのでその話をしたいと思います。 web2py webフレームワークということなので今回はweb2pyを紹介したいと思います。 正直書くことがなくて困ってたので「ドキッ!漢字だらけのwebサーバ、eurasia」の話を書こうかと 思ったですがやめました。 漢字読めないし。 で話を戻します。 よくpython初心者に使うwebフレームワークなら何がいいですけねー?みたいな話がありますが、 もちのろん答えは決まっています。pyramidじゃなくweb2pyです。 djangoなんて難しいので使ってられません。 web2pyはシンプルにwebアプリケーションを書けるフレームワークです

    web2pyを使おう! - Doge log
    ocs
    ocs 2010/12/03
  • greenletを使う場合にはPostgreSQLを使う方がいいという話 - Doge log

    こんにちわ、Python界の便所虫ことmopemopeです。 前から書こうとしていた話を書いておきます。 最近、eventlet、geventが市民権を得てきましたね。 特にgunicorn経由で使用しはじめてる人も多いんじゃないかなと思います。 まあこれらは NonBlocking IO + 協調スレッドなわけなんですが、全部をうまく 非同期で処理できるわけではありません。 サードパーティのライブラリがC拡張であると割り込めないのでどうしようもないのです。 サードパーティのライブラリで一番使っているのはそうです、DBドライバです。 肝心のDBドライバがブロックしちゃうともったいないわけです。 これって問題だなーと思ったpsycopg2の人たちは拡張できる仕組みを入れました。 (2.2以降) eventletを例に見てみましょう。 psyco_eventlet.py import psyc

    greenletを使う場合にはPostgreSQLを使う方がいいという話 - Doge log
    ocs
    ocs 2010/10/05
  • listにjoinを追加してみた - Doge log

    もちろん、ご期待どおりあらびきな方法です。 src 高度に訓練されたpythonistaは継承で拡張なんてしません。 setup.py from distutils.core import setup, Extension module1 = Extension('listjoin', sources = ['listjoin.c']) setup( name='PackageName', version='1.0', description='This is a demo package', ext_modules = [module1]) listjoin.c #include <Python.h> static PyMethodDef ListMethods[] = { {NULL, NULL, 0, NULL} /* Sentinel */ }; static PyObject *

    listにjoinを追加してみた - Doge log
    ocs
    ocs 2009/07/16
  • plugpyをリリースした - Doge log

    こんにちわ、あらびきプログラマーmopemopeです。 某ライブラリをpythonに移植しようとしてて、plugin周りはなんだかかライブラリ化した方が良さそうだっだので適当に作りました。 plugpy · PyPI 基実装は以下の奴です。 Pluginシステムの実装 - def __mopemope__(self, *args, **kwargs): Pluginの書き方 制限はコンストラクタに引数を持たないといかんって事ぐらいであとは自由です。 一応デフォルトでPluginクラスを継承を推奨します。 (Pluginはコンストラクタに引数を持っています) 足し算するplugin plugins/test_plugin.py from plugpy import * class TestPlugin(Plugin): def on_test(self, x, y ): return x

    plugpyをリリースした - Doge log
    ocs
    ocs 2009/06/22
  • Werkzeugのscreencast - Doge log

    こんにちわ。あらびきプログラマーmopemopeです。 なんか生産性とかうんぬんって話に全く絡めないでいます。 えーっとWerkzeugのscreencastがあるんですが、あまり紹介されてないようなので紹介しておきます。 http://werkzeug.pocoo.org/wiki30/ まあpythonistaがどんな感じコードを書いているのかがわかるんじゃないかなーと思います。 まあpythonistaじゃない人に言っておくとwerkzeugはフレームワークを作るためのフレームワークなので Webの部分はスクラッチから書いてるよーなものです。 それを踏まえてみるとwerkzeugって便利だなーってわかるんじゃないかなー。 まあそれ以上にpythonって便利だなーって思えるんじゃないかなーと思います。 (デコレータとかデコレータとかデコレータとかデコレータとか) 僕はpythonもja

    Werkzeugのscreencast - Doge log
    ocs
    ocs 2009/06/16
  • paverで最新のソースを取得する - Doge log

    僕はsvnやhgなどで落としてるライブラリをあるdir配下にまとめている。 こんなカンジで。 (あくまで例ですよ) ./ -- bespin -- bruce-tpt-read-only -- ctypesgen-read-only -- django -- django-command-extensions -- eventlet -- gaeutilities-read-only -- google_appengine -- jaikuengine-read-only -- jinja2-main -- mako -- nevow -- paver-read-only -- pinax -- pinsor -- projectmgr -- py3k -- pypy-dist -- pyquery -- python26 -- python27 -- remedie -- rope --

    paverで最新のソースを取得する - Doge log
    ocs
    ocs 2009/04/21
  • sqlalchemyでデータを操作する - Doge log

    いろんなデータベースを触る際、それぞれでツールの使い方を覚えるのがめんどいので書いた。 (昔、django版も書いたけど) sqltools.py from sqlalchemy import create_engine, MetaData from sqlalchemy.orm import mapper from sqlalchemy.orm import sessionmaker from types import ClassType import re def camelize(str): p = re.compile(r'_([a-z])') return p.sub((lambda match:match.groups(0)[0].upper()), str.capitalize()) def initialize(url, *args, **kwargs): engine =

    sqlalchemyでデータを操作する - Doge log
    ocs
    ocs 2009/03/17
  • モダンPython開発環境入門 - Doge log

    今日、KevinさんところにBespinの話が出ててそいつを見てて思った。 最近のpython開発環境はこんな感じだろうと。 エディター 軽量なものが好まれてるのはまあどこもみんな同じだろう。 vim emacs TextMate MacだとTextMateを使ってる人がやはり多いっぽい。 ターミナル 素。 screen必須。 必須な理由はvirtualenvでactivateするからかな。 utilityモジュール もうほぼ鉄板でpip, virtualenvを使ってるっぽい。 pip virtualenv paver Bespinの動画ではpaver軽油で色々やってる感じだった。 いろんなタスクがpythonスクリプトでざくざく書けるので流行るかも知れない。 VCS まあこれももう鉄板かも。 git mercurial その他 環境に関係ないけど傾向。 sqlalchemyは市民権を得

    モダンPython開発環境入門 - Doge log
    ocs
    ocs 2009/02/27
  • PythonでOracleに接続する - Doge log

    そーいえば真面目にやったことなかったのでメモ。 Oracle clientのダウンロード とりあえずpure pythonでは動かないのでOracleのサイト からclientをダウンロードする必要がある。 http://www.oracle.com/technology/software/tech/oci/instantclient/index.html とりあえずBasicをダウンロードする。 ダウンロードしたら解凍して適当な場所に置く。 (libclntsh.so.x.xって奴を使う) 環境変数 clientを置いた場所に環境変数を設定する export ORACLE_HOME=解凍パス export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME とりあえず.soが見えればいい。 WIndowsの人は要らない。 cx_Oracleのダウン

    PythonでOracleに接続する - Doge log
  • 1