(RDS)Aurora Serverless v2の起動とローカルからのアクセス手順

aws

バックエンドからの接続方法確認、terraform化のためのパラメータ把握のためテスト用のDBを立ててローカルから接続しました。 VPCの準備 VPC サブネット2つ作成 セキュリティグループ ルートテーブル DB作成 ローカルから接続 VPCの準備 VPC外からのアクセ…

(ACM)Certificate ARN is not valid

aws

作ろうとしてるリソースとCertificateのリージョンが合っていない可能性 なおCloudfrontのCertificateはus-east-1限定です。 amazon web services - CloudFormation CREATE_FAILED with error "Certificate ARN is not valid" - Stack Overflow CloudFrontと…

(ECS Fargate)Cloudwatch Logsにログが出力されない

aws

実践terraformから拝借したコードを元にECSを作った結果ログが出力されず、webから作成するとログ作成される状態だったので設定を見比べていった結果、 ECS Service -> ネットワーキング -> パブリックIPがオフだとログが出力されませんでした。(オンだと出…

(Route53)ACM certificateの検証が終わらない

aws

ACM側に表示されるCNAMEレコードをホストゾーンに追加する ドメインとホストゾーンのネームサーバーを共通にする 反映に2日ほどかかるので注意

ローカルでのapply, destroyを禁止する

terraformの実行はgithub actionsなど外の環境で行いたいものの、push前にローカルでplanまでは進めておきたい場合にどうしたら良いか こちらの記事を参考にしてローカル環境にreadonlyなpolicyを付与することでterraform applyをこかすことができました。 […

github actionsとAWSとの連携

configure-aws-credentialsを使用してassume roleでgithub側に権限を渡します。 具体的にはrole_to_assumeにIAM Roleのarnを渡します。 GitHub - aws-actions/configure-aws-credentials: Configure AWS credential environment variables for use in other …

mainブランチの保護

ブランチ保護(直push禁止など)の設定について リポジトリのトップページ->Settings->Branchesから設定可能です。 設定足りてないと思いますが、自分は以下を設定しました。 ・直接push禁止 Allow force pushesのチェックを外す ・ブランチ削除禁止 Allow del…

useEffect内で依存配列を使わずに最新のstateを参照したい

unmount時にstateの値を使って何かしたい時、下のようなコードを書くとvalueの値を他の場所でいくら更新してもmount時の値である0のままになるかと思います。 const [value,setValue] = useState(0) useEffect(()=>{ return ()=>{ console.log(value)//ずっ…

onMouseDownでautoFocusが効かない

inputタグにautoFocusを設定すると、文字入力が可能になっている状態で表示されます。 <input type="text" ... autoFocus /> onClickで何らかのstateを切り替えてinputを表示させた際は問題ありませんでしたが、 onMouseDownイベントを使って左クリック以外で表示を切り替えたい場合にfocus状態…

hasmany(またはmany2many)のアソシエーション先で検索

解決策を見つけることができなかったので愚痴メモしておきます。 文章のみの説明で具体的なコードが出せなくてすみません。 例えばUser has many CreditCardsのような関係で、userId=1がCreditCardId=[1,2,3]を持っている場合、 user.creditCards に CreditC…

reactページをS3に上げてhttps化するまで

https://mydomain.comでバケットA https://sub.mydomain.comでバケットB のreactページを表示させようとした際のメモです。 一通り作業した後の走り書きなので抜けてる作業があるかもしれません。 reactのビルド S3にアップロード 静的webホスティングで確認…

karabiner elements導入

windowsでいうAutoHotkey的なアプリだと思われます。 特定アプリでのみ有効なショートカットが設定できるということで導入してみました。 シンプルな操作変更(Simple Modifications)はGUIから、1キーで複数キーを押させるような複雑な操作(Complex Modificat…

202303 ギリギリでCKS取得

CKS(Certified Kubernetes Security Specialist)を受験した時の感想です。 再受験での合格かつ大したスコアではなく偉そうなことが言えないため、試験の詳しい内容や対策などは他の方の記事を参考にお願いします。 結果 1回目: 64 2回目 : 68 ボーダーは67点…

(typescript, Appium)logLevelを設定する

browser.getPageSource()する度に全体のソースが出力されてしまうので消したくなりました。 const browser = await webdriverio.remote(opts) 上に渡すoptsにlogLevelを設定するわけですが、optsが型を設定していない素のオブジェクトのままだとエラーで怒ら…

github actions学習メモ

Plugin did not respond

m1 mac環境 こちらのissueがひっかかったので言われた通りにlockファイルを削除(バックアップ)。 その後別のエラーが出ましたが、またlockファイルを戻してget, init, plan, applyしたら元のエラーが消えました。 Plugin did not respond · Issue #24168 · h…

markdown練習帳

改行 見出し 見出し1 見出し2 見出し3 見出し4 テーブル 改行 改行位置で半角スペース2つ 改行前に自動でピリオドが挿入されてしまうのはmacの設定によるもので、ユーザー辞書から解除可能。 おはようございます. こんにちは. こんばんは おはようございます…

M1 macでのterraform, docker環境

現時点で公式イメージhashicorp/terraformはarm64に対応しておらず動作が非常に遅いので注意。 こちらのブログを参考にさせていただき、alpineイメージにterraformを入れました。 M1 MacでTerraformの実行環境をDockerで作ってみた | miracleave Tech Blog …

ショートカットなど

ピアノロール周り ノート選択 操作 内容 備考 左クリック ノート選択 Shift+上下 トップ、ボトムノート選択 ノート編集 操作 内容 備考 cmd ペンツール さらに左右ドラッグでノート長変更 右クリック 消しゴム (自分用の設定) 複数選択+Shift+左右ドラッグ …

TL;DR

Too Long; Didn't Read.の略だそうです。

cookieがセットされない

サーバー(golang)でhttp.SetCookieしているのにブラウザ側でクッキーがセットされなかった件について、CORSの設定が足りなかったようです。 フロント側 APIクライアントでcredentialsの使用を設定 axiosの場合はwithCredentials const backend = axios.creat…

ドメイン取得とSESでメール送信

WHERE句でmany2manyの関係にあるテーブルのカラムを使いたい

joinをゴリゴリ書くことになりそうです。 How to query a many2many relationship with a Where clause on the association? · Issue #3287 · go-gorm/gorm · GitHub How to query a many2many relationship with a Where clause on the association with go…

2回renderされてない?

開発環境だけの仕様とのこと。 strict モード – React 補足: この機能は開発モードのみで適用されます。ライフサイクルは本番モードでは 2 回呼び出されることはありません。

importをまとめる

複数ファイルに分けられたexportをまとめてimportしたい時. index.tsでまとめてexportして、それをimportする. folder/A.ts export const utilFuncA=()=>{} folder/B.ts export utilFuncB=()=>{} folder/index.ts export { utilFuncA } from './A' export { …

axiosでのスネークケース、キャメルケース変換

参考にさせていただきました。 送信時はスネークケースに変換し、レスポンスはキャメルケースに戻す処理 – PROGRAMABL isArray()、isObject()、mapValues()、mapKeys()はlodashの関数 axios.interseptors -> axios.interceptors になります

S3に署名付きURLでアクセスする時にSignatureDoesNotMatch

aws

S3署名付きURLを使ってフロンドエンドからS3上のファイルを取得、更新しようとした時の話。 署名に使う認証情報(AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEYとか)を確認したり、AWS_SECRET_ACCESS_KEYにスラッシュが入ってるとうまくいかないという情報を見て…

オーディオのimport

javascript - EDIT: How to import MP3 files in React app - Stack Overflow

プロジェクトルートからのimport

相対パスでのimportが嫌になった時はtsconfig.jsonのcompilerOptionsにbaseUrlを追記 "baseUrl": "./" 上記でtsconfig.json置かれているフォルダ(主にルートだと思います)からimportできるようになります。 TypeScript: TSConfig Reference - Docs on every …

ポインタ周り

*と&の使い方がごっちゃになってるので整理