motacaplaのめう

日頃得られた知見と気付きをdumpするところ

2024年の雑感

今年の振り返り

書かなくてもいいかなって思っていたんですが、今年も簡単に振り返ろうと思います。もはや毎年年末にブログを更新するだけの人になってますね。

仕事

2月頃からマネージャー(EM)としての活動が主になり、設計やコードレビューをすることはあれど、業務でコードを書くこと自体が減りました。 評価・1on1といったピープルマネジメント、徐々にメンバーが増える組織体制への思考投資などに加えて、いくつかのプロジェクトのPjMとして方針の意思決定をしたりしていました。 活動はいくつかありましたが、取りわけ外部に公開出来る活動で比重を占めていたものは以下です: topics.cybozu.co.jp

今年は上記のプロジェクトをメンバー集めて開始するところから、機能開発、そして機能のβ版提供の準備まで活動を進めることが出来ました。プロジェクトに参加してくれたメンバーには感謝しきれないです。

LLMを使ったプロダクト開発自体が社としてもあまり前例がなく、技術的なキャッチアップから楽しく進めることができました。 今年一年で数多くのLLMがOpenAIやAnthropic、AmazonGoogleなどから発表されていて、競争が激化しているなという印象です。 周辺のライブラリやフレームワークも全然調べきれていなかったので、ざっくりまとめました。 zenn.dev

今年は初めてAWS re:Inventに現地参加させていただいて、セッションに参加したりブースに立っている人と話したりして情報を集める機会もありました。これで2年連続でラスベガスへ出張しにいった人になりました。

Keynote

趣味

旅行

国内の記憶は殆どないですが、春に妹の結婚式に行ったり、熱海に行ったりしてました。 海外だと秋に韓国へ旅行しました。 ソウル市内の観光スポット巡って、美味しいご飯を食べまくってました。맛있어요!

ビビンバ
お酒
ユッケとテナガダコ

ポーカー

韓国旅行ついでにウォーカーヒルとインスパイアで1-3を遊んでいるときに、同級生と13年ぶりの再開を果たしました。これが今年一番ビックリしました。

殆ど遊べませんでしたが、re:Inventに参加した時も1-3とちょっとだけ2-5を遊びました。 結果は両方足しても27時間程度で、+$10/h (+3bb/h) ほどでした。去年よりは控えめでしたね。 シーザーズ・パレスにいたリンパーおじいちゃん達は一体どこへ消えたのか。

2024年収支グラフ

2-5も全然戦えるのが分かって良かったです。ラスベガスは1-3でも頻繁にストラドルが入るので、あまり差はないですね。

ウィンのバフェ
🦀

競馬AI

中央競馬

1-4月までは順調でしたが、5,6月は回収率100%下回るなど成績が悪かったです。 原因となっている特徴量を想像して除外した上で、改めて作成したモデルを7月から様子見しつつ、12月まで静観していました。 2024年のマスターズでは結果が振るいませんでしたが、6ヶ月の期間で見ると順調に推移していそうなので、来年からまた楽しみです。 年末年始の休暇中にまたアイディアがいくつか出てきたので、検証しつつ有用なものを取り込んでいこうと思っています。

地方競馬

中央が落ち着いたタイミングで、地方競馬にも挑戦しています。 こちらも試行錯誤を繰り返しつつ、安定運用に向けて開発を進めています。 楽天ポイント分でも回転出来ると嬉しいですね。

ばんえいも挑戦してますが、ゲーム性が異なりすぎて中々難しいです。自分のモデルだと1着確率の推定モデルですら精度が低すぎて話にならないので、根本的に何か足りてない気がしてます。障害レースもですが、そもそも論として学習データが少ない問題があるので、augmentationしたいんだけどな~って思って何もやってないです。何かいいやり方あればこっそり教えて下さい。

資産形成

S&P 500に資産ほぼオールインしてるので、恩恵に与れました。 家族分含めて、最速で新NISAの枠埋めれるよう頑張りたいです。

最後に

