WEB+DB Press総集編のファイル名をいい感じにする

WEB+DB PRESSが休刊してからしばらく経ち、総集編が販売開始されました。 gihyo.jp 今回はこのDVDに含まれるファイルの名前をPowerShellでいい感じに変更する話になります。 前提 DVDには、webdb_vol01.pdfのような形式でファイルが保存されています。 これ…

法人設立した話

先日法人を登記してきたので、その大まかな流れについてお話ししたいと思います。 法人設立を検討している方にとって、参考になる情報があれば幸いです。 TL;DR K@zuki. は、会社員 兼 個人事業主(茨谷企画) 兼 代表社員 の掛け持ち状態になっている 個人…

Docker Composeを使ってPalWorldのサーバを建てる

最近はPalWorldにどっぷりハマっています。 マルチプレイをする場合は、24時間起動し続けたいわけでなければ無理してサーバを建てるメリットはないんですが、 それでも建てたいかつ、比較的環境を汚したくない人向けの簡単な記事です。 ポート開放や正式な建…

Helm ChartでデプロイしているWordPressにads.txtを配置する

元々広告を設置しているWordPressのサイトがあったんですが、本格的にk8sクラスタへ移行するにあたってads.txtを配置する必要がでてきました。 今回はその備忘録になります。 TL;DR BitnamiのWordPressのChartを使っている場合の話に限る このイメージは /op…

個人開発したアプリをストア申請するまでの手順とハマりどころ

最近個人用にアプリを作っていたのですが、ついでにアプリストアに申請した時のハマりどころがあったのでメモとして残しておきます。 TL;DR 基本的に https://zenn.dev/moutend/articles/feebf0120dce6e6426fa に従って進めるでOK 5.5 inchのシミュレーター…

GitHub PagesとGoogle Formでアプリ申請に必要なページを最小限の労力で作成する

最近個人用にアプリを作っていたのですが、ついでにアプリストアリリースする気持ちになったので、そこで必要になるページをGitHub Pages+Google Formで作成した話です。 執筆時点ではまだ申請中なので、申請が却下されたり許可が通ったらしたら追記します。…

iOSアプリでファイル取得処理にRepositoryパターンを活用してPreviewする

年末にやっていた個人アプリ開発でアプリでのTipsの1つです。 他に良いやり方もあるかもしれませんが、Swift触り始めて4日目ぐらいの感想になります。 TL;DR Previewでドキュメントディレクトリにアクセスするとエラーが出る、もしくはクラッシュして2度と起…

2023年買ってよかったもの

2023年に買ってよかったものを書いておきます。 2023年も色々細かい買い物してたんですが、かなり印象に残ってるのは1つしかないので、それを書いておきます。 Cleer Arc 2 イヤホンは外耳炎になりがちなのでヘッドホンを使っていたんですが、これに切り替え…

SwiftDataで動的なキーワード検索を実装する

最近は自分向けのPDFリーダーアプリを開発しています。 このアプリではSwiftDataを使って読書履歴をモデル化して管理しているのですが、これを踏まえてちょっと自分のメモがてらにTODOアプリを例にしたメモを残しておきます。 Swiftを触り始めて3日目ぐらい…

Argo CD, Helm, Renovateを使ったコンポーネントの継続的アップデート

皆さん、こんにちは! この記事はSRE Advent Calendar 2023の16日目の記事になります。 今回の話は、k8sクラスタでのコンポーネントの継続的アップデートを行うための工夫についての紹介です。 SREとして信頼性や安定性を担保するためにアップデートの話は必…

おうちクラスタにCDIをデプロイしてUbuntuを動かす

前回の続きでContainerized Data Importer(以下、CDI)を導入してUbuntuの仮想マシンを動かします。 khasegawa.hatenablog.com マニフェストを用意する マニフェストの取得コマンドは省きしますが、マニフェストをkustomization.yamlから参照するように定義…

おうちクラスタにKubeVirtをデプロイする

おうちクラスタにKubeVirtをデプロイした時の話を書いておきます。 実際に変更したコミットは以下にあるので参考にしてください。 github.com マニフェストを用意する 公式のInstalling KubeVirt on Kubernetesを元に必要なファイルを書いていきます。 まず…

Rails 7.0.8でdatetimeなカラムの精度が修正された件について

はじめに 少し前にRails 7.0.8がリリースされましたが、その前のバージョンである7.0.7.2でマイグレーションした結果のdb/schema.rbが異なるということについて質問されたので、金曜夜に解説した内容を文章にまとめたものになります。 前提 Rails 7.0.7.2 ->…

Login with NotionをSinatraで実装する 

主に個人向けで作っているサービスでLogin with Notionを実装する必要があったので、その時の動作検証を行った時の作業ログです。 Login with Notionと仰々しく言っていますが、端的に言えばNotionと連携するためにOAuthを利用するだけの話です。 Public Int…

SRE NEXT 参加

先週末に開催されたSRE NEXTに参加してきました。 sre-next.dev 個人スポンサーとして参加していたのでノベルティもいただきました。 自宅に着いたのでSRE NEXTのステンレスマグで、会場で購入した脇屋珈琲のSRE NEXTブレンドを飲んでいます美味しい pic.twi…

