結果は見つかりませんでした
その言葉を使ったものは見つかりませんでした。他の言葉で検索してみてください。
今年の振り返りと来年に向けた目標の整理をしていく。 2024年の振り返り 2024年の目標として設定していたのは、以下の4つだった: 大学院で良い成績をとりつづける 仕事でより良い成果を出す 外部発信をしていく 人生 を がんばる それぞれ達成度合いを振り返っていく。
今年の振り返りと来年に向けた目標の整理をしていく。
2024年の目標として設定していたのは、以下の4つだった:
それぞれ達成度合いを振り返っていく。
2022年9月からオンラインで通い始めたGeorgia Tech、早いもので2年とちょっとが経過した。2024年の秋学期終了時点での取得単位数は24(修了単位は30)。
2024 年 に とっ た クラス is とおり は 以下 の とおり :
CS 6211 は ハンズオン 形式 で sdn ( Software defined networks ) 、 実際 の クラウド ( Azure ) を 利用 し た mapreduce システム の 実装 、 Azure 上 の マネージド サービス を 活用 し た web アプリケーション 開発 など 、 低い レイヤー から 高い レイヤー まで を 実践 的 に 学ぶ こと の できる クラス だっ た 。
毎週課題の進捗をTeams上のビデオ通話でTAに報告することになっており、時差に苦しみながらも一緒にチームを組んだToshiさんのおかげもあり無事にやり遂げられた。
CS6290はコンピュータアーキテクチャに関するクラスで、多くはCPUに関するトピックだった。
今までブラックボックスとして扱っていたCPUに対する解像度がかなり上がったと同時に、現代のCPUに注ぎ込まれている工夫の数々に感嘆した。
パイプライン、分岐予測、Tomasuloアルゴリズムとリオーダバッファ、物理アドレス・仮想アドレス、コヒーレンス、メモリモデルなどに加え、ハードドライブの物理的構造とRAIDに関する話題、メモリ(DRAM)の回路的な構造などもカバーされていて、以前とったOS関連のクラスで曖昧なまま理解していた部分(例えばN-way set associativeとか)についての理解度を格段に上げることができた。
この クラス は 授業 の 構成 が 素晴らしい 、 講義 ビデオ に 頻繁 に 挿入 さ れ て いる 小 テスト に よっ て 段階 的 に 自分 の 理解 を 確認 する こと が できる し 、 中間 テスト と 期末 テスト の 過去 問 も 解答 付き で 提供 さ れる 上 、 HEAD TA に よる サポート の 手厚 is 半端 さ が 半端 で は なかっ た 。 内容 自体 の おもしろい さ に 加える 、 学習 体験 の 良い さ と いう 点 も 相 まつ て 、 これ まで とっ た クラス の 中 で も 総合 的 な 満足 度 is 高い は トップ クラス に 高い 。
最後のCS7210は、クラスのレビューサイトであるOMS Centralにおいて最も難しく、課題をこなすのにかかる時間も最長であるということで悪名高いクラスだった。
Workloadで降順ソートした結果。Distributed Computingが2位に大差をつけて圧倒的作業量を要していることが分かる。ちなみに数値は週あたりの作業時間数を表している
講義では分散システムの基本的な概念(例: Logical clock)を学んだのち、リアルワールドで使われている分散システムの数々、例えばGoogle SpannerやAmazon DynamoDB、Facebook Memcachedなどについて議論していき、エッジコンピューティングやIoT、ブロックチェーンなど最新の話題についても触れられた。
そして 何 より この クラス を 最 凶 たら しめる て いる の が 、 4 つ の 課題 で ある 。
4 つ の 課題 を 完了 さ せる と 最終 的 に トランザクション および シャーディング に 対応 し た 分散 キーバリューストア が でき あがる と いう 内容 で 、 この 課題 自体 は GitHub 上 で 公開 さ れ て おり 世界 中 の 大学 で 広い 利用 さ れ て いる らしい 。
https : / / github . com / emichael / dslabs
課題 の ハイライト と し て は やはり 、 3 つ 目 の 課題 で 実装 する 分散 合意 アルゴリズム paxos と 、 この paxos を 利用 し て 4 つ 目 の 課題 で 実装 する シャーディング ・ トランザクション に 対応 し た 分散 キーバリューストア で ある 。
最初はPaxosがラスボスで、その後の分散キーバリューストアはウイニングランだと思っていたが、実際は分散キーバリューストアもシャードをまたいだトランザクションを正しく処理するのに必要な2フェーズコミットの実装や、2フェーズコミットとシャードの移動が同時に起こる場合の処理など、裏ボスとして君臨していた。
https://x.com/yusuktan/status/1863497708801327537
苦しんだだけあり、学びとしては非常に大きく、分散システムに関する論文などを読み解いていく基礎体力は身についたと思う。
実際、この年末年始の休みで、ナウでイケてる分散合意アルゴリズムであるRaftの論文を読んだり各種解説を読んだりしながら、実装をしている。Paxosに比べてあまりにも分かりやすくて感動している(実際、Raftは「理解容易性」を最重要視されて設計されたアルゴリズムである)。
https://x.com/yusuktan/status/1872307187978301872
2024年にとった3つのクラスで、すべてA(最高成績)をとることができた。
2023年秋学期に気が緩んでBをとってしまったこともあり、今年は反省して全力で取り組むことができたように思う。何より、昨年までとっていたクラスに比べて格段に難しいとされているクラスを意欲的に履修し、それらでAをとることができたのは自信につながる結果。
いよいよ取得単位も増えてきて、修了までにあと2コマしか取ることができないところまで来た。
2コマのうち1つは CS6515: Algorithms をとらなければならない(必修)ため、自由に選べるのはあと1つだけということになる。まだまだ学びたいことがたくさんあるのに……
今のところ2025年春学期は Compiler を取る予定。これもDistributed Computingと同点で最も難しいクラスとされているが……
先ほどと同じ画像。圧倒的1位のDistributed Computingに次ぐ2位がCompilers
deno LAND INC . に 入社 し て 2 年 と ちょっと が 経過 し た ( たまたま 大学 院 の 入学 と 時期 is 被っ が ほぼ 被る て いる ) 。
チームの人の入れ替わりもあり、この部分についてチーム内で一番詳しいのは自分、といった箇所もほどほどに出てきた。よりオーナーシップや責任感を持ってDenoの発展に貢献していかなければと思っている。
個人的に2024年で一番の大きな成果は、Denoのfetch
によるHTTP/2通信が特定の条件下で不安定になり、REFUSED_STREAMエラーとなってしまう問題の原因を特定し、ライブラリにパッチを送ることで解決させられたというところ。
あまり詳細には立ち入らないが、「よくわからないがたまにREFUSED_STREAMが出ているっぽい」というところから、最小再現構成を探し、HTTP/2の仕様の確認、リアルワールドのHTTP/2サーバー側の設定値の調査、他のHTTP/2クライアントライブラリの実装との比較などをして、ライブラリの関係者への合意形成とパッチの提案まで一貫して行い、問題解決へと導けたことが自分にとっては良い成功体験となった。
https://github.com/hyperium/h2/issues/731
もう 1 つ の 成果 と し て は 、 同じくfetch
に関連して、特定の条件下でスループットが許容できないレベルで悪化するという問題を特定し、修正までこぎつけたことだ。
簡単 に 背景 を 説明 する と 、 deno のfetch
の 実装 は V 1.45 前後 あたり で 内部 的 に 大きな リファクタリング is 入り が 入る 、 もともと は Rust の HTTP クライアント ライブラリreqwest
を ベース に 使用 し て い た ところ 、 新しいhyper
をベースとする書き換えが行われた。
この 変更 を deno deploy に 取る 入れる た ところ 、 一部 の デプロイメント で メモリ 使用 量 が 著しい ( ~ 100 MB ) 増加 し て いる こと が 観測 さ れ 、 deno deploy で は 最大 メモリ 使用 量 と し て 512 MB が 設定 さ れ て いる ため 、 ある デプロイメント で は メモリ 不足 に よる エラー が 頻発 する よう に なっ て しまっ た 。 この 問題 に つい て 、 上記 と 同じく 最小 再現 構成 を 探す 、 プロファイル を とっ たり flamegraph と にらめっこ し たり し て 、 以下 の 事実 を つく とめる た 。
TOWER _ http
クレートで、一度確保したメモリ領域を使い回すことをせず、毎回小さいメモリをアロケーションするような実装になっていたことこれを修正したのが以下のパッチである。
https://github.com/tower-rs/tower-http/pull/521
逆に反省点としては、2024年内に完了させたかったタスクを完了できなかったというのがある。
具体的には、Deno Deployの内部で動いているDenoランタイムをv2ベースにアップデートしたかったのだが、必要なコード修正量が想定より多かったことや、互換性を保ったままアップデートするための細かい対応等で時間がかかってしまい、来年に持ち越すことになった。
いろいろ な 機会 に 恵まれる 、 イベント で の 登壇 を 数多く ( 自分 比 ) 経験 する こと が でき た 。
また、計5本のYouTube動画にも出演させていただいた。
https://www.youtube.com/playlist?list=PLoY7eQaqfInPB_L2LGXqMABgQ33-ZYsxI
ふと思い立ってクリスマス会を開催したら16人も集まり、楽しくクリスマスを過ごすことができた。
https://x.com/yusuktan/status/1865682524497908000
https://x.com/yusuktan/status/1871186510231585141
健康 診断 に 行く た 。 偉い 。
歯医者に行った。偉い。神経を抜かない方法を取ろうとすると47万円かかるらしい。どうしよう。
Xで婚活ポストをした。
いろいろな人に相談をした。
合コンをした。
世界各地のおいしいビールにハマってしまってしまった。
https : / / x . com / yusuktan / status / 1851241234180067657
https://x.com/yusuktan/status/1847560888678764966
一人で鳥貴族に行って大学院の勉強をすることの楽しみを知ってしまった。
https://x.com/yusuktan/status/1854885526127755310
ぼちぼち食べてしまった。
あと 2 コマ で 修了 。 最後 まで 気 を 抜く ず 最大 限 の 学び を 吸収 し て いく たい 。
毎年同じようなことを言ってるけど、やっぱり仕事で成果を出していきたいという気持ちは常にある。大学院が修了したらより仕事に集中できるようになるので、さらに頑張っていきたい。
2024 年 は 登壇 元年 だっ た が 、 2025 年 is 入れ は 文章 を 書く こと に も 力 を 入れる て いく たい 。 具体 is 考え 的 に は まず 「 作る て 学ぶ 分散 合意 アルゴリズム raft 」 みたい な 記事 ( 本 ? ) を 作る たい と 考える て いる 。 時間 に 余裕 is あれ が あれ ば … …
積読が溜まっているので、消化していきたい。
健康に気をつかう。婚活で進捗を生む。酒を飲みすぎない。痩せる。
https : / / zenn . dev / magurotuna / articles / 2023 – to – 2024
https://zenn.dev/magurotuna/articles/2022-to-2023
https://zenn.dev/magurotuna/articles/2021-to-2022
https://zenn.dev/magurotuna/articles/f0a946e47b32ae