Songmu さんの書いた 2019 年の Rancher Meetup Tokyo の記事
監視周りの基本的なエッセンスがまとまっていて、 要点を手っ取り早く吸収したい人にはおすすめ。
Songmu さんの書いた 2019 年の Rancher Meetup Tokyo の記事
監視周りの基本的なエッセンスがまとまっていて、 要点を手っ取り早く吸収したい人にはおすすめ。
Mac が新しくなったので node をインストールしようと思い、以前 nodebrew を使っていたので GitHub を見に行ったら開発はいまいち活発じゃなさそう。
なので、ちょっと調べてみたら nodenv の方が活発そうでしかも anyenv を経由して xxxenv もインストールできるというので面白そうなのでやってみた。
homebrew が入っていれば brew コマンドでインストールが可能。便利。
brew install anyenv
ひとまず普通に brew の設定ができていればインストールは問題なく完了するはず。
つぎに anyenv の初期化を行う
anyenv install --init
で初期化が完了する。
anyenv 経由で nodenv をインストールする
anyenv install nodenv
シェルの再起動
exec $SHELL -l
node のインストールまではこの記事で書かないつもりでしたがおまけ。
インストールできるバージョンを確認
nodenv install -l
現状新しそうな 13.14.0 をインストールしてみる
nodenv install 13.14.0
グローバル設定を行う。(普段使うnodeとして設定する)
nodenv global 13.14.0
node のバージョンを確認する
node -v v13.14.0
という感じで適用されていればオッケー
ではでは。
Option + Cmd + L
以上!w
待望の機能がBetaですが発表されましたね!
注意 : Cloud Run の VPC 接続は現在(2020/05/15)Betaです。
注意 : 以下、Cloud Runと読んでいるものはすべてフルマネージド版になります。
Cloud Run のようなサービスは Memorystore(Redis) に接続する際、 Serverless VPC Access を利用する必要がありました。
VPC Access が提供されていなかったため Cloud Run から Memorystore への接続が実質行えませんでしたが、Beta で公開されたので早速試してみます。
この内容は主に ( https://cloud.google.com/run/docs/configuring/connecting-vpc ) のドキュメントの内容をベースにしています。
コネクタを作成します。
注意点として、α版の Cloud Run を利用した場合、Cloud Run のサービスアカウントに Serverless VPC Access ろ利用するための必要な権限がないIAMロールを利用している場合があるようです。
その場合には ( https://cloud.google.com/run/docs/issues#service-account ) こちらから確認できるようです。不安な場合には新しいプロジェクトなり、新しく Cloud Run をデプロイするなりしたほうが良さそうです。
一度も利用していない場合には VPC Access API の有効化が必要です。以下のコマンドで有効化します
gcloud services enable vpcaccess.googleapis.com
以下のコマンドでコネクタを作成します
一度作成すればそのコネクタは Cloud Run 側で再利用が可能です。
gcloud compute networks vpc-access connectors create ${CONNECTOR_NAME} \ --network ${VPC_NETWORK} \ --region ${REGION} \ --range ${IP_RANGE} --project ${PROJECT_ID}
特にわかりづらそうな項目を解説すると
VPC_NETWORK : コネクタを接続するVPCネットワークで、Memorystore を作成する際に作った VPC 名を記述します。
IP_RANGE : 予約されていない CIDR(/28) の internal な IP レンジを指定します。VPC 内の IP アドレスと重複しないように指定する必要があります。
コネクタの READY 状態を確認する場合には以下のコマンドを実行します。
gcloud compute networks vpc-access connectors describe ${CONNECTOR_NAME} --region ${REGION}
コネクタが作成されていれば以下のようにデプロイコマンドのオプションでコネクタ名を指定すれば良いです。
gcloud beta run deploy ${SERVICE} --image gcr.io/${PROJECT_ID}/${IMAGE} --vpc-connector ${CONNECTOR_NAME}
すでに起動している Cloud Run に適用することもできます。
その場合には以下のようなコマンドをじっこうします。
gcloud beta run services update ${SERVICE} --vpc-connector ${CONNECTOR_NAME}
コードは以下のような雰囲気(w
func put() testing.BenchmarkResult { result := testing.Benchmark(func(b *testing.B) { b.ResetTimer() for i := 1; i <= b.N; i++ { cmd := RedisClient.Set(key, value, 0) if cmd != nil && cmd.Err() != nil { b.Fatal(cmd.Err()) } } }) return result } func get() testing.BenchmarkResult { result := testing.Benchmark(func(b *testing.B) { b.ResetTimer() for i := 1; i <= b.N; i++ { cmd := RedisClient.Get(key) if cmd != nil && cmd.Err() != nil { b.Fatal(cmd.Err()) } } }) return result }
実際の実行結果 3回分
上段が set, 下段が get.
1748 668063 ns/op 1815 649694 ns/op
1940 587431 ns/op 2076 595448 ns/op
2008 605562 ns/op 2024 619581 ns/op
参考まで同様のコードをGAEで動かすと
1189 971718 ns/op 1156 1027043 ns/op
1956 948939 ns/op 1120 918023 ns/op
1209 994508 ns/op 1118 981328 ns/op
こんな感じ。
どうやら少しだけ Run のほうが早そうな気がしますね。
https://cloud.google.com/run/docs/configuring/connecting-vpc https://cloud.google.com/vpc/docs/configure-serverless-vpc-access#creating_a_connector
マックで文章を選択したい場合、トラックパッドをダブルタップ(ダブルクリック)で単語を選択状態にしたり、
トリプルタップ(トリプルクリック)をして1行まるっと選択状態にしたりという使い方ができますが、
新しくMacを買ったら設定がされていなかったためとても困って調べたのでメモです。
文字の上でダブルクリックするだけでこの画像のような感じに選択できる機能ですね。
設定方法はアクセシビリティの中にあります。(ずっとトラックパッドの設定を探していた・・・)
ポインタコントロール > トラックパッドオプションを選択します。
ドラッグを有効にする
にチェックを入れ、 ドラッグロックあり
を選択します。
基本的にこれで設定が有効になります。
自分の場合には上記設定をしてもうまく選択状態にならず困っていましたが、
原因はクリック速度(ダブルクリック間隔)が最速になっていました・・・
右端ではなく、少し左側に持ってくることでクリック間隔が遅くても反応するので、トリプルクリックの間隔など、個人の使いやすい設定に調整するととても良さそうです。
ではではー
略がわからないと単語わからなくなるのでメモ
STUN (Session Traversal Utilities for NAT)
TURN (Traversal Using Relay around NAT)
ICE (Interactive Connectivity Establishment)
SDP(Session Description Protocol)
MCU(Multipoint Control Unit)
SFU(Selective Forwarding Unit)
なるほど、これでスッキリ
ファイルのダウンロード機能など作成することがよくあると思いますが、
Chromeだとファイルとしてダウンロードができるのに、Safarだと何故かブラウザ上でダウンロードしたいファイルを展開してしまう。
そんな事ありますよね。
答えをいきなり書くと、 Content-Disposition
ヘッダーが必要。
デフォルト値は inline
(ブラウザでそのまま展開)になっているようです。(MDNによると)
以下のようなパラメータの設定パターンがあります
Content-Disposition: inline Content-Disposition: attachment Content-Disposition: attachment; filename="filename.jpg"
ファイルとしてダウンロードさせ、その際のファイル名を指定する場合には一番下のパラメータがヘッダーに含まれている必要があります。
こちらの図のように、GCS内に格納されているオブジェクトのメタデータを選択し、 Content-Disposition
に対し必要な項目を入力します。
https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Content-Disposition
ではでは。