プログラミング漫遊記

思ったことや、勉強したことをつらつらと。

5月のふりかえり。毎日6000歩編。

学習と生活の記録。いわゆる日記。

先月はこちら。

haruguchi-yuma.hatenablog.com

5月は大きなイベント(RubyKaigi)などがあって、前後で結構行動が違うかも。

おしごと

RubyKaigi前後で変わらずやってるのはコードを書くこと(それはそう)。 Template Method パターンで設計したコードをリファクタリングする作業をしていてレビューを通して勉強になることがたくさんあった気がする。たとえば、メソッド呼び出しで何度も同じデータを生成しているときはインスタンス変数でメモ化するだとか、知ってはいるけど自分が実践的にできてないようなことが補強されたイメージ。

あとは、リファクタリングするときテストのありがたさを(改めて)実感した。細かくテストを回しながらクラスの構造を変えていく。ふとした時にテストが落ちる。大体はしょうもないミスなんだけど、それに気づくのって結構難しい気がしていて、テストがあるとおおよその当たりがつく。デバッグのスピードが上がって、安心してリファクタリングを進めることができる。

どれも頭では理解していたけど、身に染みた。

RubyKaigi前はスポンサー業をしていた。あと、仕事でちょっとしょうもないやらかし(事務的なこと)をしてへこんでいたりした。

RubyKaigi後はプロジェクトのメンバーの入れ替わりがあったりして、寂しかったり。

日常

  • RubyKaigi 2023に参加した
  • ジムに行って筋肉を育て始めた(再開)
  • 毎日6000歩目標に歩いた
  • サボテンが赤い花を咲かせた
  • るりま初コントリビュート
  • 毒展にいった
  • 勢いでTOEICに申し込んだ
  • 大阪Ruby会議のstaffに応募した
  • Kyoto.rb, Kokura.rbなどに参加
  • 晩御飯は大体サラダ食べてた
  • スプラトゥーンが新シーズンになる前にS+まで上げておいた
  • ハイラル城は入城していない
  • 道でおじいさんを助けた

RubyKaigiについてはこの記事にいろいろ書いた。

haruguchi-yuma.hatenablog.com

道でおじいさんを助けた

家の前で散歩をしていたらおじいさんが「警察署に行きたいんですけど」と尋ねてきた。 僕の家から警察署までは歩いて1時間くらいかかる。てんで方向が違っているので一緒に歩いて連れて行ってあげることにした。

一緒に歩きながら話を聞いているとおじいさんは朝、警察署から落とし物があって取りに来てほしいとの連絡が入って、京都から自転車で滋賀まで来たらしい 。なんと20kmくらい。汗だくになりながらナビも持たずに来ていたので不憫に思い一緒に行くことにした。警察署の前で別れて僕は家まで帰ったのだけど、おじいさんは無事家に着いたのだろうか。

毎日6000歩

健康のため最近毎日6000歩を目標に歩いている。大体合計1時間くらい。 朝昼夕方のうち30分 ✖️ 2セットくらい

上述のように散歩に出かけると高確率で誰かに話しかけられる。

毒展とTeamLabのボタニカルガーデンに行った。

大阪の長居でやっていたのでふらっと遊びに行った。 思ってたよりもいろんなものが毒だった。

www.dokuten.jp

学習

今月は書籍をあまり読み進められなかった。原因としてはRubyKaigiやそのアフターイベント的なものにたくさん参加していて夜の学習時間が短かったことが挙げられる。でも、まぁそれはそれで良いと思っている。本を読み切ることがゴールではないので。

4月から引き続き読んでいる書籍は以下の通り

  • 研鑽Rubyプログラミング (β final)
  • プログラミングの基礎

『研鑽Rubyプログラミング』に関しては II部まで読み進めた。

パフォーマンスチューニングするときは推測するな、計測せよ(意訳)という言葉が染みた。

『プログラミングの基礎』は土日だけ読み進めているので亀の歩みで進んでいる。

出てきた再帰関数を全てRubyで書き直してみたり、しているのでこれまた時間がかかっている。まだ半分いってない。 ただ、お陰で再帰関数に親しみを持てた。

新しく読み始めた本もちらほら

はじめて学ぶオートマトンと言語理論

RubyKaigi に参加して、ReDos攻撃の話はパーサーの話に興味を持った。とっかかりとしてどちらもオートマトンの話があるように思ったので、勉強している。 まだ、前半部分だけどオートマトンの例が具体的でわかりやすいと感じた。おそらく厳密な説明用りもイメージしやすさを優先していて、物足りない人もいるのかもしれないが、初学者の自分にとってはちょうどいい粒度で書かれていて嬉しい(今のところは)。

今は「空動作をもつ非決定性有限オートマトン」を「非決定性有限オートマトン」に変換し、それを今度は「決定性有限オートマトン」に変換するというのをやっている。あとは有限性オートマトンの等価性とは何か?みたいなやつ。これが結構数学っぽくて面白い。大学の授業を思い出す。

サバイバルTypeScript(Web)

TSを最近書いてないのでリハビリがてらに読んでいる。ちょっと前まではまだ執筆されていないセクションが多いなぁと思っていたのに、いつの間にかどんどん増えていって充実している。参考文献なんかも豊富なのでリンク辿って行って学習しようと思う。

AtCoder

5月からまたコンテストに参加し始めた。 頑張って今年中に緑を目指す。今はC問題茶diffの過去問埋めを頑張っていて1日1~3問解いているのでざっくり見積もって50~60問ほどは解いたと思う。

直近5回のコンテストは4/5でCまで解けているので一定の成果が出てるのではないだろうか。

ただ過去問を解いた感じだと解説見ずに解けるのは5割りという感じなので安定して8割を目指したい。

英語学習

6月末人生初のにTOEICを受けるので簡単な文法書と単語帳で学習している。といってもあんまり時間は取れておらず、1日ちょっとずつやってる感じ。本格的に学習するのはテスト受けた後に分析してからにしようと思うが、そもそもTOEICってどんな形式のテストなのか?そんなことから知らないので調べておきたい。

6月に向けて

5月はTypeScriptかLinuxについてやっていきたい気持ち。 あとはRubyKaigi楽しむ。

と先月は言っていた。Linuxまで行けてないので6月中に手を出せるといいなぁと思う。 あとは散歩の歩数をどんどん上げていきたい!!