記事一覧
-   データベース可視化ツール DBmarlin を触ってみた 
DBmarlin を Docker で立てて動かしたメモ
 -   家庭内のパスワード管理を安全に!1Password Families プランに無料でアップグレードできる裏技 
1Password Families プランへアップグレードしたのでメリットや使い勝手を紹介
 -   ローカルで動く OpenAI の大規模言語モデル「gpt-oss」を Ollama で実際に使ってみた 
Apple M1 Macで動作する OpenAI のオープンソース大規模言語モデル「gpt-oss」を、Ollama を使って実際に試した
 -   AI 時代のサイト最適化のため LLMs.txt を導入した 
当サイトに導入したので Astro で構築されたサイトへの実装方法について記載する
 -   Terraform Associate に合格した 
Terraform Associate を受験した際の学習方法や受験体験、感想などをまとめる。
 -   Ansible で作るおうち Kubernetes 
Raspberry Pi 3 台を使って自宅に Kubernetes クラスタを構築するいわゆる「おうち Kubernetes」を Ansible で実装した
 -   Astro 製のサイトに Mermaid 記法を導入する 
Astro 製のこのサイトに Mermaid 記法を導入してみたので手順をまとめてみた
 -   HCP Terraform を導入するメリットを整理してみた 
Terraform の SaaS 版である HCP Terraform を導入することで得られる主要なメリットと、どのようなケースで導入を検討すべきかを考えてみた
 -   Astro v5 へのアップグレード 
本サイトで採用している Astro のバージョンを v4 から v5 へとアップグレードした際のメモ
 -   若手エンジニア必読 技術力とキャリアを伸ばすおすすめ書籍10選 
将来エンジニアを目指している大学・大学院に進学した人や、この春からエンジニアとしてキャリアをスタートした新社会人向けにおすすめの本を個人的な主観たっぷりで紹介する
 -   asdf v0.16 にアップグレードする 
asdf v0.16 では破壊的な変更が導入されており、既存の設定がそのままでは動作しなかったので、アップグレード手順をメモがてらまとめてみた
 -   Certified Kubernetes Security Specialist に合格した 
CKS に合格したので、受験に至るまでの学習内容や受験してみての感想などをまとめる。
 -   RuntimeClass を使って Kubernetes クラスタで gVisor ランタイムを使う 
低レベルコンテナランタイムである gVisor を導入することで Kubernetes クラスタのセキュリティを向上させる方法を紹介
 -   AppArmor を使ったコンテナ内のアクセス制御 
Linux のセキュリティモジュールである AppArmor を Kubernetes クラスタに導入する手順についての備忘録
 -   kubeadm での Kubernetes クラスタ構築 
kubeadm を使った Kubernetes クラスタ構築の手順についての備忘録
 -   書籍「頭のいい人が話す前に考えていること」を読んだ 
一年前くらいに読んだ本書をたまたま手にとって再読したので感想などメモ
 -   コンテナで PID Namespace を共有する 
Linux カーネルの Namespace の一つである PID Namespace について実際にコンテナでどのように隔離・共有されるのか挙動を見てみた際のメモ
 -   Ubuntu のノート PC を閉じてもスリープさせない設定 
Ubuntu をノート PC でクラムシェルモードみたいに使ったり、サーバとして使ったりする際のメモ
 -   OpenAI API を TypeScript で叩いてみた 
公式の Node.js/TypeScript ライブラリを使ってみた
 -   2023 年のふりかえり 
今年も年の瀬が近づいて来たと言うことで一年を振り返ってみる。
 -   Playwright と GitHub Actions を活用したマネフォ家計簿自動通知 bot 
表題の通り、家族みんなが定期的に通知を受け取ることができるようにする bot を作ってみた
 -   Ubuntu laptop の初期設定 
Ubuntu をクリーンインストールして開発マシンとして使ってみる上でやったことなど
 -   個人開発向け無料 RDB サービスまとめ 2023 年版 
技術選定する際に頭を悩ます DB について最近はやっていそうなものをピックアップしてまとめみた
 -   Astro で Table of Contents(目次)を実装する 
remark, rehype などのプラグインを使わずに TOC を実装したのでその方法について書いておく。
 -   Cloudflare Pages の ビルドシステムを切り替える 
2023 年 5 月にリリースされた v2 ビルドシステムに満を持して切り替えてみた
 -   Google Domains から Cloudflare Registrar へ移管した 
当サイトで使用しているドメインを移管したので、移管先の選定理由や行なった設定方法などについてまとめる。
 -   Terraform の GitHub provider を触ってみた 
