寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。 投げ銭は kyash_id : chidakiyo マデ

QRコードに任意の画像を埋め込めるツール

自社のロゴが入ったQRコードとか作りたいですよね。 そういう時に便利に使えるツールが QArtCoder になります。 research.swtch.com サンプルはこんな感じ。 便利ですね。

VS Code に Vim をインストールする

新しいMacに移行する際にまっさらから設定したので、作業メモ。 プラグインをインストールする https://marketplace.visualstudio.com/items?itemName=vscodevim.vim こちらからそれっぽくポチポチします。 vim の設定を適用する Quick Example にある設定を…

GAEの固有ヘッダー

GAE を利用していると、GAE の LB が固有のヘッダーを色々つけてきます。 GAE 固有のヘッダー 固有のヘッダーについてのドキュメントはこちら。 cloud.google.com X-Appengine-Country , X-Appengine-Region など様々なヘッダーがあります。 GAE を External…

M1 Mac に brew (homebrew) をインストールする

M1 Mac の Homebrew 対応もいい感じなってきました。 今は以下のコマンドを実行するだけです。 インストールコマンド /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" コマンドを入力すると、sudo (特権…

nginx を LB の裏側においた場合のリダイレクトが相対パスでリダイレクトさせたい

タイトルのとおりですが、LB 配下に nginx を 8080 ポートなどで起動させている場合、 nginx のリダイレクトを使うと :8080 がついた URL にリダイレクトしてしまうことがあります。 そんな場合には相対パスでリダイレクトさせたい、、、となります。 実現方…

Permission 'iam.serviceaccounts.actAs' denied on service account ~~ のように言われたとき

従来、GCPの特定のサービスでは、ユーザがサービスアカウントを偽装する権限がなくても、サービスアカウントをリソースにアタッチすることができましたが、 App Engine CloudComposer Cloud Data Fusion Dataflow Dataproc においては偽装する権限を付与する…

Google のドメイン認証のオーナー権限付与するサイト : ウェブマスターセントラル

たびたび、サーチコンソールなどの権限を設定する際に、 大元のドメインのオーナーを付与する方法を忘れるので備忘メモ。 ウェブマスターセントラルから行う。 https://www.google.com/webmasters/verification/home 単なるメモでした。 ではでは。

Cloud Run のデプロイした最新のリビジョンにトラフィックを流さない方法

