何か書き残そう
Date2026/11/02学びを記録する
8月くらいだったか、自分の学んだことは書き残しておこうという気持ちになった。
しかしながら、なんだか形式ばってしまい、毎日書いているうちに何のためだったのか、誰に向けてなのかわからなくなってきた。
そして、一旦ぱたりとやめてしまったら、また「最近何やってるんだっけ」と不安になってきた。
ということで、この日記という場で再開してみようと思う。
もしも日記が書きたくなったら、学びの末尾にでも書いておけばいい。ここは自由な場所なのだから。
箇条書きにする
-
ローカル開発中、確認のために
http://localhostにつなぐとWSLのubuntuが開いてしまう問題があった。これはlocalhostの名前解決をするときに、IPv6のポートを優先的に解決してしまう現象によるもの。 -
VARCHAR(255)は慣習であり、実際はあんまり決まりはない。MySQLにおいてVARCHAR(255)は文字数を表していて、バイト数ではない。つまりは255という数字に収める必要はあんまりない。なぜかというとutf8mb4は最大4バイト/文字だから。でも慣習に従っても別にいい。
-
「LLMの出力は何を考えたかではなく、何を考えなかったかを出力するものだ。」という視点は面白いなと思った。確かに精査されていないレポートは、情報はたくさんあるけど意志が無いから取っ散らかってる印象。
-
「Multi-AZ構成にすることによって、可用性が上がるので、保守作業時間が減る」というのは意味として間違っている。Multi-AZにすることのメリットは、あるAZにおける障害への対策なので、つまるところAZ1つが壊滅したときだけ起こる事象。いきなりRTOの話をするのは的外れで、RTO=AWSの復帰時間に同じになるので、正確な見積もりができない。仮に作業するとしたら別AZへの移管作業となるが、これは「日常的な保守作業時間」という話とはかけ離れたものである。なので論点は「年に1度起こるかどうかわからない障害への対策をする必要があるサービスなのか?」ということになる。障害対応に人員を割くのか、Multiにして障害対策をするのか、という2択の話。
-
こういう日記形式のものって迷ったら書かなくなるんだなと思う。例えば学びと日記の欄を分けたら「これはどっちになるんだろう」と迷ってそれを書かなくなる。書かないうちになんだか敷居が上がってくる。それって別に、誰かに見られてようが見られていまいが実は関係なくて、自分が勝手に許してないってだけ。だから私はきっとタイトルを付けないほうが自由に書けるし、罫線のないノートの方が好きだ。
-
オモコロの永田さんって確かこのスタイルの書き方だった気がする。最初はマネしてみたけど、意図があんまりわかってなくて「情報を細切れにして出すのが大事なんだ」とか「テンポがよくなるからだ」とか、理由を付けてマネしてたから続かなかったんだと思う。文章を色々書いて、一周回ってこのスタイルに戻ってきた気がする。「ルールを設けない」というだけの単純なルールを許すのって、意外と難しい。きれいなルールで運用できるかもしれない、という自分の思い上がりが完全に打ち砕かれたからこそである。
-
Redisって何をしてるんだろう、とふと思った。簡単な例を出すと10万件の検索データがあって、そのSQLを毎分何十回もするのだとしたら、いったん結果をRedisにプールしておいて、それを取り出す。キャッシュメモリと同じ。ただMySQLにもキャッシュ機能があり、ある程度はカバーできるそう。あと、キャッシュDBにもデメリットがあり、“Stale Read"というのがある。これはキャッシュDBの更新が遅れて古いデータを表示してしまうこと。ダーティーリードとかとはちょっと違う。
-
“Stale Read"についてもう少し。Stale Readが起こるのは、ほんの一瞬の時間差というよりも、古いキャッシュのTTLが長すぎることだったりする。RDBMSとNoSQLではそもそも、トランザクションを一元管理できない。なるべく整合性を保ったうえでキャッシュサーバーと同期するけれども、例えば「MySQL更新→Redisキャッシュ削除→エラーでロールバック」としたらRedisのキャッシュだけが消えたりする。結局のところNoSQLは精度を犠牲に速さを出しているのだ。これをやる場合、正しいデータである"Source of Truth"の在り方を決めておく必要はある。
-
ちなみにRedisってキャッシュ専用ではない。
-
「マルチAZのEC2構成」って、実はそれだけじゃ決まらない。方式として"Active-Active”, “Active-standby”, “Active-Active(Autoscale)“のような分類がある。常にアクセスが振り分けられるのか、落ちたときだけ切り替わるのか、負荷に応じて増えるのか。ここまで話す必要あり。
-
ECS/Fargateを触ってみた。まずクラスターを作成して、その中にタスク定義を置いて起動してみたところ、実際にアクセス可能なページが出てきた。EC2はAWSの計算資源領域を固定値で借りるのに対して、Fargateは流動的な資源を借りるというイメージ。厳密には完全に流動ではないらしい。それで、EC2の方が借り切っているのでカスタマイズは利きやすいようだけど具体的な詳細はわからない。ともかく、Dockerに近い感じで組み立て可能だという手触りはなんとなく感じた。