滝野川公園滑り台上の風通しの良いベンチで横になって寝たい。しかし、寒さのあまり眠れないのであった。 ブルーシートや合羽のバリアの配置を試行錯誤していると、夜が明けていたというおなじみのダメパターン。

6:40 起床。体育館前でラジオ体操をしているようだが、音が小さくて近づかないと気づかなかった。 朝飯を食いに駒込駅方面に探索する。というか、なか卯を探しに行く。あった。

7:10 なか卯駒込店で納豆朝定食+ライス大盛り+唐揚を注文。後ろ二品は無料。 客がけっこういるのにワンオペのため、なかなか片付けやサーブが進まないようだ。 私の定食は味噌汁が豚汁になっているし(儲けた)。

食事中に荒川区の中央図書館が未訪問だったことを思い出し、アドリブでこれから向かうことに決める。 経路は JR 駒込駅から徒歩で隣の田端駅に行き、明治通りへ出て東に進んで区役所に行き、そこから少々北に進む、だ。 時間も余裕があるので、これでいこう。

9:00 荒川区ゆいの森あらかわ前に到着する。時間調整が完璧でよろこんでいたが、この図書館は開館時間が 9:30 のようだ。すっかり忘れていた。 館内には入れないようなので、建物隣のベンチで待たせてもらう。

居眠りをしてしまい 10 分過ぎていたが、無事館内に進入する。 複合施設だと思っていたのだが、実は 5 階まるまる図書館としての施設だ。これはすごい。 もし最初にここに来たときに図書館が特別整理期間中でなかったなら、私の荒川区に対する印象はまるで異なっていただろう。 YouTube を観まくって 13:45 一時退出。

14:00 Super Value 荒川一丁目店でおやつを購入。牛乳、レーズンロール、肉まんドッグ、柿ピー。 再び図書館に戻り、五階の飲食ラウンジで平らげる。食後はやはり居眠りしてしまう。 夕方目覚め、夕刊を読んだあとに PC での調べ物作業。 結局 18:30 まで図書館にいた。

図書館を出てから北ルート、つまり都電荒川線の線路沿いを歩いて王子駅へ移動する。 おそらく南ルート、明治通りへ出てから王子方向に歩いたほうが早いと思うが、交通量が多く疲れるので敬遠した。

20:30 東武ストア王子店到着。今日は妙に腹が減る。晩飯として玉子ポテマカサラダ、ロースカツ重小を購入。ワンコイン超え。 表に出て地上のすき家前ベンチでガツガツ食べる。

21:00 ナムコ王子サンスクエア入店。居眠りすることなく MJ をプレイ。 ビートマニアもプレイ。今のところクイズ 7 問連続正解。

23:40 退店。寝床を飛鳥山公園にするか中央公園(北)にするかで迷うが、慣れている後者に決定する。

読み物

  • 朝刊(朝日、産経)
  • 夕刊(東京、朝日)
  • ふらんす 2019.1 号
    • ゴーン氏逮捕の流れで誌面に影響が出ている。
  • Software Design 2019.1 号
    • たまにやる数学特集。この手の数学特集は表面的なものに終始する傾向があると思っているが、 この号については問題ない。特に最初の線形代数の講師の考える学習度合いは良い。
    • 行列・行列式に加えて複素平面を押さえないとなると、群論の存在理由をなかなか理解しにくいのではないだろうか。

Python によるスクレイピングメモ

非同期処理の単位処理中に asyncio.sleep() を呼び出すことで秒単位でポーズがかけられる。 インターネットの一定のサーバーからファイルを大量にダウンロードするときに調整用に利用できたかもしれない。

また、asyncio.Semaphore() で単位処理の一部の同時実行パス数上限を明示的に指示できることを知る。 念願の with await ... 構文を書ける。

async def fetch(args):
    """TODO: docstring"""
    semaphore = asyncio.Semaphore(args.semaphore_count)

    async def scrape_with_semaphore(url, localpath):
        with await semaphore:
            return await scrape(url, localpath)

    return await asyncio.wait(
        [scrape_with_semaphore(url, f'{url}.html') for url in args.urlset])

async def scrape(url, localpath):
    """TODO: docstring"""
    ...