タグ

ブックマーク / h-miyako.hatenablog.com (8)

  • Pythonのテストのパラメータ化にはparameterizedを使うと楽(unittest/pytest/nose/nose2対応) - Blank File

    Pythonでテストをパラメータ化した時の書き方を unittest と pytest を使った場合で紹介し、最後にそれらで使えるparameterizedというライブラリを紹介します。 ちなみに私はpytestよりもunittest派です。 はじめに テストを書いていると値が違うだけのケースを複数確認したくなる時があります。 例えば、1 + 1 = 2, 2 + 3 = 5, 32 + (-32) = 0, …などのようなケースです。 これをすべて別のテストケースとして書き下すのは面倒ですしメンテも大変なことになるので、テストフレームワークは大抵こんなテストが簡単にできる仕組みを提供しています。 今回はPythonでよく使われているunittest(標準ライブラリ)とpytestでこれらのテストの書き方を紹介します。 なんでいまさら?と思われそうですが、pytestはともかくunitte

    Pythonのテストのパラメータ化にはparameterizedを使うと楽(unittest/pytest/nose/nose2対応) - Blank File
    peketamin
    peketamin 2019/01/03
  • Puppeteer (Chrome の自動操作ライブラリ) を Python に移植してpyppeteerという名前で公開しました - Blank File

    Puppeteer というJavaScriptchromeを自動操作するライブラリが最近話題になっていました。 私もPythonでSeleniumの代わりに使えるものがほしかったので、puppeteerをPythonに移植し、pyppeteerという名前で公開しました。 Puppeteerについては下記Qiitaの投稿が参考になるかと思います。 –headless時代の命? Chrome を Node.jsから操作するライブラリ puppeteer について - Qiita 使用上の注意 まだ作ったばかり&テスト不十分なのでバグがあると思います。 なので試す時は「うまく動いたらラッキー」くらいの人柱精神でお願いします。 特にwindowsでは全くテストしていないので動かないかもしれません。 一応自分でwdomのテストに使ってみましたが、Webページのテストに使う分には意外と大丈夫です。

    Puppeteer (Chrome の自動操作ライブラリ) を Python に移植してpyppeteerという名前で公開しました - Blank File
    peketamin
    peketamin 2017/09/08
  • Pythonのライブラリとかをちょっと試したい時にtryってツールが便利 - Blank File

    GitHubTrending を眺めていたりすると時たま気になるpython製のツールやライブラリがあって試したくなったりします。 でもよく知らないし試したらすぐ消すようなものを普段の環境に入れるのも抵抗があって、その都度仮想環境を作ったりしていました。 try はそんな時に手軽に仮想環境を作って使い終わったらさくっと廃棄してくれる便利ツールです。 インストール tryで作る環境は2.7などでもいいようですが、try自体はPython3.4以上の対応のようです。 python3 -m pip install trypackage これ(またはpip3など)でインストールでき、コマンドラインからtryコマンドが使えるようになります。 使い方 try [試したいライブラリ名] [[ライブラリ2] [ライブラリ3] ...] これで新しい仮想環境が作られてライブラリがインストール&impor

    Pythonのライブラリとかをちょっと試したい時にtryってツールが便利 - Blank File
    peketamin
    peketamin 2017/08/13
  • Vim の g で始まるコマンドというかキーマップの一覧 - Blank File

    今回、gをプレフィックスとするキーマップの種類別一覧を昔作ったのを思い出したので紹介します。地味に便利なものも結構あります。アルファベット順の一覧は :help g で見られますので、開いているマッピングを探す時などはそちらをご参照下さい。 2015年2月11日 整理し直しました。ついでに目次を追加。 目次 移動・ジャンプ カーソル移動 表示行単位の移動 gなしと逆方向の移動 ジャンプ ファイル内移動 検索移動 タグジャンプ マーク タブ移動 ファイル移動 テキスト編集 貼り付け 行連結 オペレータ 大文字・小文字変更 テキスト整形 エンコード テキスト更新履歴を遡る・進む 別モードに入る 挿入モード 選択モード 仮想置換モード その他 再利用 情報表示 その他 未使用の組み合わせ おわりに 移動・ジャンプ カーソル移動 表示行単位の移動 コマンド 動作 gj jと同様。ただしスクリーン行

    Vim の g で始まるコマンドというかキーマップの一覧 - Blank File
    peketamin
    peketamin 2016/02/21
    知らなかった!
  • Vim に channel が実装されたので Markdown をプレビューするプラグインを作りました - Blank File

    Vimにchannel機能が実装されました。 Big Sky :: Vim にchannel(ソケット通信機能)が付いた。 昨日から株価・為替は乱高下し、大臣の辞任、日銀のマイナス金利導入決定など国内では大きなニュースが続いていますが、Vimmerにとってはこのパッチが最も影響があったのではないでしょうか。 というわけで、せっかくなのでchannel機能を使ってプラグインを書いてみました。 みんな大好きMarkdownのリアルタイムプレビューです。 miyakogi/livemark.vim channelを使ってみたかっただけなので、今のところデバッグ・エラー処理・設定などはやっつけです。 お遊び以外では使わないでください。 インストール インストール方法は普通のvimプラグインと同じです。コピーするなりプラグインマネージャを使うなり、お好みの方法でインストールしてください。 NeoBu

    Vim に channel が実装されたので Markdown をプレビューするプラグインを作りました - Blank File
    peketamin
    peketamin 2016/01/29
  • この頃 流行りの 言語たち(他)でベンチマーク (Dart, Go, Julia, Nim, Python, Rust 他) - Blank File

    自分が気になっている、主に最近のプログラミング言語でベンチマークをやってみました。方法は、42番めのフィボナッチ数列の値を計算する時間を測るだけです。フィボナッチで各種言語をベンチマーク - satosystemsの日記 を参考にさせていただきました。 注意 筆者はPythonくらいしか使ったことない素人です 言語紹介 測定した言語は、以下の11種類です。 C Dart Go JavaScript Julia Lua Nim Python Ruby Rust Vim Script 選択基準は、 メジャーっぽい 自分が知っていた 自分が気になった 環境構築が楽だった(or すでに構築済みだった) 怖くない などです。気分と手間で選びました。 測定条件 上記の言語でフィボナッチ数列の42番目の数を求める時間を測りました。42番目なのはなんとなく全部の言語がまともに測定できる範囲に収まったからで

    この頃 流行りの 言語たち(他)でベンチマーク (Dart, Go, Julia, Nim, Python, Rust 他) - Blank File
    peketamin
    peketamin 2015/02/22
  • Pythonと型 〜 Docstring、関数アノテーション、型推論 〜 - Blank File

    動的型付言語であえて型を宣言する方式(Type Hinting or Optional Typing)、最近流行ってますね。 言語仕様としては DartTypeScript が採用していますし、Pythonでは 開発者のGuido氏が次期バージョン (3.5) での型アノテーションの導入を提案 しています。 Pythonで型アノテーションの導入って結構インパクトありそうですが、国内の情報がほとんどなかったので、実際どんなもんなのか、既存ツールで試せる範囲で試してみました。 そもそも、Python で型を使うと何が嬉しいのか、 Guido氏の提案メール から引用します。 Editors (IDEs) can benefit from type annotations Linters are an important tool for teams developing software

    Pythonと型 〜 Docstring、関数アノテーション、型推論 〜 - Blank File
    peketamin
    peketamin 2014/11/11
  • vim-watchdogsで快適なシンタックスチェック - Blank File

    訳あってVimでのシンタックスチェックをSyntastic + pyflakes-vimからosyo-manga/vim-watchdogsに置き換えたらかなり快適になったので紹介したいと思います。 これまで Vimでのシンタックスチェックは主に Syntastic を使い、Pythonを書く時は pyflakes-vimをフォークして少し修正したもの を使っていました。 Syntasticは対応しているファイルタイプは多いのですが、保存しないとチェックできなかったり少し動作が重かったりする(特にWindows環境)ところが不満でした。 なので、書くことの多いPythonではSyntasticを使わず、ほぼリアルタイムでチェックできるpyflakes-vimを使っていました。 特にFlaskなどでサーバーをデバッグモード *1 で走らせていると、シンタックスエラーのあるファイルをうっかり保

    vim-watchdogsで快適なシンタックスチェック - Blank File
  • 1