2020年振り返り

December 30, 2020

2020年も終わりが近いので、いくつかのトピックについて簡単に振り返ってみる。

なお、「読んだ技術書」の以外に技術的な話はない。

読んだ技術書

今年は量より質を上げてみようと思っていたのもあり、振り返ってみると6冊しか読んでなかった。 社の輪読会に参加していた影響で、うち2冊は洋書。

プログラマのための文字コード技術入門

わかったようでわかってないモヤモヤを解消するために読んだ。結論から言うと良書で、今後たしかな理解を持って文字コードを扱えるという自信がある。文字コードはときどきいびつな設計を持つが、それは後方互換性など歴史的事情に起因するものが多く、設計意義を理解するためにもこの本のように体系的な資料を読むことが有用と感じた。近年のシステムは大概Unicodeで作られておりそこまで意識する場面もないように思えるが、自分は業務の中で非Unicodeなシステムを扱う or 連携することがあるのでとても助かっている。

[改訂新版]プログラマのための文字コード技術入門 WEB+DB PRESS plus

体系的に学ぶ 安全なWebアプリケーションの作り方

業務でWebアプリケーション、特にそのフロント部分の面倒を見ることになった(これまではネイティブアプリとAPI開発がメイン)のでこれを機に体系的に学び直そうと思って読んだ。内容自体は満足いくもので、自分が知らない話も多く勉強になった。ボリュームが大きく内容を全て覚えているわけではないけど、いざとなったときの参照先ができたはよかった。

体系的に学ぶ 安全なWebアプリケーションの作り方 第2版[リフロー版] 脆弱性が生まれる原理と対策の実践

Redis入門

同僚が「Redisを使うなら一定知識を持っておくべき」と言いながら薦めていたのを機に読んだ。これまでフレームワーク越しに使っていてコマンド類とろくに知らなかったけど、そのあたりの雰囲気を掴めてよかった。また、題材も詳細に作り込まれていて、Redisの凝った用途の雰囲気を掴むことができた。

わりと古い本なので今でも通用する内容なのか若干の不安があったが、全然問題なく勉強になった。そもそもRedisのAPI自体がシンプルなので、今でもほぼ(というか全く?)変わりないように思う。

Redis入門 インメモリKVSによる高速データ管理

SQLパフォーマンス詳解

同僚に「これを読まないとSQLパフォーマンスの議論は始まらない」と言われて読んだ。内容自体はとても勉強になるもので、特に各実行計画の内容と複合インデックスの振る舞いについてはこの本を読むまで全く知らず、今でも定期的に読み返している。

内容はUse The Index, Luke!とほぼ同じようなので、お金が気になる人はWebサイトのほうで読むと良い。

SQLパフォーマンス詳解: 開発者のためのデータベースチューニング解説書

Release It!

輪読会で読んだ。本書では「Design for Production(作り切ることを目標にするのではなく、その後の運用にフォーカスせよ)」という言葉が一貫して使われていたのがとても印象に残っている。システム開発・運用におけるポイントやデザインパターンを網羅的に解説する一方で、それらを利用するにあたってアーキテクトに求められるマインドセットを語りかけてくるような本だったという印象。洋書なのでとても大変だったが、それでも読んでよかったと思える本。

Release It!: Design and Deploy Production-Ready Software (English Edition)

Database Internals

これは輪読会で現在進行系で読んでいる本。今は10章まで読み終わったところ。個人的に、データベースはシステムにおいて最も重要なコンポーネントだと思っている。その内部構造を知りたい(それによって比較検討や障害調査、またそれを未然に防ぐことに役立てたい)という思いがあり、輪読会で読むことを提案した。

内容自体は期待通りで、データベースの構成要素を網羅的に解説してくれていてとても勉強になっている。正直全ての内容が面白く、個人的には排他制御・リカバリ・Log-Structured Storage周りの話がとても好きだった。特にLog-Structured StorageはAuroraでも採用されている技術であり、これを学ぶことでAuroraの凄さや新しさを実感できた。

Database Internals: A Deep Dive into How Distributed Data Systems Work (English Edition)

買ってよかったもの

マニフレックス フラッグ・FX

もともとマニフレックスのメッシュウイングを使っていたけど、購入から8年近くが経過してかなりヘタれやすくなったのでそれを機に買い替えた。メッシュウイングがヘタレやすくなっていたというのもあるが、それを差し引いても疲れがとれやすくなったように感じる。また、マットレスそのものの厚みが9cm増した影響で冬に背中の寒さを感じる場面が無くなった。元々真冬は起毛のベッドシーツを使っていたけど、今年はまだ出番がない。

