2022-01-01から1年間の記事一覧
Heroku の料金体系改定 Heroku's Next Chapter | Heroku でアナウンスされている通り 11/28 から heroku の料金体系が改定されます。無料枠の Free と Hobby プランは 11/28 で廃止されます。そのため、多くのエンジニアが無料枠を求めて fly.io, railway, r…
sqlite3 DB(on Mac) と postgresql DB(on Heroku) を同期する 私の場合 Rails の開発環境とステージング環境をそれぞれ以下のように構築しています。開発に伴う動作確認や実際の英単語の入力は開発環境(Mac mini)で行うことがほとんどなので、自然と両環境で…
Firebase Authentication を使う場合、ユーザーモデルとテストはどうする? Rails で個人用の英単語帳アプリを開発しています。開発環境は Rails 7.0.4 + Ruby 3.1.2 です。 ユーザ認証に Firebase Authentication を導入すると、フォームに入力した email と…
tee に渡すとカラー出力が打ち消されて色なしになってしまう 開発環境の構築などの定型処理は Rakefile でタスクを定義して、バッチ処理として実行しています。 この際にログも保持するようにしているのですが、単純に tee に渡すだけでは標準出力もログもカ…
奇数(odd)がだめなら偶数(even)にすればいいじゃない スプレッドシートからデータをインポート処理を書いています。指定地点 s から指定された h[:x], h[:y] の座標分、セルを切り取って配列(matrix) とハッシュ(kv_pair_matrix) のどちらからでもデータを利…
複数ホストへコマンドを一括実行したい時 複数ホストに一括してコマンドを実行したい時がたまにあります。繰り返す作業ではなく、ざっとログにエラーメッセージが出ていないかなどをアドホックに確認したい時など。これは ansible の command module を利用…
「空気を読む」検索 Rails の検索には Ransack が重用されます。Ransack では基本的にモデルの単一カラムに対して cont(contain) や eq(equal) といった条件で検索が可能です。この場合、ユーザーがひとつの用語で複数のカラムを検索したい場合、別々の入力…
古い AWS アカウントの呪い(?) 私の AWS アカウントでは Tokyo リージョン(ap-northeast-1) の Availability Zone の a が使用できません。使用できるのは b と c だけです。これはアカウントを作成した時期(2011年)に関係しているようです。比較的新しい時…
Tenets of SRE を Github Issues/Pull Requests のラベルにする Github にデフォルトで用意されているラベル(bug, duplicate, enhancement, ...) はアプリ開発向けです。インフラ開発向けの課題管理には SRE Book で定義されている Tenets of SRE(availabili…
Shamshir のスタンドアローン版を k8s(minikube) の cronjob に移植した記録です。 cron でバッチを動かす時の問題点 node, ruby, python 他インタプリンタ系の言語でプログラムを作ると nodenv + npm/yarn, rbenv + bundler, pyenv + pip などのエコシステ…
設定方法 URL バーを右クリックして「検索エンジンを管理」のメニューを表示します。 メニューを以下のように修正します。検索エンジン名とキーワード(トリガーとなるキー)をお好みで指定します。 https://www.google.com/search?gl=us&hl=en&gws_rd=cr&pws=…
k8s 環境として minikube, eks, aws-minikube を比較してみました(k3s は未経験)。個人的には aws-minikube がコスト面/機能面でよさそうに思えたので紹介です。 aws-minikube とは? EC2 1 台で k8s 環境が整うツールです。Red Hat 社の Jakub Scholz 氏が 2…
前回 に引き続き、EKS でサンプルの nginx pod を外部公開するまでを実施しました。 docs.aws.amazon.com Service の外部公開 Getting Started with Amazon EKS で紹介されているデプロイだと Type:ClusterIP でクラスタ内部への公開なので、これを type: Lo…
Ansible の group と host, role と task の関係が 公式ドキュメント からだと個人的にわかりにくかったのでまとめた図です。頭の中でなんとなく理解していたことを図や表に起こしてみることで理解が促進されました(公式ドキュメントにこういった説明があれ…
テストフレームワーク Jest shamshir に細かなバグを見つけたので少しの間、我流のプリントデバッグをしていたのですが、継続的なメンテナンスを考えてテストフレームワークを導入することにしました。参考にしている「ハンズオン Node.js」の「8 章 ユニッ…
2 年ぶりに Kubernetes を使います。以前、仕事で AWS とオンプレそれぞれにクラスタを構築して運用していたもの、構築部分は k8s プロフェッショナルなエンジニアが身近にいたせいでおんぶにだっこの状態でした。過去に Kubernetes The Hard Way を AWS で…
ShamshirLabeling という名前でリリースしています。よろしければお使いください。 github.com
大きな流れ Introduction (5,000 characters) と Short bio (250 characters) を書く(自己紹介と略歴) Sponsor tiers や Goals を決める($1/月で 10 人が目標、スポンサーになってくれた方への特典など) Github と連携する Stripe のアカウントを作成し、銀…
従来のスタンドアローンでの起動に加えて、Github Actions からも起動できるようになりました。よろしければお使いください。 https://github.com/kyagi/shamshir uses: kyagi/shamshir@v1 トリガーのイベントとして「PR のレビューや修正」だと数が多くて G…
Dismiss stale pull request approvals when new commits are pushed Github の Pull Request のレビュー後、APPROVED の数に応じてラベルをつける運用を自動化します。APPROVED 後にコミットがあった場合、自動的に APPROVED が取り消される運用(画像) での…