GitHub provider を使ってモジュールを作ってみた
 -   Next.js で Basic 認証をやってみた 
Next.js で個人プロジェクトを開発していて一旦雑に Basic 認証をかけたかったのでやってみた。
 -   Terraform の templatefile 関数でテンプレートファイルを扱ってみる 
Terraform の Tips 紹介
 -   書籍「入門 モダンLinux」を読んだ 
読んだ感想など自分なりのまとめ
 -   Terraform null_resource を使ってコンテナイメージの build から push を行う 
こんなことができたのかという発見があったので紹介がてら書いておく
 -   OpenShift クラスタに htpasswd を使ってユーザを作成する 
OpneShift クラスタに最もシンプルにユーザを作成する方法の紹介
 -   Terraform 管理下の Code Engine でプライベートレジストリのイメージを使う 
何も考えずにプライベートレジストリのコンテナイメージを指定したらエラーになってハマったので書いておく
 -   動画から音声だけを抽出する 
よくやるので備忘録として
 -   Ubuntu のブータブル USB を作る 
Ubuntu のクリーンインストールに向けてやったことを自分用の備忘録として残しておく
 -   GraphQL 素振り 
GraphQL および周辺技術にキャッチアップするためのメモ。
 -   書籍「DIE WITH ZERO」を読んだ 
読んだ感想など
 -   Astro でサイトマップ 
Astro でサイトをリニューアルしたのでタイトルの通りサイトマップに対応する方法について書いておく。
 -   GitHub Actions で composite action を使ってリファクタリングする 
処理をまとめて再利用可能なかたちで定義できる機能があるみたいなので使ってみた。
 -   Cloudflare Pages でプレビュー画面に Google 認証を設定する 
このサイトを Vercel から Cloudflare Pages へ移行した際にプレビュー画面へ Google 認証を設定した。その方法についてまとめる。
 -   GitHub Actions VSCode 拡張の紹介 
beta リリースされたので早速インストールして使ってみた
 -   引っ越しをした 
今月頭に引っ越しをしたが、その前後で検討したこと学びなど
 -   2022(令和 4 )年度 確定申告 
今年も無事完了した。
 -   mac の wc が無駄なスペースを含んでくる 
あるあるなことなので備忘に
 -   Dependabot が作る patch version up を自動でマージしたくて調べた 
調べてみると多くの知見が見つかったのでメモ
 -   メンタルを保つために 
先輩エンジニアを見ててコミュニケーションうまいなーと思うときはだいたい期待値調整ができていることが多い気がする。まずどんなことからできるかを考えてみた。
 -   ブラウザのキャッシュ制御ってむずい 
いろんなヘッダがあり、それぞれをちゃんと使いこなせていないので勉強した
 -   [病名]エンジニアを支える技術 
TL に流れてきた記事を読んだメモ
 -   最近の読書事情 
2023 年 2 月の読書ログ
 -   Astro を触っている 
静的サイト作るときはもうこれでいいかなとなっている。
 -   初めて GitHub Actions を自作してる→作った 
使う側から作る側へ。まずは自分にとってあれば便利なものを作ってみてる。
 -   初めて GitHub Actions を自作してる 
Notion 記事を GitHub に Markdown として反映させたくて見切り発車で作り始めた。
 -   Twitter API が有料化するらしい 
最近の Twitter の動きは何が起きても不思議じゃない。
 -   nginx コンテナ起動時に環境変数を渡す方法【2023 年版】 
調べるといろんな記事が出てくるがやり方が変わっていたのでまとめてみた
 -   WebGL ビルドしたコンテンツを nginx で配信する 
WebGL ビルドしたコンテンツを配信する際に工夫したこと
 -   Kubernetes の Taint/Toleration について 
実際に動かしてみたメモ
 -   Next.js と MDX でリンクカードを実装する 
ずっとやりたいなと思っていたので年始の暇な時間でやってみた
 -   2022 年の振り返り 
2022 年 1 年間のやってきたことを振り返ってみた
 -   kind で特定の Kubernetes のバージョンを指定してクラスタを構築する 
最新のバージョンを使用したり、特定のバージョンでクラスタを構築したりする際に調べた
 -   GitHub GraphQL API を使ってみた 
今更ながら触ってみたので基本的なのクエリのメモ
 -   kind でローカルのコンテナイメージを利用する場合の注意点 
ErrImageNeverPull になってハマったのでメモ
 -   nginx コンテナに Basic 認証をかける 
