12/23(月) 睡眠時間7時間45分 7,097歩
朝は目覚めがいいし、電車でも本を読もうと「人生の短さについて」というセネカの本を読み始める。
大変偏見ではあるのだが、この人が現代にいたら「友達はいらない、人間強度が下がるから」とか言いそうだなぁ。
やったこと
昨日の日記
昨晩はハルヒを読み、ブルーライトを浴びないためにもそのまま眠りに落ちることを選んだ。となれば、昨日の日記は今日に早く起きて書き上げるしかない!
いつもより1時間半ほど早く起き、寝ぼけながら朝食をつまんで頭を起こす。出発の準備開始時間まであと1時間ちょい。このタイミングを逃すと夜まで抱えることになるため、当社比1.05倍の速度で手を動かして書いていた。思考速度がもっと早くなりたい…!
まぁ大方の予想通り、開始時間では終わらずずれ込んのだが、着替えながら考え、荷物を準備しながら言葉をまとめ、鞄をぶら下げながら机に向かい、なんとか出発3分前にチェック完了。
エンターキーへと指を振り下ろし、”公開する”ボタンをクリック。完了が見るや否や、PC落として脱兎のごとく玄関外へと飛び出た。今日は1日が長そうだ!
仕事
今日の仕事はコーディングと来月の計画立て。しっかり7時間以上寝て、かつ日記も書き終わっている無敵の頭ならコーディングはとても楽しい。金曜日に書いた無駄なコードをどんどん削除し、綺麗に動くものへと書き直していた。
午後は来年のスケジュール立て。見て見ぬふりをしていた仕事のスケジュールを立てていた。
作業過程を書いて、場所ごとに必要だから×数セット…と機械的に増やすと、これ本当に業務の片手間で出来るの…? という膨大なチェックリストが出来上がった。健康診断の問診票じゃないんだ、1チェックに1時間はかかるんだよぉ!
来年も楽しくなりそう。仕事があるってありがたいなー( ˘ω˘ )
歓迎会
今日は新しく入った方々の歓迎会。パスタが美味しい店で、アヒージョとサラダを頬張りつつ、話に花が咲く。
『お姉さまと巨人』の6巻にて、雛子お姉さまは『同性だけですと際限なくだらしなくなりますからね』という話が出ていたけど、そうだと思う。
今日は身内に女性の目が無いからか、上の毛ムダ毛という”毛”のお悩みについて特に盛り上がっていた。1on1で話すことではないが、みんなはどうなのか気になるテーマ…なのかもしれない。無くなりそうな毛を必死に守り続けていたり、「坊主が似合う頭の人はいいなぁ」という話だったり、脱毛サロンが潰れた話をしたり。
同性のみではありな話題…なのかなぁ?
新しい人はそれなりにネット初期からいた方なのか、同じく古戦場の戦士と話が盛り上がっていた。私も掲示板文化には片足浸かったぐらいのつもりだったが、”zipでくれ”、”なのは完売”という言葉は全くの初耳で、分からず首をかしげる。ジェネレーションギャップをよく感じる飲み会でもあった。
艦これが11周年になっているような時代だもんなぁ…。時の経過が早すぎる。
なっとく! 関数型
2次会は颯爽と辞退し、まっすぐ家へと帰宅。開きたかったなっとく! 関数型を一週間ぶりに手を付けることが出来た。
今日は関数から返された関数を、おなじみの組み込み関数に引数として渡す話。劇中劇中劇みたいな言葉が出てきた。
言葉で読んでも全く理解できず、とりあえず練習問題に進んでみたがやっぱりわからない。手が動かず答えの1問目を見て…ちょっと分かった。
これまでの書き方は、組み込み関数に関数を入れて使うだけの入れ子構造だった。
List("scala", "java", "TypeScript").filter(w => len(w) > 4)
この書き方だと、文字数を数えるlen関数を毎回入れ子として書いてあげる必要がある。
しかし、関数を返せる関数を取り入れた場合、こう書くことが出来る。
List("scala", "java", "TypeScript").filter(wordSizeMoreThan(4))
上のコードでは、文字数が4以上かどうかチェックするために関数を書いていたのだが、下の場合では新しい関数を引数に渡すだけで良い。関数が、文字数をチェックする関数を返してくれるからである。
現実で例えるなら…切符を駅員さんがチェックする仕事を、電子改札機に変えて内部でチェックするようになったと言えるかもしれない。隠したけど、やっていることは同じ。
改札を増やす時に新しい駅員さんへ細かく教え直す必要はなく、電子改札機を増やすだけでいいというのは結構便利じゃないかな?
すごく分かった風に書いているが、「ねぇ簡単でしょう?」なんて口が裂けても言えない。1時間前と2時間前の私が殴りに来るに違いない。
問題解くまでは理解が進まず酒のせいにしていたが、手を動かして書いてみればなんとなく分かる。そしてページをめくると…、また分からない概念が出てきた。
明日の自分に任せる!
ちなみに、今の話のコード。Scala3.4.2でコンパイルは通った。
def len(word: String): Int = word.size def wordSizeMoreThan(n: Int): String => Boolean = word => word.size > n List("scala", "java", "TypeScript").filter(w => len(w) > 4) // List(scala, TypeScript) List("scala", "java", "TypeScript").filter(wordSizeMoreThan(4)) // List(scala, TypeScript)
ごはん
朝食:鰹丼
昼食:(外食)焼肉定食
夕食:飲み会料理
朝は早起きできたため、家でご飯を食べる余裕まである。昨日生姜と醤油に漬けたものの食べられなかった鰹を食べて労働への活を入れた。