DPCデータの分析とかやるブログ

DPCデータの分析なんかをテキトーにやってます。

DPCチェッカー書き直しました

github.com

えーと、今回は64bit版のみのリリースになります。32bi版も追って公開したいな、と思ってますが、ビルドが面倒なもので…(汗

また、ダッシュボード機能は一度取り下げることにしました。
今度はもうちょっと面白いグラフになるようにしたいですね。

で、何をやったのか

完全な書き直しです。
Python版の頃から一貫して、「ローカルでウェブサイトを立ち上げ、それを見る」というアレな設計でしたが、いい加減止めました。
それに伴い、内部のコードは8割方(ひょっとすると、もっと)書き換えてます。中身はほぼ別物です。

こんなことをした理由

幾らなんでも、ローカルでサーバー立ち上げるようなアプリはねーよ、と思いました(遅い
また、今までの実装があまりにもいじり辛く、機能追加も修正も面倒で気が進まないという欠陥がありました。
今回はそれを打破すべく、かなり後付でいじりやすくなっています。
オレオレ版を作りたい、という方はどうぞフォークして作って下さい。

実装よもやま話

SPA

今回、フロントエンドは全てVue.jsで書き直し、SPAにしています。 SPAはシングルページアプリケーションの略で、んーと、単一のindex.htmlをjavascriptがゴニョゴニョやって、あたかも複数のページを移動しているかのごとく振る舞うものです。
10年前にウェブサイトを作った頃は、リンクを踏むと別なhtmlに飛んでましたが、今はjavascriptがhtmlを作るのです!なんという進歩でしょう!(白目

.......正直、絶対近寄りたくないと思ってた分野であります。

……が、えー、Electronでアプリを書くに当たり、色んな記事を読みましたところ、どれもSPAで書くことを前提にしてますね(苦笑
無駄な抵抗を色々やりましたが、結局諦めてSPAを書くことにしました。
例えやりたくない方法でも、何のガイドもない方法を選ぶよりは遥かにマシです。

Vue.js

Vue.jsについては以前ちらっと記事で触れたかも知れません。
データを元に、動的にリストを作成したり、ボタンクリックだの入力だのの操作とデータの接続をよしなにしてくれたり、とっても便利なライブラリです。
まあ、Reactでもいいのですが、私はJSXを見て心が折れました……
そもそも私、病院の事務職で、フロントエンドエンジニアじゃないしー……

Vuetify

VuetifyはVue.jsのライブラリで、お手軽にGoogleっぽいデザインのサイトを作れます。
以前はMaterial Design Liteでゴリゴリ手書きしてましたが、もう疲れました…
<button>タグの変わりに<v-btn>タグを使う、たったそれだけのことで、見れるボタンの出来上がりです!お手軽!