Flask (Werkzeug)のResponseのmimetypeとcontent_typeの違い

Flask で HTML ではないデータを返送する場合、通常は HTML 応答に Content-Type ヘッダーを設定することになる。そのためには Response オブジェクトの mimetype プロパティや content_type プロパティに値を設定すれば良いのだけれど、これまでどちらに値…

Flaskアプリからデータをストリーミング方式で返送する

(2019-08-14: 全面的に書き換えました) Flask アプリで動的に生成したデータ(例:RDB のクエリー結果を CSV にして返す)をダウンロードさせるような機能を実現する場合、これまでデータを一度 view 関数で完成させた後に返送するしかないと思っていた。…

WindowsにてJuliaのREPLで改行する

Julia 言語の REPL にて関数定義のような複数行のコードを書いているとき、コードの途中に改行を挿入しようとして Enter キーを押すとコードが実行されてしまい、改行できない。このような場面では本来、標準のキーバインドとして用意されている meta-Enter …

Windows で Python の csv モジュールで改行コードを正しく出力する

Python 標準の csv パッケージ は CSV ファイルを手軽に入出力できるので重宝しているのだけれど、Windows で使うと改行コードがおかしくなることがあった。見た目的には「各行が 2 回改行されてしまう」ような状態。これを回避する簡単な方法がやっと分かっ…

matplotlibで描いたグラフをファイル保存しつつJupyterでは表示させない方法

Jupyter Notebookで時間のかかる機械学習やデータ解析の処理を走らせているとき、その経過状況をグラフにプロットして観察したい、ということがある。そういうとき、エポックごとに 1 からグラフ描画処理を普通に走らせると Notebook 上にグラフが「追記」さ…

tesseract + pyocr使い方メモ

ひょんな理由で tesseract の使い方を知る必要に迫られたので、簡単に調査。取り急ぎ、次の情報が得られることが目標。 認識された文字(≠単語)のテキストデータ (UTF-8) それらの位置情報(左上点の座標と幅と高さ) もちろん、プログラム的にこれらの情報…

Julia言語で標準出力をリダイレクトしたStringを得る

今日は IOBuffer に使える redirect_stdout のオーバーロードを作った。取り急ぎ Gist として公開してある。Twitterでも呟いてるけれど。 Julia言語では標準ライブラリに redirect_stdout という関数が用意されており、これを使うと一時的に標準出力への書き…