今回はGENERATING CONTENTを中心にまとめます。
純粋なwsgiはファンクションがiterableなbyte stringを戻すように定められています。厳密にはPythonで使用されるstr(Unicode)も戻すことはできませんが、Bottleではそういった戻り値をいいかんじに変換してくれるのであまり意識せずに使うことができます。
続きを読む今回はGENERATING CONTENTを中心にまとめます。
純粋なwsgiはファンクションがiterableなbyte stringを戻すように定められています。厳密にはPythonで使用されるstr(Unicode)も戻すことはできませんが、Bottleではそういった戻り値をいいかんじに変換してくれるのであまり意識せずに使うことができます。
続きを読む1年くらい前に自分でかき捨てたコードを久々にメンテすることになったので見ていたらテストコードがなくてさっぱりでした。さてPythonでのテストの場合標準で用意されているunittest
を使うことがあると思います。しかし、メール送信を伴う処理の場合、テスト方法に悩みます。そんな場合にどうしたかをまとめておきます。
メール送信を行う処理の場合、テストのためにSMTPサーバが必要です。しかし、テスト用に用意するのは工数がかかりますし、テストを動かせる環境に制限がかかります。また普通のSMTPサーバを用いた場合は、実際に受信してのチェックが必要になり面倒です。
続きを読む前回はwsgi_lineprofを試してみました。WEBアプリケーションの分析にはぴったりだったのですが、ISUCONで使うには少し辛いところがあったのでスクリプトを書いてみました。
続きを読むひょんなことからISUCONに出ることになったので練習してたら休日が溶けました。ISUCONこわい。
ISUCONはWEBアプリケーションのチューニングコンテストなわけですが、そもそもAPのどこにボトルネックがあるかを見つけないと効果的なチューニングは難しいです。そんな時に使えそうなプロファイラをymyzkさんがwsgi_lineprofとして作成されたということをPyCon2017のLTで発表されていましたので試してみました。
続きを読む普段業務はWindows上で行っています。Python何かを動かすときはLinux上であることが多いですが、たまにWindowsで、ジョブを動かさないといけないケースもあります。今回、ちょっとWindows上でプロセス一覧を取得しないといけないケースがあったので行った内容をまとめます。
続きを読むPostgreSQLで全角半角を意識せずに検索できないかという話をもらいました。MySQL等では照合順の変更で対応できそうですがPostgreSQLではできないようです。どうするのがいいのか考えてみました。
続きを読む前回はpg_bigmをつかってPostgreSQLで全文検索を行う方法を試しました。数年前から登場し、PostgreSQLの日本語全文検索ではpg_bigmと同じくらい耳にするPGroongaを試してみます。
以下はドキュメントからの抜粋です。
PGroongaはPostgreSQLの拡張機能です。PGroongaはGroongaを使った新しいインデックスアクセスメソッドを提供します。 Groongaは組み込み可能な超高速全文検索エンジンです。GroongaはMySQLにも組み込めます。MroongaはGroongaベースのストレージエンジンです。Groongaはスタンドアローンの検索エンジンとしても使えます。 PostgreSQLはアルファベットと数値だけを使った言語の全文検索だけをサポートしています。これは、日本語や中国語などはサポートしていないということです。PGroongaをPostgreSQLにインストールすると全言語対応の超高速全文検索機能を使えるようになります! さらに、PGroongaはJSON内のすべてのテキスト値に対する全文検索もサポートしています。これは他にはない機能です。組み込みのPostgreSQLの機能でもJsQueryでもサポートしていません。
GroongaをPostgreSQLから利用できるようにする拡張のようです。
続きを読む