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
![amebanow.py](https://cdn-ak-scissors.b.st-hatena.com/image/square/1ef26f6cb4349557952890dbe3e567f7f98dc151/height=288;version=1;width=512/https%3A%2F%2Fgithub.githubassets.com%2Fassets%2Fgist-og-image-54fd7dc0713e.png)
仕事で Jython を使う機会があって ほぼ、初めて Jython を触ったんですけど、めっちゃおもしろい。 Java のクラスが何も考えずに使えちゃう。 たとえば、 HTML (not XHTML) をパースして XPath で取得するコードとかを nekohtml と xalan で以下のように書ける from java.io import FileInputStream from org.xml.sax import InputSource from org.cyberneko.html.parsers import DOMParser from org.apache.xpath import XPathAPI # input source = InputSource(FileInputStream('test.html')) source.setEncoding('UTF-8')
Thunderbirdを手がけるMozilla Messagingチームが22日(米国時間)、Mozilla Labsの新オープンソースプロジェクト「Raindrop」を発表した。オープンWeb技術を用いて、真に実用的なWebコミュニケーションの実現を目指す。 電子メール、IM、ブログ、SNS、マイクロブログ、動画/写真共有、ドキュメント共有など、今日のWebユーザーは実に様々なコミュニケーション手段を利用している。1つずつは便利でも、こうしたサービスやツールが増えるほどに、すべてを把握し重要なメッセージにきちんと対応するのが難しくなる。「それでも便利なデジタルコミュニケーションと言えるのか?」という疑問からスタートしたのがRaindropだ。 サービスやツールにWebユーザーが振り回されるのではなく、ユーザーを中心にあらゆる種類のメッセージが処理される"ユーザー・セントリックなコミュニケ
Portable PythonはWindows向けのオープンソース・ソフトウェア。Pythonはアメリカでのシェアが高いプログラミング言語だ。だがなぜか日本ではいまいちシェアが低い。とはいえGoogle App Engineのような環境やDjangoのようなフレームワークも登場し、開発をプッシュする環境が整いつつある。 専用のプログラミング環境付き では実際にPython開発をはじめようと思ったら、何から準備すれば良いだろうか。もちろんまずはプログラミング実行環境のインストールだ。Windowsユーザの方はPortable Pythonを使えば一番早い。ポータブルで使えるPython環境が手に入るのだ。 Portable Pythonはインストーラーとして提供されるソフトウェアで、USBメモリなどにインストールする。もちろんHDDへのインストールも可能だ。Python2.5、2.6、3.0
ScrapyはPython製のオープンソース・ソフトウェア。Webサービスから必要な情報を抜き出したり、自動操作をしたりと未だに利用されているのがスクレイピングと呼ばれる技術だ。求人、不動産、Eコマース…様々なサイトの情報を機械的に収集し、データベースに蓄積している。 Pythonで外部サイトからデータを収集する際に RubyでWebシステムを開発している場合、HpricotやNokogiriを使っていたが、Pythonによる開発の場合はどうしたら良いだろう。そこで使えるのがScrapyだ。ScrapyはPythonで開発されたスクレイピングとクローリング用フレームワークだ。 ScrapyではWebサイトにアクセスしてデータを取得し、そのデータからXPathを使ってコンテンツにアクセスできる。オブジェクト指向に従って、柔軟に操作ができるのが便利だ。スクレイピングしたデータを使ってWebサイ
公開中の認証プロキシエンドポイントAPI RESTを使用しているクライアントアプリケーションの場合、従来のAmazonアソシエイトWebサービスAPI(REST)で使用していた、 http://webservices.amazon.co.jp/onca/xml http://ecs.amazonaws.jp/onca/xml http://xml-jp.amznxslt.com/onca/xml といったエンドポイントを、 http://honnomemo.appspot.com/paproxy http://honnomemo.appspot.com/rpaproxy/jp/ に置き換えることで(クエリはそのまま)Product Advertising APIの認証処理を意識せずとも従来と同等に動作する……はず。 ご自分のGoogle App Engine上で動作させたい場合、以下のソー
http://groups.google.com/group/comp.lang.python/browse_thread/thread/314a3043ea63319f/ unicode vs s.decode unicodeはLOAD_GLOBALで、s.decodeはLOAD_ATTRでスタックに積まれる。で、LOAD_GLOBALの方が速い。 さらに言えば、何度もデコードを行うのであれば u = unicode のようにローカル変数にするとさらに速くなる。LOAD_ATTRやLOAD_GLOBALは最適化で消すことが出来ないので、明示的にローカル変数に束縛することはCPythonに限らず有効な手法だ。 'utf8' vs 'utf-8' 単なる1タイプの問題だけど、内部的には 'utf-8' が利用されており、 'utf8' を使うと 'utf-8' だと判断するのに1クッション必
同じ操作を繰り返したり、定期的に行う処理は業務を行う上で大抵発生する。本来、そうした繰り返しの操作はコンピュータが得意とする所だ。 だが、WindowsのようにグラフィカルなOSの場合、GUIを自動操作するのは多少面倒だ。操作設定を手軽にできる、こちらを使ってみよう。 今回紹介するオープンソース・ソフトウェアはEventGhost、Windowsの自動操作アプリケーションだ。 EventGhostでは、音量の調整やウィンドウのリサイズ等のGUI系操作の細かな指定を簡単に設定できる。操作を記録したら、後は再生ボタンを押せば処理が実行される。 プラグインに対応しており、Foobar2000やffdshow、タイマー等の各種アプリケーションを操作することも可能だ。もちろん、キー入力の送信やアプリケーションの実行、CDトレイの開閉もできる。 Pythonスクリプトを実行させられるので、プログラマに
Webブラウザ上で使えるプログラミング言語は限られたものだけだ。JavaScript、ActionScript、Javaアプレット、ActiveXなどだろうか。それ以外のRubyやPerl、Python、PHPといった言語はサーバサイドで使うしかなかった。 HTMLのソース。確かにRubyだ。もちろん実行できる しかしその可能性が広がるかも知れない。HTMLにRubyやPython、そしてXAMLといった言語がそのまま書け、そして実行できるのだ。 今回紹介するオープンソース・ソフトウェアはGestalt、Webブラウザ上でRuby/Python/XAMLを実行可能にするライブラリだ。 種明かしをすれば、使っているのはSilverlightだ。Silverlightは言わずと知れたマイクロソフトの技術であり、.NET系だ。そしてGestaltはIronRubyやIronPythonといった.
最近、Sinatraの軽快さが好きになっている。大型なWebアプリケーションには向かないかもしれないが、小さなWebアプリケーションをさくっと作るのには最適だ。そしてPythonでもWebアプリケーションを作る際にもっと手軽に作れると良いと思っていた。 モデルも予め用意されている PythonのWebアプリケーションフレームワークと言えば、Djangoが有名だ。だが少し書き方が面倒な気がしないでもない。もっとシンプルに作れるフレームワークとしてJunoを紹介しよう。 今回紹介するオープンソース・ソフトウェアはJuno、Python製の軽量Webフレームワークだ。 Junoは一つのファイル上で@routeとしてルーティング設定を書き、その下にメソッドを書くとURLに対応したルーティングができるようになる。JunoだけでWebサーバを立てて起動できるほか、FastCGIやSCGIを使って起動す
Python Software Foundationは6月27日、「Python 3.1」を発表した。後方互換性のないバージョン3系となって以来、機能強化を含む初めてのアップデートとなる。 Python 3.1では、順序付き辞書機能のサポート、単体テストフレームワーク「unittest」への機能追加、I/Oモジュールの高速化、TkinterでのTileサポート、新たなフォーマット指定子の追加、ネストされたwithステートメントのための新たな文法などが加わった。 順序付きの辞書機能は「collections.OrderedDict」クラスとして実装された。collections.OrderedDictは通常の辞書(Dictクラス)と基本的には同様に扱えるが、イテレーション処理を行う際にキーを挿入した順序でアクセスが行われることが保証されている点が異なる。また、辞書内の既存のエントリの値を書き
GoogleはJavaScriptで隠匿したメールアドレスを読み取り、検索結果に表示している? | スラド ITを見て、こんなのはWebKitを使えば余裕だろ、ということでやってみました。 Cで記述してもよいのですが、ビルド設定が面倒なのでpythonでやってみます(追記: C言語でも実装しました)。 ubuntuにはpython-webkitがあるのですが、しかしこれにはまだWebKitのJavaScriptCoreへアクセスするコードが入っていません。 探したところ、pywebkitgtk(python-webit)のサイトのissue trackerにアップされてたjswebkitというJavaScriptCoreアクセスライブラリを利用することで、JavaScriptを呼ぶことができました。 http://code.google.com/p/pywebkitgtk/issues/d
PythonのJava実装「Jython」の開発チームは6月16日、最新の「Jython 2.5.0」を公開した。2007年に2.2を公開以来の正式版となる。プロジェクトのWebページよりダウンロードできる。 Jythonはスクリプト言語Pythonの実行環境をJavaで実装したもので、Java仮想マシン上で動く。JPythonの後継となり、Java開発者は、スタンダロンで利用したり、JavaアプリケーションにPythonを組み込むことができる。PythonとJavaがシームレスにやりとりするため、開発者は2つの言語をミックスしながら迅速に開発できるという。 最新版では、安定性などが強化された。UnicodeサポートがUTF-16にアップデートされ、新しい例外処理クラスをサポートした。幅広く利用されているPython 2.5と互換性がある。 Jython.org http://wiki.p
GUI grepツールの調査過程は一応一段落し、当初のもくろみ通り製作に入ろうとしています。 今は特に苦もなく使えそうなPython, C++, C#のどれを用いるか検討中。 大量のファイルへのアクセスと正規表現のマッチは割と重い処理になりそうなので、実際にコードを書いて比較しています。 まず生grep。find | xargs grep '...'。直接Cで書かれていることを考えると、最速の基準として考えて良さそうです。日英対訳文対応付けデータ [1]をデータセットとして実験していますが、1.1秒くらいで2000ファイル近くのスキャンが終わる。 次に、書きやすそうなところでPython (re)でやってみました。所詮LLだし、結果には全然期待していません。 ところがところが、何故かこれが滅茶苦茶速い。 特に最適化したコードの書き方でもないんですが、1.6秒くらいで終わる。殆どC同等の速さ
先日、Pythonで実装したWard法をC++で再実装し、比較してみた。 まずは、前回のPython版の処理時間を再掲。 件数 処理時間(s) そのうち初期行列作成時間 -------------------------------------------- 196 0.677 0.334 392 2.158 1.356 588 4.636 3.073 1176 18.071 12.088 2352 79.09 49.507 これをC++に移植すると、以下の処理時間に短縮される。 件数 処理時間(s) そのうち初期行列作成時間 -------------------------------------------- 196 0.216 0.04 392 0.842 0.17 588 1.627 0.39 1176 7.086 1.57 2352 33.432 6.39 今回は、まずは行列作
文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く