terraform-exec の使い方

What is terraform-exec Hashicorpにメンテナンスされているterraform cliをGolangから使うためのモジュール GitHub - hashicorp/terraform-exec: Terraform CLI commands via Go. How to use package main import ( "context" "encoding/json" "fmt" "log" …

NestJSのUnitTestでsqlite3を使う方法

UnitTestの時にDBにつなぐのではなくMockデーターベース(sqlite)を起動させMockデーターベースに接続する方法 ソースコードの大半はNestJSのDatabaseの項目を参考にしています。 https://docs.nestjs.com/techniques/database 1 対象のアプリを実装していき…

ArgoCD NotificationsでMS Teamsに通知する方法

今回の内容 ArgoCD notificationsでMS temasに通知するときに詰まった点について記載していきます。 事前準備 ArogCDは事前"Getting start"でインストールにしていると想定しています。 argo-cd.readthedocs.io ArgoCD Notificationの準備 ArgoCDのStable版(…

JVM error test

Kubernetes上で動いているJavaアプリがOOMなどで死んだときに備えてどのようのエラーログを取得するかテストする方法 テスト環境はMinikube上で動かしています。 Minikube: Java version: 今回のベースアプリ github.com まずDeploymentを作成しDeployします…

OOMを発生させる方法

OOMを疑似的に発生させヒープダンプが正しく出されるか検証 コードはすべてここに置いています。 github.com Spring bootのwebプロジェクトを作成 OOMのタイミングをコントロールするために適当なコントローラーを作成 こんな感じ import org.springframewor…

NestJS Swagegr

docs.nestjs.com

Nginx-ingressでX-Forwarded-Protoの設定方法

Ingressのannotationsにconfiguration-snippetを追加する annotations: nginx.ingress.kubernetes.io/configuration-snippet: | proxy_set_header X-Forwarded-Port 443; proxy_set_header X-Forwarded-Proto "https"; Configmap(ingress-nginx-controller)…

MinikubeでIngressの作成に失敗する

Error from server (InternalError): error when creating "keycloak-ingrers.yaml": Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io": Post "https://ingress-nginx-controller-admission.ingress-nginx.svc:443/…

APIからRealmを追加

Env Keycloak: 11.0.3 Get token def get_token(): url = f"{BASE_URL}/auth/realms/master/protocol/openid-connect/token" realm = "your-realm" username = "your-admin-user-name" password = "your-admin-password" client_id = "client-id" payload=f'…

Quarkusを0.0.0.0にバインドする

引数に以下を追加 -Dquarkus.http.host=0.0.0.0

Windows terminal起動時のWSLのパス変更

windows TermailでWSLを起動時にCドライブのユーザー直下になるのが嫌なので変更しました setting.jsonに以下を追加 { "guid": "", "name": "Ubuntu-20.04", "startingDirectory": "//wsl$/Ubuntu-20.04/home/{username}", "source": "Windows.Terminal.Wsl"…

wslを終了する

list表示 C:\Users\mo378>wsl --list Linux 用 Windows サブシステム ディストリビューション: Ubuntu-20.04 (既定) Ubuntu-18.04 Debian 終了 wsl -t Ubuntu-20.04

WSL2にIntellijをインストールする

WSL2にIntellijをインストールする Ubuntu20.04をインストールし、WSL2にしておく sudo apt update X windowをインストール sudo apt install xfce4 (LightDMを選択) windows にVcXSrvをインストール VcXSrvの設定は以下を参考 qiita.com .bashrcに以下を追…

azreu storage V12を使う方法

const { BlobServiceClient } = require('@azure/storage-blob'); const ConnectionString = ""; async function main() { console.log('Azure Blob storage v12 - JavaScript quickstart sample'); // Quick start code goes here const list = await listB…

Azure storage tableから1000件以上のデータを取得する方法

queryEntitiesは最大1000件までしか取得できない。 continuationTokeを使うことで1000件以上のデータを取得することができる exports.getDataFromStorageServiceAsync = async function getAllFromTable(key) { let account = ""; let access_key = ""; var …

Azure functionsでpngを返す

var d3 = require('d3'); var fabric = require('fabric').fabric; const { JSDOM } = require('jsdom') const fs = require('fs'); module.exports = async function (context, req) { var canvas = new fabric.Canvas('test_canvas'); canvas.setWidth(500…

registry.bin (アクセスが拒否されました。)

プロジェクトを開いたときにに registry.bin (アクセスが拒否されました。) が表示された。 .gradleを作成し再度開くと直る。

Windows Terminalでコピペを可能にする

setting.jsonを開いてkeybindingsを以下の様に編集する "keybindings": [ { "command": "copy", "keys": [ "ctrl+c" ] }, { "command": "paste", "keys": [ "ctrl+v" ] } ]

pythonでseleniumを動かすときにハマったこと

chromedriverのpathが間違っていた selenium.common.exceptions.WebDriverException: Message: '' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home options.add_argument("--disable-dev-shm…

CandidateListを取得する

IMEのCandidateListを取得する方法 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; using System.Windows; usin…

dockerイメージを削除

imageを全て削除 docker rm $(docker ps -aq) 停止 docker stop $(docker ps -aq) コンテナを全削除する docker ps -aq | xargs docker rm イメージを全削除する docker images -aq | xargs docker rmi

複数ファイルの改行コードをCRLF→LFに一括置換する

find . -type f | xargs file | grep CRLF | awk -F: '{print $1}' | xargs nkf -Lu --overwrite

Windows terminalのデフォルトをwslに変更する

Windows termianlのプレビュー版を開くとpoweshellが開くがwslに変更したい。 Windows terminalのsettingsを開くと次のようなjsonファイルが開かれる。 // To view the default settings, hold "alt" while clicking on the "Settings" button. // For docum…

scalaでjava.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlRootElementが発生する

java11を利用しているときにjava.lang.NoClassDefFoundErrorが発生する CreationException: Unable to create injector, see the following errors: 1) Error injecting constructor, java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlRootEle…

Error: Cannot find module

エラー内容 npm run start:prod internal/modules/cjs/loader.js:638 throw err; ^ Error: Cannot find module 'src/user/user.service' 対策 pathをsrcから../に変更する 変更前 import { UserService } from 'src/user/user.service'; 変更後 import { Use…

ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

nestjsでmysqlにアクセスできない ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client が発生してnestjsのアプリが起動できない状況になった。 環境 ubuntu 18.4 mysql 8 …

Hyper-V上のUbuntuにホスト名でアクセスできない場合

環境 Client windows 10 pro Gest Ubuntu 18.4 Ubuntuのホスト名を変更する sudo hostnamectl set-hostname "hostname" /etc/hostsを変更 127.0.0.1 localhost 127.0.1.1 "host neame" firewallの設定 Firewallの設定で受信の規則でHyper-Vを許可する

変更行数の確認方法

git

何行変更したか確認する方法 git diff --shortstat aaaa

NestJS学習記録 middleware

Middleware ミドルウェアは、routeハンドラの前に呼び出される関数。リクエストとレスポンスにアクセスすることができる。ミドルウェアは通常nextという名前で変数名を表す。 ミドルウェアはNestMiddlewareを継承したクラスで@Injectable()である。 import {…

NestJS学習記録

Module 各アプリケーションには、少なくとも1つのモジュールがある。ルートモジュールはNestがアプリケーショングラフの作成に使用する最初の箇所である。小さなアプリケーションではルートモジュールしかないかもしれませんが、大きなアプリケーションでは…