ときどきの雑記帖 RE* (新南口)
滅びし獣たちの海
λカ娘
簡約: λカ娘 12 [参照透明な海を守る会(master_q)] - 同人誌のとらのあな全年齢向け通販
確か技術書典9と同じくらいのタイミングで出ていた。 振り返ってみると結構前に始まったシリーズだと思うけど最終号だそうで。 今はもう買えないけど、今回はこういうものも作っていたらしい。
簡約!? λカ娘 始まりの総集編 [参照透明な海を守る会(xhl_kogitsune)] - 同人誌のとらのあな全年齢向け通販
イカ娘×関数型プログラミング本、1~6巻をまとめた総集編! 過去の表紙等を再録した巻頭カラー8ページ+既刊内容を再録した本文492ページの計500ページ(厚さ:3cm、重さ1.3kg)。インテリアとしてどうぞ。
値段もそうだけど置き場所に困るので手を出せなかった。
Python 3.9
Python 3.9公開、組み込み機能のスピードアップ | マイナビニュース この記事、「フレキシブル関数」などいくつかよくわからんもの(記述、表現)があったので調べてみた。
- Cエクステンションメソッドからのモジュールステートアクセス
- dictにおけるUnion演算子
- 標準コレクションにおける型ヒントジェネリック
- フレキシブル関数と変数アノテーション
- デコレータにおけるグラマ制限の一部解除
- 標準ライブラリにおけるIANAタイムゾーンデータベースのサポート
- Stringにプレフィックスおよびサフィックスを削除する機能を追加
- CPython向けに新しいPEGパーサを導入
- 復活したオブジェクトでブロックを行わないようにガベージコレクタを変更
- 競合やシグナルなしにプロセス管理を可能にするos.pidfd_openを追加
- Unicode 13.0.0をサポート
- 同一プロセスにおいて複数回Pythonを初期化してもメモリリークが発生しないように変更
- Python組み込み機能の実行速度改善
- Pythonモジュールのいくつかをマルチフェーズ初期化処理を行うように変更
- 標準ライブラリモジュールを安定版ABIを使うように変更
- 安定した年次リリースケイデンスを採用
英文記事で同様のリストを探すとこの辺 Python Release Python 3.9.0 | Python.org か。
Some of the new major new features and changes in Python 3.9 are:
- PEP 573, Module State Access from C Extension Methods
- PEP 584, Union Operators in dict
- PEP 585, Type Hinting Generics In Standard Collections
- PEP 593, Flexible function and variable annotations
- PEP 602, Python adopts a stable annual release cadence
- PEP 614, Relaxing Grammar Restrictions On Decorators
- PEP 615, Support for the IANA Time Zone Database in the Standard Library
- PEP 616, String methods to remove prefixes and suffixes
- PEP 617, New PEG parser for CPython
- BPO 38379, garbage collection does not block on resurrected objects;
- BPO 38692, os.pidfd_open added that allows process management without races and signals;
- BPO 39926, Unicode support updated to version 13.0.0;
- BPO 1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore;
- A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall;
- A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489;
- A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384.
さすがに紹介記事でPEPの番号まで書けとは言わないけど、あるとどういう方向のものかわかりやすくなりますわな。 それはさておき「フレキシブル関数」はこれ PEP 593 – Flexible function and variable annotations | Python.org
んーと、「(フレキシブルな((関数アノテーション)と(変数アノテーション))」ではなかろうかこれ。 本文中に flexible function なる言葉は全然出てこないし。
全部上げていくのも大変なのでもう一つだけ。 PEP 614 – Relaxing Grammar Restrictions On Decorators | Python.org 「デコレータにおけるグラマ制限の一部解除」ということなんだけど
button_0 = buttons[0]
@button_0.clicked.connect
def spam():
...
button_1 = buttons[1]
@button_1.clicked.connect
def eggs():
...
を次のように書けるように文法上の制限をゆるめた。 ということのよう。
buttons = [QPushButton(f'Button {i}') for i in range(10)]
# Do stuff with the list of buttons...
@buttons[0].clicked.connect
def spam():
...
@buttons[1].clicked.connect
def eggs():
...
# Do stuff with the list of buttons...
確かにデコレーターに関するものだし、グラマー(構文)についての変更(修正)だけど もうちょっとわかりやすい表現があるんじゃあ? >グラマ制限の一部解除
.lz
月の終わりごろに、直近一か月間でリリースされたGNU プロダクトが
September GNU spotlight with Mike Gerwitz: Twelve new releases! — Free Software Foundation — working together for free software
のように紹介されているのだけど今月は 12 new GNU releases in the last month (as of September 28, 2020):
ということで以下の12個
- binutils-2.35.1
- bison-3.7.2
- dico-2.10
- gama-2.10
- global-6.6.5
- gnuastro-0.13
- gnunet-0.13.3
- gnupg-2.2.23
- gnu-pw-mgr-2.7.2
- grep-3.5
- parallel-20200922
- pspp-1.4.1
最近これで bison をよく見るなあと思い、 Index of /gnu/bison にあるtar玉の日付でちょっと調べてみた。
3.0 以降を見るとこんな感じ。去年(2019年)の12月から毎月リリースされている模様。
[ ] bison-3.0.tar.gz 2013-07-25 12:24 3.1M
[ ] bison-3.0.tar.xz 2013-07-25 12:24 1.8M
[ ] bison-3.0.1.tar.gz 2013-11-12 11:43 3.1M
[ ] bison-3.0.1.tar.xz 2013-11-12 11:43 1.8M
[ ] bison-3.0.2.tar.gz 2013-12-05 09:35 3.1M
[ ] bison-3.0.2.tar.xz 2013-12-05 09:35 1.8M
[ ] bison-3.0.3.tar.gz 2015-01-15 04:36 3.2M
[ ] bison-3.0.3.tar.xz 2015-01-15 04:36 1.9M
[ ] bison-3.0.4.tar.gz 2015-01-23 08:58 3.2M
[ ] bison-3.0.4.tar.xz 2015-01-23 08:58 1.9M
[ ] bison-3.0.5.tar.gz 2018-05-28 01:16 3.4M
[ ] bison-3.0.5.tar.xz 2018-05-28 01:16 1.9M
[ ] bison-3.1.tar.gz 2018-08-27 16:23 3.5M
[ ] bison-3.1.tar.xz 2018-08-27 16:24 1.9M
[ ] bison-3.2.tar.gz 2018-10-29 16:16 3.5M
[ ] bison-3.2.tar.xz 2018-10-29 16:16 2.0M
[ ] bison-3.2.1.tar.gz 2018-11-09 00:52 3.6M
[ ] bison-3.2.1.tar.xz 2018-11-09 00:52 2.0M
[ ] bison-3.2.2.tar.gz 2018-11-21 15:28 3.6M
[ ] bison-3.2.2.tar.xz 2018-11-21 15:28 2.0M
[ ] bison-3.2.3.tar.gz 2018-12-18 17:09 3.6M
[ ] bison-3.2.3.tar.xz 2018-12-18 17:09 2.0M
[ ] bison-3.2.4.tar.gz 2018-12-24 12:17 3.6M
[ ] bison-3.2.4.tar.xz 2018-12-24 12:18 2.0M
[ ] bison-3.3.tar.gz 2019-01-26 09:34 3.6M
[ ] bison-3.3.tar.xz 2019-01-26 09:35 2.0M
[ ] bison-3.3.1.tar.gz 2019-01-27 10:27 3.6M
[ ] bison-3.3.1.tar.xz 2019-01-27 10:28 2.0M
[ ] bison-3.3.2.tar.gz 2019-02-03 08:57 3.6M
[ ] bison-3.3.2.tar.xz 2019-02-03 08:57 2.0M
[ ] bison-3.4.tar.gz 2019-05-19 07:35 3.7M
[ ] bison-3.4.tar.xz 2019-05-19 07:35 2.1M
[ ] bison-3.4.1.tar.gz 2019-05-22 12:59 3.7M
[ ] bison-3.4.1.tar.xz 2019-05-22 12:59 2.1M
[ ] bison-3.4.2.tar.gz 2019-09-12 12:21 3.8M
[ ] bison-3.4.2.tar.xz 2019-09-12 12:21 2.1M
[ ] bison-3.5.tar.gz 2019-12-11 16:07 4.1M
[ ] bison-3.5.tar.xz 2019-12-11 16:07 2.2M
[ ] bison-3.5.1.tar.gz 2020-01-19 08:44 4.1M
[ ] bison-3.5.1.tar.xz 2020-01-19 08:44 2.2M
[ ] bison-3.5.2.tar.gz 2020-02-13 13:12 4.1M
[ ] bison-3.5.2.tar.xz 2020-02-13 13:12 2.3M
[ ] bison-3.5.3.tar.gz 2020-03-08 05:18 4.1M
[ ] bison-3.5.3.tar.xz 2020-03-08 05:18 2.3M
[ ] bison-3.5.4.tar.gz 2020-04-05 03:31 4.1M
[ ] bison-3.5.4.tar.xz 2020-04-05 03:32 2.3M
[ ] bison-3.6.tar.gz 2020-05-08 06:24 4.4M
[ ] bison-3.6.tar.xz 2020-05-08 06:25 2.3M
[ ] bison-3.6.1.tar.gz 2020-05-10 08:51 4.4M
[ ] bison-3.6.1.tar.lz 2020-05-10 08:51 2.2M
[ ] bison-3.6.1.tar.xz 2020-05-10 08:51 2.3M
[ ] bison-3.6.2.tar.gz 2020-05-17 03:04 4.4M
[ ] bison-3.6.2.tar.lz 2020-05-17 03:04 2.3M
[ ] bison-3.6.2.tar.xz 2020-05-17 03:04 2.4M
[ ] bison-3.6.3.tar.gz 2020-06-03 01:59 4.4M
[ ] bison-3.6.3.tar.lz 2020-06-03 01:59 2.3M
[ ] bison-3.6.3.tar.xz 2020-06-03 01:59 2.4M
[ ] bison-3.6.4.tar.gz 2020-06-15 15:10 4.4M
[ ] bison-3.6.4.tar.lz 2020-06-15 15:10 2.3M
[ ] bison-3.6.4.tar.xz 2020-06-15 15:10 2.4M
[ ] bison-3.7.tar.gz 2020-07-23 14:31 4.7M
[ ] bison-3.7.tar.lz 2020-07-23 14:16 2.4M
[ ] bison-3.7.tar.xz 2020-07-23 14:28 2.5M
[ ] bison-3.7.1.tar.gz 2020-08-02 03:33 4.7M
[ ] bison-3.7.1.tar.lz 2020-08-02 04:06 2.4M
[ ] bison-3.7.1.tar.xz 2020-08-02 04:16 2.5M
[ ] bison-3.7.2.tar.gz 2020-09-05 12:32 4.7M
[ ] bison-3.7.2.tar.lz 2020-09-05 12:32 2.4M
[ ] bison-3.7.2.tar.xz 2020-09-05 12:32 2.5M
ん、3.6.1から .lz なる拡張子のものが。なんだっけこれ。 .lzma なら以前使っているのを見た覚えがあるけど (にしても、.gzと.xzの大きさの違いよ)。
そう言えばGNU tar には圧縮コマンドと組み合わせてごにょごにょするときの 機能がついていたよなあということでマニュアル GNU tar 1.32: GNU tar: an archiver tool で
Other compression options provide better control over creating compressed archives. These are:
--auto-compress'
-a'Select a compression program to use by the archive file name suffix. The following suffixes are recognized:
のところから一覧表にするとこう。
Suffix | Compression program |
---|---|
.gz | gzip |
.tgz | gzip |
.taz | gzip |
.Z | compress |
.taZ | compress |
.bz2 | bzip2 |
.tz2 | bzip2 |
.tbz2 | bzip2 |
.tbz | bzip2 |
.lz | lzip |
.lzma | lzma |
.tlz | lzma |
.lzo | lzop |
.xz | xz |
.zst | zstd |
.tzst | zstd |
lzma lzma(1): Compress/decompress .xz/.lzma files - Linux man page と lz Lzip - LZMA lossless data compressor lzip - Wikipedia って別物だったのか。
.lz を使うようになった経緯については Xz format inadequate for long-term archiving lzip_talk_ghm_2019.pdf にあるようなので後で読む。