バックエンド技術の学習と個人システム開発の魅力
仕事のサボり癖がいかにも具合が悪い。サボり癖をなんとかするためにこのようなシステムまで開発しているのだが、相変わらずサボりの虫が治らないようである。
ひとまず、サボり癖をどうにかするためにはその日のうちでちゃんとやるべきノルマをしっかりと決めておくことであるとか、次にやるべきタスクを粒度を細かくして達成感を上げるなどの工夫が必要なのであろう。こういう仕事術に関するやり方についてもネットから色々と情報収集を行なっており、こちらの中から良さそうなやつをtry & errorしてみるなどの工夫が必要だろう。
仕事術に関しては知識ばかりを集めても、ノウハウコレクターになってしまうだけでかえって逆効果になることも多いんだよね。方法を見つけたのならば、その方法をどのように自分の生活の中で取り入れていくかのアレンジであり、そこで新しい方法を取り入れたことで得られた経験こそが重要だったりする。人がやってる方法が全て自分に合う訳でもないので、その中から自分なりの方法を編み出していくことが必要であるよ。
ひとまず僕のマイブームとしては、この手のカイゼンツールを自分の手でシステム開発しちゃうことである。Scrapboxでライフログをつけるための「ScrapDiary」などを開発してるけど、最近はVue.jsを勉強してるのでその技術を使って自分用のシステムを何か作りたいなと思った。
ちょっと仕事術とは離れるのだけど、このブログ「超メモ帳」のアーカイブが読みにくくてどうにかならないのか? というのは昔から悩んでいた。僕のブログは毎日更新を続けていて3000記事以上はエントリーがあるのだけど、それを時系列順で読もうと思っても、はてなブログのarchiveページというのは使いにくくて、自分でも必要な記事が見つけにくくてうんざりしてる。
はてなブログのarchiveページというのは非常に使いづらい。最新記事のリンクからとんでもページングで10記事程度のリストを表示して、それを次のページへのリンクで辿っていく感じであり、深い階層の過去記事というのは必然的に埋もれることになる。
これはちょっとブログの最新記事をちょろっと読みたいビジターであれば良いのかもしれないけど、ブログを書いてる作者の僕自身が過去記事を辿るときに使いにくいのである。無限スクロールで表示しろとまでは言わないけど、せめて全記事を一つのページで羅列してるような画面があると自分の記事を振り返りやすいのだけど、そういう機能ははてなブログにはない。
まー、はてなブログはWebAPIを提供していて、プログラミングができる人なら全データを抜き出したりとかスクリプトを使って更新処理などをすることができるようになってある。はてなブログ公式で自分の記事が確認しやすい機能を提供してないというのなら、自分で作ればいいのだろう。
最近僕はWeb開発のフロントエンドが勉強したいなと思っており、Vue.jsなどを勉強している。僕も過去にはWeb開発を色々とやってたんだけど本当に大昔で、最近のSPA(シングルページアプリケーション)のWeb開発をちゃんと勉強したいなーと思ってたのである。
はてなブログから機械的に全データを抜き出してさくらインターネットのMySQLサーバに保存する処理というのは以前に開発してあって、そちらは記事上部の記事要約システムや記事下についてるランダムアクセスシステムで使われている。夜中にはてなブログのWebAPIにアクセスして、その日の記事本文を抜き出して、ChatGPTのAPIで要約するなどのシステムがバックエンドで動いてるのである。
こちらのMySQLの中には記事のURLであるとか基本情報も格納してあるので、それをnode.jsのExpress.jsでGraphQLにして出力して、それをフロントエンドでVue.jsを使ってSPAを作って、無限スクロールやキーワードでの絞り込み、スターの数での人気順並び替えなどをできるarchiveページを作ったらかっこよくね? と思ったのである。
僕は前々からGraphQLとかも勉強したいとは思ってたんだよね。バックエンド技術も学んでおけば、アプリ開発でも個人システムを作るのに有利であるし、将来的にフリーランスで働く時にも有利になってくるだろう。
しばらくは個人の趣味の時間でも、そんな風に技術を使って色々と自分のために必要なシステム開発をやっていこうと思った。プログラマ職は死ぬまで勉強であるし、勉強した内容を実践で使うとさらに学習が強化される。そこんところの勝手システムの開発は趣味と実益を兼ねている。