フラッグ・FX

FLEXISPOT E3

もともとIKEAのSKARSTAというマニュアル式の昇降デスクを使っていたけど、Black Fridayセールを機に買い替えた。マニュアル式だとスタンディングとシッティングの切り替えを億劫に感じることが多かったけど、電動昇降に切り替えてからはそれが一切ないのが嬉しい。メモリ機能があるので、ボタン一発で理想の高さに切り替わるのも嬉しい。

あと、あまり注目されていないようだけど、最低60cmまで下げられるのが購入の決め手になった。自分の身長(170cm弱)だとシッティング時の理想の高さは62cmぐらいなのだけど、市販のデスクは大概70cm前後の高さなのでフットレストによる補正が必須だった(SKARSTAの高さも最低70cm)。自分はバロンチェアを使っていて、その足部分がフットレストに当たってしまい椅子を理想の位置に持っていきづらいことがストレスだったのでそれが解消されたのも嬉しかった。

FlexiSpot | E3

エルゴトロン モニターアーム

自宅ではLGの34インチウルトラワイドモニターを使っている。モニターアームにはBESTEKのものを使っていたけど、モニターの重さで徐々にアームの位置がずれていくのがストレスでエルゴトロン製のものに買い替えた。ウルトラワイドモニターを支えられるのか若干不安ではあったがこの記事を参考に購入し、実際モニターは微動だにせずとても快適になった。

エルゴトロン LX デスクマウント モニターアーム アルミニウム 45-241-026

水沢ダウン マウンテニア

軽いし、暖かいしカッコいいという最高のダウン。防水性も高いので悪天候でも安心して着ていられる。12月中はロンT1枚にこのダウンを来て外出していたけど上半身は全く寒さを感じず、むしろ暑いと感じる場面もあった。動くと暑くなるのはアウターの欠点だが、放熱用のジッパーがワキ部分に用意されているので温度調整も簡単にできる。値段は高いがそれだけの価値がある代物なので実質無料。

【公式】水沢ダウンジャケット”マウンテニア”|デサントオルテラインサイト|DESCENTE ALLTERRAIN

観葉植物(シェフレラ・コンパクタ)

今年の夏から観葉植物を育てるようになった。部屋の中に有機物があるというだけでなんとなく気分が良い。自分の性格上きちんと育てられるか不安だったが、その点シェフレラ・コンパクタは全く手間がかからない。寒暖耐性が高く、日光も不要で、水やりの頻度も少ない(1週間に1回)。成長も遅いので鉢替えの手間もほぼ無い。実際半年間、特に何も考えず日光も当てずに育てているが、いっこうに枯れる気配はなく、少しずつ大きくなっている。

https://twitter.com/sakuna63/status/1292080128114094080

ペット(ヒョウモントカゲモドキ)

コロナ禍の寂しさを紛らわせるため、つい先日からヒョウモントカゲモドキを飼い始めた。控えめに言ってめちゃくちゃかわいいし癒やされる。

ペットの候補は他にもいたが、決め手はその飼いやすさにある。餌やりなどがほぼ不要。幼体の間は毎日餌をあげたほうが良いが、成体にもなれば週1程度で良くなる。そもそも絶食耐性が高く、2週間ぐらい餌をあげなくても平気らしい。なのでペットホテル or ペットシッターのことを考えなくていい。毎年帰省する自分にとってはこれがとても助かる。鳴くこともないので不眠対策を考える必要がないのも良い。初期費用は2万いかないぐらいで、手頃なのも良かった。

残念なのは基本的になつかないところ。直接的に触れ合うタイミングは給餌ぐらいしかない。また、暗がりを好むので基本シェルター内にこもっており、姿をなかなか見れる場面は多くない。

これは余談だが、爬虫類専門ショップで購入したときに店員さんから「こちらの世界にようこそ。絶対1匹じゃ終わらないですよ。」と言われたのがオタク心をくすぐられる感じで良かった。

https://twitter.com/sakuna63/status/1342717580960665602

歯科矯正

今年の個人的なビッグイベントとして歯科矯正がある。今年の1月から矯正歯科に通い始めた。自分は受け口 + 上の歯が左にずれているという状況。直接的な害は無いし、見た目がひどいというほどではなかったが長年肩こりに悩まされており、歯のズレもずっと気になっていた。ちょうど友人が歯科矯正していて、ツラい反面かなり効果を嬉しそうにしていたのを見て始めることにした。

