こんにちは、あまねです。
感想や興味のあるトピックについて、ぜひコメントしてください。
人間と科学
文フリ34のふりかえりおわりのこと
先日#31で紹介した文フリ34のふりかえりについて、3本目の詳細記事となる無人販売編を公開して、一連のふりかえりを完了としました。
たのしい文化祭まとめ
文フリ34のふりかえりシリーズを改めてまとめると、以下のような構成になっています。
- ポストカード編: 日本国内の郵便はがきの規格をまとめ、適切なポストカードを作ったお話
- ダウンロードシステム編: Cloudflare Workers+KV+R2でパスワード付きのダウンロードシステムを作ったお話
- 無人販売編: Flutter+Tornadoで無人販売注文システムを作ったお話
記事が長くなると読みにくいなと思って、概要から詳細記事に分割してみましたが、最終的には詳細記事3本だけで20000字くらいになりました。3600字(ポストカード編) ➡️ 7700字(ダウンロードシステム編) ➡️ 10000字(無人販売編)と、回を追うごとにいらん気合いが入っている感じがしますね。後半はURLの例示やコードスニペットなども含んだ文字数なので、必ずしも読み応えとリンクしているわけではないものの、決してサッと読みやすい分量とはいえないでしょう。
このあまねけ!ニュースレターでは、もともと400~800字くらいの記事を3本/回ほど掲載する計画で連載を始めましたが、最近では徐々に1000~1500字くらいの記事を含む回が増えてきました(今回もそうです)。このくらいの分量だとニュースレター全体で2000~3000文字に収まるので、まだそれなりに読みやすい範囲かなと考えています(参考: 本文のポイント (noteのはじめかた), ブログに最適な文字数とは など)。
ちなみに、百合に男が挟まること、の再考は、もともとニュースレター向けに書いていた文章が2000字を超えたのであまねけ!に移したものです。これまでニュースレターとして公開していた記事についても、必要に応じて数千字程度に膨らませてからあまねけ!に再掲載するかもしれませんね。
読みたい記事があったら、ぜひコメントから教えてください。
Joplinのこと
昨年の3月頃から、日々の執筆やアイデア蓄積、TODOの積み上げをJoplinというノートアプリで行うようになりました。
Jopilinは各プラットフォーム(Windows / macOS / Linux / Android / iOS)ごとにアプリが提供されており、クロスプラットフォーム環境としてのブラウザ上に構築されたいわゆる Webアプリ ではありません。つまり、記録したノートは常にクラウドではなくローカルに保存されます。
ローカル保存って、いやな響きですね! パソコンが壊れたり、スマホを落としたりしたら全てのアイデアを失ってしまいます。せっかくの5G時代なのに、デバイスを無くしたくらいでデータまで失ってしまうのは、無知で愚鈍な人のすることです。
でも大丈夫。Joplinなら、オプションでお好きなクラウドストレージにノート全体を同期(バックアップ)できます。別のデバイスから同じノート群を利用できるので「同期」と呼ばれていますが、1台のデバイスでしか使わないなら単なるバックアップです。デバイスを無くしてしまったら、バックアップ済みのデータをクラウドストレージから展開して作業を再開できます。
この方式のいいところは2つあります。1つは、常にオフラインで利用できる点です。建物内で電波が弱かったり、自然あふれる圏外にいたとしても、ローカルのノートならすぐに追加・編集できます。もちろん、クラウドにデータを保管するアプリでも、電波が通じるまで編集履歴を溜めておき、通信状態が改善したらすぐに送信するような仕組みで同様の体験が生み出せます。しかし、あくまで一時的でイレギュラーな状態であり、常用するためのものではありません。
2つ目は、サービスとクラウドストレージが疎結合である点です。同期すべきノート群を全てファイルで表現することで、 まともな APIを提供しているクラウドストレージなら簡単に同期できます。Joplinなら、実装されている同期先が非常に多いのも魅力的です。当然、同期しなかったからといってアプリが使いにくくなることもありません。
ローカルファーストのアプリで同期機能を使う場合、気になるのはコンフリクト(同じノートに対する編集の衝突)ですね。Joplinでは、複数の端末で同じノートを編集した場合、同期のタイミングで専用のノートブック(フォルダ)に待避されます。必要に応じて変更をマージしてもう一度同期すれば、どちらの変更も失うことはありません。Gitのコンフリクトと似ています。
一応言っておくと、Joplinは複数人で同じノートを編集するためのツールではありません。Gitに例えるとみんなが一斉にmainブランチを触る状態なので、たくさんコンフリクトが起きてしまいます。多くの人が同じドキュメントを編集したり、書いたドキュメントをそのまま公開したい場合は、Notionのようなサービスを使うことになるでしょう。
クラウドストレージにノート群を同期する場合、クラウドストレージ側の検閲もかなり気になりますね。クラウドストレージの検閲可能性については、#27でも触れました。Joplinでは、同期の際にノート群を暗号化できる機能が標準搭載されているので心配いりません。他のデバイスから同期に参加する場合は、クラウドストレージの選択後に同じマスターパスワードを設定するだけでうまく動作します。
ここまで、ローカルファーストの特徴や安全性の面からJoplinの利点について挙げました。もちろん、ノートアプリとしての機能自体にも多くの利点があります。
今のところ、プラグインの数はそんなに多くありませんが、用途によっては便利なものがたくさん揃っています。複数のノートをタブで開ける(通常はアクティブなノートしか表示できません)Note Tabsというプラグインはけっこう便利です。
最近は、このあまねけ!ニュースレターの文章やあまねけ!の原稿を1記事1ノートで保存して、昔の言及を引用したい場合に検索できるようにしています。
みなさんも、Joplinで快適・安全・素敵な執筆ライフを送ってみてはいかがでしょうか。
あまねけ!Webサーバーのこと
あまねけ!のリソースを埋め込んだWebサーバーの配布を始めました。Webサーバーというと大仰ですが、中身はgo:embedでファイルを埋め込んでhttp.FileServerで配信するGo言語製の(ロジックが)小さなプログラムです。
A portable HTTP server (cross-platform or Docker image) embedded with all the resources of ama.ne.jp. - amanejp-portable/main.go at master · amane-katagiri/amanejp-portable
このWebサーバーは、お好きなプラットフォームでDockerイメージから起動するか、または各プラットフォームの実行ファイルを直接起動して利用できます。
- Dockerイメージ: Docker Hub: amane/amanejp
- 各プラットフォームの実行ファイル: GitHub: amane-katagiri/amanejp-portable
各プラットフォーム向けのビルドは、GitHub Actions上のGoReleaserでササッとやっていますが、Releasesにアップロードしないならこんな感じのスクリプトを書いてもかまいません。
実行ファイルが70MB程度あるのは、もちろんサイト全体のリソースを埋め込んでいるからです。さらに言えば、画像や動画を含んでいるのでどうしてもこのサイズになってしまいます。記事に掲載するメディアを格納する /images/
は現在60MB程度あり、今後(特に取材や体験談の)記事が増えればさらに膨れてしまうでしょう。
あらゆるメディアファイルを取り除いた 軽量版 なら、リソース部分は5MB程度(HTML・CSSファイル、一部のテキストファイルのみ)に抑えられます。絵文字やロゴなどのわずかなメディアファイルを加えても8MB程度です。軽量版を使うことに意味があるかは微妙ですが、場合によっては役立つことがあるかもしれません。
アマネイメージズ
今回はありません。