
時系列データの分析では、ノイズを除去したりトレンドを把握したりするために「移動平均」をよく使います。pandas の rolli...
時系列データを扱う際、データの粒度を変換したいことがよくあります。1 分ごとのデータを 1 時間単位に集約したり、日次データを月...
日付・時刻を扱うプログラムでは、閏秒やうるう年といった例外的なケースを正しく処理する必要があります。Python の datet...
業務システムでは「3 営業日後」「月末の最終営業日」といった計算が頻繁に必要になります。Python には営業日計算をサポートす...
Python でタイムゾーンを扱うライブラリには、長年デファクトスタンダードだった pytz と、Python 3.9 で標準ラ...
setuid/setgid ビットは実行ファイルに特別な権限を与える仕組みだ。しかし Python スクリプトでは期待どおりに動...
Python でファイルを作成するとき、パーミッションが意図どおりにならないことがある。これは umask の仕組みを理解してい...
Python スクリプトをターミナルで実行するときと、パイプで繋げたときで出力の挙動が変わることがある。これは標準入出力のバッフ...
Python でファイルを開くとき、`"r"` と `"rb"` で何が違うのか。単に「改行コードの扱い」だけではない、内部動作...
`flush()` と `fsync()` は似ているようで全く異なる。この違いを理解していないと、「保存したはずのデータが消え...
Python でファイルに `write()` を呼んでも、データがすぐにディスクに書き込まれるわけではない。実際には 3 つの...
Linux の `/proc` と `/dev` は実際のディスク上にデータを持たない「仮想ファイルシステム」だ。Python ...
ファイルに書き込んでいる途中でシステムがクラッシュしたら、データはどうなるのか。ジャーナリングファイルシステムはこの問題に対処す...
ファイルを削除したはずなのにディスク容量が減らない。この現象は Unix のファイル削除の仕組みを理解していないと謎に見える。 ...
Unix ではディレクトリも「ファイル」の一種として扱われる。ただし通常のファイルとは異なり、特殊な構造を持っている。 ディレク...
Unix 系ファイルシステムでは、ファイル名とファイルの実体は別々に管理されている。この分離を実現するのが inode(アイノー...
Python で `open()` を呼んだとき、内部では何が起きているのか。「リソースを確保する」「ファイルを閉じる」とは具体...
Python でリソース管理に `__del__` を使うのは危険だ。一見 C++ のデストラクタのように見えるが、まったく異な...
正規表現は特定の OS やプログラミング言語に縛られた機能ではない。もともとは 1950 年代に数学者スティーブン・クリーネが提...
Self 型は Python 3.11 で導入され、メソッドが自身のクラス型を返すことを正確に表現できます。継承時にも正しい型が...
トランポリンは末尾再帰をループに変換し、スタックオーバーフローを防ぐ手法です。Python は末尾再帰最適化をしないため、深い再...
カリー化は複数の引数を取る関数を、1 つの引数を取る関数のチェーンに変換する手法です。部分適用と組み合わせることで柔軟な関数合成...
関数型プログラミングの Maybe(Option)と Either(Result)パターンを Python で実装すると、エラー...
TypeVarTuple は Python 3.11 で導入され、可変長のジェネリック型パラメータを表現できます。任意個の型を受...










