Keep on moving

あんまりまとまってないことを書きますよ

python

型ヒントが提供されていないpythonライブラリにmypy用に型ヒントを入れる

最近mypyを趣味で使い始めたのでいろいろ書こうと思います。 @tk0miiyka さんの記事を読んでとりあえず自分の仕事でmypy使えそうなところをいろいろ考えてみた 対象バージョン version python 3.5.2 mypy 0.4.6 last update 2017.01.08 TL;DR pyiファイルを…

C++11/14でPython3を拡張する(pybind11)

ブログ書くの久しぶりだなぁ。。。 システムプログラムってやつを初めて勉強してるので、まとめときます。 tl;;dr このライブラリをつかうとBoost::Pythonよりも簡単にC++11/1 でPython3を拡張できる。github.com 簡単な使い方 TODO 後で書く CMakeとの連携 …

unittest2でテストスキップする

テストを特定の条件の場合のみ実行できるようにしたい。unittest2(python2.7,python3.2以降だとunittest)だとunittest2.skipという機能が追加されました。http://www.voidspace.org.uk/python/articles/unittest2.shtmlこんな感じ platform = 'linux' if sys…

Pythonでのテストツールtox入門

libuvのPython実装であるpyuvのPython3対応しているときに、Python2.6/2.7/3.0/3.1/3.2で個別にテストする必要がありました。 各バージョンのPythonを入れるのも割と大変だし、各バージョンごとに確認するのも非常に手間です。 lazyな私にはこんなのやってら…

pyuvをPython3対応するメモ

ネットワーク系プログラミングの勉強もかねて、↓のライブラリで近頃よくあそんでいます。 saghul/pyuv · GitHub これ現状、Python3系は未対応でして、日頃の感謝もこめて対応してみました。 ちなみにPython3系は今回初めてさわりました。 軽い気持ちではじめ…

pyuvを使って http-clientを書いてみる

どうもこんばんは。差し迫ったなにかがあるときって、別のなにかをやりたくなるときってありますよね。 近頃良く遊んでるpyuvでhttpクライアントを作ってみました。 参考 いまさら select、といっても SQL ではないのだ - してみむとて ソースコード エラー…

Playing pyuv

Good evening everyone!This post is English translation of here. First node.js which is server-side-Java Script is recently popular. The library libuv for networks which the author of node.js is making is API of the libev style currently us…

pyuvでHTTP client書いてみた

勉強のために、libuvのサンプルをいろいろ集めてます。 今日は mattnさんの書かれていたHTTP clientをpyuvで書いてみました。 参考 Welcome to PyUV’s documentation! — PyUV 0.9.1.dev documentation Big Sky :: libuvを使ってみた。 ソース import sys imp…

pyuvと戯れる

どうも今晩は。よく本業が何かと聞かれますが、自分でもたまに本業がなにかよくわからなくなります。 最初に 近頃サーバーサイドJavaScriptのnode.jsの人気が出てますね。 node.jsの作者が作ってるネットワーク用のライブラリlibuvはgeventの裏側でつかわれ…

socketプログラムの初歩から初める

近頃ネットワーク系のプログラムが気になるので勉強を開始してみました。 基礎の部分がまるでわかってないのでいろいろ検索して写経してます。 激しくチラ裏です。 socketプログラムの初歩と言われるEchoサーバー http://www.python.jp/doc/2.5/lib/socket-e…

Windows7 64bit + Python 2.7 環境でMySQLにアクセスする

上記の環境でMySQLを使いたかったのだけどMySQL for Python | Free Development software downloads at SourceForge.netで配布されている最新版では インストーラーの配布がされなくなり、ソースからビルドしようとしたら エラーが出てうまくビルドできませ…

Sphinxの環境を整える

id:rokujyouhitoma さんに誘われてPyPyの翻訳を始めました。 PyPy本家の資料がSpinxで書かれているため、翻訳ももちろんSphinxで行っています。 参考 Sphinxの魔法にかかってみた - ふぞろいのGENGOたち Sphinxの実行環境をつくる インストールするパッケー…

辞書にオブジェクトっぽくアクセスする

はじめに pythonでは2.6以降ならばjsonライブラリを使ってjsonを簡単に使えて便利です。 jsonライブラリを使うと、json文字列をparseして辞書で取得することができるのですが、 jsonの階層が深いとオブジェクトっぽくアクセスできないかなーと思うときがあり…

ソート勉強中

どうも今晩は、よく本業で何やってるのか謎の人と言われます。今後ともよろしくお願いします。調子に乗って何回かsleep sortの話を書きました。http://dis.4chan.org/read/prog/1295544154/22 Genius sorting algorithm: Sleep sort 22 Name: Anonymous : 20…

sleep sortが面白い

はじめに 常識を覆すソートアルゴリズム!その名も"sleep sort"!が面白いですね! というわけでさっそく実装してみました。 参考 常識を覆すソートアルゴリズム!その名も"sleep sort"! 16.6. multiprocessing — プロセスベースの “並列処理” インタフェー…

rstspreadsheetを試す