健康診断がいよいよヤバいので、ジムに通い始めました。 健康に気をつけて頑張っていこうと思うので、来年も宜しくお願いします!

2023年の雑感

今年の振り返り

相変わらず記事の投稿は継続できていませんでしたが、2023年について振り返ろうと思います。

今年もあと数日で終わってしまいます。年々早くなっているように感じます。

変わったこと

今年の春に入籍しました。

仕事

特段何か新しいことをやった訳でもなく、今年もレガシーコードを書き換えたり、機能追加したり、依存関係を整理したりしていました。 チームメンバの人数が増えたこともあり、業務としては昨年よりもピープルマネジメントの比重が増えました。 なので、主に雑用をやる人になってます。

他には部署横断プロジェクトのリードをやったりしてました。 プロジェクトでは、顧客からのエスカレーションを開発側に通達する業務フローの運用改善をしてました。 普段と違った仕事に携わるのは新鮮でした、円滑に進んだのが何よりでした。

あんまり書くことなかったので、趣味について書こうと思います。

趣味

ポーカー (2023.01 - 2023.06)

ポーカー (NLH) にハマりすぎて、ポーカーの勉強・研究をしていました。 読んだ・読もうとしてた書籍↓

最初はGTO Wizardを使っていたのですが、当時自分の簡易レンジ vs 任意レンジでの解を得る機能がありませんでした。 途中からはソルバーのGTO+を使って難しいスポットの勉強をしたり、レンジの構築を研究してました。

JOPTという日本のポーカーの大会があるのですが、そのトーナメントの一つで運良く結果を残すことができました。

本当に運が良かっただけで、実力はまだまだ50nl以上を打つ人には敵わないです。

秋にはラスベガス/バルセロナでキャッシュゲームを経験することが出来ました。 資金もそんなに無いので、$1-3/€1-3を打っていました。 ベガスでは頻繁にストラドルが入るので、実質的には$2-5になっていました。時間帯にもよると思うのですが、自分が稼働していた時間はそれ以上の卓が殆ど立っていなかったのも覚えています。

熱が完全に冷めたわけではないのですが、現状もう一方の趣味に時間を使っているため、最近は会社のポーカー部で遊ぶ程度になりました。勉強する時間も無くなりました。

来年機会があればMIXゲームを始めたいです! オマハの本も途中まで読んでる最中だったので、一先ずそれを読み切って基礎を身につけるところからですね。

競馬AI (2023.07 - )

春競馬が終わった段階で、競馬AIの開発にまた戻ってきました。 自分の性格上、一度辞めた趣味に何度も戻ってくることは珍しいです。StarCraft 2以外でそんな状況になったことはないです。

特徴量の数を増やしたり、バグを直したり、リークを直したり、モデルの作成方法を変えたり、等などモデルのバージョンもv5 -> v6 -> ... -> v7_7 と継続して更新し続けています。

また、秋から冬にかけては、競馬AIコンペに出場しました。 ここで他の開発者と競い合うことがモチベになりました。上位陣のAIにはまだまだ敵いませんでしたが、大変刺激になりました! tikeda-meu.hatenablog.com

未だに改善は続けています、安定した成績まであともうちょっとという感じです。 モデルの適正な評価が難しいと常々感じています。

robustな妙味を永遠に探してます。

出張・旅行

今年は色んな場所へ行きました。

国内だと、鹿児島・福井・広島・大阪に訪れました。 国外だと、アメリカ(ラスベガス)、スペイン(バルセロナマドリード)に訪れました。

あと大西洋を横断したら、地球一周できてました。

スペインは特に良かったです。食事◎景色◎値段◎でした。

アメリカは物価が高すぎて、日本から持ち込んだカップ麺を主食にしてました。 シーザーズパレスのバフェが有名で、そこで豪華なランチを食べてきました。

それにしても、チップスはあんなに安いのにクッキーは高いの何でなんだろう

めちゃくちゃ韓国行きたいです。日本以外のアジアの国行ったこと無いので、次はきっと韓国です。

今年はそんな感じです、来年はさらなる飛躍の年にしたいです。 また来年もよろしくお願いします。

