2019-01-01から1年間の記事一覧
自分個人の環境はいつも最新のGoを利用しているので特にgoenvなどのようなバージョンを切り替えるツールを使っていないのですが、Goのバージョンを切り替えて使いたい人もいるみたい。 体感的にgoenvを利用している人が多そうではありますが、Go標準に複数の…
つい先日、東京リージョンにも Serverless VPC Access がやってきたので、GAE/SEから Memorystore が利用できるようになりました。 Memorystoreは内部的にはRedisで、今までのGAE/SE 1st-genと呼ばれる環境ではmemcacheが提供されていましたが、2nd-genから…
サイバーマンデーで10月頃に発売されたKIndle Fire HD 10が1万以下で出ていました。 子供がAmazon PrimeVideoを見ているとテレビを専有されるので子供のプライムビデオ用に買ってみました。 Kindle Fireを購入したのはこれで3台目で 7,8,10 インチとすべて揃…
いまさらながら、なるほどーと思ったのでメモ。 go1.13のerrorsのUnwrap関数が以下のように実装されている // Unwrap returns the result of calling the Unwrap method on err, if err's // type contains an Unwrap method returning error. // Otherwise,…
この記事は こちら をなぞってみた記事になります。 GraphQLをこれから始めたいという方におすすめ gqlgenを利用してGraphQLサーバを実装する方法です。 todoのリストを返却する 新しいtodoを作成する 完了したtodoをマークする ちなみにココからの手順はgo …
Goはテストの機能としてベンチマークを測定する機能が標準で提供されています。 ただ、そのままだとテストコードを実行できる環境でしか実行ができなかったりするため、 main関数から実行したい場合もあるかと思います。 今回はmainからベンチマークを実行で…
pprof とは Go言語のプロファイリングツール。 Web UIでフレームグラフや、関数の実行時間のグラフを見ることができる 通常のpprof利用方法 pprofの使い方として2つのパターンがあります。 runtime/pprof : ファイルにプロファイル情報を出力する net/http/…
基本的な内容は Getting Started with Bazel をなぞってます。 Bazelとはなにか Googleが開発したBuildツール。 もともとはGoogleが社内で使っているツール(の思想?)をベースに開発されているようですね。 makeを置き換えれるもの的な説明を見かけたが、もっ…
タイトルの通り。 OAuth、OpenID Connectを理解するための記事まとめ。 その他、良さそうな記事があればコメントで教えて下さい。 記事 一番分かりやすい OAuth の説明 - Qiita 一番分かりやすい OpenID Connect の説明 - Qiita OpenID Connect 全フロー解説…
Appengine/goが過渡期とでもいいましょうか、 日々変化も目まぐるしく、いろいろ気をつけるべき点もありそうなので雑にまとめました。 ご参考まで。(2019/09/10現在) GAE/go 1.9 は終わり 画像のとおりです。 警告: Go 1.9 ランタイム バージョンは非推奨…
goのベンチマーク周りのメモです 2つのベンチマークの比較 godoc.org pprof のツール github.com goのパフォーマンス周りの資料(observability) bit.ly GoのSSA最適化 qiita.com おまけ 厳密なgofmt github.com go!
appengine go1.11以降でgoでもプロファイラが使えるようなので初期設定だけやってみます。 内容的にはほぼ こちら の内容です。 Stackdriver Profiler は何ができるの? Goの場合には、CPU、ヒープ、競合、スレッドに関するプロファイリングが可能です。 そ…
Javaで育った私としては、前方一致/後方一致は StartsWith/EndWith というイメージが勝手にありますが、 goを書いているとたまにど忘れするので備忘録。 go での前方一致/後方一致 goでももちろん前方一致/後方一致のための関数は用意されています。 strings…
皆さんTQつかってますか。 ちゃんと使うとめちゃくちゃ便利なTQ(Cloud Tasks)ですが、コマンドでサクッと作ったり消したりしたい(特に消したい)というのがあったので記事にしました。 TQを作成する 以下のようなコマンドでTQを作成します。 gcloud --pro…
たびたび人と話していて、この資料のことを思い出すんだけど、 そのたびに検索するのがしんどいのでメモとして残す。 Building Fault Tolerant Microservices というプレゼン プレゼンの資料はこれ https://www.jfokus.se/jfokus16/preso/Building-Fault-Tol…
ちょっとした負荷試験をしたい場合に、abが入っていればいいのですが、そうも行かない場合も多いので、go製で簡単にインストールできる hey を試します。 負荷ツールのタイプは2種類ある HTTPの負荷ツールには2タイプあります。 レスポンスが返される限り全…
こちらは、ほぼ この 記事の通りの内容です。 以前の Flutter開発環境の構築 の続きになります。 コマンドラインからFlutter appを新規作成します flutter create my_app シミュレータで実行します cd my_app flutter run とおもったら以下のようなメッセー…
Flutterのインストール https://flutter.dev/docs/get-started/install/macos zipをダウンロードして解凍してPATH通すだけ。 flutter doctor コマンドでチェックする >> flutter doctor Doctor summary (to see all details, run flutter doctor -v): [✓] Fl…
前回は モノレポ(mono repository)内でgoのmoduleを相対パスで利用する方法 という記事を書きましたが、今回はさらにモノレポで管理しているAppengineの複数のサービスをデプロイする方法になります。 なぜGAEのデプロイの記事が必要? 前回の記事を試した…
motivation 色々な仕組みを作るときにテンプレートエンジンが欲しくなることがあると思いますが、 あまり仰々しい感じの仕組みを利用したくない、(or インストールしたくない)ということはあると思います。 kubernetes(k8s)の設定ファイルのパラメータを環…
タイトルの通りで、 コンテナ環境で gcloud コマンドを実行した際 ERROR: gcloud crashed (UnicodeDecodeError): 'ascii' codec can't decode byte 0xe8 in position 1: ordinal not in range(128) のようなエラーが発生してうまく実行できない。 なぜ glcou…
goの依存管理ツールはいろいろありますが、最新はGo Modules(mod)を利用することが多くなってきたと思います。 dep(vendor)を利用した依存解決の場合にはgopath配下にあればある程度柔軟に相対的に依存を解決できましたが、 modは普通に利用するとリポジトリ…
Docker build する際に、基本的にはCacheを利用されますが、 それでは困る(毎回ちゃんと処理したい)という場合もあると思います。 そんなときは --no-cache オプションを docker build 時に付与すれば良い。 ま、それだけ。 docker build | Docker Documen…
query-itってなに? Groovenautsさんが作った、BQMLのサンプルアプリケーション ソースコードもろもろは多分 こちら こちらのURL からアクセスできたのでメモがてら記事を残します。 使い方 URLでアクセス http://queryit.magellanic-clouds.com/ にアクセス…
git diff をしたときに長い行がターミナルの外に行ってしまって見えない場合、 GIT_PAGER='' git diff ~~ とすればよい。 これだけ、簡単。
CI/CDをする際によく利用する、GCPを利用するなら特に知っていたほうが良さそうなコンテナたちをメモ。 GoogleCloudPlatform/cloud-builders GitHub - GoogleCloudPlatform/cloud-builders: Supported builder images for Google Cloud Build この辺りが含ま…
直近のGCPのアップデートはこんな感じ - BigQuery sandbox: beta - Kubernetes Engine – node auto-repair: GA - Kubernetes Engine – node auto-upgrades: GA - Compute Engine – guest attributes: beta - Kubernetes Engine – Application-layer Secrets …
UPDATEがあった項目は以下 Cloud Firestore: GA App Engine flexible environment – WebSockets support: beta Internal load balancer – service discovery: GA Private Google Access for on-premises hosts: GA Apigee Developer Portal – SmartDocs, acc…
GCP で MySQL や PostgreSQL のような RDB をマネージドで利用したい場合に CloudSQL を選択することが多いと思います。 ポチポチっと押せばすぐにインスタンスが出来上がるし、gcloud コマンドや、Cloud Shell を利用することで用意に接続ができるので、ふ…