KDOC 516: 2025年をまとめる
この文書のステータス
- 作成
- 2026-01-09 貴島
- レビュー
- <署名>
概要
仕事。
- 前半は自社アプリケーションの開発をやっていた。ハイライトとして、権限の内部実装の大きな変更をするのをやった。変更が巨大な割に機能的なところではないのでお客さん向けのリリースには書きにくかったのは残念
- 中盤から生成AIを使い始め、コードをゼロから書くことがほとんどなくなっていった
- 9月ごろから主にインフラまわりの受託仕事をやっていた。ドメインからはじまりアプリケーションに必要なマネージドサービスを一通り扱った
- インフラはしばらく触れておらず忘れていた。ネットワークの本を読んだあとだと理解や興味が湧きやすく感じた
プライベート。
- 英語でYouTubeを見るのに熱中する。いままでは外国語を文字を 読む ことで学ぼうとすることが多かったが、動画で見ると大変面白くて永遠に見られることに気づいた。苦しい努力感がない。動画を見るうちに、国外の場所や人により親しみを感じるようになった。外国語の堪能な人がよくいう、外国語というよりその言語のコンテンツに没頭してできるようになった、の正しさを感じた
- 1ヶ月間アメリカに旅行した。大都市に滞在しつつ西から東に鉄道で大陸を横断した。英語で国外のコンテンツを見るうち、じっさいに行ってみたくなったのである。アメリカでは予約やメモをする以外はPCに全然触れず、ほとんど外にいて遊び回った。都市や自然の名所、博物館、美術館が主な行き先だった
- 休日よく博物館に行った。あまり行ってない時期もあったが、休日の午前に行くとよいことに気づいて安定した
- 毎日5分やる習慣が完全に定着した
- 6月ごろにKDOC 385: 『続ける思考』を読んでやりはじめ、それから1日も欠かさず半年間やった
- 去年から続くKDOC 197: 『プリズナー・トレーニング』に続く習慣上のブレイクスルーであり、継続力に大きな改善をもたらした
- 後半からモバイル回線にもDNSフィルタリングを設定して、有害コンテンツを完全に遮断する生活をしていた。とくにポルノ依存に対する絶大な効果があった
個人的開発。
- 2Dローグライクの開発を大きく進めた。熱中しては静まって、を数回繰り返した。ゲームとして最低限成り立つまであと少しなのだが、完了まではいかなかった
- Go言語のコミットを読んでいく、というのを前半していたが果てしなさ過ぎてやめた。深堀りするネタや意外な過去実装を発見できたのはよかった
- Cloudflare Tunnel を使った自宅サーバを動かし始めた。インターネット公開する自由度が高まった
- 7年ほど契約し続けてきたレンタルサーバを解約して、自宅サーバに移行した。微妙に使っているところもあったので、手を加えて移行した
- 自宅サーバの保有PDFをインターネットを介してどこからでも見られるようにした。Cloudflareが認証をやってくれるので非常に簡単であった
メモ。
- KDOC番号は 330 ~ 519 を発行した
- ネットワークまわりの本を複数読んでいた
- KDOC 330: 新宿歴史博物館を観察する
- KDOC 331: ソースコードは本とは違う
- KDOC 332: Contextのテストを読むと理解しやすい
- KDOC 333: 動画にシフトしている分野がある
- KDOC 334: トランザクションはネストできない
- KDOC 335: 消しても新しいバージョンがダウンロードされていた
- KDOC 336: 『How does a USB keyboard work?』
- KDOC 337: 多読は難しいことを認識しなければならない
- KDOC 338: 英語学習に向いていて興味のあるコンテンツを考える
- KDOC 339: 親しみのレシピを使う
- KDOC 340: mozcとfcitxの違いは何か?
- KDOC 341: Quick overview of Go1.24
- KDOC 342: リリースを調べる効用を感じた
- KDOC 343: 『Tidy First?』
- KDOC 344: 失敗の対価を認識する
- KDOC 345: 中間要素の作成に便利なstrings.Joinを見る
- KDOC 346: appendで先頭に追加する
- KDOC 347: 大文字小文字の変換をそらで書く
- KDOC 348: インデックスとスライス式は違う
- KDOC 349: 『角栄に花束を』
- KDOC 350: 『正直不動産』
- KDOC 351: 対価に大きな影響があるのはどこで働いているか
- KDOC 352: 使う状況をイメージできるほど頭に入りやすい
- KDOC 353: メモを小さくして組み合わせやすくする
- KDOC 354: ワード移動を可視化するパッケージを作る
- KDOC 355: プログラミングを仕事の梃子として使うとよい
- KDOC 356: 脳を思い通りにさせる
- KDOC 357: 方法のことばかり考えがちなのは足踏みである
- KDOC 358: 楽しいからいつまでも没頭できる、は間違っている
- KDOC 359: 『超一流になるのは才能か努力か?』
- KDOC 360: goとtoolchainの違いは何か?
- KDOC 361: 労働時間は単に商品の1つと考えたほうが建設的に見える
- KDOC 362: コンパイル可能な最低バージョンと、ビルドに使うバージョンは異なる
- KDOC 363: リリース番号のrcはリリース候補を示す
- KDOC 364: Goコマンドやmoduleについて知らないことが多い
- KDOC 365: toolchainを実際に試す
- KDOC 366: Goのbytes, strings packageは類似している
- KDOC 367: 名前付きパイプの使い道は何か?
- KDOC 368: 名前付きパイプはファイル書き込みが発生しないため早い
- KDOC 369: 名前付きパイプは読み書き両方をオープンしてないとブロックする
- KDOC 370: 『人を選ぶ技術』
- KDOC 371: 初対面の緊張は正対しないことで緩和できる
- KDOC 372: 相手をリラックスさせるには自分自身がリラックスすればよい
- KDOC 373: アイスブレイクのコツは相手の氷ではなく自分自身の氷を溶かすことである
- KDOC 374: 会社の評価システムと権限委譲システムはカルチャーの絶対的な指標となる
- KDOC 375: 面接官たちは自分たちの見立てや決断において、リスクを取りたがらない
- KDOC 376: 業務経験や企業ブランドの評価割合が高い理由を考える
- KDOC 377: 『一日で読めてわかるTCP/IPのエッセンス』
- KDOC 378: 『RFC 1952: GZIP file format specification version 4.3』
- KDOC 379: 選択するとき考えていることを示す
- KDOC 380: 『すごい面接の技術 転職活動で「選ばれる人」になる唯一の方法』
- KDOC 381: 識別子の先頭に数値が使えないのは区別がつかなくなるから
- KDOC 382: JavaScriptにトランスパイルするのはなぜか?
- KDOC 383: JavaScriptはブラウザの組み込み言語でありランタイムの更新は難しい
- KDOC 384: 『syntactic support for error handling』
- KDOC 385: 『続ける思考』
- KDOC 386: IPはデータを機器に届けられるが、目的のプログラムを示せない
- KDOC 387: イーサネットによる通信はMACアドレスを使う
- KDOC 388: 『仕事ですぐに使えるTypeScript』
- KDOC 389: GORM + MySQLでカラムの順番が変動するのはなぜか?
- KDOC 390: イーサネットや無線LANは1つのネットワーク内での通信を行える
- KDOC 391: 1対1のテーブルを維持する
- KDOC 392: 絞ってから関連レコードを取得してパフォーマンスを改善する
- KDOC 393: ビックバンデプロイのやり方を考える
- KDOC 394: manのシステムコールセクションはインストールされてないことがある
- KDOC 395: IPの役割は複数ネットワークにおいてデータを送れるようにすること
- KDOC 396: 優れた技術ブログは思考プロセスを含む
- KDOC 397: 技術力とは、技術選択の理由を説明できることである
- KDOC 398: GORMフックはレシーバーがnilになる可能性がある
- KDOC 399: 『PostgreSQL 17.0』
- KDOC 400: 役割や責任を明確にすることでチーム内のコミュニケーションが円滑になる
- KDOC 401: 起動中のプロセスをstraceで観察する
- KDOC 402: Goの識別子の境界を探る
- KDOC 403: 六義園を観察する
- KDOC 404: ネットワークは階層化によって自由度を高くしている
- KDOC 405: IPアドレスは論理アドレスで、MACアドレスは物理アドレスである
- KDOC 406: TCP/IPでは1つのIPアドレスでネットワークとノードをまとめて表す
- KDOC 407: 1W5Hでユーザーストーリーを書く
- KDOC 408: 続けるコツは週7日やることである
- KDOC 409: 毎日やったら運動を習慣化できた
- KDOC 410: 物事に対する情熱は行動の後に生まれる
- KDOC 411: スタックは積み重ねて取り出して解放する。ではヒープは?
- KDOC 412: ヒープ管理方法の変遷を見る
- KDOC 413: ローカル変数がヒープにエスケープされるのを見る
- KDOC 414: インターフェースがヒープにエスケープされるのを見る
- KDOC 415: io.Readerのシグネチャはヒープエスケープを避けられる設計になっている
- KDOC 416: Goのエスケープ解析における2つの不変条件を見る
- KDOC 417: WASMでHTTPリクエスト実装を変えているのを見る
- KDOC 418: 実行時のオーバーヘッドなしで型のサイズを判定する
- KDOC 419: constが埋め込まれる様子を見る
- KDOC 420: トキワ荘マンガミュージアムを観察する
- KDOC 421: testdataディレクトリはコンパイル対象外になる
- KDOC 422: 継続時間形式を見る
- KDOC 423: 科学技術館を観察する
- KDOC 424: big.Ratのゼロ値はゼロ除算を避けるようになっている
- KDOC 425: 『具体と抽象』
- KDOC 426: string型の仕様を見る
- KDOC 427: スマホにDNSフィルタリングを設定して有害コンテンツをブロックする
- KDOC 428: 桁ごとに処理するスマートな方法を見る
- KDOC 429: 組み込みのprintとfmtのPrintの違いを見る
- KDOC 430: エイリアス型に対する型アサーションを見る
- KDOC 431: require.NoErrorを使ってエラー時に中断する
- KDOC 432: 型アサーションは何を見て判断しているのか?
- KDOC 433: カメラ博物館を観察する
- KDOC 434: メモする基準を定める
- KDOC 435: daysPerYearの値は何か?
- KDOC 436: mapをランダムに散らしている実装はどこにあるか?
- KDOC 437: map deleteはなかった時代がある
- KDOC 438: Goのバケット構造体はフィールドがないが値を保持している
- KDOC 439: elseブロックでの中括弧は必須ではなかった時代がある
- KDOC 440: 余りがマイナスになるか正の数になるかの方式の名前を見る
- KDOC 441: errorは組み込み型ではなかった時代がある
- KDOC 442: メモリエイリアシング検出と対策の例を見る
- KDOC 443: 本を読んで解決すると思っていた
- KDOC 444: デコード時の未知のキー混入を防ぐ
- KDOC 445: ECSの実行ロールでログ権限が必要な理由を考える
- KDOC 446: telnetでTCPコネクションを試す
- KDOC 447: Connectionヘッダーは現在の接続にのみ適応する
- KDOC 448: アメリカに行ったら映画をより楽しめるようになった
- KDOC 449: 32bitマシンでint64型を使うとどうなるのか?
- KDOC 450: Goで型のメモリ上のサイズの仕様がどうなっているか見る
- KDOC 451: どういうときint64を使いたいのか?
- KDOC 452: 公開鍵と秘密鍵を使い分ける
- KDOC 453: なぜホストを0.0.0.0にするとマシン外からのリクエストを受けられるのか?
- KDOC 454: シェルでバイナリが文字列表示されるのはなぜか?
- KDOC 455: 『基礎からわかるTCP/IPネットワークコンピューティング入門』
- KDOC 456: IPにパケットの到達性の保証がないのはなぜか?
- KDOC 457: メールから検証用の公開鍵を取得する
- KDOC 458: 紙の博物館を観察する
- KDOC 459: 渋沢史料館を観察する
- KDOC 460: 最大公約数をスマートに求める
- KDOC 461: VPCのIPアドレス範囲が/16から/28なのはなぜか?
- KDOC 462: RFC3339 形式に精度の制限はない
- KDOC 463: Base64エンコードでaがYQ==になるのはなぜか?
- KDOC 464: RSA署名を公開鍵で検証する流れを見る
- KDOC 465: 署名と暗号化の処理の違いはなにか?
- KDOC 466: ディストロレスコンテナに何が入っているのか見る
- KDOC 467: Webアプリケーション全体について質問すること
- KDOC 468: 帰還者たちの記憶ミュージアムを観察する
- KDOC 469: 『初めての不動産投資必勝ルール』
- KDOC 470: 『人生は、運よりも実力よりも「勘違いさせる力」で決まっている』
- KDOC 471: 『マスタリングTCP/IP』
- KDOC 472: 遊就館を観察する
- KDOC 473: 『Excelでできる不動産投資「収益計算」のすべて』
- KDOC 474: 『Go言語による並行処理』
- KDOC 475: 各桁の合計をスマートに得る
- KDOC 476: 『AWSネットワーク入門』
- KDOC 477: 『Docker-Kubernetesネットワークのしくみ』
- KDOC 478: 重なりマッチしない
- KDOC 479: 『ネットワークのしくみ』
- KDOC 480: Route53の由来はポート番号である
- KDOC 481: Route53がパブリックIPのないELBを解決する様子を観察する
- KDOC 482: 日本オリンピックミュージアムを観察する
- KDOC 483: 『ROCK IN!』のコンセプトを話す(訳)
- KDOC 484: 『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』
- KDOC 485: asepriteでパッキングする
- KDOC 486: 『ソフトウェアアーキテクチャの基礎』
- KDOC 487: Cookieは自動で送る
- KDOC 488: CookieはHTTPの仕様に含まれる
- KDOC 489: 『Kubernetesで実践するクラウドネイティブDevOps』
- KDOC 490: 301と302/307のキャッシュ動作の違い
- KDOC 491: 『マイクロサービスアーキテクチャ』
- KDOC 492: 小石川植物園を観察する
- KDOC 493: 明治神宮ミュージアムを観察する
- KDOC 494: 日時に関する統計ではタイムゾーンが必要になる
- KDOC 495: 文芸的にDB動作を検証できるようにする
- KDOC 496: Index (Only) Scanの様子を見る
- KDOC 497: 複合インデックスの使用条件を試す
- KDOC 498: 絶滅メディア博物館を観察する
- KDOC 499: 0番ポートは動的割当に利用される
- KDOC 500: Covering Indexを試す
- KDOC 501: インデックスのオーバーヘッドを検証する
- KDOC 502: jsonとjsonbの性能を比較する
- KDOC 503: Linuxカーネルは/boot配下にあるvmlinuzファイルである
- KDOC 504: 家電売り場で栄枯盛衰を感じる
- KDOC 505: 既存メモ側からどういった関連ができそうか考える
- KDOC 506: 圧倒的な量が集まってきたから好きになる
- KDOC 507: DNSのルートサーバが13個なのはDNSのUDPのパケット上限が512バイトであるから
- KDOC 508: 除算の実行速度を計測する
- KDOC 509: DNSフィルタリングされている様子を見る
- KDOC 510: DNSサーバでテストTDLを使用する例を示す
- KDOC 511: 半蔵門ミュージアムを観察する
- KDOC 512: DNSで強制セーフサーチされている様子を見る
- KDOC 513: フレッツの利用者は10.0.0.0/8をローカルネットワーク内で使用できない
- KDOC 514: ARPテーブルとMACアドレステーブルの違い
- KDOC 515: DHCP OFFERではまだIPがないのにどうやってUDPで通信しているか?
- KDOC 517: DNS階層をたどる様子を見る
- KDOC 518: 大カプコン展を観察する
- KDOC 519: Goのmapではキーの値が同じでも型情報が違えば別のものとして扱われる
- KDOC 520: Goコンパイラは定数除算を乗算に変換する
関連
- 類推: KDOC 67: 2023年をまとめる。同様に1年を振り返る
- 2024年は抜けていることに気づいた
- 提案: 仕事関係をあまり書いてない感がある。もっと書けることはあったはずだ
- 提案: 年末にまとめて思い出せない。発行しておいてその都度書くのはどうか