[Dd]enzow(ill)? with DB and Python

DBとか資格とかPythonとかの話をつらつらと

Pythonで一番小さいWEBフレームワークbottle.py その5(response,mimetype)

今回はGENERATING CONTENTを中心にまとめます。

純粋なwsgiはファンクションがiterableなbyte stringを戻すように定められています。厳密にはPythonで使用されるstr(Unicode)も戻すことはできませんが、Bottleではそういった戻り値をいいかんじに変換してくれるのであまり意識せずに使うことができます。

続きを読む

PythonのUnitTestでメール送信を伴う場合の対応を検討してみた

1年くらい前に自分でかき捨てたコードを久々にメンテすることになったので見ていたらテストコードがなくてさっぱりでした。さてPythonでのテストの場合標準で用意されているunittestを使うことがあると思います。しかし、メール送信を伴う処理の場合、テスト方法に悩みます。そんな場合にどうしたかをまとめておきます。

何が悩むのか?

メール送信を行う処理の場合、テストのためにSMTPサーバが必要です。しかし、テスト用に用意するのは工数がかかりますし、テストを動かせる環境に制限がかかります。また普通のSMTPサーバを用いた場合は、実際に受信してのチェックが必要になり面倒です。

続きを読む

PythonのWSGIラインプロファイラを試してみた(wsgi_lineprof)

ひょんなことからISUCONに出ることになったので練習してたら休日が溶けました。ISUCONこわい。

ISUCONはWEBアプリケーションのチューニングコンテストなわけですが、そもそもAPのどこにボトルネックがあるかを見つけないと効果的なチューニングは難しいです。そんな時に使えそうなプロファイラをymyzkさんwsgi_lineprofとして作成されたということをPyCon2017のLTで発表されていましたので試してみました。

続きを読む

Pythonを使ってWindows 上でps的な感じでプロセスの情報を取りたかった

普段業務はWindows上で行っています。Python何かを動かすときはLinux上であることが多いですが、たまにWindowsで、ジョブを動かさないといけないケースもあります。今回、ちょっとWindows上でプロセス一覧を取得しないといけないケースがあったので行った内容をまとめます。

続きを読む

PostgreSQLで全文検索(PGroongaを試してみた:環境構築から簡単なINDEX試すまで)

前回はpg_bigmをつかってPostgreSQLで全文検索を行う方法を試しました。数年前から登場し、PostgreSQLの日本語全文検索ではpg_bigmと同じくらい耳にするPGroongaを試してみます。

PGroonga?

以下はドキュメントからの抜粋です。

PGroongaはPostgreSQLの拡張機能です。PGroongaはGroongaを使った新しいインデックスアクセスメソッドを提供します。 Groongaは組み込み可能な超高速全文検索エンジンです。GroongaはMySQLにも組み込めます。MroongaはGroongaベースのストレージエンジンです。Groongaはスタンドアローンの検索エンジンとしても使えます。 PostgreSQLはアルファベットと数値だけを使った言語の全文検索だけをサポートしています。これは、日本語や中国語などはサポートしていないということです。PGroongaをPostgreSQLにインストールすると全言語対応の超高速全文検索機能を使えるようになります! さらに、PGroongaはJSON内のすべてのテキスト値に対する全文検索もサポートしています。これは他にはない機能です。組み込みのPostgreSQLの機能でもJsQueryでもサポートしていません。

GroongaをPostgreSQLから利用できるようにする拡張のようです。

続きを読む