GoogleCloudでサービスアカウントキーの一覧をHTMLレポートにする
サービスアカウントキーは長期間有効な認証情報なので、定期的に棚卸ししたい。 + コンソールではサービスアカウントごとに確認が必要で手間がかかるため、複数プロジェクトのキーを1枚のHTMLにまとめるスクリプトを作成。 サンプルデータで出力したレポートは次のとおり…
タイトル・タグ・本文から検索できます。
本文の検索データを取得できませんでした。タイトル・タグから検索しています。
サービスアカウントキーは長期間有効な認証情報なので、定期的に棚卸ししたい。 + コンソールではサービスアカウントごとに確認が必要で手間がかかるため、複数プロジェクトのキーを1枚のHTMLにまとめるスクリプトを作成。 サンプルデータで出力したレポートは次のとおり…
Terraformのテンプレート開発環境を構築する Terraform(以下TF)のツールとして以下のツールをインストールした。 tfenv: Terraformバージョン管理ツール tflint: 静的解析ツール terraform-docs: モジュールド…
VSCodeのVimプラグインでキー押下時に異様に遅くワンテンポ遅れて入力されるので対応 拡張ホストプロセスは共通プロセスで動いており他の拡張の影響を受けているらしい。 + vim拡張だけ専用の拡張ホストプロセスで動かすよう設定する。
Snowflake/チュートリアル/Snowflakeを20分で紹介を実施したのでメモ
Snowflakeについて調べたのでメモ データ分析用のサービスだが、データ自体の売買もできそう。 複数のデータプールからコネコネして欲しい情報をViewとして表示したりグラフにしたりできる。 データ自体をマーケットプレースから取得し自分のワークシート?に配置…
Goを学習し始めたのでプロジェクト作成方法と実行方法を調べた。
RDP接続でつなげるPCを配置することにした。 + 家のネットワークはVLAN入れないまま、IOT機器つなげているので、最低限の接続制限と監視設定を行うことにした。
1. ESETの画面から[設定] -> [ネットワーク保護] + 2. ネットワーク保護の画面で[最近ブロックさたアプリケーションまたはデバイス] + 1. [設定] -> [詳細設定] + 2. 詳細設定の[ネットワーク保護] + 3. [ファイアウォール]…
今使用しているPCが古くなったため、年末にPCを新調した。 今のWindows 10 WSL2環境がよく動いて使いやすいため、次もWindows機を購入した。 しかしWSL2をインストールしたところ動きが不調になった。 現象としては以下の通り。エラーログは取り…
CRON実行時に環境変数が読み込まれず困ったのでメモ
適当にJSON Serverで作成したMockからOpenAPIの定義を生成できないか試したのでメモ。 + 結果としては一応生成できたが余分な値や足りない(クエリパラメータなど)部分がある。
Jsで複数のダブルクォートに囲まれた文字列を抜き出したかったので調査
Astro入門してみたが npm run dev して開発サーバ立ち上げてもいつものごとくホットリロードが効かないので調べた
SPAのようなJSで画面構築してレンダリングされた後のHTMLを取得したいので調査 以下の条件で検討した。 ReactやVueなどJSフレームワークに依存しない
Debianにリポジトリを登録してChromeを入れようとしたところ apt-key が廃止されることがわかった。 + 代替方法を調査したのでメモ ひとまとめで管理していたリポジトリの鍵を個別で管理し、信用できないサードパーティのリポジトリの鍵は公式の鍵の場所…
EmailableReportのHTMLはcssを外部から取得する形になっている。 + それではHTML形式のメールとして送れないためjuiceを使用してinline化しAmazonSESで送信する。
AsciidoctorでHTMLを埋め込んで表示しようとすると埋め込むHTMLのスタイルシートが親に適用されてしまう。 + iframe形式で埋め込んで適用されないようにする。
メールでJUnitのテスト結果を知りたいという要望のため調査 Allure Reportはサーバが必要(HTML版含め)だったが、 fescobar/allure-docker-service の Emailable Report 機能を使用するとメール用の1…
CLIでHTMLフォーマットのメールを送る方法を調査
Bashと同じように、変数なしでコマンドの結果を文字列結合させたい。
.標準Queueを作成 ---- QUEUENAME="my-queue" ## Queueの作成 aws sqs create-queue --queue-name ${QUEUENAME} ---- FIFOQueueを作成する場合はQueue名の最後に …
1. メッセージを用意 + ---- { "id": "xyz", "type": "TYPE", "body": "あいうえお。\nかきくけこ。", "nest":{ "key": "サシスセソ。\nタチツテト。", "array": [ "なにぬねの\tは…
jqでjsonファイルを文字列として出力したい。
PowerShellを使用して未使用のTCPポートを取得したい。
オプション -ArgumentListを指定し、複数のパラメータの場合は , で区切る .例 ---- Start-Process -FilePath aws.exe -ArgumentList 'ssm','start-session','--target'…
ディレクトリやファイルをコンソール非表示で強制削除したい() .ディレクトリの削除 ---- rd /s /q %dirPath% ---- .ファイルの削除 ---- del /q %filePath% ---- .ディレクトリの削除(ディレクトリがあるなし…
使い捨て環境をサクッと作りたくてバッチを適当に書いた。 実行するとSSM経由で接続できるEC2を起動し、SSHの設定と共にKeyPairを取得して配置してVSCodeをリモートモードで起動する。 + 起動と同時に以下のようなバッチも生成し簡単に削除できるように…
いつの間にかParameterStoreから最新のAMI-IDを取得できるようになっていたためメモ 各AWSサービスで使用できるPublicパラメータというものがParameterStoreで公開されている。 + ParameterStoreからは以下の用に各…
実験用の使い捨てEC2を建てたくなることが多々あるため、CloudFormationでデフォルトVPCにEC2を簡単に建てるメモ。
AmazonLinux2にExtrasLibraryからDockerとdocker-composeをインストールする + ec2-userで接続中 ---- # パッケージ更新 sudo yum update -y # Dockerのインストール sudo a…
psqlでselectした結果をCSVとして出力したい。
logstatementとlogmindurationstatementを指定したときのクエリーの出方がわからなかったため調査。 + pgsleepでクエリ実行時間を制御して試した。 .logstatement=all ---- db1 | 2022-09-1…
SchmaSpyで手元のPostgreSQL用DDLからテーブル定義書を生成してみる
BashでTCP接続可能になるまでまち、接続できたら終了する方法を調べた。 方法はncコマンドを使用する方法とBashだけでできる方法があるらしいが、ncコマンドは大抵デフォルトでインストールされていないので、Bashだけで行いたい。
最近PostgreSQLを触ることが多いため、サクッと遊べるようにDockerで作成してみた。 .Dockerfile ---- ---- .docker-compose.yml ---- ----
vmstatでリソースの情報を日付入りでファイルに出力する
CloudWatch SyntheticsでHostとIPを紐づけてURL監視を行う。 以下の条件でURL監視したいとのことなので調査 マネージドサービスがいい 名前を公開したくない 監視対象はHTTPS VPC作りたくない。既存のVPCにアタッチしたくない …
jstackでスレッドダンプを定期的に取得するために調査
ECSExecでコンテナに入りjstackでスレッドダンプを取ろうとしたところ以下のエラーが発生。 Unable to open socket file /proc/81/root/tmp/.javapid81: target process 81 dosen…
AWSCLIで取得してjqで加工して保存する。 + コマンドの実行はすべてコマンドプロンプトで実行するよう。 結果はそれぞれのシェルに貼り付ける。 .cmd ---- aws sts get-session-token --duration-seconds 3…
yarnのv1を使用している環境でproxyを建てずオフラインインストールしたいという要望があったので調査。
テストで使用するのでサクッと作りたいというご要望
テストで使用するのでサクッと作りたいというご要望
テストで使用するのでサクッと作りたいというご要望
Jsonを読み込んで加工したかったので調査 .json.ps1 ---- ---- .sample.json ---- ---- .samplecp.json ---- ----
ConvertFrom-JsonでJSONからObjectにパースし、ConvertTo-JsonでJSONとしてBOMなしUTF-8でファイルに書き出す。 .json.ps1 ---- ---- .sample.json ---- ---- .samplec…
ドライブ容量がギリギリになり容量を圧迫するnodemodulesを全部消したかったのでメモ
AWSCodeBuildのプロジェクトをコピーしたいという要望があったのでCLIで実施
Cloudflare Workers上でWeb Crypto APIで公開鍵と秘密鍵を作成し、joseでJWTの作成と検証をしてみた。 ---- ---- 以下、実行した結果 ---- { "token": "eyJhbGciOiJQUzI1NiJ9.eyJ1…
前回以下のコマンドでサンプルプロジェクトを作成したが、そのままではテストが通らなかった。 + また、全部のパスを通るテストを追加してみたがカバレッジが100%に上がらなかったので対応 .console npx create-cloudflare sample-…
.console npx create-cloudflare sample-hono https://github.com/honojs/hono-minimal 以下、作成されたディレクトリ構造 .console root@5ad01add5449:/wor…
AWSのEC2に対してSessonManager経由で接続しdevcontainerを使用したい。 ---- @startuml !include !include !include !include ' !include left to right dire…
CloudflarePagesを利用してGatsbyビルド時に以下のエラーが発生した。 07:43:59.243 error gatsby@4.15.2: The engine "node" is incompatible with this module. …
devcontainerでgatsbyを利用時にコンテナ再作成してから yarn start すると以下の表示がでる。 ╔═════════════════════════════════════════════════════════════════════…
yarn: 1.22.19 以下のコマンドで確認する yarn list --pattern 'パッケージ名1|パッケージ名2' ---- > yarn list --pattern '@aws-sdk/client-s3|@aws-sdk/s3-reques…
v2での作り方は転がってるが、v3での作り方がわからず若干ハマったのでメモ
Gatsbyのプロジェクトを新規作成したところ、tsxファイルを編集してもホットリロードが効かない。 + 2.X.X時代のプロジェクトでは効いていた。
Test-Path を使用する。 .存在するか確認 ---- $filepath = "test.txt"; if(Test-Path $filepath) { echo "存在する"; }; ---- .存在しないか確認 ---- $filepath = "…
オプション -Recurse,-Force をつける -Recurse:: サブディレクトリごと削除 -Force:: 隠しファイルや読み取り専用ファイルを削除 ---- Remove-Item xyz -Recurse -Force ---- ただし、ファイ…
いつも日本語版AMIを探し回るのでメモ
chocolateyやwingetが使用禁止のためpowershellでインストールする .installsakura.ps1 ---- ----
chocolateyやwingetが使用禁止のためpowershellでインストールする .installvscode.ps1 ---- ----
A5M2で生成されたSQLをコマンドラインから実行する。 + 実行方法はコマンドラインツールのzipを解凍すると一緒に入っているa5m2cmd.ja.txtに記載されていた。
S3のポリシー見直しをしていたところ、ALBのログがS3に出力されなくなった。 + ALBのログ出力に指定するバケットのポリシーのPrincipalに自分のアカウントIDを指定していたことが原因。 ALBからのログ出力に指定するアカウントIDは以下の通り ap…
メールのバウンス処理をテストする必要があったのでメモ AWS CLIを使用してバウンスをシミュレートするメールアドレスに対してメールを送信する ---- fromMailAddress=sample@szk302.dev aws ses send-email …
Java11のHeapメモリサイズを指定しようとしたらいつの間にか%で指定できるようになっていた。 以下のオプションが関連してくるようだが、使用するのは InitialRAMPercentage と MaxRAMPercentage MinRAMPercent…
コンテナ内からメモリ使用率を確認したかったが必要なコマンドが存在しなかったため、インストール
JMeterをインストールして日本語化する
PowerShellからAWS CLIを使用してタスクIDを取得し、ECSExecを使用してbashを実行する
application.propertiesに日本語文字列を定義していて、プレースホルダーで環境変数から取得するようにしたらエラーになったのでメモ application.propertiesはjavaのプロパティファイルであり使用できる文字コードはISO88…
AmazonECSのタスク定義に指定されている環境変数をkey=value形式で出力したい
AmazonECSのタスク定義をコピーして別のタスク定義を作成したい。 + CLIからタスク定義を取得し、別のタスク定義として保存する
AWSCLIで取得してjqで取り出す .SecretsManager(/secret/rds/app) ---- { "spring.datasource.username": "app", "spring.datasource.password": "P@s…
curlで実行時のレスポンスHTTPステータスとBodyを取得したい
コマンド呼び出しにかかった時間を計測したい ../time.sh ---- ----
変数展開を使用して0埋めする
PowershellでTCP接続可能になるまで待ちたい .wait.ps1 ---- $dstHost = 'szk302.dev' $dstPort = 443 $maxRetryCount = 2 $count = 0 while (-not (Test-…
Windows環境で直接開発すると文字コードの問題などがあるのでVSCodeのRemoteDevelopmentを使用して開発したい。
VSCodeをスクリプトでインストールしたいがDownloadURLがわからないため調べた Systemインストーラは以下のURLでダウンロードできる。VERSIONにlatestを入れると最新版を落とせる https://update.code.visual…
毎度忘れるのでメモ
Packerのデバッグ方法を調査した
意外とWindowsのEC2を使用することが多いため、簡単にAMIを作成できるようにしておきたい
curlを使用してHTTPステータスコードが200になるまで待ちたい
Tomcatのログの保存期間を10日に変更したい。 + 昔は古いログは削除されなかったようだが、今はmaxDaysで設定できるようだ。 以下のログの場合、${CATALINAHOME}/conf/logging.properties のmaxDaysを変更する…
どれがなんのログなのかわからないため調べた。 Tomcatはデフォルトで以下のログを出力している。 catalina.out:: コンソール出力と同じ(標準出力/標準エラー出力) 設定箇所: catalina.sh catalina.yyyy-MM-dd.lo…
Tomcatを使用する際、managerなどのデフォルトで含まれるアプリは消すため、ログ出力設定もプロパティをコメントアウトする。 以下のログ出力を停止する manager.YYYY-MM-DD.log : managerのログ host-manager.YY…
サーバのストレージ容量が圧迫されいることがわかったが、どのディレクトリが圧迫しているかわからない。
行番号指定でコメントアウトを行うのではなく、文字列を指定してコメントアウトする
毎度忘れるのでメモ
WindowsのEC2へSSMのポートフォワーディングを利用してRDP接続するユーザを作成したい。
毎度忘れるのでメモ
ブロードキャストとマルチキャストの違いを忘れたのでメモ ユニキャスト:: 一対一 ブロードキャスト:: データリンク内のすべて マルチキャスト:: 特定のグループ内 エニーキャスト:: 特定のグループ内の1つ
AWSDirectConnectを使用してS3やAPIGateway(Public)に接続したいという要件が出たため調査 専用接続、ホスト接続型、ホストVIF、占有VIFなど似たような用語が複数あり混乱した。
日付を含むファイル名を生成したい ---- FILEPATH=sample.adoc FILENAME="${FILEPATH##/}" POSTDATATITLE="${FILENAME%%.adoc}TZ=Asia/Tokyo date +%Y%m%d%H…
SpringBootを使用して作成したWebアプリケーションをWarにするときに、依存ライブラリを別にしたい
WindowsPCを使用したネットワーク疎通確認用にPowershellで簡易HTTPサーバを作成した。 .http-server.ps1 ---- $html = @" TestPage Test Sample "@ $port = 80 Write-Hos…
環境変数からユーザ名とメールアドレスを指定していたが、WSLやコンテナ内からのコミットで切り替わり、誤コミット連発したのでローカル設定として設定したい。
jqでjsonの一部の値だけ書き換えたい
ブログの記事中で記述できるドメインの example.com のような特別なIPを調査 TEST-NET-2: 203.0.113.0/24
AlpineLinuxでcsplitを使用したい
yamlからjsonに変換する必要があったため調査
Entrypoint指定済みのDockerイメージに対して docker run -it ${IMAGENAME} /bin/bash したい。 Entrypointが指定されている場合のコマンド指定はEntrypointの引数として実行されるため、bashが…
---- git config --global core.quotepath false ---- core.quotepath:: Cのエスケープ方法と同じようにマルチバイト文字をエスケープする(default:true) core.quotepath k…
以下の攻撃に対するフィルタを設定する IPスプーフィング:: 送信元のIPアドレスを偽装し、通信を行う攻撃手法 Land攻撃:: 送信元IPアドレスと送信先IPアドレスが同一のパケットを攻撃対象コンピュータに送るDoS攻撃の一種 Smurf攻撃:: 標的となる…
pipで git-filter-repo をインストールしたが、 git: 'filter-repo' is not a git command というエラーが発生 + 原因はgit-filter-repoのパスが通っていないせいだった。 + git-filt…
WindowsやWSLなど複数の場所でコミットしていたので、GitのログのCommiterやAuthorがバラバラになってしまった。 + 過去のログのCommiterやAuthorをまとめて書き換えたい
Gitで直近にコミットされたファイルのパスを取得した。 ---- git log --pretty="" -1 --name-only -- .adoc ---- .表示結果 ---- posts/jqでファイルの内容をjsonの値として取り込む.adoc -…
ファイルの内容を改行などをエスケープしつつjsonの項目のvalueとして取り込みたい
---- git grep -il TODO | xargs -n1 git blame --show-name | grep -i TODO ---- パターンに一致する行を表示する -i:: パターンとファイルの大文字と小文字の違いを無視 -l:: 一致し…
Yarnでスクリプト実行時にWindowsやLinux環境を考慮せずに環境変数を指定したい。 + CROSS-ENVを使用するとマルチ環境で環境変数を指定できるようだ。
react-app-rewiredでビルドしたときに、クラス名にハッシュ値がつく。 結局使用したかったが、このクラス名を固定化したかった。 localIdentName を指定して見たが、固定化できなかった。 + getLocalIdent を使用すると変更で…
軽くデバッグするために標準出力に出す方法を調べた ---- package main import "log" func main() { log.Println("ログ") } ----
一時的にcloneしたリポジトリに対しコミットしたい場合に名前とメールアドレスを変えたかったので調査 -cオプションをつけてコマンドを実行 ---- git -c user.name='名前' -c user.email='名前@example.com' co…
このBlogを構築するにあたりGitHubActionsを利用した。 コンテンツ用リポジトリとHugoの環境のリポジトリを分けており、 コンテンツに投稿するとコンテンツ用リポジトリのWorkflowが動きHugoの環境のリポジトリのWorkflowを呼び出す形…
あるJobでビルドしてartifactとしてアップロードし、別のJobでアップロードしたartifactを使用した
GoのPercent-encoding用関数はPath用とQuery用の2種類ある。 Path用 url.PathEscape() url.PathUnescape() Query用 url.QueryEscape() url.QueryUnescape()
- の数で階層が変わる デフォルト設定では下方向に階層が広がる NOTE: 分かりやすいようアルファベットの隣に階層の番号をつけた ---- @startuml A1 - B1 A1 -- C2 A1 -- D2 C2 - E2 @enduml ---- --…
時々Node.jsでモジュールなしかつ同期的にファイル一覧を取得する必要があるので書いた。
WSL2上でコミットしてpushすると毎回認証を聞かれるため調査
contentをsubmoduleとして登録してあり削除する。 .Console ---- szk@X1:~/szk302/dev-blog-builder$ tree -L 1 . ├── archetypes ├── config.yml ├── cont…
Hugoでhtmlを生成した際に大文字のファイル名で生成したところ、パスが小文字となり画像が表示されない問題が発生 + config.ymlにオプション disablePathToLower を指定することで大文字のままhtmlを出力できた。
CloudflarePagesにはデフォルトでcacheが組み込まれているらしい。 + Webサイト側のcacheはいらないようなのでRuleで無効化した。(※ルール以外で無効化する方法がわからなかった)
設定画面(Settings/Developer settings/Personal access tokens)からGithubPackages用のPATを作成しようとすると、 repo のスコープのアクセス許可が追加されてしまう。 + 以下のアドレスからアク…
git submodule update してもsubmoduleがupdateがされない。 最初に行ったsubmoduleの追加方法が悪いようだった。
Cloudflareでこのブログをホスティングしたところ、cssファイルのダウンロードがされず画面が崩れた。
自動コミットを作成した際に、差分がない場合にコミットすると終了コードが1になり失敗する + 差分がある場合にだけCommitするようにしたい。 ---- git add -A git diff-index --quiet HEAD || git commit …
Webpackでビルド時に生成されるファイルを300kb以下に抑えたいという要望があったので調査
Reactで書いたコードに含まれているconsole.logをwebpackのビルド時に消したいという要望があったので調査
react-app-rewiredで作られたプロジェクトでwebpack-bundle-analyzerを使用したかったので調査
Gravatarに登録したプロフィール画像のURL取得方法を調査した。 MD5のハッシュ値(小文字)に変換して https://www.gravatar.com/avatar/ につなげることでプロフィール画像のURLになる 以下、Powershellのスクリ…
URLの最後に ?s=ピルクセル数 をつける 100px(https://www.gravatar.com/avatar/d9669165d1baf624cedab4afc3dfcc42?s=100):: 200px(https://www.gravatar.…
以下のプルリクでPlantUMLが表示できるようになったようだ rework external asciidoc integration #7281
Awesome Open Source/hugo-themeなどからThemeを探してみた。 スター数やシンプルなブログを考慮すると以下のThemeが残った。 Hugo Papermod Loveit fuseを使用してみたかったのでPapermodに決定
キーワードやカテゴリを変更してください。