ウィイイイイイッス!まぁ今日はー、バレンタイン当日ですけどもー、
チョコレートは…誰一人くれませんでした…
お久しぶりです。卒論発表も無事終わり、今日から自由の身になりました。今日は卒論解放記念日です。
ただ、春休みを何もせずにダラダラ過ごすのも嫌なので、今までの振り返りと今後の抱負でも書いていこうかと思います。
最近やったこと
卒論書いた
卒論テーマについては社外秘(室外秘?)なので言及しませんが、ひたすら卒論書いてました。ページ数にして56ページ、しかし学科のノルマが30ページなのでこの量は異常です。実装したものが多かったから説明内容が増えてしまったのか、単に文章をまとめるのが下手なのかは自分でもわかりません。
dptran の開発を進めた
去年の秋頃にちょっとだけ言及した、Rust 製の DeepL 翻訳の CLI ツールの開発をちょっとだけ進めました。バグ修正が主な実施内容です。
あと、以前はコマンドライン引数を自作パーサで受け取っていたんですが、そこそこ buggy だったので clap というコマンドライン引数解析用のクレートを導入しました。自動でヘルプ画面やバージョン情報画面を生成してくれるのでとても便利です。ちょっとオプションの指定方法の柔軟性に欠けるのが微妙な点ではありますが。
今月か来月あたりにリリース予定なので、その都度開発日記的なものを書いていきたいなと思います。
本読んだ
去年本を読まなすぎたので、図書館から色々借りてきました。
とりあえず今読んでいるのはこちらの本です。
「作って理解するOS x86系コンピュータを動かす理論と実装」
OS 自作本の一種ですが、みかん本や 30 日でできるといったメジャーな本は手を動かしながら覚えていくスタイルなのに対し、こちらは理論重視といった印象でした。
本の前半は計算機アーキテクチャから OS に至るまでの話がズラリと並んでいます。まずはコンピュータの基礎となるハードウェア、具体的には CPU の演算処理の仕組みやメモリ管理、外部記憶装置の仕組みといった OS 以外の部分の話から入り、そこから徐々に OS の役割を説明していく感じです。
話が詳しすぎて人によっては取っつきにくいかもしれませんが、これ一冊で OS だけでなく、論理演算、計算機アーキテクチャ、言語処理系などといったコンピュータサイエンスの各学問の概要的な部分が学べます。
後半から OS 自作に移ります。開発物はまさかのフルアセンブリ。難易度は高そうですが、ハードウェア的な側面からコンピュータの処理が学べると考えたら、教材としてはむしろいいのかもしれません。
まだ前半の半分くらいしか読んでいないので、読了できたら感想記事でも書きます。
今後の予定
本を読む
半年くらい積ん読してしまっていた OS 自作入門(みかん本)、上記で紹介した「作って理解するOS」、そして Ruby や Go 言語などの入門書を読み進めたいと思います。二兎どころか四兎追ってしまっていますが、これだけ追っておけば一兎くらいは得られるでしょう。
開発再開する
dptran、Albus Box、Cities Box などの開発を再開していきたいと思います。
Albus Box については今後の方針みたいなのは特に予定していませんが、音声データ再生をより高性能な OpenAL に置き換えていこうかと考えております。現状は OpenSiv3D の Audio クラスを利用しています。
Cities Box は、もしかしたらリファクタリングから始めるかもしれません。これで何度目の作り直しだろうか、しかしシステムが複雑になりすぎていて作り直さないと今後効率よく実装していけそうにありません。
旅行に行く
卒業旅行、というわけではないですが、鈍行列車(一部新幹線含む)で北海道まで行きたいなと思っています。詳細はまだ考えてません。