はじめに 皆さんRestructuredText使ってますか? 私は主に自分用のまとめ資料を作るのに使ったりします。 さて、たまにrestの表の中で計算したいときなんかがあります。 pypiに近頃、rstでの表計算関係のパッケージが追加されましたので早速試してみました。…

pythonでのWindowsサービスの書き方

初めに Pythonのスクリプトを書いていて、常駐化させたい時があります。*nix系だとpython-daemon 1.5.5 : Python Package Indexを使って実現できるようですが、 Windowsのサービスは探してもあまり情報が見当たらないので腹を据えて調べてみました。なんだ…

30分プログラミング 〜 pyqueryを使ってappleストアに新製品が追加されるのをチェックする

こんにちは、暖かくなってきましたね。暖かくなるとモバイルデバイスが気になりますよね。 というわけでiPad2がappleストアにいつ並ぶかが気になるわけですよ。 でもブラウザからチェックするのは面倒です。というわけで改善します。 注意 要はスクレイピン…

buildoutなどなどの練習を兼ねてwebAPIのラッパークラスを書いた

どうもこんにちは、素振り大好きっ子です。 海外のPDFを買う時に、通貨換算にCurrency converter | Xurrencyを使っています。 このサイトwebAPIも持っていますので、近頃学習したことのまとめとして、pypiにパッケージを作成してみました。 pyXurrency 0.0.1…

buildout入門(エキスパートPythonプログラミング読書会09に参加してきました)

エキスパートPythonプログラミング読書会09 : ATNDに参加してきました 主催の清水川さん、会場提供いただいた アスキーメディアワークス様ありがとうございます。 今回の話題はbuildoutでした。簡単に自分用にメモをまとめておきます。 # 2011.02.19 id:shim…

Flaskをnginx+fastcgiで動かす

Flaskをnginxで動かしてみたくていろいろ調べてみました。 参考 http://flask.pocoo.org/docs/deploying/fastcgi/ Flask の公式ドキュメントこの通り実行すれば動きますです。 http://cho-co.be/blog/django/nginx-fastcgi-django/ 環境 VirtualBox 4.0.0 ub…

Igo-pythonをGAEでも動かす。

あいかわらずIgoをいじって遊ばせていただいています。 Igoを使っていて感じたことをかるくまとめておきます。 Igoの辞書変換時の注意点 IgoではMecab形式のファイルをいったんIgoを使って変換する必要がある。 ドキュメントには書いてないけど以下の場合に…

転置インデックスを軽く勉強しつつ実装してみてる

参考 以下を参考にしてpythonで書いてみた [を] 形態素解析と検索APIとTF-IDFでキーワード抽出 [を] 転置インデックスによる検索システムを作ってみよう! とりあえずまだプロトタイプだからテストはなしです。レガシーコードですorz ソース #!/usr/bin/env …

全裸でIgoですね。わかります。

11/27に駒込py*1に参加させていただいてきました。その際の作業成果です。拙作のpyzenraはyahooの形態素解析apiを使っています。 他にもないか軽く検索しましたら、igo-pythoを見つけました。 JavaのプロダクトIgoをpure pythonに移植したもので、GAE/pyでも…

全裸の肩に乗れ!pyZenraモジュールを作ってみた

風邪がなおりかけなので、省エネ更新です。ちょっと前に、以下の記事を読んでpythonに移植したいなと思ったときには実装してました。 404 Not Found - ゆーすけべー日記 プロシュート兄貴も行ってますね、「実装した」ならば使っていいと。 ソース一式 https…

ファイル更新でブラウザをリロードする(*BSD版)

近頃プライベートでJavaScriptを書く際に、QUnitを使ってテストをしながら書く用にしてます。 QUnitのテストはファイル変更の度に、ブラウザで画面を更新しなければならないのがちょっと面倒です。 MozReplっていうFirefox Add-on を使うことでtelnet経由でF…

Flaskをapache+mod_wsgiで動かす

Ubuntu Linux 10.10出ましたね! 丁度Flask使っててデプロイの練習をしてみたかったので、環境を作ってみました。 参考 Ubuntu/apache2 - TOBY SOFT wiki mod_wsgi (Apache) — Flask 0.9dev documentation 文系にも出来るDjango(mod_wsgi)@ubuntu8.10のデプ…

Windowsでもvirtualenvwrapperっぽい環境をつくる

pythonをさわり始めたころに教えてもらったのですが、環境を作るときにはvirtualenvwrapperを使うと非常に便利です。python環境を汚さずにpythonのlibraryを試せるのがかなりうれしいです。 使い方は↓の非常に素晴らしいエントリを参照。 virtualenv, virtua…

PyCurl&TornadoでTwitter Stream APIを使う

TornadoからWebSocket経由でTwitter Stream APIを使いたいんだけどPyCurlでエラーとなってなかなかうまくいかない。 ちょっと気分を変えてPyCurlで動かしてみました。なんでPyCurlかっていうとTornadoは内部で使ってるからです。*1 実際にたたいてみる Googl…

WebSocketでClock on Tornado

Tornado のWebSocketを久々にいじって遊んでます。 pythonで別のWebSocketの処理実装diffract.meで出てくるClockを実装したことがなかったので書いてみました。 ついでにClockとは一秒ごとにWebSocketのサーバーの時間をメッセージで送って表示することです…