ロゴ ロゴ

最近の個人活動

ご無沙汰しております

電算副部長になったとうふさんです.

ここ最近の個人活動について紹介します.

偽WordPress作り

正確にはヘッドレスコンテンツ管理システムを作っていました.

どういうものかというと, WordPressなどのCMSはホームページに表示される内容とブログ管理のためのバックエンドがモノリシックな構造になっています.

一方でヘッドレスなCMSはブログ管理するためのバックエンドのみが提供され, ホームページに表示される内容は別に実装する必要があり, 連携をREST APIやGraphQLで行います.

こうすることで, 開発を垂直に分割することができ, 効率的なページ作成が可能です.

私が作ったCMSは

  • コンテンツの型をユーザーがセットアップ後に設定(後から変更可能)
  • ロールによるユーザーの権限管理

といったシステムを持っています.

詳細はこちらでご覧ください.

Google Cloud Platform の利用

初めてGCPを利用しました.

GCPのCloudRunという, CaaS(Container as a Service)を利用しました.

PORTという環境変数でWebアプリを起動するアプリを書いて, Dockerfileを書いてGithubにおいておき, GCPの設定画面でポチポチするだけで超簡単にWebアプリをデプロイすることができます.

偽WordPressのデプロイもCloudRunに行いました.

CloudRunは一定の時間アクセスがないとシャットダウンされてしまい, 再度起動するまでに時間がかかるのですが, 一定時間ごとにアクセスするCloudScheduleを組み合わせて利用することでシャットダウンを防いでいます.

現在の使い方で月40円ぐらいで維持できており, エンドポイントもHTTPS化されているため, とてもお得で簡単に使える超便利なサービスです.

画像加工Discordボット

自作したボットが参加しているチャットに画像と, マークダウン形式の文字を投げます.(この場合は”感想”の部分が太文字になります)

するとこのようにBOTから返信があって

画像が返信されます.

このボットが行うのは,
– 画像サイズの加工(700×700にリサイズ)
– JPG/PNG から WebPへの圧縮
– チャット文が存在する場合はマークダウン形式に変換して, 画像に埋め込む

という機能があります.

このボットは:
言語: JavaScirpt(Node.js)
ライブラリ:
– Discord.js (Discordボット用のライブラリ)
– marked (マークダウン文書をHTMLに変換するライブラリ)
– sharp (JPG/PNGをWebPに圧縮するライブラリ)
– node-fetch (Discordにアップされた画像をダウンロードするためのライブラリ)
– Puppeteer (Chromeをリモートで扱うライブラリ, マークダウンをHTMLにし, さらに貼られた画像と合成してスクリーンショットをとるために使用)
で書かれており, デプロイはHerokuにしました(甘え)

終わり

まだ1か月あるので精進します.

コメント入力

関連サイト