『第19回 自作OSもくもく会』に参加した

1/12(日)

https://atnd.org/events/110955

界隈の方に誘われ、同僚とともに参加した。フロントエンドエンジニアの自分が自作OSをやってどうなるのか。まだ初めたばかりなのであまり大きなことは言えないが、低レイヤーでも高レイヤー(?)でも共通する考え方のようなものがあって、低レイヤーの知識を得ることによって物事をより抽象的に捉えられるようになるかもしれないな、という感触がある。

不健康新年会

1/11(土)

新年会と称して同僚と二郎系ラーメンを食べに行った。2万歩歩いた。二郎系はつい欲張ってトッピングをたくさんつけてしまうのだが、むしろニンニクだけの方が刺激的な味を楽しむには良いのかもしれない。いろいろ実験しようにも胃がもたないのが悲しい。

『30日でできる! OS自作入門』に再チャレンジする

1/10(金)

自作OS界隈(!?)の人とお話をする機会があったのと、ちょうど作りたいものがなくて手持ち無沙汰なタイミングだったので以前挫折した『30日でできる! OS自作入門』に再チャレンジすることにした。

Windows環境で著者が作ったツールで動かすことを前提とした本だが、nasmとqemuで割とやれるっぽい。

TypeScript Interfaces メモ

1/9(木)

http://www.typescriptlang.org/docs/handbook/interfaces.html

Introduction

  • TSはduck typingでありstructural subtypingである

Our First Interface

  • TSは要求されているプロパティがあるかだけをチェックする

Optional Properties

  • プロパティ名の後ろに?をつけるとoptionalになる

Readonly properties

  • プロパティ名の前にreadonlyをつけると書き換え不可になる
  • ReadonlyArray<T> というやつもあるぞ

Excess Property Checks

  • 要求されているプロパティがあるかだけをチェックする とoptionalを組み合わせると、optional propertyのプロパティ名のtypoが型エラーにならなくなる
  • でもtypoはバグとして検出したい…検出したくない?
  • なのでTSはプロパティ名を手書きする(リテラル)ときは特別に excess property checking をする
    • Object literal may only specify known properties, but 'hoge' does not exist in type 'Fuga'.
  • excess property checking を回避する方法
    • as
    • interfaceの方に [propName: string]: any; を足しておく
    • 一度変数に入れる

全員集合

1/8(水)

今日は基本的に姿を表さない第4の男が久々に出現した。そんな日もある。

ああ、会社員に戻ると書くことがない。ランチは唐揚げ定食。夕食は鍋。米の量を半分にしたらちょうどよかった。

温度管理サーバーが形になったので次は何を作ろうかと考えている。何がいい?

2020仕事初め

1/6(月)

ぬるりと会社員に戻った。まだ休んでいる人が多く自分自身も会社もリハビリ中という感じだ。

冬だし鍋でもやるかと思って材料を買って帰った。鶏肉と白菜、そして鍋キューブ(水に溶かすと味がつくやつ)。ご飯も炊いたら多すぎた。

なんとなく気分だったので掃除をした。同僚がうるさく「床に散乱した野菜を片付けろ」というのでついに片付けた。床に野菜が散乱しているくらいなんだというんだ。