タグ

ブックマーク / imagawa.hatenadiary.jp (3)

  • python-dateutilの使い方 - 今川館

    pythonの日付処理モジュールとしてdatetimeパッケージがあるが、dateutilパッケージのモジュールがもっと色々面倒を見てくれるのでちょっと調べてみた。 dateutilがやってくれること 沢山あるけど以下、わたしが使いたいと思った機能を抜粋。 月末を算出してくれる。 「次の◯曜日」を算出してくれる。 「当月の最終◯曜日」を算出してくれる。 ISO-8601形式の日付文字列をdatetimeに変換してくれる。 月末の算出 月初の算出はdatetime.timedeltaでも簡単にできる。 from datetime import timedelta, date date(2011, 11, 26) + timedelta(day=1) #=> date(2011, 11, 1)しかし月末を算出する直接の方法がtimedeltaにない。 dateutilのrelativedelt

    python-dateutilの使い方 - 今川館
  • coverage combineコマンドで複数の集計結果を結合する - 今川館

    カバレッジ(網羅率)とは? カバレッジとはテストコードがどれだけテスト対象の内容を網羅しているかを表す割合です。 例えば、以下のファイルにはfoo, bar, bazという3つの関数が定義されていますが、これらのすべての内容をテストで実行済みであればカバレッジは100%となります。 # -*- coding:utf-8 -*- def foo(): return 1 def bar(): return 2 def baz(x): if x < 5: return 3 else: return 4 当はカバレッジは3種類の評価基準があってそれぞれ評価の仕方が違うのですが、ここではその詳細な説明は割愛します。 Pythonのcoverageモジュール Pythonでカバレッジを取得するときはcoverageというモジュールを使います。 $ easy_install coverageインストー

    coverage combineコマンドで複数の集計結果を結合する - 今川館
  • Goのエラー処理② panicとrecover - 今川館

    Goのpanicとrecover Goのエラー処理は原則として例外を使わず、エラーを丁寧に処理すべき方針はわかったとして、Goの例外機構というものがどういう仕組なのか調べた。 まず、基に忠実に、golang.jpの説明を読むと、 実践Go言語 - golang.jp Recover panicが呼び出されたとき(これには、配列のインデックスが範囲外であるときや、型アサーションに失敗したような暗黙的なものも含む)は、すぐさま、カレントの関数を停止し、ゴルーチンのスタックの巻き戻しを開始します。その途中、遅延指定されている関数をすべて実行します。この巻き戻しがゴルーチンのスタックの先頭にたどり着くと、プログラムは終了します。ただし、組み込み関数recoverを使うことで、ゴルーチンの制御を取り戻し、通常の実行を再開させることが可能です。 panicが発生すると即座に処理を打ち切るので、これが

    Goのエラー処理② panicとrecover - 今川館
  • 1