ツー

日常の記録

プログラミング

devcontainerでホスト側のファイル権限がrootになる問題の対処

結果、Dockerのコンテナ作成にだけ気を付ければよかった。 気を付けるべきことは1点 調べたこと色々 ホストのファイル所有者がrootになる 公式による対処法 useraddがない remoteUserの指定は不要 まとめ 参考 気を付けるべきことは1点 devcontainerで使うコ…

AWSのsession manager経由でscpする

簡単だった。 やり方としてはsshをhookするものを仕込んですり替えると言う感じ。 セットアップと接続 ~/.ssh/config に下記を追加。 host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --paramete…

PostgreSQLで全テーブルを削除するSQLを一発で作る方法

たまーによく使うのでメモ。 select 'DROP TABLE ' || tablename || ';' from pg_tables where schemaname not like 'pg_%' and schemaname != 'information_schema';

POSTの本文をそのままにして別ページにredirectする

307 Temporary Redirect でそういうことができるらしい。 なおSPAじゃなく普通のMVCな構成の時の話。 方法 注意点 まとめ 方法 リダイレクトする側はPHPではこんな感じ。汎用性を考えてこんな感じで。 function redirect($url, int $statusCode = null) { he…

WSLが突如使えなくなったので対処

なんでやねん。 対処その1:設定見直し 対処その2:対処療法 まとめ 対処その1:設定見直し 今回はこれが原因ではなかったが、見直すことが多いのでメモ代わりに調べたことを書いておく。 BIOS 仮想化支援技術がオンであるかをチェック タスクマネージャー→…

Twitterから「Application suspension notice」というメールが来た

こういうメール。 そんなに使用頻度が高くないのに何で??と思ったが、既存のアプリがいっぱいあることが原因らしい。 対処法はメールに書いてあることをやればいいだけ。 Twitterの開発者ページに行って Log in to Twitter / Twitter 左メニューにあるProj…

いまさらNext.jsを触りはじめる

もっと早くつかっておけばよかった。 nvm, nodeのインストール nextjsのインストールと起動 material-ui改めmuiのインストールと利用 まとめ 参考 nvm, nodeのインストール 現マシンに何も入っていないのでnodeのインストールから。 GitHub - nvm-sh/nvm: No…

AWS Summit Tokyo 2023に行ってきた

業務で。 報告書を会社に提出するけれど、どうせまとめるなら社会性フィルターを通す前のメモを残しておく。 以下はすべて敬称を省略する。 受付 各セッション DJタイム KEY-01 基調講演 アマゾン ウェブ サービス ジャパン合同会社 代表執行役員社長 長崎 …

MutationObserver便利

Reactの裏側で使われているとは知っていたものの、jQueryが使われていてJavaScriptのコードがあっちこっちで書かれているみたいなレガシーな案件の時に役に立ったのでメモ。 window.addEventListener("load", function() { // 要素が変更されたときに実行す…

テーブルのレコード数とsequenceを合わせる in PostgreSQL

開発環境と本番環境のデータを行ったり来たりして、テーブルのレコード数とsequenceの値がずれてinsert時にエラーが起こるのはあるある。いやなくせ。 というわけで両者の値を合わせるSQLを書いた。本当はSQLのみで解決したかったけど、あんまりやらないこと…

JMeterでcookieありで、かつそれぞれを別ユーザでアクセスしたい

JMeterで負荷試験をやりたいけれど、ログインした先の画面をテストしたいのでつまりはcookieが必要で、cookieが書かれたファイルを読み込んでアクセスごとに別ユーザで負荷試験してほしかったんだけど、標準機能ではできなそうだったのでBeanShellサンプラー…

PostgreSQLでUPSERTをするにはCREATE UNIQUE INDEXでUNIQUEインデックスを作成するのではなくALTER TABLEでUNIQUE制約を作成する必要がある

長いがタイトルの通り。 結論 検証 テーブル例 CREATE UNIQUE INDEXでUNIQUEインデックスを作る ALTER TABLEでUNIQUE制約を作る UPSERT句で使う まとめ 結論 CREATE UNIQUE INDEX は UNIQUEインデックス を作る。ALTER TABLE ... ADD CONSTRAINT ... UNIQUE …

Macbookのセットアップ in M1 MacBook Air

久しぶりにセットアップしたらめっちゃ楽になっとる。 OSの設定項目 brewのインストール Brewfileを作る 1Passwordのextensionだけbrewで入らない Powerline用のフォントインストール VSCode codeコマンドを使えるようにする シェル関連 秘密鍵 perl まとめ …

本日のMNG: MacBook Air (M1, 2020)

そろそろコードを書いていきますか 内容物すくねぇ。 カスタマイズ無しの再安価品を買った Amazonの分割払いがある まとめ カスタマイズ無しの再安価品を買った M1とM2でも迷ったし、ストレージとメモリを増やすかどうかでも迷った。 M1の一番最安値のスペッ…

リモートにある複数のログファイルをtailする

multitailという便利なものがあるので使いつつ、wrapperを書く感じでいいのではないか。 INSTALL リモートのログを見に行くのに鍵の指定がめんどくさいので、keychainに任せるため一緒にインストール。 sudo apt-get install multitail keychain SCRIPT サー…

CloudFront+lambda@edgeでオンデマンドで画像のリサイズしてくれるやつを作る

だいたいはAWSの公式ブログの通り。 上記に書いてなくてハマったことが2点。 bucket policyにGetObjectだけじゃなくてListObjectがないと403が出て混乱する 上記のAWSブログにあるやつを実装してみると404かどうかをチェックしてリサイズの処理を走らせてい…

無限にたまったCloudWatch Logsの空のlogstreamを全部削除する

CloudWatch Logsのログ自体は、保持期間を指定できるのでデータは消えてくれるけど、データの入れ物であるlogstreamだけは空のものが延々と残り続けるので削除する。 コード こういう時はさくっとできるserverless frameworkで。 service: lambda-delete-emp…

SNSとSQSでpub-subな仕組みを構築するための検討

SNSトピックに {"command":"mail.send", param:{"name":"moge"}} みたいなのを投げるとjob queueが動くみたいなのを作りたかったので検討。 SNS -> SQS -> Lambda みたいな構成。 SNSの上限 SQSの上限 システム要件との比較 まとめ SNSの上限 https://docs.a…

reactやwebpackの最新版に追随する

なんかずっとnodejsのモジュールのアップデートしてる気がするな。 nodejsのモジュールアップデート方法 nodejs自体のアップデート typescriptやeslintでどうしても直せないエラー react-router v6 webpackの設定が変わった まとめ nodejsのモジュールアップ…

WSLでpuppeteer

Linux上ではなくWindows上のChromeを呼んだり、バイナリダウンロードしたりと、いろいろ試したけどうまくいかなかったんだけど、以下で試したらあっさり動いたのでメモ。 セットアップのコマンド sudo apt-get install libappindicator1 libappindicator3-1 …

時間ごとに横持ちで集計するSQL

こんな感じで持っているデータを id parent_id created_at 1 101 1234567890 2 102 1234567891 3 101 1234567892 4 101 1234567893 こんな感じで集計するSQL。(想定結果なので集計値は適当) parent_id 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16…

Cognito User Poolのワンタイムパスワードを試してみたができなかった

ここらへんを参考にしてワンタイムパスワードを実装しようとしたができなかったのでメモっておく。 ソースは末尾に。 出力結果 まずは admin-create-user -> admin-set-user-password -> admin-initiate-auth の順で実行。 $ aws cognito-idp admin-initiate…

GitHub Pagesのドメイン設定方法はapexドメインかサブドメインかで異なる

公式ドキュメントに書いてある話だったがわかりにくかったのでメモ。 https://docs.github.com/ja/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site#configuring-an-apex-domain Apexド…

VSCodeの設定

現時点での設定と入れておいたら便利系のまとめ。 設定 "editor.minimap.enabled": false, "editor.letterSpacing": -0.5, "editor.lineHeight": 17, "explorer.openEditors.visible": 0, "window.menuBarVisibility": "toggle", "outline.showVariables": f…

Cloudfrontでキャッシュが全然切れないのはなんでかと思ったら、Reactが提供するPWA用のservice workerのせいだった

結論 create-react-app で作られたアプリで、index.js に書かれている registerServiceWorker() はコメントアウトしておく。 既に呼んでいた場合は unregister() を呼ぶようにする。 経緯 Reactで作られたSPAアプリがあり、s3とCloudFrontで表示している。 …

DockerfileのFROMにlatestを書くな。バージョンを書け。

タイトルの通り。 経緯 GitHubにpush→wercker→CodeDeploy→EC2にデプロイという構成のアプリがある。 werckerではDockerが使えるので、amazonlinuxをベースに開発用のあれこれをいれた自作コンテナを作成して使用していた。 サーバ側であるPerlのdependency i…

WSL内でサーバを起動してもWindowsのブラウザから接続できない。再起動すると直る。

症状 PCについてる電源ボタン(物理)を押して起動するとWindows側からWSL内でのサーバに接続できない。WSL内で wget http://localhost とかは見える 繋げないなと思って再起動するとWSL内でのサーバに接続できるようになる。100%再現する 原因 初回起動時は…

3年前くらいの古いcreate-react-appを最新に追随する

やらなくて済むのならそれがいいけれど、やらなきゃいけなくなってクッソめんどくさかったのでメモ。 Version react & react-dom 15.6.2 -> 17.0.2 react-script 1.1.4 -> 4.0.3 upgrade されていない dependencyでwebpackが競合する とりあえず雑に package…

AWSのEC2上からlegoで証明書が取ってこれない

結論 EC2上からlegoでLet's Encryptを使う場合はUDPの53番を空ける 経緯 ログは適当にデータをマスクしています。 ドキュメント通りに実行してもタイムアウトして動かない。 [ec2-user@ip-172-31-20-114 ~]$ ./lego --server=https://acme-staging-v02.api.l…