2019-01-01から1年間の記事一覧

create-react-app で始めたプロジェクトで、pug を使う

create-react-app をして作ったプロジェクトで、pug を使う方法。 基本的なことなのだが、日本の記事があまりないようなので書くことにする。 pug の書き方 pugという関数でタグ付けされたテンプレートリテラルを使う書き方になる。テンプレート文字列 - Jav…

Paker で Chef を利用時、ライセンスエラー

Packer で type に chef-solo を指定時、コマンドが失敗するようになった。 これは、ライセンスの承諾が必要になったことが原因。 Chef Infra Client cannot execute without accepting the license Chef never successfully completed! Any errors should b…

Kubernetes を利用時、大きいデータサイズの画像を複数回POSTするとエラーが出る

Rails を用いて、画像アップロードをするシステムを作っていた時、画像を連続3回アップロードすると502エラーが出る場合があった。これは、メモリの使用量が大きくなり、pod 内のプロセスがkill されていたことが原因だった。 Ruby on Rails のメモリ消費が…

Android で スタティックライブラリを利用する

Android の開発時に、C++などで作られた 静的ライブラリ〜.a や、共有ライブラリ〜.so を利用したい時。まず、ビルド設定方法は1つではない。CMakeLists.txt を使う方法、Android.mk を使う方法と、やり方が選べる。また、 so ファイルは、アプリケーション…

Google Cloud Storage 静的ウェブサイトのホスティング 時、 index.html へリダイレクトされる

静的ウェブサイトのホスティング | Cloud Storage | Google Cloudgcs を利用し、 website をホスティングした時に、 スラッシュ無しのパスへアクセスしたとき、/index.html が存在する場合、/index.html が付加されたURLへリダイレクトしてしまう。 しかも、…

CloudFront の Origin に API Gateway を入れた場合に リダイレクトが発生する

API Gateway で API を作った場合など、そのURLをCloudFrontのOriginに指定したい時がある。その時に、Origin Protocol Policy を、HTTP Only にしていると、リダイレクトが発生する。HTTPS Onlyにする必要がある。

Vue のファイル出力先を変更する

Vue の デフォルトの出力フォルダは、dist フォルダになっているが、他のフレームワークと共に使うような時、出力先を変えたい場合がある。 さらに出力先を公開ディレクトリ(/public)のサブディレクトリ(/public/webview)にしたい場合の vue.config.js の設…

GKE Kubernetes で 、無料で https を利用する

GCPでは、https にて通信するための、マネージドな証明書を発行する仕組みがあるため、とても簡単に利用できます。 GKEで利用するためには、 Ingress に annotations を追加するだけです。 まずマネージドな 証明書を作成 $ gcloud beta compute ssl-certifi…

GKE Kubernetes で Redis を利用する

GCP で フルマネージドのインメモリ データストア を使いたい場合、Memorystore for Redis を利用することになる。Redis インスタンスに接続するためには、同じリージョンに配置され、同じネットワークを使用するGoogle Kubernetes Engine クラスタである必…

GKE Kubernetes で Ingress が 503 を返す

GKE を利用時に、GKE Ingress を利用した時に、どう考えても設定が正しいのに 503 が帰る場合があった。 注意しなければいけないポイントは、 ヘルスチェックのURLは200を返さなければいけない (当然BASIC認証もかかっていてはいけない) ヘルスチェックのURL…

GKE Kubernetes で CloudSQL を利用する

Cloud SQL を利用するためには、直接接続するのではなく、 Cloud SQL Proxy を利用します。 Cloud SQL Proxy は Docker image として公開されているため、こちらを使います。 Googleのドキュメント通りに設定すれば通信出来ます。 Pod 内に Proxy の Contain…

Mysql8.0 で パスワードを無しに設定したい場合

パスワードを空に設定しようにも、バリデーションが働き、空に設定できません。 バリデーション機能を無効化することで、自由なパスワードを設定できるようにします。 無効化 UNINSTALL COMPONENT 'file://component_validate_password'; 有効化 INSTALL COM…