0510
疲れた。今日はあまりコードは書けなかった。打ち合わせに出たりした。そういえば受託開発だから社外との打ち合わせがけっこうあるんだよね。
夜は事業部の交流会に出た。昔もいた人、昔はいなかった人、それぞれとすこし話した。エンジニアはあまり来てなかった気がする。たぶんプロジェクトが忙しいのだろう。
しかし、こうも人数が増えていると覚えられるか心配だ。10人くらいが限界な感覚がある。うーん。
寝ます。
疲れた。今日はあまりコードは書けなかった。打ち合わせに出たりした。そういえば受託開発だから社外との打ち合わせがけっこうあるんだよね。
夜は事業部の交流会に出た。昔もいた人、昔はいなかった人、それぞれとすこし話した。エンジニアはあまり来てなかった気がする。たぶんプロジェクトが忙しいのだろう。
しかし、こうも人数が増えていると覚えられるか心配だ。10人くらいが限界な感覚がある。うーん。
寝ます。
3連勤ともなると疲れが見えてくる、が、これが5連勤できるようにならないといけないのである。
仕事はのろのろと進む。まだ不慣れなことが多い(IDEのキーバインドとか)が、機能実装のPRを出すところまでできた。Detektのカスタムルールを書こうと思ったが、思ったより面倒だったので保留にした。
エンジニアチームの人とすこし話した。なんかなかなか人とのふれあいがなくて寂しい。まあ来週くらいまでには各セクションに順次紹介されに行くはずなので大丈夫かな。まだ3日目なのだし、そんなもんであろう。前職の時はもっとホットな感じだった気がするけど、人数少なかったし、エンジニアは半分くらい同期入社だったしな。
夜は地図に取り組んだ。QGIS向けのスタイルファイルを見つけることができたので、とりあえずかなりいい感じの地図を出せるようになった。あとはバスのルートをどう描き込むか……。QGISが重すぎるのもなんとかならないものだろうかね。
寝ます。明日は夜に事業部のオンライン交流会があるので、交流を期待したい。
社会復帰、二日目。
手許で開発サーバーを起動させるところまではこぎ着けたので、開発タスクに着手していきつつある。小さいPRも出した。.env.sampleを直しただけだけど。
まだチームメンバーとの交流は限られているので、ふわふわと落ちつかない気持ち。明日は事業部全体会もあるし、そろそろ話していけるんじゃないだろうか。
地図は、d3.jsでもなかなか難しかったので、QGISを使っていろいろいじっている。どうにか川と道路を描画することはできたが、満足いくものではまだまだない。明日もがんばるか……。
寝ます。仕事すると疲れるね、やっぱ。
社会復帰ーーーーー!!!!
そういうわけで新しい(以前の)職場に復帰しました。知ってる人も大勢いるけど知らない人も大勢いるので思ったほど古巣感ない。制度もいろいろ変わってしまったし。そのいくらかはあまり嬉しくはない。
とりあえずオリエンテーションを受けて、触ることになるコードを読んだりした。SpringBootの予習をしておいてよかったが、結局手許では動かなかった。明日相談する。
入って早々慌ただしいところに投入されそうで、しばらくは落ち着いて環境を整えるみたいなことがしづらそうだけど、まあやっていくしかない。
ところで興味本位でDocker Desktopのかわりにcolimaを試してみたけど、testcontainersと相性が悪そうだったから諦めて素直にDocker Desktopを入れた。いずれ有料化することになるだろう。
夜はMapnikと格闘して敗北した。なんか、これみんなちゃんと使えているの?だれも使ってないからこんな沼なのでは?という気持ち。しかし調べているうちに別にMapnikを使わなくてもgeojsonからd3.jsでSVGが出せそうだとわかったので、その路線を模索したい。妻からのさっさと納品しろという圧力が強いので、一旦何かしらの成果物を見せておきたい……。
寝ます。明日は会社の沿革?について説明を受けるらしいんだけど、僕ほぼ知ってるし何なら主役だったんだよなあという気持ち。
KotlinでSpringBootを触るのの続きをやった。一応テストも一通り体験したので、連休中にやっておきたかったことは達成かなと思う。いや他にもいろいろやりたかったけど。趣味とか。
無職期間は何連休だったのか数えてみたら、110連休だった。正確には一日だけ働いたけど。いまは早く仕事を始めたい気持ちだが、たぶん一週間もすればそういう気持ちではなくなっているだろう。貴重とも言える。
夜は、近所のバスマップを作ろうと思ってOpenStreetMapを物色していたが、ちょっとデータが足りていない感じだった。じゃあcontributeすればいいというのはそうなんだけど。行政が公開しているバス路線図って著作権で保護されてないから、OSMの情報源にしてもいい、んだよな?わからん。わからん時はそっと諦めるのが丸い、というのがこういうタイプの問題の常である。それもなあ。
寝ます。明日は何時に出勤すればいいのかまだよくわかっていない。
昼ごろに起きて、何してたっけ。そうだ、assertThatの型シグネチャのことを調べてたんだ。AssertJは追ってないが、AssertKについては理解できた。assertThatが生成するAssert<T>は、Tについて共変になっていて、つまりAssert<Any>のサブクラスでもあるため、Assert<Any>.isEqualToがいつでも呼べてしまう(のでどんな引数でもとれる)ということらしい。これに触れているissueもあるが、Assertが共変だと嬉しいことはたくさんあるので、今のところはこの仕様は変わらなさそうだ。まじか。まあ事態が理解できてよかった。
あとちょっと調べごとのついでにCloudflare Workersを触った。なんかポチポチしてたらデプロイできてすげー。今日から我が家も、エッヂコンピューティングだな!
「ゴジラ-1.0」をアマプラで観た。まあなんか、まあまあ面白かったけど、まあまあくらいだなと思った。そもそも怪獣映画というものはそんなものなのかもしれない。
艦これをプレイしたことがあるために、響とか雪風がここに来ているのは戦争を生き延びたからなんだなあみたいなことを思った。響だよ。
寝ます。三ヶ月にわたる無職が燃え尽きていく。もしかするとこんなに何もすることがない日々は何十年かないかもしれない。その割には何もなかったが。
昼ごろに起きて担々麺を食べに行く。ちょっと遠いのでついでの用事がある時しか行けないが、おいしいのでたまに行く。
午後はKotlinを書いていた。なんか、気づかないふりをしていたけど、これは、Javaだ。
AssertJのassertThat(actual).isEqualTo(expected)が、型が一致してなくても問題なくテスト実行されて(もちろん落ちるのだが)、なんでかなと思っている。ジェネリクスはどうなった?それともテストコードだからナメられてんのかな?
寝るよう
昼に起きてケバブを食べた。実はあんまり食べたことなかったんだけど、おいしかった。しかも安いし。
その後は買いものしたりなんだりした。無印でジップロック(みたいなやつ)をまとめ買いして、家にある余ったケーブル類を一つずつ収納した。こうすることでケーブルが好き勝手に絡まり合うこともないし、整理しやすくなった。もっと上手い方法はあるかもしれないが、とりあえずは満足。謎にHDMIケーブルが5本くらい見つかったので、3本くらい捨てた。
今日もちょっとKotlinを書いた。Web上で見つけたハンズオン資料を追っているのだけど、出てくるコーディングスタイルがKotlin(もしくはSpring)界隈の常識なのか著者の癖なのかみたいなのがたまによくわからなくなる。まあ、でもそういうのはあとで考えればいいや。とりあえずは何らかの型を身につけていこう。
昔と比べるとずいぶん頭がボンヤリしてしまったなと感じる。まあこれはビールをたくさん飲んだからかもしれない。
夜は餃子を焼いた。ちょっと遠くのスーパーで手に入る分厚い皮を使うとかなり旨いものができる。
そういえば昨日書いたListとMutableListの話だけども、これは直接的にJavaとの互換性の産物というわけでもないらしい。というかよく知らなかったけどJavaにおいてはListとMutableListはインターフェイスなのね。なので、この分類が関係あるのかないのかは調べないとわからない。
改めて考えると、Swiftがそうしたように値型として配列を考えるなら、確かに可変性は構文論的な問題にしておきたいが、狭い意味でのリストはあんまり値型っぽくはないし、それだとむしろ意味論的に扱う方がすっきりしているのかもしれない。よくわからないなと思った。
というかいま調べたけどArrayはArrayであるのか。そしてArrayは常に可変であるらしい。えっなにそれ。もうちょっと真面目に入門書を一冊読んだ方がいいかもしれないな……。
昨夜は夜更かししてしまったので今日はのんびり。何をしてたかな。ミルズ定数の無理数性についてのblogを読んだ。ミルズの定理自体がかなりキモいというか、こんなん成り立つのやばくね?って感じだった。グリーン・タオの定理とかもそうだけど、なんか素数の中に秩序があるのはやばいな(まあグリーン・タオの定理は素数性がどう効いてるのかよく知らないけど。素数じゃない別の何かでも似たような定理はあるのかもしれない)。
あとサーバーサイドKotlinをすこし学んだ。IntelliJ IDEAのことがもう嫌いになってきた。なんか重いし、手動でキャッシュをクリアしないとimportの解決が覚束ない?まあそれは今がプロジェクトの初期でいろんな依存性を追加する時期だから問題になるだけで、軌道に乗ったら関係ないかもしれないけれど。あと、Xcodeも大概イマイチだった気もするな。やっぱVSCodeしか勝たんのか?
Gradleってやつもあまり気に入らない。なんかゴツすぎない?依存関係管理とタスクランナーだけなのに?まあそのゴツさに支えられる柔軟性が必要になる日も来るのだろうか。ううむ。
Kotlin自身については、なんかJavaの残り香がけっこうするなあという気持ち。ListとMutableListなんかが象徴的だと思った。これ、可変性がval/varのシンタクスで表現されてる中でここだけクラスというセマンティクスの話になってるように見えて気持ちが悪いのだけど、Javaとの相互運用性でこうなってるのだろうか(違うかもしれないけど)。
一方、SwiftはObjCのNSArrayとNSMutableArrayをArray構造体に置き換えることを選んで、それは多分かなりの豪腕を要求するものだったろうし、開発者も(直接これがという話ではないけど)いろいろと地獄を見たが、結果としては一貫性を保つことができたと思う。それはまあ、ObjCなんて実質Apple界隈でしか使われてなかったからこそ可能になったのであって、Javaで同じことはできないのかもしれない。
寝ます。この四連休が終わったら仕事だ。
書類上は今日から入社なので、本格的に貸与MacBookの環境構築をした。8割くらいはできたと思う。しかし、まだ何をやるのか決まっていないので、これ以上は相談してから決めることになるだろう。
とりあえずはサーバーサイドKotlinに入門してみることにした。ZedやVSCodeで開発できないかと思ったが、結局IntelliJ IDEAでやるのが現実的であるらしい。ちょっとテンションが下がる。いや、別にでっかいIDEが嫌いというわけではないんだけど、なんか昔からJetBrainsのIDEに馴染めないんだよね。Xcodeは嫌いじゃないんだけど。
Kotlinは、まだほとんど書いてないけど、JUnit?があんまり型安全じゃない?気がしていていまいちだな〜と思っている。まあテストコードだし比較的どうでもいいのかもしれないけど。あと普通に別のフレームワークが主流だったりするかもしれない。
今日はそれくらいかな。明日はKotlin書くぞ。