bashの.profileや.bashrc等を実行する動作仕様

どうにも忘れがちなので、bash の設定ファイルの実行(ロード)処理を改めて整理してみた。ちょっとやる気を出して、今回は図付き。また各種設定ファイルの使い分けについても最後に書いておく。 はじめに 設定ファイルの実行(ロード)順序 Interactive log…

bashのプロンプトに前回実行コマンドの終了ステータスコードを表示する

zsh の walters 等のプロンプトテーマは「前回実行したコマンドの成否 (exit status / return code) に応じて表示を変える」ようになっている。これは非常に良いなと思ったため bash で同じコトができないか調べてみた。

Rustでkcovを使って行カバレッジを計測する

まとまった時間が取れたので Rust 言語の勉強を始めることにした。何はともあれ、もはや自動単体テストを書きながら開発しないと落ち着かないので、Rust でのテストカバーレジの計測方法を調べてみた。今のところ、 kcov を使った行カバレッジ、つまり行単位…

Pythonで組み込み関数と同名の変数を使うべきでない理由

Python では input() や len() など、様々な組み込み関数を用意している。そして、これらと同じ名前で変数や関数を後から定義すると、それらを「上書き」できる。つまり、例えば input という名前の変数にファイルから読み出したデータを格納するようなコー…

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 …