はじめまして!25年度新卒の西川優一郎です。今回は、学生時代に課外活動や趣味開発で活用していたメモツールについて、置いていた環境を含めて紹介したいと思います。
お休みの日にメモ、取ってますか...!
「この前の休日に話していたあのOSSの名前、なんだったかな…?」
「○○の作業をする際、以前はどうやって進めていたんだっけ…?」
「スーパーに来たけど、買うものを忘れた...」
誰しもこんな経験を1度はしたことがあるのではないでしょうか。もしこのような瞬間にメモを取っておくと、後で役立つことが多いですよね。
でも、クローズドなブログやwikiを用意するのは面倒だし、SNSの非公開アカウントへメモるのは避けたい!と思われる同志も多いはず。そこで、短文を気軽にメモれてデータの取り回しが気軽な、オープンソースの usememos/memos をご紹介します!
usememos/memosとは

memosは、自前の環境でtwitterライクにメモを取れる・共有できる、オープンソースのwebサービスです。シンプルなUIとmarkdown記法で、簡単にメモを取ることができます。また、Go言語で書かれており、Dockerが動く環境であればどこでも使うことができます。
書いたメモは、メモ内のテキストやハッシュタグで検索できる他、URLやチェックリスト、コードブロック付きの投稿のみ表示するフィルター機能もあります。
また、同じmemosサーバで複数のユーザを登録でき、投稿時の設定で共有範囲を指定することもできます(※公開/限定公開/非公開)。上手く活用することで、マイクロブログのような運用も可能です。
ホスティングにはmemosコンテナのほかにデータベースを用意する必要があり、SQLite、MySQL、PostgreSQL、Cloudflare R2などから選んで動かすことができます。memosコンテナ自体は非常に軽量ですし、数人までの使用であればSQL側もさして負荷がかからないため、SQLとコンテナ実行環境が抱き合わせで無料なfly.ioやAzure Container App + Cloudflare R2などを使うと簡単にデプロイできます。
memosでメモってみよう
操作感はtwitterに似ており、画面上部のテキストボックスに書いてCtrl + Enterでメモることができます。
メモはmarkdownで書くことができるほか、画像やコード等の添付・ドラッグアンドドロップも利用できます。
左側のサイドパネルでは、メモした内容を日付・メモった内容(チェックリスト付きか・画像付きか・コード付きか etc.)・ハッシュタグで振り返ることができます。勉強会の名前や主題の技術の名前を付けておくと、あとから見返しやすいです。


さらに活用しよう
memosの最大の利点は、そのカスタマイズ性の高さです。
Oauth2.0による認証やAPI、webhook、カスタムjs・cssの組み込みが簡単にできるので、普段のメモり方に合わせて自在にカスタマイズが可能です。
特に、webhookとカスタムjsを利用して、X (旧twitter)への同時投稿をするのがおすすめです。


終わりに
いかがでしたか?
グループで使うwikiツールには多くの選択肢がある一方、自分限定のメモツールはそこまで選択肢がないように感じています。
是非、memosでメモって良い技術ライフを送りましょう!