Python その2 Advent Calendar 2015の11日目の記事です。 はじめに 本記事では、pytestを使用した際に得たTipsを逆引き形式でまとめている。 また以下のリポジトリに本記事の内容を含んだサンプルプロジェクト(Python3.5.0/pytest2.8.4で確認)を置いているため、合わせて参考にして頂ければ。 https://github.com/FGtatsuro/pytest_sample pytestの特徴 pytestはその名のとおり、Pythonで書かれたテストライブラリ。同様のライブラリとしては、unittestやnoseがある。 上記2つのツールに精通していないため、それらと比較した形での評価は下せないが、個人的には以下のような点が特徴的だと感じた。 独自のassertメソッド(ex. assertEquals)を定義せずに、Python標準のa
Java 見習いのもりもとです。 アリエルのスタート地点 を知ってから、いつもどぎまぎしながら開発しています。 アリエルのスタート地点は、Javaと聞いて、ふっと鼻で笑える地点です。 私にとっては、スタート地点がまだまだ遠そうなのでしばらくは Python の話題でお茶を濁そうと思います。ちょうど良い機会なので Pythonic なテストツール pytest についてチュートリアルのような記事を何回かに分けて書きます。 pytest は、設定より規約 を設計原則とするツールで、xUnit スタイルではない funcarg という関数の引数をフックしてリソースインジェクションを行う仕組みを提供するなど、ユニークなテストツールです。さらに単体テスト、機能テスト、システムテストといった全てのテストフェーズにおいても利用できると、その応用範囲の広さも喧伝しています。ドキュメントも翻訳されているので
次のようにページ全体のサイズがブラウザーの縦横ともに大きいと想定します。 この時、scroll_width, scroll_height, row_count, col_count = 0に初期化します。 ページの右端に当たるまでスクリーンショットを撮って画面の横幅の分スクロールするのを繰り返していきます。 横にスクロールする度にcol_countを増やします。 必須うではないですがtmp_imageのファイル名はtmp_{row_count}_{col_count}.pngとかにすると後でファイルだけ見た時にわかりやすいです。 tmp_imageをstitched_imageにscroll_widthとscroll_heightの位置に貼り付けます。 スクロールサイズがページの残りサイズを超えたら残りの分だけ切り出してtmp_imageに保存しstitched_imageに貼り付けます。
class ClassSample: class_var = "hoge" @classmethod def class_method(cls): print "%s, class_var: %s" % (cls, cls.class_var) @staticmethod def static_method(): print "%s, class_var: %s" % (ClassSample, ClassSample.class_var) class SubclassSample(ClassSample): class_var = "foo" ClassSample.class_method() # -> __main__.ClassSample, class_var: hoge ClassSample.static_method() # -> __main__.ClassSample,
はじめに Pythonまったく使ったことないから、Pythonでなんか作ってみようと思ったのがきっかけです。 かといって、「Hello World」出すだけなんてしょーもないことしても意味が無いので、ちゃんとフレームワークを使ってMVCっぽく作ろうと思いました。 せっかくなので、自分がマンガを今何巻まで持っているかを管理するツールを作りたいと思います。いつも何巻まで持ってたっけかなーって忘れちゃうので。 CRUDの基本を抑えたサンプルです。 ちなみに、Pythonの構文やモジュールのインストール等は、検索すればすぐ出てくるのでググってください。 Pythonのフレームワーク Pythonのフレームワークで有名なのは、フルスタックなDjango、ライトなFlask、じわじわ人気が出てきてるらしいPyramidなどがありますが、 個人的にフルスタックなフレームワークは好きでないのと、1ファイル
背景 システム開発をやっていると、Excelで書かれたドキュメントを書かせていただく機会がしばしばあります。 場合によっては、下記のようにほとんど同じ内容のファイルを大量に作らなければならないケースも、稀によくあります。 八百屋買い物手順書.xlsx 魚屋買い物手順書.xlsx 上記の2つは、買いに行く店と、買う物を除いてまったく同じ内容です。 このような場合、「八百屋買い物手順書を作成してから、文字列置換によって魚屋バージョンを作成する」という方法がありますが、Excelの貧弱な置換機能では実現できない場合もあり、泣く泣く手動による置換(いわゆる手sed)を敢行する場合も多いのではないかと思います。 そこで、Pythonからxlsxファイルを読み書きするopenpyxlと、Pythonの代表的なテンプレートエンジンjinja2を使って、Excelファイル内のテキストをテンプレートで生成す
Python東海 第28回勉強会の発表の中で、Seleniumでお小遣いを稼ぐという発表がありました。 Seleniumは名前は知っているけど使ったことがなかったのでネットバンキング(三菱東京UFJ銀行)で試してみました。 Selenium? Seleniumとはブラウザの操作を自動化するツールで、WebアプリのUIのテストや今回のようにスクレイピングに使用するツールです。 JavaScriptでDOMを組み立てているサイトで活躍します 環境 Mac OSX Python 3.5 準備 Seleniumのインストール $ pip install selenium Chrome driverのダウンロード Firefoxを使う場合はDriverはSeleniumに入ってるが、Chromeを使用する場合は別途ダウンロードが必要 ChromeDriver - WebDriver for Chro
はじめに こんにちは、Go界のうまい棒です。昼間にTwitter眺めてたら次のような記事を見かけました。 この頃 流行りの 言語たち(他)でベンチマーク (Dart, Go, Julia, Nim, Python, Rust 他) - Blank File 結果はあくまでフィボナッチ数列をナイーブに実装した場合なんで、まあ明らかに遅くなるよなあと予想通りの実行結果でした。 件のプログラム ナイーブにフィボナッチ数列を実装してますね。 package main import "fmt" func fib(n int) int { if n < 2 { return n } return fib(n-2) + fib(n-1) } func main() { fmt.Println(fib(42)) } これを実際にビルドして実行するとどれくらいかかるかというと、だいたい手元で2.5秒以上かか
https://github.com/qwerqwer1111/md-table-formatter Atom の markdown-table-formatter みたいなものが Emacs でも欲しかった. Emacs Lisp で全部実装するのは厳しかったので, shell-command-on-regionで Python のスクリプトを呼び出すようにした. 各行のカラム数が異なっていたり, 入力のフォーマットがおかしい場合には整形しないようにしている. 環境 Emacs 24.5 Python 2.7.10 使い方 md-table-formatter.pyをどこかに保存して, ~/.emacs.d/init.elに下記のように記載しておけば, C-x tで選択範囲内のテーブルを整形できる. (defun md-table-formatter (start end) (inter
このエントリーは、KLab Advent Calendar 2015 の20日目の記事です。 まえおき 高田といいます。ふだんはゲームのデータなどを集計し、統一的に管理するデータ収集・分析のためのシステムを開発しています。 私のチームではインフラにはAWSを活用し、自分たちで運用しています。 その際非常にめんどうなのがセキュリティグループの管理です。セキュリティグループとは、AWS上の仮想マシンに対するトラフィックを制御する仮想ファイアウォールです。 詳しくはamazonさんの公式のドキュメントを参照してください。 私たちのチームの場合、提供するサービスは社内向けのものが多いので、例えば80ポートや443ポートは社内のIPアドレスのみに開放するといった設定を利用することが多いです。 こちらをAWSのコンソール画面で設定していくのですが、数が増えていくと、どれがどれだったかわからなくなるとい
Posted by ごうじん, on Sunday, January 19, 2014 01:19 PM JST crontabは、crontab書式をパースして、次回実行までの待ち時間(秒)を教えてくれるモジュールです。 この機能を使って、定時実行処理を実装していきます。 crontabのインストール easy_install または pip で、crontabをインストールするだけ。とっても簡単。 $ sudo easy_install -U crontab Password: Searching for crontab Reading http://pypi.python.org/simple/crontab/ Best match: crontab 0.18 Downloading https://pypi.python.org/packages/source/c/crontab/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く