技術メモとナレッジ共有のための個人ブログです。

主にGo、Ruby/Rails、AWS、インフラ関連のトピックを扱っています。

Posts

  • GitHub Profile READMEの作り方

    GitHub Profile READMEとはGitHubのプロフィールページ(github.com/ユーザー名)にカスタムREADMEを表示できる機能。自己紹介、技術スタック、リポジトリの紹介などを自由にMarkdownで書ける。作...

  • DB接続プール vs リクエストごと生成・破棄の使い分け

    接続プールとはDB接続をあらかじめ一定数作成しておき、リクエストごとに「借りて返す」仕組み。Railsがデフォルトで採用している方式。# Rails database.ymlproduction: pool: 5 checkout...

  • ターミナルでVS Code的なコード閲覧環境を作る — Neovim + LazyVim入門

    TL;DR Neovim + LazyVim でファイルツリー・タブ・LSP・ファジー検索が最初から揃う neo-tree をカスタマイズすると、ツリーでカーソル移動するだけでプレビュー表示される VS Code 的な体験が得られ...

  • AWS ASG 複数 Scaling Policy 併用時の scale-in は AND にならない(Simple Scaling の罠)

    TL;DR Target Tracking の複数ポリシーは scale-in が AND 動作(全ポリシーが合意した時のみ縮退) Simple Scaling の複数ポリシーは scale-in が 独立発火(各アラームが個別に...

  • LD_LIBRARY_PATH と PKG_CONFIG_PATH を本番 .env に書くべきでない理由

    概要本番サーバの環境変数ファイルに LD_LIBRARY_PATH と PKG_CONFIG_PATH が追加されているのを見つけて違和感を覚えた。これらは本来、本番実行環境に書くべきものではない。記録としてまとめる。発端リポジトリで...

  • 新しいチームで最初の90日間をどう過ごすか — 即動く派の振り返り

    概要「90日間は、何もするな。」というリーダーシップの考え方がある。元ポストでは、ハーバード流マネジメント講座「90日で成果を出すリーダー」を引用しつつ、新しい組織に入った際の最初の90日間で実践すべき4つのことが紹介されている。自分...

  • AIの回答を他人への依頼に使う前に一次情報で裏取りする

    概要AIツールの回答をそのまま社内依頼に転記して失敗した経験から、「一次情報の裏取り」の重要性を再認識した話。何が起きたかNotion連携の設定でAIに聞いた回答を、そのまま社内の権限付与依頼に貼り付けて提出した。結果、依頼を受けた側...

  • 共有ガイドラインが機能しない構造的理由

    概要複数プロダクトで共有しているコーディングガイドラインが機能しない。その原因は技術的な問題ではなく、組織構造にある。元記事の「mdベースのナレッジ管理は大企業で通用するか?」を起点に、自組織の課題を構造的に整理する。「作る人 ≠ 使...

  • ElastiCache パッチ適用時のダウンタイム回避戦略

    概要ElastiCache(Redis)のパッチ適用時にフェイルオーバーが発生し、数秒〜数十秒の接続断が起きる。Cluster Mode Enabled にすれば解決するのでは?と考えがちだが、実際には効果がない。正しい対策はアプリケ...

  • MCP サーバーの Hosted と Self-hosted の違い

    概要MCP(Model Context Protocol)サーバーには「Hosted」と「Self-hosted」の2種類がある。Notion を例に整理する。Hosted MCP サーバーサービス提供者(この場合 Notion)が自...

  • zshのシェル関数でユーザー入力を受ける時はvaredを使う

    問題zshのシェル関数内で read を使ってユーザー入力を受けると、Backspace/Deleteキーで文字を消した時に表示がバグる。# これだと表示がおかしくなるmy_func() { local name read -r ...

  • CloudWatch カスタムメトリクス送信で Period 境界のデータ欠落を防ぐ

    問題systemd timer で60秒間隔に CloudWatch カスタムメトリクスを PutMetricData で送信していたところ、CloudWatch コンソールのグラフが断続的に欠落(歯抜け)する現象が発生した。原因sy...

  • ISC vs MIT: OSSライセンスの選択

    背景OSSプロジェクトのライセンスとして ISC が設定されていたが、コントリビュートガイドを整備する際に「一般的なのか?」という疑問が出た。調査の結果 MIT に変更した。ISC と MIT の比較   ...

  • AWS Auto Scaling グループ スケーリングポリシーの種類と複数ポリシー併用時の挙動

    ポリシータイプ比較ASG の動的スケーリングには3つのポリシータイプがある。   Simple Scaling Step Scaling Target Tracking ...

  • UPnPの用途とセキュリティ - ホームネットワークで必要か

    UPnP (Universal Plug and Play) の仕組み、用途、セキュリティリスクを整理し、ホームネットワークで有効にすべきかを検討する。UPnP とはLAN 内のデバイスがルーターに対して 自動的にポートフォワーディン...