!doctitle{Study Time}$
!description{Bem130が2年間勉強時間の記録とビジュアライズに使っていたツールを作り直したもの}$
>>> !title{概要}$
私は2022年7月から勉強時間を毎日、教科毎に1分単位で記録していました
そして2023年4月に"試作"という名目でグラフを作るプログラムを書き、その後1年の間試作の筈だったプログラムを無秩序に拡張してきました
$
その結果誕生したモンスターのようなコードの塊を改善するため、互換性を保ったまま、グラフを作るコードを一から書き直して読みやすいプログラムにしました
またその時に、大量にあったグラフの生成の処理を共通化して、小さな関数の組み合わせや設定を変えることで、様々なグラフを生成できるように変更しました (前作ではグラフ毎にほぼ同じ関数を書いていた)
>>> !title{記法}$
!code[日付,教科[開始時刻~終了時刻|開始時刻~終了時刻\],教科[開始時刻~終了時刻\]]こんな感じです
日付の後ろに、教科と時刻の組を並べます これは!code[,]で区切ります
時刻は開始時刻と終了時刻を!code[~]で区切り、!code[|]を使って複数の勉強を一気に書けます
一気に書くことができますが、分けて書いても同じように扱うので問題ありません
>>> !title{今後の目標}$
全てのグラフをJSONによって扱えるようにします
今JavaScriptで書いてる関数の呼び出しを、全てJSONから変換します