昨日の if __name__ == '__main__' をせっかく覚えたのに使い道がよく分からんという人のために doctest を使った単体テストについて書いてみる。doctest ってのは docstring の中にテストコードが書いてあったらテストしてくれる機能でなかなか便利 たとえばこんな感じの test.py を作る。ちなみに ''' と ''' で囲まれた間が docstring #! /usr/bin/env python # -*- coding: utf-8 -*- def testfunc(num): ''' 引数の 2 乗を返す関数。 以下テスト用のコード >>> testfunc(1) 1 >>> testfunc(10) 100 >>> [testfunc(num) for num in range(5)] [0, 1, 4, 9, 16] ''' retur
Python のコードを眺めてると時々登場してくるこいつ↓ if __name__ == '__main__': ずーっと謎だったけど、やっと意味が分かった! ifの中身はスクリプトファイルとして実行された時にだけ実行されるらしい。 こんな理屈 スクリプトファイルとして実行されると __name__ っていう変数? に '__main__' っていう文字列が入る。 Python のスクリプトが import された時は __name__ には import された名前が入る。 まぁ百聞は一見にしかずってことで、こんな test.py を書いてみる。 #! /usr/bin/env python # -*- coding: utf-8 -*- print 'import でも実行される __name__ = %s' % __name__ if __name__ == '__main__':
今後、マニュアルを書いてメンテナンスも継続的にしていく機会が丁度ありそうなので、現時点(2012/05/02)でどのツールが自分たちにフィットするか検討してみた。ツールの候補は以下。なお、過去の仕事ではWordとDocBookは経験あり。 Word DocBook Sphinx ReVIEW 前提 今回のマニュアル作成の前提は以下の通り。 複数人で作業し、1つのドキュメントを作成する(主に章単位でアサイン)。 特定顧客向けに部分的にカスタマイズして提供することもある。 外部向けのドキュメントなので、体裁はそれなりに整っている必要がある。 製品のエディションによってマニュアル構成が変わる(上位のエディションだと機能が増えるので章や節、説明が増えるなど)。 出力フォーマットはWordまたはHTMLならOK。PDFは必須ではない。 ドキュメント中に画像はそれなりにある。スクリーンキャプチャ、構成
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "Pythonを使っている製品あるいはソフトウェアの一覧" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2008年3月) プログラミング言語Pythonは、産業界・学術界などにおいて、多くの人によって幅広い目的で使われている。この一覧では、Pythonで書かれたソフトウェア、Pythonを内部に組み込んでいるソフトウェア、Pythonに対応した統合開発環境、などのうち比較的有名なものを示す。 Boa Constructor - クラスプラットフォームのPython開発用IDE EasyEclipse - Pythonやその他の言語のた
今流行の(たぶん)PythonのWeb frameworkであるTornado。 Facebookの中の人が作ってるらしい。Instagramでも使ってるおーって、なんかの記事で見た。 概要をまとめると、ノンブロッキングでイベントル〜プな比較的シンプルに書かれた軽量で爆速なフレームワークでC10Kファイヤー(まとめ適当!)、らしい(・へ・) Documentは良い感じなんだけれど、Webに使い方の情報が少ない気がする(Flaskとかと比べると)。 何回か使ってて結構ハマったというか、ソースコード読まないとこれわからんだろ!という部分も多々。 それはさておき、ウェブサービスを作るときにログインの部分は結構使うよね、 そしていつも”あれ、これどう書くんだっけ?”ってなるよね。 ということでとりあえずTornadoでLoginしてみよう! フォルダの構成 今回の構成はこんな感じ。大体Flaskと
Python Advent Calendar 2013 の4日目です。 Python 3.4 で標準ライブラリに追加される asyncio を触ってみます。 なお、 Tulip とは asyncio のリファレンス実装のプロジェクト名です。 背景 Python はよく非同期 I/O プログラミングに使われます。 Twisted, Tornado, gevent, eventlet, pyuv などのフレームワークがあります。 これらのフレームワークの問題点として、ライブラリの再利用性の低さが挙げられます。 たとえば Twisted 用に書かれた XMPP ライブラリは、そのままでは Tornado で 利用することができません。 この問題の解決策として、良くイベントループの乗り入れが行われます。 GUIアプリケーションに組み込む場合などを考えて、多くのフレームワークが最初から イベントルー
Heroku | Cloud Application Platform Django は動いたので、さて Flask と SQLAlchemy です。 github https://github.com/voluntas/heroku-template-flask 環境 Mac OS X Lion でやっているので、Linux や Windows だとまた別だと思います。 必須 Git Python 2.7 heroku Flask をデプロイする準備 最低限必要なのは virtualenv です。 easy_install なり pip で virtualenv が使える環境は作っておきましょう。 とりあえずプロジェクトフォルダを作成 $ mkdir heroku-flask-sqlalchemy $ cd heroku-flask-sqlalchemyvirtualenv 環境をフォル
1月に「Pythonを始めるなら、1ファイルの軽量Webフレームワーク「Bottle」がおすすめ」というのを書いたところ、なかなか反響が大きかった。そこで今回は、私がいくらか使ったことがあるPythonのWebフレームワーク6種について、かんたんに紹介するというのをやってみたい。コメントは、私のごく主観的な印象に基づいている。 Bottle(ボトル) http://bottlepy.org/ 「bottle.py」という1ファイルだけでできている。環境構築が不要なので、Python入門に最適。1ファイルに全部入っているので、組み込むのも容易だし、依存リスクもないので、実用にもいいと思う。これだけシンプルなのは、生存戦略としても強い。 CherryPy(チェリーパイ) http://cherrypy.org/ Bottleより大きいが、外部依存がないので、これも環境構築不要で、Python入
Python e-Commerce Systems Technical comparison of Python-based e-commerce systems: Oscar, Satchmo, Cartridge, Shuup, Saleor, bda.plone.shop, and PloneGetPaid In recent years, the number of online stores has exploded, making the World Wide Web a very crowded marketplace. Ecommerce websites are exposing businesses to the customers world-wide in an unparalleled fashion. Still, every online business w
僕の周りだけかもしれないですが、国内のWeb受託開発案件は「PHPで作るのが暗黙のルール」ってな勢いでPHP案件ばっかりなのですが、Python大好きな僕としては、何としてでもPythonを使って仕事をしたい! なので頑張って布教活動をしているのですが、中々良い手応えが得られないのが現状です。。 という訳で、改めてPythonを使うメリットとか、安心してクライアントにPythonを進められる理由なんかをまとめてみました。 技術者がPythonを使うメリット 「今までPHPでやってきて何の問題もなかったし、これからPython始める意味なんてあんの?」 ぶっちゃけ、そんなにないですw 結果的に出来上がる物に関しては大差ないですからね。 ただし、開発効率やメンテナンス性は飛躍的に上がると僕は思います。 ライブラリがとても豊富 PHPも沢山ライブラリありますけど、Pythonだっていっぱいあるん
Pythonユーザーが集まり、情報交換し、交流するためのカンファレンス「PyCon APAC 2013」が9月13日、14日に都内で開催されました。PyCon APACはこれまでシンガポールで開催されており、今回初めて日本で開催されました。 Pythonは日本ではあまり利用事例が多くありませんが、海外ではGoogleやDropboxなどで使われていることが知られ、人気のあるスクリプティング言語の1つです。Pycon APAC 2013の2日目の基調講演には、そのDropboxの3番目の社員であるRian Hunter氏が登壇、Dropboxの社内事例も交えてPythonの大規模開発について紹介しています。 基調講演の内容をダイジェストで紹介しましょう。 One Million Lines of Python このカンファレンスに呼んでいただけて大変光栄です。日本には初めて来ました。 僕が初
2. 自己紹介 @tokoroten 好きな言語はPythonとawk 画像処理、セキュリティ、自然言語処理、機械学習 2012年2月 ドリコム中途入社 前職は某通信会社研究所、会社を三年で辞めた若者 入社時点でRuby経験ゼロ うんこ部屋入社 http://onk.bz/data/2008-02-24/1000speakers2.html ソーシャルゲーム基盤開発本部 R&D&火消し&インフラ&データ収集&データ解析 =高機能雑用 3. 本日のアジェンダ データ解析の仕事の紹介 データ解析の基盤の紹介 データ解析の仕事の流れ データ解析の恐怖 ソーシャルゲーム屋の仕事の速さ Rubyの会社でRubyを書かないお仕事 リクルーティング的な何か 4. ドリコムのデータ解析基盤 データ解析 Hadoop Hive MySQL Rubyでゴリゴリ Pythonでゴリゴリ VBAでデータ加工 詳し
備忘録 | biboroku 最近 WordPress で日記をつけ始めました.Emacs の Org-mode をつかって投稿できるので非常に便利です. 今後は基本的に WordPress の方に書いていこうと思います. Org-mode をはてな記法にエクスポート出来れば,こちらにも並行して投稿するかもしれませんが. 先日のエントリで percol というとっても便利なコマンドを紹介しました.migemo 対応してくれたら更に便利だなーと思っていたのですが,id:mooz さんがばっちり --match-method に migemo を追加して下さいました. percol で migemo を使うには C/Migemo と PyMigemo を導入する必要があります.備忘として Ubuntu 11.10 とWidnows7 での導入方法を記しておきます.めんどくさいのでインストール場
I’m using flask, pystache and bootstrap in order to build a fast prototype. I’ve already written a little about this but the text was getting long in the tooth so I cut it off short of a complete description. I decided to break the work into a separate text… as it’s more manageable. Some of these instructions will vary if you are using virtualenv. - download bootstrap cd ${HOME} mkdir -p git cd ${
Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. Thanks for checking it out. All documentation is in the "docs" directory and online at https://docs.djangoproject.com/en/stable/. If you're just getting started, here's how we recommend you read the docs: First, read docs/intro/install.txt for instructions on installing Django. Next, work thr
html5先日公開した 絶対にコピペできない文章を作ったったwwww はおかげさまで好評だったようで嬉しい限りです。「不思議!」「どういう仕組みなんだ?」という声も多かったので裏側を紹介します。コピペできない訳ではないタイトルは「コピペできない」としていいますが、実際にはコピペはできます。正確に表現すると「コピーすると違う文字になる」という状態になっています。 ではなぜ違う文字になるのでしょうか。結論をいってしまうと「そこにある文字が、人間の目に見える文字とは違う」からです。といっても、これでは分からないですね。今回のために作成された独自フォントトリックの肝は「フォント」です。フォントといえば、文字の見た目を変えるために利用するものです。たとえば、「ほ」という文字を「メイリオ」フォントで表示するとこうなります。フォントを変えて「HG創英角ポップ体」フォントで表示すると、ポップな雰囲気になり
Python | 10:08わたしはプログラマーではありませんが、いくつかの仕事でテストコードを見たり書いたりすることがあったので、その過程で思ったことをメモとして残しておきます。コーディングとテストを分けて工数を言う癖をやめようどっちもコードを書くのだから分けて考える必要はないテストコードの重要性は理解しているけど、工数も厳しいし客がテストコードを書くことに工数を割くことを認めてくれない。ありがちな話ですが、それがテストを書かないことの根拠であるならば少し考え直しましょう。コーディングとテストを異なる工程と考えるのをやめてしまえばそんなことに悩む必要はなくなります。つまり、「テストを書きながらコーディングする」のです。だいたい、普段プログラムを書いているときだって手元で動かしながらものを作っているでしょう。それと同じことをプログラムを書いてやればいいだけです。客がテストを書かせてくれない
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く