もうすぐ年末年始休暇も折り返しに差し掛かるので軽く振り返ってみる。
作っていたウェブアプリをJavascriptからTypeScriptに移行した。
自分はこのウェブアプリに関して『自分の死んだ後も変わらず動作し続け、後世の奇特な人が気が向いたらメンテ出来る』ことを目指しているので、できるだけフレームワークなどは利用せずpureなJavascriptで実装していた。最初はjqueryを使っていたが廃止し、bootstrapも使っていたが廃止し、Vue.jsで作り直したものも本番投入せず廃棄した。他のウェブアプリで新しい技術を試すことはあっても、このウェブアプリだけは徹底的に保守的なスタンスを貫いてきた。でもここ数年の流れから言って、TypeScriptなら将来的にも大丈夫かな、と思えて来たので、満を持してのTypeScript化。
イベントの実行順序などで多少苦戦したものの、それ以外は大きな問題もなくTypescriptで再構築することができた。
あーやっぱり型があると良いね。画面制御と描画処理が今まで1つのモジュールでやっててそれを何とか解消したかったんだけど、型が入ることでそのリファクタリングを安全に行うことができた。描画周りが分離できたんで、そこだけvueなりreactなりに再挑戦するのもアリかもしれない。どっぷりフレームワークに浸かるのは避けたいけど、部分導入だけなら後で捨てるのも容易になる。捨てるのが簡単ならちょっとくらい試しても良いかもしれない。
Google App Engineで動作している自分のサイトをPythonからGoに移行した。
サーバーサイドではほとんど何もやっていないので別にPythonで不便はなかったんだけど、インスタンスの起動がGoの方が早いらしいので、Goに移行することにした。起動が早ければ待機させるインスタンスの数を抑えられるので、費用の低減を図れる。Goで作り直すと言ってもほとんどが静的なhtml。手作りbootstrapからhugoに移行して、サーバーじゃないとできない最低限の処理をGoで書き直し。素人感丸出しのサイトが、hugoのテーマのお陰でそれなりに見栄えのするものになった。