You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
これは Python3 Advent Calendarの記事です。 こんにちわ、高校生です。 先日、子供(遼くん)が無事生まれましたが、毎日お世話で忙しいです。 Python3 Advent Calendar ということでPython3に関して書いてみたいと思います。 Python3対応というのはまあいろいろあるんですが、Pure Pythonで両方動くコード書こうとなると文法とかいろいろ面倒ですね。 ですがC/APIで書くとマクロで大きく処理を2系、3系と切り替えができるのでので容易に両バージョンをサポートするコードが書けます。 ということで2/3両方をサポートするコードをC/APIを中心に幾つか書いてみたいと思います。 (3系といっても3.2以降と思ってください) Python3の判別 Python3であるかどうかは元々用意されているPythonのバージョンを確認できるマクロで容易に判
流行りのJITコンパイラは嫌いですか?¶ PyPy Advent Calendar 12/23担当の RYO @ 修論提出1ヶ月前です。 いよいよ明日はクリスマスイブですね。 リア充の方もそうでない方も、当記事に目を留めて頂き誠にありがとうございます。 本記事では、他の皆さんが扱われているような実用的なネタとは異なる PyPyの内側の話、特にPyPyのJITコンパイラに関する話題を扱いたいと思います。 したがって、本記事の情報は業務等の役にはまったく立ちませんのでご容赦願います。 さて、この記事をお読みになっている方々の殆どは、 PyPy = JITのおかげで早くなった事で有名なPythonの処理系 という認識をお持ちだと思います。 確かにこの認識は間違ってはいないのですが、 実はPythonにJITを乗せる事で高速化を図る処理系はPyPyだけではなく、 その殆どがPyPyが今程の有名なも
tapeはPython/Twistedを使ったシンプルなリバースプロキシーサーバです。 tapeはごくごくシンプルなWebサーバですが、利用目的としては設定に書くだけで簡単に使えるリバースプロキシーになっています。 インストールはtapeをパスの通ったところに入れて実行権限を与えるだけです。 立ち上げました。 ごくごく簡単なWebサーバとして立ち上がっています。 設定した上でアクセスすると例えば/googleでGoogleの内容を得られるようになります。 サーバの内容です。/googleがhttp://www.google.com/にプロキシされているのが分かります。 例えばサーバサイドとAjaxなどをやり取りするWebシステムを開発する場合、ローカルからではAjaxのドメイン制約によって通信できません。そこでtapeを使ってリバースプロキシとして通信を仲介してもらうことでサーバサイドをロ
もっとシンプルに書けないものだろうか。 とりあえず投げたら返してくれます。 telnet localhost 12345 とかやって接続すれば繋がります。 ターミナルを二つ起動して適当にメッセージを送ってみてくださいまし。 あとはHIGE(id:soundkitchen)がなんか作ってくれるの待つだけか。 select_echo_server.py # vim: fileencoding=utf8 sw=4 sts=4 import socket import select class BroadcastEchoServer(object): """ $ telnet localhost 12345 """ def __init__(self, port): self.port = port self.server_socket = socket.socket(socket.AF_INET
I'm going to take a moment to admit something - chairing PyCon 2012 is close to a full-time job. You're working constantly - negotiating, planning, thinking about ways to make the conference better than it has been in the past. There are some less-fun parts, too: legal negotiations, making hard decisions - all the things you might think come along with trying to manage a volunteer run, community-d
これは Python3 Advent Calendar の記事です。夢はテストエンジニアです!ということでユニットテストについて書きます。 Python3 縛りとのことですが、この新ユニットテストフレームワークは Python 3.2 以降と 2.7 以降が対象です。これ以前のバージョンでこの新ユニットテストフレームワークを利用したい場合は、それぞれ unittest2py3k (3 系)、 unittest2 (2 系) というバックポートが用意されています。新ユニットテストは mock や IronPython 等の開発者としても知られている Michael Foord 氏を中心に開発されました。 >>> Python とユニットテストの歴史 Python のユニットテストは、1999 年 xUnit ファミリーの PyUnit として開発され、2001 年に公開された Python
Mac OS X Lion / homebrew にて python の環境を整える¶ Mac OS X を Lion にアップデートしたら、python の環境が壊れたので再構築。 ちなみに、homebrew は Snow Leopard 時代ですでにインストール済みで、Lionのupgrade した後でも特に問題はなさそうであった。 ポイント¶ Mac OS X の標準 python は /usr/bin/python homebrew の場合は /usr/local が prefix で、 brew insatall python すると /usr/local/Cellar/python/{バージョン番号} がインストールされる。 homebrew の python アプリケーションは /usr/local/share/python ディレクトリ配下にインストールされる。 $ bre
組み込み関数の中の使えない子 pythonの組み込み関数の中に以下の3つがあります。 reduce() all() any() これらの3つを組み込み関数のわりに使いどころが少ない。使えない子たちだと認識してました。 例えばall()、any()は、各シーケンス*1内の真偽値について、名前から推測できなそうな処理を行い、結果を真偽値で返すのですが all([True,True,True]) # => True all([True,True,False]) # => False any([True,True,False]) # => True any([False,False]) # => False 比較関数を引数として渡すことができません。sortedやsortなどの関数は、比較関数を引数として取れるのに不思議なものです。リスト内の全ての要素に対して評価を与えてその結果を真偽値として欲し
先日、引数に @Nullable アノテーションが付いた引数をもつ関数をリファクタリングして、関数分割してコミットしたら、ビルドサーバーに仕掛けられた FindBugs™ - Find Bugs in Java Programs に、@Nullable が付いてるのに Null チェックしてないよと怒られました (; ;) Java のコードに慣れないため、Eclipse のお告げに従ってリファクタリングし、Eclipse がチェックできなかったものを見逃してしまったわけです。もちろん修正するのは簡単だけど、何か恥ずかしい。 ちょっと調べたら、Eclipse プラグインもあるようです *1 。Eclipse に FindBugs プラグインをインストールしてみようー。 。。。 ( ゚д゚)ハッ! 間違えた! 今日は 2011 Pythonアドベントカレンダー(Python3) を書くよ!
Python | 01:19オブジェクト指向における再利用のためのデザインパターン作者: エリックガンマ,ラルフジョンソン,リチャードヘルム,ジョンブリシディース,Erich Gamma,Ralph Johnson,Richard Helm,John Vlissides,本位田真一,吉田和樹出版社/メーカー: ソフトバンククリエイティブ発売日: 1999/10メディア: 単行本購入: 12人 クリック: 453回この商品を含むブログ (189件) を見るPythonのデザパタ本がないPythonでデザインパターンを解説する本が欲しい。エキPyはデザインパターンを一つの章として取り上げているが、章として解説するには内容が多すぎると思う。エキスパートPythonプログラミング作者: Tarek Ziade,稲田直哉,渋川よしき,清水川貴之,森本哲也出版社/メーカー: アスキー・メディアワークス
> run_cframe(PyFrameObject *f, int exc, PyObject *retval) PyThreadState *ts = PyThreadState_GET(); StacklessのPyCFrameObjectへキャスト PyCFrameObject *cf = (PyCFrameObject*) f; Stackless拡張の.stからカレントTaskletを取得する PyTaskletObject *task = ts->st.current; int done = cf->i; ts->frame = f; if (retval == NULL || done) goto exit_run_cframe; if (cf->ob2 == NULL) cf->ob2 = PyTuple_New(0); 参照の切り離し Py_DECREF(retval)
Python3 Advent Calendar 二日目 - What is ABC? ということで、@shomah4aさんから引き継ぎました、@jbkingです。 ABCって何だ? 三行で。 AbstractBaseClassesの略でPEP 3119に仕様があります。 組み込み関数であるisinstanceやissubclassに作用を与える紳士協定的(Pythonらしい!)フレームワークです。 動的言語に静的言語のメリットの一部を取り込んだかんじ。 論よりコード ということで、動きを見てみましょう。 % ipython3 Python 3.2.2 (default, Sep 6 2011, 16:21:14) Type "copyright", "credits" or "license" for more information. IPython 0.11 -- An enhance
Django-nonrelプロジェクトが終了した。 DjangoでリレーショナルDBではないデータベースをサポートする目的で立ち上げられたプロジェクトだ。もっぱらGAEでBigTableベースのDjangoをサポートするためのプロジェクトと言った方がただしいだろう。 GAEはバージョン1.6となり料金体制も含めて比較的大きな変更が実施された。Pythonベースも2.5から2.7へ移管し、Djangoも0.96から1.2へと変更された。今回のプロジェクト終了宣言はこれらの変更に対して追従しているさなかの出来事だった。 PythonベースのGAEに対するアプローチはいろいろとあるが、ここで再度注目が集まるのは「Kay-Framework」だろう。現在2.7への対応は進行中であり、おおよその対応は済んだようだ。 実際に私も使っているが、Djangoの移植ではなく、「GAEでDjangoライク」と
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く