以下に自分がどういう施術を受けたか書いてみる。施術内容は患者の歯並び、施術者の経験によって異なるのであくまで一例として読んでほしい。

最初は問診。次に歯を動かすスペースを作るため親知らずを抜いた。左右それぞれ計4本を2回に分けて抜いた。2回に分けて抜いたのは、どちらか片方の奥歯が使える状態を保つため(痛みが強いひとだと計4回に分ける場合もある)。親知らずを抜くのがつらいのは多くの人が経験しているとおりで、実際抜いた後は1~2週間ぐらい痛みがとれなかった。まる1日血が止まらないのは結構ビビる。幸い自分の親知らずはキレイに生えているほうで、砕いたりすることもなかったし、腫れることもなかった。抜いたあとで半年以上しびれが取れないかもと言われる人もいるらしい(その人は結局、親知らずの実害がないので抜いてないと言っていた)。

親知らずが抜けたら歯を動かし始める…のではなく、動かすための器具(ブラケット)を歯につける。この作業に2ヶ月ぐらいかけた。なぜ時間をかけたかというとブラケットを入れた状態に慣れさせるため。ブラケットにはワイヤーを通すための穴があるが、そこが突起している。実際つけた直後は突起部分が口の内側にあたるため違和感が強い。正直一気に器具を入れたら発狂しそうだな…と思ったので時間をかけたのは正解だった。ちなみにブラケットにも色々種類がある。大きな違いとしては素材と、突起お位置(歯の表裏どちらにあるか)である。前者は細かい説明を忘れてしまったので割愛。後者は見た目と利便性のどちらを取るかの違いだと記憶している。突起が裏にあると単純に舌の可動域が狭くなるので喋りにくくなる。歌手のような職種の人は表にすることが多いらしい。ただ、表にあると単純に目立つので見た目を気にする人は避けたほうが良い。自分は利便性のほうを優先し、突起を表につけることにした。

器具をつけ終えると器具にワイヤーを通す。ワイヤーを通し、動かしたい方向に力を加えることで徐々に歯を動かしていく。1ヶ月おきにワイヤーの強度や角度を調整し、1ヶ月の間で1, 2mm程度動かす。1, 2mmというと大したこと無いように思えるが、これがすこぶる痛い。特に調整直後の1週間は噛めたものではなく、普通の食事はほぼできない。ある程度ワイヤーに慣れると、次は顎間ゴムをかける。ワイヤーだけだと上下それぞれの歯並びは揃えられるが、顎ズレを直すことはできないので顎間ゴムを上下の歯の間にかけて顎のずれを直していく。自分は今、これをやっている途中。1日21時間以上つける必要があり、基本的に食事中ぐらいしか外すことは許されない。当然寝ている間もつけっぱなしになる。ゴムで引っ張られるので若干口を開けにくくなるが、不便というほどではない。引っ張るのでゴムは緩むし切れるので、定期的に自分で付け替える必要がある。ちなみに先程、ブラケットの突起の位置について述べたが、このゴムの付け替えやすさにも影響する。突起が裏にあるとゴムを引っ掛ける位置が見えづらく、つける際に指だけでは不足で道具を使う必要があるらしい。

歯科矯正の道のりは長く、基本的に2~3年かかる。自分の場合は最初の1年半ぐらいで歯を動かし、後半はマウスピースをつけて歯の位置を慣れさせるという流れ。マウスピースになると制限が弱くなるが、それまでは色々なことが制限される。まず、先でも少し触れたが食生活が制限される。痛みがしている間は基本的に咀嚼が難しくなる。自分は昨年からHuelという飲料タイプの完全食を愛用しており、痛みがある間はこれでなんとか乗り切っていた。ただ、1週間近く毎日Huelというのはツラいので雑炊やスープを作るなど工夫をしていた。痛みがとれるとだいたいのものは食べられるが、ガムや餅といった粘着性のあるものは食べられない。これは器具に張り付いて取れなくなってしまう恐れがあるからで、最悪器具の位置がずれたり取れたりしてしまう。あとは、歯磨きが大変になる。器具の間に食べかすが残りやすいため念入りに磨く必要がある。自分は寝る前だけで良いので、30分は磨くよう指導されている(実際には20~30分程度かけているのだが、それでも長い)。

気づいたら歯科矯正のトピックだけで長々と書いてしまった。別記事にしても良かったな…と思いつついったんこのままにしておく。上述した内容以外にも細かいノウハウやツラさはあるので、気になる人は是非聞いてほしい。