基本的に怠Diary

主に日常と作ったものを書いていく。

k3s + Drone CI/CD構築体験記① なんもわからんまま失敗

mintblog.hatenablog.com 前々回くらいproxmoxでk3sをデプロイした。 せっかくなのでさらなる遊びに興じようと思いついたのがローカルブログの自動デプロイだ。 雑に両方ともPodとして配置して、CI/CDPodからHugoのPodを更新するような構成にチャレンジして…

BTreeを実装しながら学んだ設計の破綻と修正

リポジトリ: GitHub - wasuken/btree_pj 最初のアプローチ(bulk loading) 配列を渡すと勝手に構築してほしいのでコンストラクタをそのように作った。 _split_recursively関数で実施する。 ここは簡易的に実装した。二分割ずつみたいなことしたから、そんな…

ProxmoxでK3sクラスターを構築する:LXC環境での完全ガイド

概要 ProxmoxのLXCコンテナ上でK3sクラスターを構築した際の実体験をまとめる。 構築は生成AIに確認しつつ、エラーログをコピペしながら進めていった。 生成AIの言うとおりにすればすべてそのままうまくいく・・・こともなかったので 自宅ラボ環境においてk3…

PostgreSQLのインデックスについて深掘り

きっかけ PostgreSQLで大文字小文字を区別しない文字列比較を行う方法という記事を読んで、citextという型(EXTENSION)やLOWER()を使った式インデックスについて知った。 記事自体は非常に分かりやすく、実用的な内容で完結していたので読みながら浮かんだい…

実行計画可視化ツール「pev2」でPostgreSQLのパフォーマンス最適化を学ぶ

参考 実行計画を可視化する「pev2」を使ってパフォーマンスチューニングを始めてみよう! はじめに この記事はハンズオンを意識したpev2の紹介記事。この記事を一通り見て、pev2の使い方についてある程度の知識を得ることができた。 また、いくつかの疑問に…

2025年11月振り返り

投稿状況 投稿日数:21/30日 月 火 水 木 金 土 日 [×][●][×][●][●][×][●] Week 1 [●][●][●][●][●][●][×] Week 2 [×][●][×][×][●][●][×] Week 3 [●][●][●][●][●][●][●] Week 4 [×][×][●][●] Week 5 ● = 投稿あり × = 投稿なし 曜日別投稿率: 月曜日:2/4回 …

ブログ運営の振り返りと方針転換

スライドを見て感じたこと speakerdeck.com このスライドを読み、ここ最近ほぼ毎日投稿してきた記事を振り返った。記事の感想やメモと合わせていくつか痛感した点を挙げていく。 手元で動作確認なしのコード掲載 これは完全に自分の記事に当てはまっていた。…

Docker イメージ最適化について学んだこと

【概要】 https://karamaru-alpha.com/posts/docker-build-2025/ を読んで、Docker イメージの最適化手法について知らなかったことが多かったのでメモ。 【学んだこと】 基礎知識の欠如を痛感 Docker イメージが Tar で保存されてることすら知らなかった だ…

PostgreSQLのオプティマイザとGEQOについて学んだこと

はじめに 以下の記事を読んで、PostgreSQLのオプティマイザの挙動とGEQOについて学んだので、その内容を整理する。 【やらかしアドカレ】あの日見た障害の原因を僕達はまだ知らなかった。 【PostgreSQL】ヒント句効かない時は遺伝的問い合わせ(GEQO)が原因か…

Proxmox + Tailscale環境を構築

動機 www.youtube.com この動画を見たのがきっかけだった。Tailscale初めて知ったけどこんな楽にVPN構築できることに驚いた。 丁度一台動画で用いられたPCと同じくらいのスペックのPCが余っていたので構築することにした。 ただ、時間もあまりなかったので、…

"Dockerfileのベストプラクティスについて学ぶ" を読んで