AI競馬予想マスターズ2023に参加しました

netkeiba主催のAI競馬予想マスターズ2023という大会に参加しました! yoso.sp.netkeiba.com

競馬AIを作っている人々が集まって、競い合う大会です。 予選1, 2を通過した参加者が集められ、各予選で稼いだ金額を元手に本戦で競い合うというルールでした。 詳しいルールは以下のページに記載されています。 AI競馬予想マスターズ2023 | 大会ルール | netkeiba.com

予選では運がよく、本戦には4位で出場できました。が、本戦では結果を残せず終いでした。 残念な結果に終わってしまいましたが、得られたものは大きかったと自分は思っています!

↓ハナ差で本戦3位を逃す(負け惜しみ)

他の参加者の買い目を見て自分の学習モデルでは購入できない馬券があることを知り、これがきっかけとなって計算式に間違いを見つけました。 モデルの特徴量を増やしたり、リークを直したりと、開催期間中はモデルの精度改善に尽力していました。ここまで精力的に活動するのは、こういったコンペという形式で急かされなければ難しかったと思います。ソロ開発なら尚更です。

また、以前からドメイン知識も十分でないと感じていたので、大会期間中の空き時間で本を数冊買って読んだりしました。

こういう血統の本とか https://www.amazon.co.jp/%E7%94%B0%E7%AB%AF%E5%88%B0%E3%83%BB%E5%8A%A0%E8%97%A4%E6%A0%84%E3%81%AE%E7%A8%AE%E7%89%A1%E9%A6%AC%E4%BA%8B%E5%85%B8-2022-2023-%E7%94%B0%E7%AB%AF-%E5%88%B0/dp/4801490689/ref=sr_1_13?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=85MB37SH91RZ&keywords=%E7%A8%AE%E7%89%A1%E9%A6%AC%E8%BE%9E%E5%85%B8&qid=1703586135&sprefix=%E7%A8%AE%E7%89%A1%E9%A6%AC%E6%99%82%E7%82%B9%2Caps%2C192&sr=8-13

本やネットで情報を集めている中で、異なるアプローチでのモデル/買い目構築を思いつきました。 早速新しいモデルの作成まで進めていて、現在は実戦経験を積んでいる最中です。 (せっかくであれば本戦でも試せればと思いましたが、間に合いませんでした。)

シミュレーション上は良いパフォーマンスを見せてくれているのですが、確定後オッズしか利用できていないので、実戦では若干の乖離があると予想しています。そしてリークや過学習してないかが怖い。

2022年までで学習/検証、2023年でテスト: たくさん単勝買えそう

数年単位で確認して設計していて、そこそこ堅牢な特徴量を予想の材料に使ってくれているはずです。 新モデルがうまく行って、気が向いたら別記事を書こうかなと思います。

こんな素敵なコンペを開催してくださったnetkeibaの運営の方々に感謝です。 また来年以降も開催されれば、ぜひ参加します!

競馬における期待値 (EV) と資産 (BR) あたりの掛け金の考察

投資において、資産 (BR) の何%をリスクに掛けるかは非常に重要な問題である。 この割合を間違えると破産しかねるし、逆に複利をうまく活かしきれないことにもなりかねない。 どちらも損失である。

競馬の馬券購入にも同じ考えが当てはまる。今回は単勝複勝の簡単な実験を行った。

両馬券の的中に関して完全に独立事象とし、それぞれの的中率は単勝15%、複勝30%とした。

def hit(th):
    return random.random() < th

def try_tansyo():
    return hit(0.15)

def try_fukusyo():
    return hit(0.30)

1レースあたり、半ケリー基準で配分した数量でそれぞれ単勝複勝を購入する。 当たったときにはそれぞれ単勝は10倍、複勝は5倍の払い戻しとする。

まずは単勝のみ購入し続けた場合、

EV: 1.5 の単勝を買い続けるシミュレーション

続いて複勝のみ購入し続けた場合、

EV: 1.5 の複勝を買い続けるシミュレーション

