[Apple Silicon] Session Manager経由でTablePlusを使ってDBに接続する

同じ設定なのにIntelでは動くけど、Apple Silicon上では動かなかったのでメモ。 結論 ワークアラウンドとしてはCLIから起動すれば良い。自分はaliasを貼って、tableplusで起動するようにしました。 alias tableplus=/Applications/TablePlus.app/Contents/Ma…

個人的なMacのセットアップ [備忘録]

はじめに homebrew、Alfred、VS Code、Vim、zshなどの多くの方が使っているツールは省略しつつ の自分がGUI上でよくやる設定を中心に備忘録がてら書いておきます。 ウィンドウマネージャー github.com ShiftitはM1上で動作しないため、M1をお使いの方は類似…

In-app purchaseしている1Password individual accountをfamily accountに変える

背景 先日、1Passoword の Individual account を family accountに変えてみました。 変更の手続きがカスタマーサポートに問い合わせる必要があったりと独特だったので、備忘録がてら書いておきます。 手順 1. アカウントタイプ変更のドキュメントを読む htt…

AWS Certified Security - Specialty に合格した

AWS Certified Security - Specialty に合格しました。 https://www.credly.com/earner/earned/badge/6243c736-edc1-4641-8ff5-d0a9e5e4c405 やったこと 要点整理から攻略する『AWS認定 セキュリティ-専門知識』 公式サンプル問題 Exam Readiness: AWS Certi…

職業としてソフトウェアエンジニアをやってきてわかってきたこと

今までのソフトウェアエンジニアとして拙い経験からわかってきたことリストです。 思いついたものを箇条書きで書いています。 その考えに共感するきっかけとなったリンクあるいは参考になるリンクがある場合はそちらも併せて貼っています。 デプロイ回数を増…

プログラマーが効率良く台湾華語の単語を覚える方法

プログラマーのようにタイピングに抵抗のない人が 注音記号で台湾華語の単語を覚えていくのには 現時点で以下の方法が効率が良いと感じています。 1. 注音記号を覚える。 以下の表を全部覚える https://www.mdnkids.com/BoPoMo/ 気合で頑張りましょう。 四声…

リモートワーカーにpovo2.0はオススメできそう

満を持してiPhone13にした。5年前に比べてiPhoneもLINEも移行が簡単になっててすごい。 https://t.co/OcLDMNatF4— shmokmt (@shmokmt) January 11, 2022 先日、iPhone8からiPhone13に変えるついでにキャリアも見直してUQ Mobileからpovo2.0に変更しました。 …

AWS Certified Solutions Architect – Associate に合格した

AWS

自信をつける意味合いを込めて、AWS SAAを受験したところ合格できました。 資格試験は3年ぶりぐらいだったので、緊張しました。 ITベンダー系の資格は合格すると、Credlyというサービスで合格した証のバッジがもらえるようです。 www.credly.com まあなんと…

2022年になった

2021年の振り返り 仕事 転職した。 バックエンドエンジニアという枠で採用されたものの1on1で「インフラも実は興味があって、チャンスがあればやらせて欲しい」という旨を上司に伝えたところいつの間にかSREになっていた。まだまだスキルは乏しいため、自らS…

nginxのシグナルについて

Controlling nginx nginxのドキュメントを読んでいて気づいたのですが、 nginxのmaster processおよびworker processはTERMを受信するとgraceful shutdownしてくれないみたいです。 なんでnginxのDockerコンテナでエラーが起きないんだろうと思っていたとこ…

actions-setup-tfcmtを作ってみた

suzuki-shunsuke/tfcmtをsetupするアクションを書いてみました。 github.com blog.chaspy.me tfnotify はメンテされていないので、tfcmt と比較する。tfcmt は Terraform での通知に特化しているので多くの優位点がある。その内容は tfcmt の README にある…

資産運用とか勉強するときに読むと良い記事

エンジニア、投資はじめました | wapa5pow's blog 普通の人が資産運用で 99 点をとる方法とその考え方 - hayato

トランザクション中にMySQLに再接続するということについて

問題 Ruby on Railsではコネクションプーリングが基本的に有効になっていて、コネクションが使い回されるという仕組みになっています。 Auroraにフェイルオーバーが発生し、マスターがレプリカに降格した場合は コネクションがレプリカに向き続けてしまってW…

GitHub ActionsでECSのタスク定義のみを更新する

GitHub ActionsでECSサービスをデプロイするときによく使われる aws-actions/amazon-ecs-deploy-task-definition ですが、 タスク定義のみを更新することもできます。READMEのサンプルコードにはその例がないので、気づきにくいです。 inputs: task-definiti…

GitHub Actionsがdependabotで発火した場合のみ挙動を変えたい

DependabotのPRを元に発火するGitHub Actionsはread-onlyなGITHUB_TOKENのみを扱うことができるため、step内で Secretsを参照している場合はfailしてしまいます。 【Github actions】DependabotのPull RequestでSecretsが参照できずワークフローがFailになっ…