よくやるのでまとめておく
 -   ブログ記事を投稿したら自動でツイートする仕組みを作った 
結構前に作ったが割と運用が回ってきたので知見をまとめる
 -   nginx の try_files ディレクティブの挙動を見てみた 
設定する機会があってざっと調べたのでまとめ
 -   Kubernetes クラスタで X509 クライアント証明書を使用してユーザを作成する 
Kubernetes クラスタにユーザを作成する方法の復習メモ
 -   Chrome 拡張を GitHub Actions で自動デプロイする 
以前作った Chrome 拡張 ( tweet-current-page ) の CI/CD 環境を作った
 -   当サイトのブログ記事の校正のため textlint を導入した 
textlint を導入した際の手順や設定などのメモ
 -   複数の Git アカウントを使い分ける設定 
普段から使い分ける必要がある人はこれやっておくと便利だよというものをまとめた
 -   書籍「ホワイトハッカーの教科書」を読んだ 
読んだ感想まとめ
 -   anyenv から asdf に乗り換える 
満を持して乗り換えてみたのでメモ
 -   npm install で実行される npm-script を ignore-scripts オプションで無視する 
npm prepare などのスクリプトを意図して無視したい場合のオプションの紹介
 -   VSCode のタスクを使ってエディタを開くと同時に開発サーバを自動で起動する 
毎回やる作業を VSCode のタスクを使って自動化してみたので紹介する
 -   IBM Cloud Code Engine に Go アプリをデプロイする 
初めて触ってみたので軽くまとめ
 -   Docker で Go の REST API 環境を作ってみた 
Go + MySQL な環境を Docker で作ったので工夫したポイントなど
 -   GitHub CLI でエイリアスを設定する 
GitHub CLI を使った Tips の紹介 第二弾
 -   GitHub CLI を使って一番最後にマージされた Pull Request を取得する方法 
GitHub CLI を使ったちょっとした Tips の紹介
 -   Kubernetes のパッケージマネージャ Helm を触ってみた 
今更ながら Helm を触ってみたので概要をまとめてみた
 -   書籍「Kubernetesで実践するクラウドネイティブDevOps」を読んだ 
自分なりのまとめや感想などを書いておく
 -   Go の slice で重複を除外する 
Go の slice で重複を除いて処理したい場合どうすれば良いのかとふと思ったのでやってみた
 -   kind で構築した Kubernetes クラスタ内の NodePort にローカルから接続する 
kind で NodePort を使って外部からアクセスしたい場合の extraPortMapping の使い方のメモ
 -   Vercel bot がデプロイした後に任意の処理を実行する 
Vercel bot のデプロイ後に処理をする方法について検討してみた。
 -   kind を使ってローカルにマルチノードな Kubernetes クラスタを構築する 
k8s クラスタをローカルに作成できる kind を触ってみた
 -   Docker Compose V2 が GA された 
Docker Compose V2 が GA されたので何が変わったのか簡単にまとめてみた
 -   VirtualBox を使って macOS 上に Kali Linux をインストールしてみた 
macOS 上に Kali Linux 環境を構築したメモ
 -   Google Domains で取得したドメインにエイリアス設定しメールを送受信する 
Google Domains で取得したドメインをメールアドレスとして使用するための設定をしてみたので手順をまとめる
 -   Argo CD のチュートリアルをやってみた 
Kubernetes のための宣言型 GitOps 継続的デリバリツールである Argo CD に入門した
 -   React + TypeScript でファイルアップロード機能を実装する 
実装する機会があったので簡単に手順をまとめておく
 -   Kubernetes のヘルスチェック Liveness, Readiness, Startup Probe についてまとめてみた 
k8s の Pod へのヘルスチェックを行う機能の種類や方式についてまとめてみた
 -   Homebrew を dotfiles で管理する際にやったこと 
やりだしたらいろいろ苦戦したので未来の自分のためのメモ
 -   Kubernetes 技術者認定 CKA/CKAD を取得したので振り返る 
Linux Foundation が提供している Certified Kubernetes Administrator / Application Developer の受験にあたり行ったことや学んだことなどをまとめる
 -   vercel/og-image を使って動的 OGP に対応する 
このサイトに動的 OGP 対応した際のメモ
 -   Next.js のサイトに Google Tag Manager 経由でGoogle Analytics(GA4)を導入する 
このサイトのアクセス解析のため Google Analytics を導入した際のメモ
 -   個人サイト立ち上げ 
このサイトの立ち上げを通して考えたことや学んだことなど
 -   テスト 
自分用 Markdown ファイルのテスト