この記事は、「そのDockerfile、卒業しよう」実務で通用するベストプラクティス を読んで学んだ内容をまとめたもの。 マルチステージビルドのメリット 開発時に必要なコンパイラやツールが本番環境に残らない イメージサイズの大幅な削減(記事では916MBから…

「AIに先にテストを全部書かせる」はTDDじゃない――という記事を読んだメモ

はじめに 以下の記事を読んだので、学んだことをメモとして残しておく。 読んだ記事: 「AIに先にテストを全部書かせる」はTDDじゃない。でも、それもアリだよね。 この記事では、TDD(Test-Driven Development)と「テストの事前一括作成」の違い、そしてAI…

BGM Mixer作った

fantastic-rugelach-547a92.netlify.app github.com BGM Mixer Web Audio APIを使用したブラウザベースの音声ミキシングアプリケーション。オリジナル音声にBGMを重ね合わせるミキシング処理をクライアントサイド完結で実行する。 機能概要 音声ファイル読み…

PostgreSQL 17でTOASTの動きを調べる その1

TOASTとは PostgreSQLには「TOAST」という、大きなデータを効率的に扱うための仕組みがある。 TOASTは "The Oversized-Attribute Storage Technique"(過大属性格納技法) の略で、PostgreSQLのページサイズ(8KB)を超えるような大きなデータを保存する際に…

OpaqueAI騒動から学ぶ:なぜ開発者はローカルLLMに逃げたのか

はじめに 2024年9月、OpenAIがModel Context Protocol (MCP)のサポートを発表した。しかし発表直後から2ヶ月以上にわたり、複数の技術的不具合が放置される事態が発生した。海外の開発者コミュニティでは「Breaking News: OpenAI Rebrands to OpaqueAI」とい…

React哲学の真髄:宣言的UIが純粋性を保つ理由

はじめに 先日、興味深いReactの記事を読んだことで、React哲学の本質について改めて考えさせられた。なぜ React 哲学を守らないといけないのか?という記事を読み、「なぜReact哲学を守る必要があるのか?」そして「宣言的UIと純粋性はどう関係するのか?」…

Raspberry Pi UFWファイアウォールルールの大掃除 - 39ルールを8ルールまでスリム化した記録

Raspberry Piを長期間運用していると、ファイアウォールルールが散らかりがちである。今回、39個もあったUFWルールを8個まで削減した実体験をまとめた。 ※ 記事内のIPアドレス、ポート番号、具体的なサーバー情報は匿名化している 問題の発見 $ sudo ufw sta…

React 18のuseSyncExternalStoreでReact外の状態と安全に同期する

この記事は、Build Your Own Magic Atomic Stateを読んだことがきっかけで、useSyncExternalStoreについて調べた内容をまとめたもの。 useSyncExternalStoreとは React 18で導入された新しいフックで、React外部の状態と安全に同期するためのAPI。主な用途は…

PostgreSQL 18 の新機能を調べて整理する

以下の記事を読んだことがきっかけで、PostgreSQL 18 の新機能、とくに I/O 性能改善や UUIDv7 まわりの挙動について疑問が湧いたため、関連知識を調べて整理する。 参考記事 PostgreSQL 18: The AIO Revolution, UUIDv7, and the Path to Unprecedented Per…

検索専用テーブルによる高速検索設計を調べて

以下の記事を読んだことがきっかけで、RDBにおける高速検索の設計について疑問が湧いたため、関連知識を調べて整理する。 参考記事 - 検索が爆速になるデータベース設計を公開します 調べた疑問点 記事を読んでいて、特に次の点が気になった: なぜ「検索専…

UUID v7がデータベース性能を大幅改善する理由 - B-Treeインデックスとキャッシュ効率の観点から

はじめに 以下の記事でUUID v7とv4の違いについて詳しく解説されており、データベース性能の改善効果について疑問が湧いたため、技術的な背景を深掘りしてみた。 参考記事: [UUIDv7 vs UUIDv4] 違いをまとめてみた|使い分けの特徴やDBパフォーマンス差の比…

nanostoresについて調べてみた

Webサイトの状態管理にnanostoresを使った記事を読んで、いくつか疑問が湧いたので調べてみた。 参考記事 - Webサイトの状態管理にnanostoresを使ってみて 調べた疑問点 記事を読んで、以下の点について疑問が湧いた: なぜ265〜797バイトという極小サイズを…

"kubernetes でケチケチ節約して複数のサイトを管理する"を読んで学んだこと

参考 この記事は以下の記事を参考に、Kubernetesでの複数サイト管理について学習した内容をまとめたものです。 kubernetes でケチケチ節約して複数のサイトを管理する はじめに 個人でWebサイトを複数運営する場合、各サイトごとにロードバランサを用意する…

React Suspenseの配置位置と無限ループ問題

参考 本記事は以下の記事に基づいて学習した内容をまとめたものです。 Suspenseを使う時は、子要素が0から再レンダリングされることに注意しよう React NativeのExpo SQLiteを使った開発でSuspenseの配置位置を間違えて無限ループに陥ったという事例を見つけ…

Reactのstate設計:propsをstateにコピーしてはいけない理由

この記事はmameshiba_274さんの記事を読んで学んだ内容を、自分の理解を深めるために整理したものです。 Reactでコンポーネントを実装していると、propsをそのままstateの初期値に渡してしまうことがある。一見問題なさそうに見えるが、これは典型的なアンチ…

JavaScriptの条件演算子(三項演算子)の使いどころと注意点

この記事はstateを最小限に捉えることで、Reactコンポーネントを改善するを読んで学んだ内容を、自分の理解を深めるために整理したものです。 はじめに JavaScriptにはif文の代わりに使える条件演算子(三項演算子)がある。簡潔に書ける一方で、使いどころ…

Reactの`<Component />`と`Component()`の違いを理解する

ReactにおけるとComponent()の違い をみて、疑問に感じたことに対するメモ Reactでコンポーネントを呼び出す方法には2種類ある。<Component />とComponent()だ。見た目は似ているが、Reactの内部では全く異なる扱いを受ける。今回、この違いについてZennの記事を読んで学</component>…

2025年10月振り返り

10月分日報を全部くっつけてClaudeに食べさせてまとめさせたやつ 本人の感想としては 入力が雑すぎたせいでいろいろと誤解させたり、分析がズレたりしたので、 11月2日からはそれなりの粒度で書いていこうと思いました。 投稿状況 投稿日数:23/31日 月 火 …

PostgreSQLのメモリチューニング実践:キャッシュヒット率とwork_mem調整

前半は雑メモ 後半はタイトル通りの中身でハンズオンしたものを記事にした。 VACUUM 何する デッドタプル削除 フリースペースマップの更新 統計情報の更新 VACUUMはテーブルロックなしで並行アクセスが可能なのに対して、 VACUUM Fullはディスク容量を完全に…

ヨーロッパ史 読書メモ(整理済み)

www.iwanami.co.jp 読んでる。今度こそ読み切りたい。 読書メモとしては大帝二人出てきたあたりだけど、いい感じのとこで止まってしまって 残りの大帝が気になったので先に調べてみた。 大帝(皇帝)とは 塗油(聖油を塗る儀式)=戴冠/聖別 教皇の関与 → …