おうちクラスタのcloudflaredをDaemonSetに変更する

おうちクラスタのcloudflaredはDeploymentとしてデプロイしていましたが、 DaemonSetとしてデプロイするように変更しました。 Why? これといった強い理由はないですが、おうちクラスタの特定のノードにcloudfalredのPodが偏ってデプロイされて、 かつそのノ…

Argo CDでCalicoをデプロイしているとmetadata.annotations: Too longエラーが出る

はじめに TL; DR Argo CDのApplicatoinのsyncOptionsにServerSideApply=trueを追加すれば良い github.com 問題 スクショを取っていなくて申し訳ないんですが、CalicoのHelm Chartをアップデートしたところ以下のようなエラーが出るようになりました。 Custom…

ルーターの設定ファイルをArgo WorkflowsでS3にバックアップする方法

はじめに 今回は、自宅で使用しているルーターの設定ファイルをArgo Workflowsを使ってS3にバックアップする方法について説明します。 Argo Workflowsとは Argo Workflowsは、ワークフローエンジンの1つであり、コンテナベースのジョブオーケストレーション…

revealerというデバッグ用Webアプリを公開しました

注意事項 この記事は、Notion AIに対して 問題と解決策の概要 例示用のコード を渡して生成した実験的な記事になります。 はじめに revealerというHTTPのリクエストデータを表示するWebアプリを公開しました。 revealerとは revealerは、アクセス元のIPアド…

1周回って個人のタスク管理はGoogle Tasksでもいいかもしれない

昔から自分のタスク管理方法について2,3年に1度見直していますが、1周回ってGoogle Tasksでいいのかもしれないと思い始めてきた。 以下の記事のように必要な機能を洗い出して、その機能が担保できるものを使ってきている。 khasegawa.hatenablog.com 現在はN…

OpenAI API を使ったChrome 拡張「br1efly」の紹介

注意事項 この記事は、Notion AIに対して 問題と解決策の概要 例示用のコード を渡して生成した実験的な記事になります。 はじめに 既に多くの方々が似たChrome拡張を作っているため何番煎じかは分かりませんが、Chrome拡張を作成しました。 今回は、自身の…

RTX1300の設定をAnsibleで管理する

注意事項 この記事は、Notion AIに対して 問題と解決策の概要 例示用のコード を渡して生成した実験的な記事になります。 はじめに この記事では、YAMAHA RTX1300ルーターをAnsibleでプロビジョニングする方法について紹介します。 家で管理している各種デバ…

Pixel 7aを購入

Google I/Oで発表されたPixel 7aを購入しました。 元々はPixel 5aを使っていたのですが、スマホを触り始めてから初めて画面をバキバキに割ってしまったこともあり、購入することに決めました。 他にもTensor G2チップが使われていることもあり、モバイルでの…

Renovateをローカルデバッグする

注意事項 この記事は、Notion AIに対して 問題と解決策の概要 例示用のコード を渡して生成した実験的な記事になります。 はじめに Renovateを使用している場合、設定が正しく設定されているかどうかを確認することが重要です。 この記事では、ローカル環境…

設定をバックアップするCron Workflowについて紹介する

注意事項 この記事は、Notion AIに対して 問題と解決策の概要 例示用のコード を渡して生成した実験的な記事になります。 はじめに 最近、私はRTX1300の設定ファイルを定期的にバックアップするためにArgo WorkflowsのCRDであるCron Workflowを使って指定さ…

home-appsをhomeに移行した

直近のブログでも出てきたcorrupt952/home-appsをアーカイブして、corrupt952/homeに移行しました。 github.com github.com なぜ移行したのか 元々、自宅用のマシンセットアップように書いていたAnsibleのPlaybookがあり、レポが分散していると管理が面倒だ…

CoreDNSを削除してしまったのでおうちクラスタをリセットした話

注意事項 この記事は、Notion AIに対して 問題と解決策の概要 例示用のコード を渡して生成した実験的な記事になります。 はじめに この記事では、おうちクラスタでの実体験をもとに、CoreDNSを削除してしまった際のリセット方法についてまとめます。 CoreDN…

おうちクラスタ向けにNFSのStorage Classを設定する

注意事項 この記事は、Notion AIに対して 問題と解決策の概要 例示用のコード を渡して生成した実験的な記事になります。 はじめに この記事では、KubernetesでのNFSクライアントの設定方法について説明します。 NFSサーバのセットアップ まず、NFSサーバを…

Cloudflare Tunnelを使った自宅ネットワークへのアクセス方法の変更

注意事項 この記事は、Notion AIに対して 問題と解決策の概要 例示用のコード を渡して生成した実験的な記事になります。 はじめに 最近、Cloudflare Tunnelを使って自宅ネットワークへのアクセス方法を変更しました。 今回はその方法についてご紹介します。…

Argo CDのMultiple sourcesを試してみる

注意事項 この記事は、Notion AIに対して 問題と解決策の概要 例示用のコード を渡して生成した実験的な記事になります。 はじめに Argo CDにはMultiple sourcesという機能があります。 この機能はベータ版ですが、Helm ChartやKustomizeなどの異なるソース…