読者です 読者をやめる 読者になる 読者になる

Keep on moving

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

型ヒントが提供されていない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のサーバーの時間をメッセージで送って表示することです…

Twitter でOAuth 認証してTweetする on Tornado

6月30日にいきなりtwitterアプリが使えなくなる!?twitterのベーシック認証廃止について | ついーたーTweeter.jpという記事をみて、そういえばTwitter関連のアプリの作ったことないことに気づいて、調べて見ました。 ちょっと作ってみたいものもありまして…

短縮URLを元のURLに戻してリンクで表示するサービスを公開(駒込pyに参加)

第2回Komagome.py 春の花見SP(前半) : ATNDに参加してきました。 主催のid:hirokinko さんお疲れ様でした。久々にpython充な日でした。今回は,tornadoの使い方を勉強しつつ下のサービスを作ってました。 Realize URL 名付けてRealize URL:Extract Shortened …

Another Do-It-Yourself Framework翻訳したので公開

Another Do-It-Yourself Framework翻訳中 - Ehrenの日記でも書いたけど、一通り翻訳しましたので公開します。 英語がなにぶん苦手なので、ご指摘などありましたらどしどしお願いしますorz。以下URLです。 Another Do-It-Yourself Framework — WebOb v0.9.8 d…

開発用にDBを設定

参考 BABUKUMA (^(工)^): Mac OS XにMySQLをインストールしてみる MySQL for Python | Free Development software downloads at SourceForge.netついでにmysql-pythonをインストールする際には.bash_profileでmysqlのPATHを設定する必要がありました。 export…

Another Do-It-Yourself Framework翻訳中

英語の勉強&Sphinx使って見たい&WSGIを理解したいので、Another Do-It-Yourself Framework — WebOb 1.2.3 documentationを翻訳中。 自分の英語力のなさにかなり凹んでますorz。翻訳してる方々は文章力も含めて尊敬しますです。 途中までですがbitbucketに…

Tornadoでautoreload

Tornado Web ServerでもWerkzeugのrun_simple()みたいにソース更新するたびにTornadoをリロードできるようにしたい。そういう場合にはautoreloadを使うようです。ただソースを読んでも使い方を書いていないのでよくわかりません。 TorndoのMLを読んでみたと…

Tornado v0.2+WebSocketでチャットデモ

id:Voluntus さんにTornadoでWebSocket用のライブラリが追加されたのを教えていただいたので試しにチャットデモを作成してみました。突貫で作ったので不具合などあるかもです。(^_^;; Tornado(2010/2/20),python2.5.4,Google Chrome ver5.0.322 dev ,Mac os …

Google App EngineでのMemchaceの排他処理を書いてみるテスト

id:kazunori_279さんのMemcacheでスピンロックを実装してTask Queue処理結果を集約してみるテストに感動したのでpythonで書いてみました。 pythonの練習用にデコレーターにしてみました。*1 ただこれで上の記事の内容をちゃんと実装できているかはちょっと自…

ATNDユーザー毎のモテ度を取得するAPIをGoogle App Engineで作った(1)

まだいろいろ対処しなくてはならないことがありますが、とりあえず公開します。*1 ATNDの各イベントごとのモテ度を計算するグリモンを作ったのシリーズです。 呼び方 以下のURLにアクセスしてください。 http://atnd-mote.appspot.com/api/users/[ATNDのユー…

関数型言語勉強中。

近頃Scalaの勉強を時間を見つけてやってます。 Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)作者: Martin Odersky,Lex Spoon、Bill Venners,羽生田栄一,長尾高弘出版社/メーカー: インプレスジャパン発売日: 2009/08/2…

テスト勉強中(unittest編)

現在TDD勉強中です。 今回はunittestを使って、テスト駆動開発の第一章のコードを書いてみました。 import unittest from dollar import Dollar class testDollar(unittest.TestCase): def testMultiplication(self): five=Dollar(5) five.times(2) self.ass…

junoを使ってみた(3)

junoは実行すると、pythonファイルを変更するたびにリロードしなくてはならないのが不便です。MLを調べて見たところ、Werkzeugのrun_simpleメソッドを使えば実現できる様子。 ↓実際のコードは以下を参照してください。 Minitut -getting Juno to run with We…

python hackathon#1に参加させていただいて来た

Python Hack-a-thon #1 : ATNDDjangoのhands onに参加してきました。講師のid:nullpobugさん,hfunaiさんありがとうございました。 詳細はhttp://d.hatena.ne.jp/nullpobug/20090822参照です。 近頃、Junoばかり触ってたのでDjangoの機能の多さにびっくり! …

python旅館第三回に参加

テスト勉強中(doctest編)

近頃あまり書いてないですが会社の勉強会でRuby+BDD(RSpec/autospec)の勉強中です。*1Rubyだけでなく、pythonでのテストも調べたくなりました。 今回は有名どころでdoctestを使って、テスト駆動開発の第一章のコードを書いてみました。 class Dollar(object)…

Werkzeugのデバッガがmacで動かない

題の通り、私のmacではWerkzeugのデバッガをGAEで使おうとすると /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/compiler/transformer.py の二九行目 import parser が読み込めないでエラーになる。すごく不便。Windowsだと動くのに…

junoを使ってみた(2)〜テンプレート・デバッガ

junoを使ってみた(1)の続き。テンプレートはJinja2,デバッガはWerkzeugを使います。 参考資料は以下です http://github.com/breily/juno/blob/8f7695a5f3be04d44f1cf4104828ed9dfaf143ff/doc/2-configuration.md http://github.com/breily/juno/blob/8f7695a…

junoを使ってみた(1)

近頃、社内勉強会でRubyをつかっていることもあり、すっかりRubyづいている今日この頃です。Sinatraをインストールして軽くいじって遊んでいたりしてます。 で、Pythonでも似た感じのがないかな〜と思ってちょっと検索してみたらmoongiftさんの以下の記事を…

python code reading#10

python code reading#10に参加しました。取り急ぎまとめます。 heapq で学ぶヒープの実装とその用途 (森本哲也さん) 資料 PyMOTWの話。翻訳の話。 Pythonのテスト手法とテストコードを読む(柴田 淳さん) テストの利点 開発と平行してバグを発見できる プログ…

Django Hack-a-thon 8に参加させていただいてきた(2)

shin_no_sukeにDjango Hack-a-thon 8に参加させていただいてきたでのソースをみていただいた。 いただいたアドバイスは以下の通り。 1.お題1 : middleware.pyは一般的にprojectの直下でなくて、アプリの直下におきます。 基本手にプロジェクトの直下におくの…