と、それぞれ期待値通りの右肩上がりのグラフになる。

一方で単複の両方を購入し続けた場合、

EV: 1.5の単勝複勝を買い続けるシミュレーション

意外な結果に驚くかもしれないが、右肩上がりにならない世界が生まれる。 半ケリー基準で両馬券を毎レース購入すると、BRが金額に耐えられず伸びない。 実は、半ケリー基準ですら全然安全ではない。

試しに 1/4ケリー基準で購入金額を落としてシミュレーションしてみると、

1/4 ケリー基準で単勝複勝を買い続けるシミュレーション
綺麗な右肩上がりになる。 上振れを引いた場合には、片方だけを買い続けるよりも良い収支になっている。

今回の実験から、多くの種類の券種を購入する場合には金額配分に気をつけましょうという結論です。

2022年の雑感

今年の振り返り

今年も特にブログを書いてなかったので、1年越しの投稿となりました。皆様、いかがお過ごしでしょうか。 去年と比べ、働く環境が変わったり趣味が増えたりと激動の1年だったように思います。

仕事

4月から現職のサイボウズでWebエンジニアとしてkintoneの開発に携わっています。 前職だとフロントエンドのソースコードを触ることは無かったのですが、現職からはバックエンド(Java)・フロントエンド(Closure Library, React.js)両方とも触ってるような状況になりました。

developers.google.com

基本的にはチームでモブプロをして活動していて、機能開発や改善、性能検証、調査などの業務をこなしています。 チーム活動外にも改善系プロジェクトがいくつも立っており、そういった活動に参加することも可能です。 自分も二つの改善系プロジェクトに参画していて、その内の一つにはかなり力を入れて開発していました。 他にやっていたこととして、メンター業や採用活動にも可能な限り協力していました。

環境が変わった時に頑張らなければいけないことの一つに、そのプロダクトのソースコードドメイン知識のキャッチアップがあると思います。 チームでの活動がモブプロが主体になっていること、ドキュメントや教材が充実しているところもあり、オンボーディングの環境がかなり整っていると感じました。

秋頃から機能単位で切ったフューチャーチームで開発する体制に切り替わり、新しいチームでの活動も始まりました。 現体制がいつまで続くかはまだ分からないですが、来年以降もまずは業務をこなせるようなチームにしていければと思っています。

趣味

エッジを追い駆ける - OASOBI

釣り

GWや秋に離島・五島列島への釣り旅行を計画していましたが、台風直撃でキャンセルになって行けずじまいでした。 コルトスナイパーの5本継ぎモデル欲しいな〜って思っていたら、コルトスナイパー XR MB S100MH-5 がマジで出たので即買いました。 まだ入魂できてないので、来年はヒラマサを釣りたいです。あと、今年の秋もカワハギ釣りに行きました。

競馬

一口馬主の方は、なんと出資したグランベルナデットちゃんが1勝上げてくれました! db.netkeiba.com 新馬戦後、手術と療養期間があってそこからの復帰戦でしたが、かなり強い勝ち方で後続をぶっちぎったので来年以降も楽しみです。 クラシックも視野に入れていて、オークス桜花賞あたり賞金を加算したら出ようと思っているというコメントがあって、出走が叶ったら応援しに行きたいです。

馬券の方は、今年初めてエッジを見つけ、消失し、新たなエッジを探すことに没頭した一年でした。

2022年の回収率

