https://support.bitcasa.com/entries/23769606-Known-Issue-Desktop-App-is-Stuck-at-X-MB-to-go- ここに書いてあるとおり、BitCasa を一旦終了してキャッシュを全部削除してから起動しなおしたら、しばらく同期して Idle に戻る。
暗い雰囲気は苦手です。 https://github.com/methane/MyKaze Tornado で MySQL 使うの、まぁ ワーカースレッドでやれる んだけど、 なんかかっこ悪いよね。せっかくだから Tornado の仕組みで通信したいよね。 ってことで、 PyMySQL の中の socket を Tornad…
PHP の interface なめんな を読みました。 Python も非 Duck typing の良さを順調に取り込んでいます。 Python で上記記事のサンプルを書くと from __future__ import print_function # for Python 2/3 compatibility import abc class Renderable(metaclas…
私は「レガシーコード改善ガイド」を読んだことがないのですが、世間的に「テストコードがないコードが技術的負債」という認識が広まっているようです。 レガシーコード改善ガイドを批判するつもりは全くありませんが、たんにその本の中で使われている「レガ…
setuptools の開発が停滞し、 fork の distribute が開発を継続していた状態で、初心者にとって最初の大きな罠になっていました。 この2つがマージされることになり、 setuptools 0.7 がリリースされました。 移行手順 How do I upgrade... にあります。 set…
この記事は 勝手に添削: PHP初心者向けのコード最適化 の続編です。リーダビリティの定義は前と同じく、「そのコードが何をしたいかを把握する時間+そのコードをレビューして正しいと自信を持てるまでの時間」の短さです。 よく「php よりも Python の方が…
PHP初心者向けのコード最適化 という記事がちょっと社内で話題になったので勝手に添削します。 話題になった理由は、確かにコードは最適化できてるけど圧倒的に汚くなってるからです。 この記事を読む前に、まずリーダビリティについて意識合わせしておきま…
pip や easy_install が突然速くなるかもしれない で紹介した pypi からのインストール高速化の第一弾が始まりました。 といっても、いきなり勝手に pypi 側でスクレイピングするURLを変更するのではなくて、パッケージ管理者が明示的に指定する方法になりま…
Vagrant 1.2 から ansible がサポートされたということで、気になって試してみた。 まだ自作モジュールとかは作ってなくて、単に vagrant で使えるところまで。 vagrant-ansible vagrant plugin install ansible で vagrant の provision 機能として ansible…
発表資料というかコードの流れのメモはこちらの gist にあります。 https://gist.github.com/methane/5377227 ほんの数カ月前に読んだときの記憶がいろいろ間違ってて、 proc.c のログを見たら今年に入ってからだけでもすごい進化しているのが解ります。 あ…
PyPI を安全に利用するために、先日デフォルトで https を利用する pip がリリースされました。 ですがこれで終わりではありません。 pip や easy_install は PyPI のページからリンクを辿ってスクレイピングしてパッケージを探しています。リンク先がhttps…
最初の wsaccel は UTF-8 のバリデート処理だけを高速化していたのですが、 WebSocket Frame のマスク処理も1バイトごとビットでxorをとる処理だったので高速化するようにして、 0.5 をリリースしました。 Tornado はUTF-8のバリデートをしていない (このバ…
個人的に今 dotCloud がアツいです。無料枠を無制限に使える、WebSocketに対応している、設定の自由度がメチャ高いので、ちょっと作ったものを他人に見せたり自分の携帯から見たりするために気軽に作れちゃいます。 さて、 dotCloud で golang を使うとか、 …
wsaccel で、 UTF-8 のバリデートだけでなく、同じく1バイトずつの処理である mask も Cython で実行するようになりました。 UTF-8 のバリデートはテキストフレームのみに行われる処理であり、JSONをバイナリだと言って転送してバリデートをJSONデコーダに…
Python の WebSocket ライブラリの Autobahn と ws4py は、テキストフレームを受信した時にその内容が正しい UTF-8 になっているかどうかをバリデートしています。 このバリデートが1バイトずつの処理を Python でやっているために、 PyPy を使ってない場合…
ちょっと調べてみたら、想像してたよりもライブラリが充実していたので、各ライブラリの特徴をまとめておきます。 AutobahnPython Autobahn が Python 用にサーバー、クライアント用のライブラリを提供しています。 AutoBahn Python は Pure Python で Twist…
Fabric は ssh 経由でリモートをゴニョゴニョするツールなので、デプロイツールとして見られがちですが、 cuisine など冪等な操作をサポートするライブラリを組み合わせれば手軽な構成管理ツールになります。 chef-solo に比べてターゲットとなるマシンへの…
KLab では、プロジェクト開発中に作った便利ツールなどを皆が気軽に社内で公開できる場としてBitBucketの無制限プラン($200/month)を契約しています。 今日は Github に比べていいなと思う点を紹介していきます。 1. アクセスコントロール Githubだと、書き…
インストール に続いて、実際に rope を使い始めてみます。 とりあえず Flask アプリを題材に環境を作ってみます。 準備 $ mkvirtualenv flask $ pip install flask $ mkdir hello $ cd hello app.py を作ります import flask app = flask.Flask(__name__) @…
rope とは Python で書かれた、 Python コードに対するリファクタリング等を行うためのモジュールで、主に IDE やテキストエディタに高度な Python のサポート機能を追加するために利用されています。 私はかなりのデフォルト教信者でたいてい IPython と最…
RSpec の入門とその一歩先へ がとてもよい記事だったので、 Python で写経させてもらいました。 https://github.com/methane/pytest-tut Ruby コミュニティと Python コミュニティの考え方の違いも見えて面白いと思います。 環境は Python 3.3 で、実行には …
id:hnw に感化されて、 Project Eular で遊び始めました。 今のところ Python 3.3 と Haskell で挑戦していて、 Python ならだいたい1分〜5分で解けるけど Haskell だとまだまだどう書いたらいいのかわからない場面が多いですね。これからgoもやっていきます…
Haskellのカッコいいところを紹介してみる をみて、 Python と比較してみようと思います。 以下、 heading は上記記事の heading の引用で、 Python のことではなく Haskell の特徴です。 数学や英語の知識で「読める」表現が多い 一応、 instanceof など多…
Merry, Xmas. Python advent calendar 2012 (#python_adv) 24日目の記事を、ミクパの再放送をBGMにお送りします。 今日は Flask のイケてないところとのつきあいかたを紹介します。 循環 import 問題 app.py 1ファイルだけの構成から成長してファイルを分け…
2012 Pythonアドベントカレンダー(Webフレームワーク) #python_adv の5日目の記事です。 明日は @altnight にお願いします。 Flaskはオモチャじゃないよ PyCharmなどのIDEがFlaskに対応を始めたり、Flask はそろそろ Django に続く Python の Web フレームワ…
C vs Python vs Ruby vs Haskell(ナンバリングdeベンチマーク) を勝手に添削。 今回は話題的に最適化するにはバイトIOにするとか出てきて面倒なので省略して、 Pythonic にするだけ。 元のコードは import sys argvs = sys.argv del argvs[0] for i in rang…
なんか指名されたので、 C vs Python vs Ruby vs Haskell(無意味な処理deベンチマーク) このコードを Pythonic に書き直していきます。 ちなみに、 Python は 3.3 を使います。 まず、最初のコード n = 4000 a = [] count = 1 for x in range(n): a.append…
はてな記法毎回忘れるのが苦痛だったので Markdown 使えると聴いて乗り換えました。GJ!
そこまでおっしゃるなら、というわけで書いたのが以下。 #!/usr/bin/env python3.2 # -*- coding: utf-8 -*- import sys, os if 'PYTHONIOENCODING' in os.environ: for line in sys.stdin: chars = list(line.rstrip()) print('☆'.join(chars)) else: os.en…
404 Blog Not Found:備忘録 - #python3 で sys.std(in|out|err) の encoding を強制する というわけでこうなりました。 import sys sys.stdin = open('/dev/stdin', 'r', encoding='UTF-8') ... 無理矢理開き直すなんてずいぶんと乱暴だと私も思うのですが、…