Cloud Run に新しいコンテナをデプロイした際、 新しいリビジョンにはトラフィックを流さずに一旦privateな状態でリビジョンで動作確認を行い、 トラフィックを流したい、という要望がありそうですが、そのやり方 (デプロイの際に最新リビジョンにトラフィ…

Cloud Run に別の Project の Container Registry/Artifact Registry からデプロイする方法

Cloud Run 使ってますかー? 例えば、本番環境とテスト環境など、 Project を分離した場合、どちらかの GCR などから両方の環境の Cloud Run にコンテナをデプロイしたくなることはあると思います。 一般的には単一のコンテナで(環境に合わせて build など…

git で .gitkeep は残したいけど、他のファイルは Ignore したい場合(ディレクトリだけ残したい場合)

開発していると、特定のディレクトリだけ git にコミットしたいけど(.gitkeep)、 その中に入るファイルは除外したいんだよなぁって場合があると思います。 そういう場合の .gitignore の書き方は.. .gitkeep だけ有効にする記述 特定のディレクトリが hoge …

GCP のコンテナスキャンで猛烈に課金されていたので停止する

GCP のコンテナスキャン、便利な機能ですが、ひたすらコンテナを GCR/Articact Registry に push したり、 GAE のデプロイを大量に行っていると課金でびっくりすることもあるかと思います。 停止するためには、GCR か Artifact Redistry の settings から Sc…

マイクロサービスの Fault Tolerant に関して説明したい時にいつも探してしまう資料

タイトルの通り。 マイクロサービスの Fault Tolerant に関して説明する際に、 いつも探してしまうがなかなか見つからないのでメモ。 下記の スライド と 解説 を合わせて見ると良い感じです。 スライド(PDF) https://www.jfokus.se/jfokus16/preso/Building…

Googleの共通認証基盤のはなし

たびたび話題にしようとして忘れてしまうのでメモ。 秒間100万リクエストはすごい。 mrasu.hatenablog.jp

小ネタ : HackGen フォントをインストールする

エンジニアならターミナルのフォントいい感じにしたいですよね。 自分は色々めんどくさくて、zshの設定も最近は何もせずにプレーンに使っていましたが、 ちょっと良さそうなフォントを見つけたので適当に入れてみました。雑メモです。 HackGen とは? こんな…

Slackに匿名で投稿する仕組み、Workflowでやれるじゃん、と思ったので作った

Slackに匿名で投稿できると嬉しい人もいるかな?と思ったので以前botみたいなものを使って実現している人を見かけていて、ちょっと手軽に運用するにはめんどいなーと思ったので、workflowで作れんじゃない?と思いついたので作ってみました。 Workflowはどん…

GAEのカスタムドメインのTLS1.0/1.1を無効化する

GAEでカスタムドメインを利用しており、TLS1.0/1.1 を無効化したいという人もいるかと思います。 今回はその流れをサラッと書いていこうと思います。 なぜ TLS1.0/1.1を無効化するのか 私の説明より こちら の素晴らしい記事を読むのが良さそうです。(手抜…

Terraformやコマンドで作成したCloud LoggingのLog RouterがPub/Subに送られない

ちょっと前にTerraformでLog Routerを作成し、Pub/Subにログを送ろうとするとうまく送れず、 Web UIで作成するとうまく送れるということがありました。 雰囲気問題点がわかった気がするのでメモしておきます。(2021/02/08現在の情報です) 問題点 Web UIか…

GAE/go のデプロイが遅くなったと思ったときに読む記事

タイトルの通り、GAEのデプロイにCloud Buildが裏側で利用されるようになり、 なにやらキャッシュとかうまいことやってくれようとしています。 しかし、そのキャッシュの作成なのか、展開なのか、若干その扱いが内部的にうまく行ってないようで、 デプロイを…

Chrome の HSTS 状態を確認する

HSTS ってなに? HTTP の Strict-Transport-Security。HSTSと略されます。 ウェブサイトがブラウザに対してHTTPSの代わりにHTTPSを用いて通信をする用に指示するためのもの。 HTTPからHTTPSにリダイレクトする際に中間者攻撃の機会を作ってしまうリスクがあ…

Go で Spanner とよろしくやるためにガチャガチャやっている話

この記事は Go Advent Calendar 2020 14日目 の記事です。 みなさん Go してますか? Spanner も触ってますか? 最近やっと部分的に本番環境で Spanner を利用し始めました。 Spanner のスキーマなどを git で管理しつつ、チーム内でレビューなどをしつつ運…

GCP の DNS を yaml ファイルを利用して管理する

GCP の DNS を利用する場合、Web UI や コマンドでレコードをポチポチ投入するの大変ですよね。 今回は Cloud DNS のレコードをまるごと yaml で管理し、 export/import する方法を書いてみます。 必要なもの 試す際に Google Cloud SDK(gcloud) のインスト…

GCP でアプリケーションのログや特定の値をいい感じに BigQuery にエクスポートしたい

アプリケーションを実装していて、ログをかっちり決めたカラムに挿入したい、や、 難しい API を利用せずに BQ に特定のデータを挿入したいという場合ありますよね。 普通にやると、BigQuery の API を経由し、ストリーミングインサートするなどちょっとひと…

たった 60 分で Go の静的解析が理解できる神コンテンツ

タイトルの通りで 60 分ほどで静的解析が理解できるコンテンツを見つけたので共有。 静的解析ってなんじゃ? ASTってなんじゃ? って状態から、「なんとなく静的解析やれそう」になれたのでぜひ試してみてほしい。 静的解析をはじめよう - Gopherをさがせ!

IntelliJ で Eclipse の Outline 機能のような形でファイルのプロパティ一覧を表示したい

Go を書いていると、 Go の文化としてファイルをあまり分割せずに、フラットにファイル内に書きづづけるということがお多くなるかと思いますが(自分は結構分割しちゃうけど)、その場合、どこにあのプロパティ/関数あったっけ?みたいになりますよね。 Ecli…

Spanner で NOT Nullのカラムを追加したい

Spanner は RDB のようにかっちりとスキーマを定義する DB なので、 Datastore などのように、プロパティをふわっと追加してデータ投入などできません。 RDB と同じように DDL を利用してカラム追加して利用しますが、 NOT NULL のカラムの追加ができないと…

Spanner のスキーマ管理をする wrench を試してみた

先日 Spanner のスキーマ管理ツール hammer を利用した ブログ を書きましたが、 Cloud Spanner Echosystem から wrench というツールが提供されていることに気づきました。 hammer 最近更新されてないのかな(?)、と思いながら試していたところもあるので、…

Spanner の DDL (スキーマ)管理を行う hammer を試してみた

Datastore を利用していたときにはスキーマがあってなかったようなものなので、基本的にはエンティティの定義 ≒ スキーマみたいなところがあったが、Spannerは正統派RDB的な振る舞いをするので、 DDL によってスキーマを定義します。 スキーマの設計自体を D…

Google Cloud Japan イベントアーカイブ(オンラインイベントのアーカイブ一覧ページ)ができたっぽい

最近は GCP 関連のイベントもほとんどがオンラインになりましたね。 興味ありそうな内容のイベントがあっても気づけなかったり、知っていても調べるのが大変、というのがあったと思いますが、公式にイベントアーカイブページが公開されていました。 Google C…

Cloud Code (IntelliJ) を利用して、 Cloud Run にアプリケーションをデプロイする

タイトルの通り、IntelliJ 版の Cloud Code プラグインを利用して、 Cloud Run をデプロイすることを試してみます。 内容は こちら GCP ドキュメント をベースにしています。 事前に必要なこと GCP のプロジェクトの課金を有効にしておく必要があります。 ま…

Amazon の価格履歴が確認できる Chrome Extension の Keepa を利用したら高値づかみしなくなって QOL 上がった話

みなさん、Amazon で買い物してますか? 以前から、Amazon の価格履歴が確認できるアプリがあることは知っていたのですが、関係ないっしょって感じでインストールしていなかったのですが、何かのきっかけでインストールしてみたら快適だったので共有します。…