はじめに
Notion Tips の第188回目は、Notion に情報を記録したことで、助けられたエピソードを紹介します。今日も座談会が長引いたので、ちょっとしたネタです。
作業ログの Notion 記録
昨日紹介したショートカットなどを活用し、普段の作業を全て記録しています。定例的な作業はあまり細かく記録しませんが、普段あまり日常的にしない作業などをした時には、ターミナルで実行したコマンドやその結果を記録するようにしています。その際に、昨日紹介したサービスは便利に使えると思います。記録するという作業が面倒だと記録をサボってしまうためです。なぜ、そのまで細かく記録するかということですが、3ヶ月前の自分はもう自分でないからということです。実際、今回作成したサービスも3年前に作ったのに、すっかり忘れて使っていませんでした。
Rich text object の制限
今回、最新版にアップデートするにあたり、どんな場合でも利用可能なように大量のスクリプトをコピーしても動くようにしました。実は、Notion API は Rich text object のバイト数に制限があり、あまり長い文字列を持つブロックを一気に張り込むことができません。以前、それで失敗して Rich text object を分割する処理を記述した覚えだけはあったのですが、そのスクリプトを見つけることができませんでした。あちこちのスクリプトを探したものの見つけることができず、困り果てていました。
ふと、Notion にこれだけ情報が記録されているんだから、Notion AI なら教えてくれるのではと、以下の問い合わせをしてみました。私が探し回っていた時間を返して欲しいというほど、正確に該当記事を見つけ出してくれました。
実際にリンク先を表示してみたら、以下のように記載されていました。Notion API 活用術の原稿ページでした。実際には、2,000文字ではなく 8,000 バイトの制限だったようです。どうやら記憶すら怪しかったようです。UTF-8 だと大体1文字3バイトくらいになるので、余裕を持って 2,000 文字にしたのかもしれません。
再帰処理が終わると、text に Mermaid 文字列が格納されています。これをコードブロックの Rich text object に取り入れます。ただし、Notion API では Rich text object の content に 8,000バイトまでという制限があります。その制限にかからないように 2,000 文字単位で文字配列を再構成しています。再構成した文字配列を使って、コードブロックを更新して処理が完了です。
おわりに
今日の座談会でも話しましたが、下手に自分の記憶に頼って探し回るより、Notion AI に質問してしまった方が早く情報に辿り着けるのではと感じました。そのためにも必要と思われることを全て、外部記憶である Notion に記録し続けようと感じたエピソードでした。