数年ぶりにKotlinプログラミング。自社サーバにDockerでMariaDBを立てたりして作る。

※当ブログでは商品・サービスのリンク先にプロモーションを含みます。

ものすごく久しぶりにIntelliJ IDEA Community Editionなんかインストールしたりして、Kotlinでコードを書いてみた。

ほんと、こんなにプログラムを書いたのは何年ぶりだろう?

IntelliJ IDEA Kotlin

その昔、20年くらい前にはJavaを書いていたし、その後もちょくちょくプログラムは書いていたんだけど、もうめっきり書くことはなくなっていたのに。

数年ぶりってことは数年前にもそういうことしてたのを思い出す。

今回、作ってみたのは、その当時作りかけてやめたアプリだった。

もう何年も塩漬けにしていたんだけど、なんか急にひらめいちゃって、「ああ、これならいけるかも」と思って書いてみたのだった。

このアプリでやりたかったことは、会社を経営している中でずっと悩んできたもので、ずっとGoogleスプレッドシートで管理してきたものなんだけど、ずっと悩んできたが故に思いつくことがあって、何だかコーディングなどはじめてしまったわけだ。

ひとまずGUIを作るのは諦めて、データベースにデータを直書きしておき、そのデータを読み込んで、計算して、またデータベースに書き込むプログラムとした。

データベースにDBeaverで接続すればひとまずGUIとして使えそうじゃん?というのがひらめきポイントだった。え?あれはGUIじゃないって?いいんだよ、初期データが書き込めて、計算したデータが表で見れるんだから。きっと使えるはず。

DBeaver

なお、データベースは、社内サーバ (ミニPCにLinuxをインストールして作ったもの)でDockerが動いているので、その上に作った。MariaDBを動かしている。こういうときに実験用サーバがあると便利である。思いつきで環境が作れる。

当時頓挫したのは、こういう環境がなかったというのが大きい。まあ、欲張ってあれこれやろうとしたってのもあるんだろうけど。

久しぶりすぎてKotlinの文法とか思いだしながら書いてたし、ExposedというKotlinのDBフレームワークの書き方にお作法があるからその辺も思い出しながら、追加で調べつつ作っていった。

メインロジックのアルゴリズムはそんなに難しいものじゃなかったけど、なにせ久しぶりにプログラムで表現しようとするから、なかなか書き方がわからない。Googleスプレッドシートには実現しているんだから、理解しているものなんだけど。もどかしい。

と四苦八苦しながらも、1日もすればだいたいやろうと思っていたことは一通り実装できた気がする。

GitHubにレポジトリを作ってプッシュしておいたし、これでソースコードの保全もバッチリだ。

たまにこうやってプログラムを書いてみると、何かを作るのって楽しいものだなぁ、という感覚を思い出す。

そのうちGUIも作ることにするか、あるいはKtorなんかを使ってWebで操作できるようにするか。夢は膨らむばかりである。

それはそれとして、実務に耐えられるかが重要なので、このまま数ヶ月使ってみるつもりだ。おかしなところがあれば改修して、使えるものに育てていこう。

パソコン

Posted by junchan