路傍のプログラマ

只のプログラマが綴る愚痴と備忘録

Visual StudioでCPythonサポートきた

2011-03-16 10:36:10 | プログラミング
記事「米Microsoft、Visual Studio向けのPythonプラグイン「PTVS」ベータ1をリリース」
http://sourceforge.jp/magazine/11/03/11/0530212
によると、

まだベータだそうですが、IronPythonはもちろん、CPythonもサポートされるようですね。

クラウドコンピューティングのサポートも加わる(多分Azureのことを指してるんだろうけど)とのことで、楽しみです。

時間ができたら触ってみよう。

pythonでjsonとたわむれる

2011-02-16 19:17:43 | プログラミング
● jsonの文法チェック

demjsonというモジュールで文法チェックすることができます。
インストールの方法は記事の下の方に

あるjsonファイルを厳密に(RFC4627的に)lintするには、
$jsonlint -v hoge.json

あるjsonファイルを緩く(JavaScript的に)lintするには、
$jsonlint -v -S hoge.json

● jsonのプリティプリント

厳密なjsonなら、標準モジュールjsonを使って、
$python -mjson.tool hoge.js
とできます。

緩いjsonも扱う必要があるなら、標準モジュールjsonと、上のdemjsonを組み合わせて使うことでできます。

以下のようなスクリプト(ppjson.pyとする)を用意して、
---------------------------
import demjson, json
import sys

with open(sys.argv[1], "rb") as f: j = demjson.decode(f.read(), encoding="utf-8")
us = json.dumps(j, sys.stdout, indent=4, ensure_ascii=False)
print us.encode(sys.getfilesystemencoding())
---------------------------

コマンドラインから
$python ppjosn.py hoge.js
としてください。

注)Windowsの場合、ppjson.pyは結果をシフトJISで出力します。jsonファイルはutf-8でエンコードされているので、文字コードが変換されたことになります。
もし、出力もutf-8にしたいのであれば、最後の行(print ...)を修正して、明示的にutf-8にエンコードするようにしてください。

● demjsonのインストール

Ubuntuでインストールする場合は、いつも通りの
$sudo apt-get install python-demjson
で完了です。

Windowsの場合は、
http://deron.meranda.us/python/demjson/
から
demjson-1.5.tar.gz
を(2010/02/16現在)ダウンロードして展開し、

コマンドプロンプトでsetup.pyがあるディレクトリにcdして、

python setup.py install
とします。

さらに、jsonlintはインストールされないようなので、

展開したディレクトリにあるjsonlintという(拡張子無しの)ファイルを、jsonlint.pyとリネームして、適当なディレクトリにコピーしてください。

これで、jsonlintをコマンドラインで以下のように使えるようになります。
python jsonlint.py -v hoge.json

(2011/02/17 一部修正)

pypy 1.4 渾身のリリース

2010-11-27 13:21:19 | プログラミング
pypy 1.4がリリースされてますね
http://pypy.org/

LinuxとOSXについては、64ビットのバイナリも!驚きました。

にしても、computer language benchmarks gameが、早速pypyの64ビットバイナリを使ってベンチマークしてる。さすが。
http://shootout.alioth.debian.org/


HotPy

2010-08-17 19:03:42 | プログラミング
Python高速化の新顔です。

HotPy
http://code.google.com/p/hotpy/

PyPyブログ経由で知りました。
http://morepypy.blogspot.com/

PyPyブログからたどれるビデオによると、
Glasgow Virtual Machine Toolkitというのを作って作られているそうです。

まだダウンロードできるものは無いようですが、wktk。

(同日追記)
ビデオを見ていくと、ほとんどの最適化でPyPyと同じだけど、
並列化については「No GIL」とのこと。

ますます楽しみ。

そして誰もいなくなった

2010-08-16 16:40:58 | プログラミング
記事「e4とEclipse 4.0、次世代のEclipseに触れてみる」
http://journal.mycom.co.jp/column/ide/088/index.html
より。

「XWTはSWT(Eclipseが使用しているJava向けのクロスプラットフォームなGUIツールキット)によるユーザインタフェースをXMLで定義するための技術だ」
とのこと。

「クロスプラットフォーム」「GUI」「XML」。あーもうお腹いっぱい。

何回目の車輪の再発明なんだろう?XAML, XUL, JavaFX, Android(はクロスプラットフォームじゃないけど)、他にもあったような。

本気で普及させる気ないでしょ?

CPyhton 2.7でてますね

2010-07-05 10:43:47 | プログラミング
なにやら、3.1からのバックポートが主な変更点らしい。

{ 1, 2, 3 }とか
{ i: i * 2 for i in range(3) }とか
collections.OrderedDictとか
viewkeys(), viewvalues(), viewitems()とか

最適化もちょっとだけ。

longの内部表現が2^15から2^30ベースに変わったとか

new GILは(issue 8299)は見送られたみたいですね。

http://bugs.python.org/issue8299
によると、4月末までもめてたみたいだから、スケジュール的に無理だったとは思いますが・・・

うーん。2.7は2系列の最後のリリースだと言うことなので、ひょっとするとnew GILは3系列のみになるのかも。

pypyが・・・

2010-05-17 21:32:18 | プログラミング
pypyのSpeed Centerの表示が変です。

http://speed.pypy.org/timeline/

200のリビジョンについてパフォーマンスの変化をグラフ化するはずなのですが・・・

今見ると1つのリビジョンしかグラフ化されていない様子。

大丈夫かなあ。

メモ: Eclipseの全角スペース表示

2010-04-15 21:15:39 | プログラミング
Windows限定でよければJStyleというのがあるらいです。

http://mergedoc.sourceforge.jp/index.html#/jstyle.html

Eclipse単体でも、

「Preferences」ダイアログから[General]-[Editors]-[Text Editors]の「Show whitespace characters」にチェックをつければ、タブ、改行、半角スペース、全角スペースが区別されて表示されます。

ただし、全角スペースが○で表示されたりと、ちょっと違和感ある表示。

どっちにするか、悩みどころ。

VS2010、.NET Framework 4、IronPython 2.6.1リリース

2010-04-13 22:39:45 | プログラミング
IronPythonは2月からRCだったから、.NET4の正式リリースを待って、満を持してのリリースと言ったところですね。
changelogによればdictのメモリ使用量が大幅に削減されているらしいです。

VS2010の注目ポイントは、個人的にはC++まわり、
・c++0x対応と、
・C++デバッグのときに変数の値がわかりやすく表示される
ですね。

でも今は時間とれないし、VS2010の日本語版リリースまで待ちかなあ。

2to3てそうだったのか

2010-04-08 16:13:39 | プログラミング
Docutilsのサイトを今日見て驚きました。

さりげなく
「From version 0.6 Docutils is compatible with Python 3, but requires 2to3.」
と書いてあります。

あのー、ひょっとしてー、

Python2向けのソースコードしか配布しないけど、それを2to3で自動的に変換するとPython3でも実行できるってことですかー、

うわーお。

2to3ってそういうツールだったかなあ~?(しばし黙考)

Pythonのソースコードってそういう風に書けるんだ・・・

目が点というか、目から鱗というか。