最近 Kotti で Web アプリを作ってみようと調査しています。但し、今日は Kotti のお話ではなく、たまたま更新差分を見ていたら、fanstatic という静的リソース管理ツールが新規に使われているのを見つけました。ちょっと調べてみると、とても良さそうに見えたので紹介します。 fanstatic って何? 特にドキュメントでパッケージ名の由来を見つけられなかったのですが、fan + static と区切ってみると名前を覚えやすいです。個人的に fan- という係りが fancy, fantasy, fantasista などを連想させて言葉の響きが良いですね。static リソースの管理の煩雑さを解消してくれる夢のようなツールを連想します。 さて、fanstatic は、スマートな静的リソースパブリッシャーとあります。 テンプレートに静的リソースの記述をインジェクションしてくれる
生まれ変わった「Days of Liris」。プログラミングのこと、Pythonのこと、気になったソフトウェアのこと、身の回りのこと、いろんなこと。など MongoDBにはMap Reduceを簡単に使う機能があります。それ以外にコレクション(テーブル)にgroupというメソッドが定義されていて、RDBMSのgroup by相当のことができるとマニュアルには書かれています。ただ、次のような怖い注意書きがあります。 注意: 現在のところ、shardの環境では、group()の代わりにmap/reduceを必ず使ってください。結果はなるべく小さくしてください(10,000キー以内)。大きすぎる場合例外が発生します。Shard環境では問答無用にMap Reduceを使うしかなさそうです。結果はなるべく小さくしろと言うことですが、10000キーあればそこそこ大きいような気がします。最初の制限の「現
あけおめ!今年は巳年。へび。へびと言えばPython。そう今年は全てのwebエンジニアがPythonを勉強する最高の環境が整った年なのです。 既にPerlやRubyを習得してるけど、それに加えてPython必要?必要です!必要だと思います。もはやPythonはwebエンジニアにとって必修言語となりつつあると思います。Linuxの多くの箇所でシステム言語として用いられ、可読性の高さから多くの技術系書籍のサンプルコードとして用いられ、科学技術系分野におけるエコシステムの充実っぷりはますます磨きがかかっており、様々なライブラリがどんどん出てくる現状を「Pythonわからないから自分には関係無い」と遠巻きに眺めるのはもったいないです。 習得するのにどのくらい時間かかるの?あなたが既に他の言語に慣れ親しんでいるなら、特にRubyなどに精通していれば「1週間」で基本的な読み書きは出来るようになるでしょ
「全てのwebエンジニアがPythonを勉強するべき2013年到来」(2013-01-01)という記事が人気を集めているようだ。巳年(ヘビ年)にひっかけて、これからPythonを勉強したい人を対象に、書籍やライブラリなどを紹介している。有益な情報が多数含まれているが、ちょっとPythonを試してみたいという程度の人には、これだと敷居が高すぎるように思う。 Pythonに限らないが、あたらしい言語をはじめるとき、もっとも障害になるのは「環境構築」だろう。Pythonの場合、LinuxやMacであれば、Pythonインタプリタは最初から入っているので、Pythonそのものをインストールする必要はない。しかし、「そのあとどうするのか?」というのが、なかなかむずかしい。例えば、「Hello, World!」を出すWebアプリを書くには、そこからどうすればいいのか。なんらかのWebフレームワークを使
TL;DR: $ git clone https://github.com/sontek/dotfiles.git $ cd dotfiles $ ./install.sh vim Download PDF Version Intro Back in 2008, I wrote the article Python with a modular IDE (Vim). Years later, I have people e-mailing me and commenting daily asking for more information, even though most of the information in it is outdated. Here is the modern way to work with Python and Vim to achieve the perf
filterはsettingsで指定して、テンプレートのどこからでも使える。macroはテンプレートの中で直接定義するか、定義しているテンプレートをimportして使う。 filterで色々定義してあるもののうち、macroにする方がいいに違いないものを移動して行く。一番シンプルなフィルタ def q2img(q): return '<img src="/q/image/%s.png">' % q.short_key 使われ方。 {{ q|q2img|safe() }}これをマクロに変える。 {% macro to_img(q) -%} <img src="/q/image/{{ q.short_key }}.png">' {%- endmacro %}冒頭でimport {% import "main/macro_for_quiz.html" as macro4q %}で、こう使う。 {
pytest で初めてテストを書いてみました。 今度こそ帰るー、py.test を使って初めてテストを書いた、評判通りすごく良い 2012-02-07 19:48:52 via TweetDeck @t2y noseと比べた感想とか聴きたいです。 2012-02-07 19:55:04 via web to @t2y @methane @t2y テストがこけたときまともなレポートをはくのがpy.testのいいところ 2012-02-07 19:56:34 via twicca to @methane nose と比べて、データ駆動テスト *1 *2 の違いが大きかったのでまとめてみます。 準備 以下の素数判定を行うテスト対象関数があるとします。 PRIME = {2: True, 3: True, 4: False, 5: True, 6: False, 7: True} def is_p
Requests: 人間のためのHTTP¶ リリース v1.0.4. (Installation) Requestsは、人が使いやすいように設計されていて、Pythonで書かれている Apache2 Licensed ベースのHTTPライブラリです。 Pythonの標準の urllib2 モジュールは、必要とされるほとんどのHTTPの機能を備えていますが、APIがまともに 使えません 。 様々なウェブ用途に合わせて作られていて、何回も修正されてきました。 簡単なことを行う(メソッドの上書きでさえ)のに、 かなり の量の作業が必要になります。 それはPython的ではないので、そんなに複雑にするべきではありません。 >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> r.status_c
テストを書くときに、外部の HTTP API を叩く処理が組み込まれている場合は、何かしらモックが必要です。 どう書くのがスマートなのか良くわからないので色々試してみる 準備するモノ python 2.7.x mock simplejson requests nose covarage テストのデファクト あまりまとまってるのがないので、まとめておきます。 テストランナーは nose または py.test nose はプラグインがステキ py.test はなにやら色々嬉しい事があるらしい モック/スタブは mock テストは unittest (unittest2) カヴァレッジは covarage ? これは良くわからず、基本 Jenkins に食べさせらるタイプで出力できればおk この辺が今のところデファクトでしょうか、ご意見お待ちしております。 mock patch を使うと綺麗に
最近、Mockライブラリ http://www.voidspace.org.uk/python/mock/ を使ってみたのでメモ。 このライブラリは、その性質上、動的にメソッドや属性を作成するケースが多く、普通のPythonライブラリのようにイントロスペクションに頼って使い方を調べるのは難しい。本気で使うならまじめにドキュメントを読み込む必要がある。 関数の置き換え テスト中に呼び出される関数をMockで置き換える例。ここでは、関数 myapp.utils.func1() を置き換える。 from mock import Mock import myapp.utils # myapp.utils.func1 を、常に100を返す関数に置き換える myapp.utils.func1 = Mock(return_value=100) 戻り値が定数でない場合は、Mock()にside_effec
pythonbrewによるフレキシブルなPython環境の構築 Vimの設定とかはあまり関係ないですが最強を詠うために最強のPython環境が必要なので構築します。最強の環境とは インストールされているPythonのバージョンが違うことによって不可解なバグが発生しない インストールされているライブラリのバージョンが違うことに不可(ry インストールされているライブラリ同士が干渉して不可解な(ry だと思っています。これらを解決するために pythonbrew という素晴らしいソフトを利用します。 ただこのソフトはシェルが前提となっているのでWindowsをお使いの方は代わりに virtualenv をインストールして先に進んでください。 Pythonには大きく分けて2.x系と3.x系の大きなバージョンがあり、この二つは相容れないものとなっています。 2.x系はずっと使われてきたもので外部ラ
最近会社ではPyCharmというIDEが流行ってきているようです。 個人的にはIDEのように裏で何かいらない事をするプログラムはあまり好きではなく、またVimキーバインドに慣れすぎて抜けれない状態です。 不思議な事に会社ではVimに比べたらEmacs派は少なめな気がします。何故ですかね? ともかく、PyCharmは素晴らしい素晴らしい、Vimはリファクタリング出来ないとか言われてカッときてググった所、RopeというPythonのリファクタリングライブラリを発見しました。 しかもこれ、VimやEmacsからも使えるようになっているようです。早速使わなくちゃと色々設定にハマって何とか使えるようになったのでメモって置こうかと思った次第です。 インストール まずは、VimがPythonに対応している必要があります。 このように、"+python"が表示されればOKです。"-python"となってい
vi(vim) で Python のソースを読むのに ctags を使ってみました。調べていると、別途、ptags.py と言うものもあり、それを用いてもタグファイルを作成してくれるようです。 basic Tip #1188: Use ptags.py to generate tags file for python によると、Python 2.3 以上で使用できます。ptags.py は python-tools パッケージに含まれています。 yum を使って python-tools と ctags をインストールします。 $ sudo yum install python-tools ctags ~~~ snip ~~~ Running Transaction Installing : python-tools [1/2] Installing : ctags 以下のように ptag
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く