ECSでunicornを動かすときの注意点

ECSはタスクが停止すると、各コンテナにまず SIGTERM を送ります。 しかし、Railsと一緒によく使われるunicornは SIGTERM を受け取ると、gracefulに終了してくれません。 graceful shutdownさせるためには QUITシグナルをmasterプロセスに対して送る必要があ…

Nginx の limit_req

Nginxの流量制限する場合に使用される limit_req の使い方について調べてみました。 NGINX Rate Limiting の簡単なメモになります。 limit_req Nginxのrate limitでは、パケット通信の帯域制限などで使われているleaky bucket algorithmに従ってキューイング…

Goで自作パッケージを作るときのちょっとした動作確認

SongmuさんのGo Conference 2019 Summerでの発表資料に パッケージ内の関数の動作確認とかは gore -pkg . が異常に便利です と書いてあって、使ってみたら結構便利だったので備忘録として残しておきます。 -pkg string the package where the session will b…

RFC違反のメールアドレス

日本の大手キャリアであるdocomo、auが2009年ごろまでに作成したメールアドレスはRFCに準拠していないものも作成可能でした。 今日はRFC違反のメールアドレスを考慮した正規表現とAmazon SES、SendGridの対応状況について調べてみました。 RFC違反のメールア…

git 備忘録

任意のコミットで変更されたファイルの一覧を出力する 通常のコミット: git diff-tree --no-commit-id --name-only -r <tree-ish> マージコミット: git log -m -1 --name-only --pretty="format:" <commit-id> mainブランチにマージ済みのブランチを削除する git branch --merged </commit-id></tree-ish>…

フラーをやめて、READYFORに入る。

1月末でフラーを退職して、2月頭からREADYFORで働いています。 Ruby / Rails をしっかり書くのは初めてなので、色々触りながら「う〜ん、これはいかんな・・・」とか試行錯誤してる毎日です。 俺はやるぞ!何かを!— shmokmt / Shoma Okamoto (@shmokmt) 202…

Go で multipart/form-data を扱ってみる

この記事は フラー Advent Calendar 2020 の24日目の記事です。 23日目は @tmshr06 さんで Firestore Emulator を使って GitHub Actions でテストを動かしてみる - Qiita でした。 今回は Multipart について勉強したときのメモを残しておきます。 multipart…

Go の context パッケージとは何か

Go

この記事はフラー Advent Calendar 2020 - Adventar の17日目の記事です。 16日目は shmokmt さん で 「MySQL の Generated Columnsについて」でした。 私がGoを勉強し始めたときに独特な概念だなと思ったのがcontextパッケージでした。 今日はそのcontextパ…

MySQL の Generated Columnsについて

この記事はフラー Advent Calendar 2020 - Adventar の16日目の記事です。 15日目は sohei さん で 「オンボーディングHACKS」でした。 MySQL 5.7.6以降ではGenerated Columns という機能を使うことができます。 これは実カラムの値を計算した結果を格納する…

自分なりの集中を継続する方法

実務でどうやったら集中できるかの自分なりの考察とその対策 ADHD傾向があるので、どういう状態のときに作業しやすいか書いてみる。 どうやったら集中を継続できるか リズミカルな音楽がある 取り組む1つあたりのタスクの量が適切である 多すぎると見積もり…

ISUCON10予選参加しました

先日、会社の先輩方と一緒にISUCONに参加しました。(自分だけ初参加) アプリケーションだけでなく、Nginx、MySQLやSQLの知識も全体的に欠落していることが再確認できた良い機会でした。 自分は横でずっとアドバイスをもらいながらGoを8時間ぐらい眺めてい…

cli/cli をシェルでちょっといい感じにする

CLI

はじめに GitHub製のCLIツールである GitHub - cli/cli: GitHub’s official command line tool の小ネタです。 ちなみに cli はhttps://github.com/github/hub というツールの後継に当たります。 zsh と peco でシュッっとブラウザに飛ぶをやってみる チーム…

Goでforkしたpackageに参照を向ける方法

Go

はじめに Go Modules を使っている 使用しているthird-partyのpackageのメンテナンスが滞っているため一時的に参照をfork先に向けたい replace directive を使う 各ソースコードのimportパッケージをfork先のものに書き換えるのかなと思っていましたが、Go M…

Exponential Backoff とは何か

Exponential Backoff という言葉を最近覚えたので、まとめておきます。 これはなにか ネットワークを通してサーバーと通信失敗時にリトライ間隔をクライアント側で調節する手法です。 Exponential という名前の通り、リトライするときに失敗回数に応じて待ち…

社会人2年目になった

社会人2年生になった 以下は昨年度を通してできるようになったことです やったこと / できるようになったこと Python3 たくさん書いた スクリプト/CLIなら人並みにかけるようになりました。 FlaskなどのWebアプリケーション用途では使ってないので、そちらに…