某有名AIが予想公開を取りやめたことで、せっかくなので自作した競馬AIモデル(https://twitter.com/meumeu_ai)を使ったシミュレーションから実践投入まで取り組んでいました。趣味の中ではこれに一番力を入れていたと思います。 自分のモデルは厳密には1着確率を求めているものではないので、1着確率をより正しく求められるモデルを作りたいなと思ってます。 (現行モデルの成績もどこかでまとめようと思います。) 来年以降も中央競馬の精度も向上させたいですし、地方競馬対応も行いたいです。一人でやっていてもモチベ保てないので、一緒にモデル作ってくれる仲間探してます。

買い目の話でいうと、5分前オッズ (更には30秒前オッズまでも) が確定オッズとかなり乖離があることが分かり、そのギャップにかなり悩まされています。 Mambaの記事でも同様の現象が観測されていて、7.3%程落ち込むようでした。勿論この数値は券種やレース番号によっても差が出てくると思います。 dmv.nico 買い目を作る方法として、各買い目のエッジ (=確率*オッズ) を算出して期待値が閾値を超えたものを買うやり方がありますが、未確定オッズ情報から確定オッズが推定できないと、運用するのは難しいです。 他の方々がどう構築しているか是非お聞きしたいですが、可能なら買い目自体は確定前に得られる情報だけで構築できると良いと思っていて、あまりオッズや人気には依存させたくないです。

トレード

適当な銘柄のEDAをしたり、

github.com

信用取引口座を開設して、トレードの自動化を試みたりしました。 au株コム証券だと発注用のAPIがあるのでそちらを利用する形で実装はできましたが、肝心のポジションの取り方についてドメイン知識がないのもあり、あれもこれも手を出しても無理なので、ひとまず撤退しました。

公営競技AIと異なる点として、有識者による情報共有が (これらと比べると) 盛んで、例えば過去エッジがあった手法の共有や考え方、分析した結果などを公開されている方がいたりします。また時間があれば、知識つけてからエッジを探す旅に出たいと思っています。

ポーカー

きっかけはYoutubeで、ポーカーという競技に興味を持ちました。 自分が高校生ぐらいの頃からe-sportsプロがポーカープロに転向していくのを観測していて存在は知っていたのですが、日本でここまで流行ってるとは知らなかったので驚きました。

↓の書籍を読みつつ、解説動画や記事を参考にポーカーチェイスというオンラインゲームで遊んでます。オフラインだと渋谷のROOTSに遊びに行ったり、JOPTのサテライトのトナメに参加したりしました。 https://www.amazon.co.jp/%E3%82%A8%E3%83%89%E3%83%BB%E3%83%9F%E3%83%A9%E3%83%BC%E3%81%AE%E3%83%9D%E3%83%BC%E3%82%AB%E3%83%BC%E3%82%B9%E3%82%AF%E3%83%BC%E3%83%AB-%E2%94%80%E2%94%80%E3%83%A9%E3%82%A4%E3%83%96%E3%82%B2%E3%83%BC%E3%83%A0%E3%81%A7%E5%8B%9D%E3%81%A4-%E3%82%AB%E3%82%B8%E3%83%8E%E3%83%96%E3%83%83%E3%82%AF%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E3%82%A8%E3%83%89%E3%83%BB%E3%83%9F%E3%83%A9%E3%83%BC/dp/4775949179

暫定1位のスクショ、結果は6/648位でした。

まだまだ初心者なので、もっと勉強して来年は色々なトナメ出ようと思ってます。そして機会あれば、ラスベガスとかでキャッシュゲーム打ちたいなって気持ちです。

2021年の雑感

今年の振り返り

をしていこうと思いましたが、驚くことに、前回の記事から1年が経とうとしているようです。

今年も起こった出来事や仕事、趣味などについて、覚えている範囲で書き起こそうと思います。恐らく趣味ばっかりになると思います。

昨年たてた目標の振り返り

直近はJANOG47のイベントを成功させることと、仕事で直面している問題を考えたアプローチ解決すること、Kafkaのお勉強をして資料を作ること

達成しました

Rustを学び始めることをやっていきます。時間が出来たら、関数型言語のお勉強と競プロの問題解くのをしたいです。

達成できませんでした、もっと勉強しようね

来年の抱負

先に抱負から書こうと思います。

組織の体制が大幅に変わるので、それに順応しつつ日々の開発を安全に進めていきたいです。自分は10月から現チームのテックリードとなりましたが、新しいチームが発足したため半数以上のチームメンバが異動することとなります。

それと同時に、良いチームとは何か、良いチームを作るにはどうするべきか、を日々悶々と考えています。 自分が考える良いチームの定義の一つは、可能な限り全てのメンバが全ての業務を担えるような状況になれることです。立場上不可能なこともありますが、例えばできるかぎり情報を共有してチームとして意思決定するであるとか、特定の人だけが担っていた開発を他の人も担えるようにするとかを指します。

現状「特定のオペレーションはxxさんしか知らない」といったことが起こっているので、xxさんが何らかの理由でチームを離れることになった場合、破綻してしまいます。なので、こうしたナレッジを個々人でなくチームとして管理できるようになると、xxさんが担当でなくなってもナレッジはチームに残り続けるので移譲にはそれほど労力を割かなくて良いと考えます。

まだまだ何が良いチームなのかを手探りで考えながら過ごす日々が続くと思いますが、来年も障害など起こさずに開発に従事していければと思います。

あと、ブログは定期的に投稿するようにしたいですね。

1月~3月

この頃から毎週実施している週次リリースに向けたPRレビューや準備 (他サービスとの依存関係やリリース順序の確認、本番での検証、ロールバックプランとか) をメインで担当するようになりました。同時にメンバから上がってくる機能開発系や改善系のPRレビューであったり、様々なPJの自サービスの開発者として他チームと相談しながらハイレベルなデザインを決めてメンバにタスクをアサインすることを引き続き実施していました。当時のテックリードの助けもあり、本番環境で特に障害を起こすことなく運用できました。

ウマ娘プリティーダービーを遊んでいた頃でした。これがきっかけとなり競馬に興味を持ち始めます。

函館に旅行しました、食事も美味しいし観光楽しいしで良い旅になりました。

f:id:tikeda_meu:20211230230152j:plainf:id:tikeda_meu:20211230230145j:plainf:id:tikeda_meu:20211230230138j:plain
函館旅行

4月~6月

4, 5月ごろになると、釣り友達みんなで相模湾にLT五目釣りをしにいきました。茅ヶ崎の漁港は非常に活気があって、船長やお店の人も親切なのでとても楽しめました。2回目以降乗船する時には、既に顔を覚えられていたのがちょっと驚きでした。顔を覚えられていたりすると、また利用したくなりますね。

f:id:tikeda_meu:20211230222456j:plain:w200
LT五目釣りの釣果

あんまり覚えてないですが、伊豆大島にもこの辺で釣りに行ったと思います。大漁にエソとカンパチを釣って、カンパチだけ持って帰ってきました。

皐月賞あたりから競馬を始めました。競馬は過去データが豊富且つ整備されていおり、機械学習向けのコンテンツです。面白そうなので、着順を予想する競馬AIの開発に取り組みはじめました。

note.com

詳細は割愛しますが、シミュレーション上だと回収率がプラスになる買い方をリアルで検証してみたところ、シミュレーション通りの結果になりませんでした。恐らく利用している未来データが過去レースデータと比べて欠損が多かったり、何らかのリークが考えられますが、原因を探しているところです。

特徴量エンジニアリングするにはやはりドメイン知識をつけることが必要不可欠なので、ここから競馬の知識を仕入れることとなります。

7月~9月

仕事内容に関してはあまり変化はありませんでしたが、超忙しかったです。(絶望)

船釣りでジギングしにいきましたが、まさかの坊主をキメました。 去年の夏もジギングで坊主だった気がする..夏にジギング船に乗らないほうがいいのでは?

また別日では金沢八景でLTアジ午後船にのって、こちらは爆釣しました。

引っ越しをして、今は川崎に住んでいます。洗濯物が干しても乾かないので、ドラム式洗濯機を買いました。

f:id:tikeda_meu:20211230225050j:plain:w200
ドラム式洗濯機

10月~12月

10月から今のチームのテックリードとして働くことになりました。意思決定の裁量が増え、チームのマネジメントにも時間を割く必要がでてきます。移譲可能なタスクはチームメンバ達にどんどん任せ、自分は自分もしかできないことに時間を割くよう立ち回り始めました。

シルバーウィークは初めて鹿児島に訪れました。 桜島をふらっと観光してから、フェリーで屋久島に上陸しました。 自分は全然魚が釣れなくて信じられなかったのですが、友達らと12時間弱かけて屋久杉+太鼓岩を見る登山をやりました。筋肉痛が4日引かなかったので、この後地獄を見ることになります。

f:id:tikeda_meu:20211230225938p:plain:w250
YAMAP

鹿児島の芋焼酎はとても美味しかったですね、度数がめちゃ高かったですが

f:id:tikeda_meu:20211230224749j:plainf:id:tikeda_meu:20211230224757j:plainf:id:tikeda_meu:20211230224805j:plainf:id:tikeda_meu:20211230224813j:plainf:id:tikeda_meu:20211230224820j:plain
鹿児島-屋久

毎年恒例のカワハギ釣りにでかけ、今年は山下丸とみのすけ丸にお邪魔しました。爆釣して肝パンのカワハギを何枚も釣れたので、大満足でした。

f:id:tikeda_meu:20211230225204j:plain:w200
カワハギ

健康診断の結果が悪化してたので、体が運動を求めます。 散歩するモチベーションのためにドラクエウォークを始めました。始めてから4kgほど痩せたので、引き続きスキマ時間で散歩しまくる生活を続けていきます。

11月は初めて競馬場に訪れることとなりました。 東京競馬場ジャパンカップを生で見て、コントレイルの引退式にも参加できたのはとても思い出深いです。

f:id:tikeda_meu:20211230224935j:plainf:id:tikeda_meu:20211230224943j:plain
東京競馬場

オンラインでも度々レースを予想して勝って負けてを繰り返していましたが、ホープフルSで取り戻して今年は終いとなりました。 このレースは冷静じゃない賭け方してますが、キラーアビリティには自信がありました。

f:id:tikeda_meu:20211230220139p:plain
ホープフルSでの的中
この的中により今年の回収率は100%を超えて終えることができました。
f:id:tikeda_meu:20211230220235p:plain
競馬収支

並行して一口馬主を始めました。

自分が出資したのは2頭でラブリーベルナデット20とフォークロア20です。

banusy.dmm.com

今年のセリで非常に高い値段のついたキズナ産駒、日本で好走しているArrogate産駒はデータ的にも勝利割合が高いので、この2頭にしました。

自分が応募した名前が採用されてほしいなぁ

f:id:tikeda_meu:20211231000131p:plain

JANOG49に復活をとげたNETCONが開催されるようです。今年は自動採点を一部の問題に対して実施しようとしていて、その辺りの開発をやってます。うまくいくといいね

www.janog.gr.jp

2020年の雑感

今年の振り返り

をしようと年を越す1時間半前に思い立ったので、今年起こった出来事や仕事、趣味などについて、覚えている範囲で書き起こそうと思います。

f:id:tikeda_meu:20201231231432p:plain
2020 weed

1~3月

所属している会社で新規決済フローの開発に携わらせて頂いたりしていました。他には週ごとのリリースに応じた日常的な開発であったり、幾つかのリファクタリングのPRなど上げたりしていたと思います。 ちょうどこの頃に春以降のチームの体制が変わることを知り、不安もありましたが、頑張ろうという気持ちで日々過ごしていました。

群馬のイワナセンターに初めて釣りに行ったのがこの頃でした。めちゃめちゃ釣れますし、個体が大きいです。ここで釣れたトラウトのサーモンが美味しいので、この後も通うことになります (12月に続く)

4~6月

自分がコミットしているサービス(BFF)は元々Native app向けのサービスでしたが、クライアント多様化に伴い、アーキテクチャの見直しの必要に迫られました。 特にエラーハンドリング周りが複雑になることが予見されていたので、各クライアントごとに異なる表示要件を満たせるような仕組みを実装して、そちらに移行していく作業を全APIに対して行いました。具体的には新たに設けたfactory内でエラーコードやclient typeといったパラメータの組み合わせごとにクライアントに返すべきenumを予め決定し、その後でエラーレスポンスを作るという形になりました。現12月時点でAPIの数が250を超えているので、こうした作業を確実にこなすのは骨が折れましたが、特に問題もなくmigrationすることができました。 また、それとは別の話で、Native appが保持しているロジックを可能な限り自サービスに移すリファクタリングや週ごとの機能改善・開発などをこなしていました。このロジック移管は秋〜冬あたりまで長く続くものとなりました。 新しいメンバーがジョインして、チームの体制が少しずつ変わっていきます。

釣りに関してははっきりと覚えていませんが、伊豆諸島か横須賀沖のどちらかに居たはずです。 そして体重が徐々に増えていきます。

7~9月

新規機能の開発や既存機能の修正にコミットしていました。また上記のリファクタリングであったり、他サービスのAPIを新しいエンドポイントにmigrateするといった開発など取り組んでいました。諸事情で、この時作ったものでまだ世にリリースされていない機能があるので、来年はリリースされると嬉しいですね。 既存機能にがっつり修正を入れた場合に、機能がdegradeしていないことを保証することがとても難しいですが、徹底的にテストすることで僕は担保していました。 (実際にはYou're looking for a needle in a haystack.かもですね..) 新しいメンバーがジョインして、チームの体制が少しずつ変わっていきます。(2回目)

初めて神津島に上陸しました。カンパチのショゴが無限に釣れてヤバいじゃんこの島となりました。ワンチャン離島に住みたいです。 また、2週間で3回横須賀沖にいる実績を解除しました。在宅勤務なのに肌の色だけ黒い歪な人間として過ごす業を背負います。

あとTutterとかいうサービスを密かに作りました、これで魚拓を取ることが出来ます。 tutter.org

また、なぜか1~3月期と比べて体重が+5kgほどしました。

10~12月

コアな決済機能にがっつり修正を入れるプロジェクトや大型の新規機能開発のプロジェクト、日々の開発業務等が並列で走っていてめちゃ多忙でした。脳みそのコンテキストスイッチ上級者編です。 今年学んだことの一つとして、「このリファクタは後でやろう」は99%やれないと思います。特に忙しいと絶対無理です。なので新規機能であれば開発時に無理にでもmasterにマージできるよう持っていくほうが後々の改修コストを回収 (←ここ激ウマギャグ) できるのではないかと思い始めています。既存のものでも、チームで議論して、将来を見据えて今変えるべきであれば変えたほうがいいと思います。 年末は長い間やりたかったリファクタであったり、抱えている問題(外部API使うと1億円かかるから自前で何とかする)を解決するアイディアを検証するといったことに着手できて負債を少しは返済できたんじゃないかなと思います。 新しいメンバーがジョインして、チームの体制が少しずつ変わっていきます。(3回目)

お誘い頂いたのもあり、JANOG47に初参加することになりました。運営としてNETCON準備のためのサーバ開発(VMとか管理する用のAPIサーバ)に取り組んでいます。会社以外の人々と開発する機会はとても貴重ですし、ワイワイ作るのは楽しいので、参加してよかったと思います。 これらで忙殺されそうになっていたところをごちうさ3期とyoutubeに救われました。

この時期には二度目の神津島イワナセンターへの釣行、八丈島、そしてカワハギ釣りに行くことができました。特にカワハギ釣りは去年参加することができず、今年初参加でしたが、初めて一匹釣ったときは本当に嬉しかったです。

BMI指数が22.5(?)ぐらいになってしまったのでリングフィットアドベンチャーでダイエットを試みますが、仕事と諸々の作業や勉強のため断念します。体重は減りませんでしたが、体脂肪率が減ったため、ぽっこりお腹が少し解消されました。

来年の抱負

人生として好き勝手できる時間も限られていますので、来年はもっと勉強に身を入れていきたいです。 直近はJANOG47のイベントを成功させることと、仕事で直面している問題を考えたアプローチ解決すること、Kafkaのお勉強をして資料を作ること、Rustを学び始めることをやっていきます。時間が出来たら、関数型言語のお勉強と競プロの問題解くのをしたいです。