Skip to content

Blog

なぜインターネットの MTU は 1,500 バイトになったのか

Ben Cox の Blog は興味深い記事が多く掲載されています。 その中でも How 1500 bytes became the MTU of the internet という記事が面白かったので、Ben さんに許可頂き、日本語に翻訳してみました。 英語が苦手なので、ところどころ「どう、ニュアンスを訳して良いのか?」が分かりませんが、とりあえず自分の勉強を兼ねてメモしておきます。 Thanks for your great article, Ben!

Python で営業日を取得出来るライブラリ「jpbizday」を公開

日本の祝日情報を取得する Python ライブラリは幾つかありますが、動作は以下に大別出来ると思います。

  1. オンラインで動作するもの (「Google カレンダー」や「公共機関が出しているカレンダー」からネットワーク経由で情報取得するもの)
  2. オフラインで動作するもの

どちらも一長一短ですが、「1. オンライン」の場合は当然、オンライン側の URL や提供データのフォーマット変更などの影響を受けてしまいます。 「2. オフライン」タイプのライブラリとしては jpholiday という、素晴らしいライブラリが公開されています。 こちらのライブラリを利用する形で (祝日では無く) 営業日情報を取得する jpbizday というライブラリを作成しました。

WSL でマウントしたファイルシステムでもパーミッションを扱えるようにする

WSL は一般的には「VolFs」と「DrvFs」の、ふたつのファイルシステムを併せて運用することになると思います。

  1. VolFs (WSL 内部を管理する。 WSL 上にインストールされたディストリビューションを管理するファイルシステム)
  2. DrvFs (WSL 外部を管理する。 WSL 上からマウントされた外部 (NTFS など) を管理するファイルシステム)

ですが、デフォルトの状態では DrvFs でパーミッションを細やかに管理することが出来ません。 WSL のファイルアクセス許可には下記のように書かれています。

ファイルにメタデータが関連付けられていない場合は、Windows ユーザーの有効なアクセス許可を読み取り/書き込み/実行ビットに変換し、ユーザー、グループ、およびその他の同じ値として設定します。 たとえば、Windows ユーザーアカウントに読み取りと実行のアクセス権があり、ファイルへの書き込みアクセスが許可されていない場合は、ユーザー、グループ、およびその他の r-x として表示されます。 ファイルに Windows で ' 読み取り専用 ' 属性が設定されている場合、Linux では書き込みアクセス権は付与されません。

ですが、DrvFs をマウントする際に metadata オプションを指定することで、パーミッション情報をメタデータに保存することが出来るようになります。

isort で Python の import 順序を PEP8 準拠に修正する

Python で import するライブラリの順序は PEP8 で決められています

import文 は次の順番でグループ化すべきです:

  1. 標準ライブラリ
  2. サードパーティに関連するもの
  3. ローカルな アプリケーション/ライブラリ に特有のもの

isort を使うと Python で import するライブラリの順序を並び替えてくれます。

ディレクトリ配下のパーミッション/オーナーを一括変更する

現在のディレクトリ配下のパーミッションを再帰的に変更するには、例えば下記のように実行します。

1
2
3
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
find . -name "*.sh" -exec chmod 755 {} \;

オーナーも変更したい場合は以下のように実行します。

1
chown -R root:root .