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

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

Appengine

goのプロファイラpprofを利用してパフォーマンスを計測する (GAE + ginもあり)

pprof とは Go言語のプロファイリングツール。 Web UIでフレームグラフや、関数の実行時間のグラフを見ることができる 通常のpprof利用方法 pprofの使い方として2つのパターンがあります。 runtime/pprof : ファイルにプロファイル情報を出力する net/http/…

今日 (2019/09/10) 現在のGAE/goをUPDATEする際の注意点、俺まとめ

Appengine/goが過渡期とでもいいましょうか、 日々変化も目まぐるしく、いろいろ気をつけるべき点もありそうなので雑にまとめました。 ご参考まで。(2019/09/10現在) GAE/go 1.9 は終わり 画像のとおりです。 警告: Go 1.9 ランタイム バージョンは非推奨…

モノレポ(mono repository)内でmodで管理しているアプリケーションをGAEにデプロイするために必要な2つのポイント

前回は モノレポ(mono repository)内でgoのmoduleを相対パスで利用する方法 という記事を書きましたが、今回はさらにモノレポで管理しているAppengineの複数のサービスをデプロイする方法になります。 なぜGAEのデプロイの記事が必要? 前回の記事を試した…

コンテナでgcloudコマンドを実行するとERROR: gcloud crashed (UnicodeDecodeError): 'ascii' codec can't decode byte 0xe8 in position 1: ordinal not in range(128) みたいなエラーが出る

タイトルの通りで、 コンテナ環境で gcloud コマンドを実行した際 ERROR: gcloud crashed (UnicodeDecodeError): 'ascii' codec can't decode byte 0xe8 in position 1: ordinal not in range(128) のようなエラーが発生してうまく実行できない。 なぜ glcou…

モノレポ(mono repository)内でgoのmoduleを相対パスで利用する方法

goの依存管理ツールはいろいろありますが、最新はGo Modules(mod)を利用することが多くなってきたと思います。 dep(vendor)を利用した依存解決の場合にはgopath配下にあればある程度柔軟に相対的に依存を解決できましたが、 modは普通に利用するとリポジトリ…

Appengine (Node.js/Standard) 環境でHeadless Chromeを利用してサイトのスクリーンショットを取得する

過去に2回ほどGAE/Nodeの記事 これ と これ を書きましたが、もともとはこのHeadless ChromeをAppengine上で利用したかったのでそれを試したかったため。 Headless Chromeを利用することで、Webページのスクリーンショットだったり、JavaScriptが動いていな…

Building a Node.js App on App Engine なぞってみる

この記事は Building a Node.js App on App Engine をなぞってみた話です。 前回の記事 をふまえて、Node.jsのappを作成してGAEにdeployしようという記事です。 1. Creating a Google Cloud Platform project GCPにプロジェクトを作りましょう。 あと、appen…

Appengine Node.js Standard Environmentをデプロイしてみる(quickstart)

まず初回はquickstartに倣ってデプロイしてみるだけ。 ほぼ こちら のクイックスタートのままやってみようと思う。 事前に必要なもの(というかもう設定済みなので) GCPのアカウント作成(gmailアドレスあればすぐ) GCPのプロジェクト作成(適当にGCPコン…

Appengineで初回1回だけ実行したい(設定の初期化)ときはwarmupを利用する

Appengine (GAE) はリクエストのイベントでインスタンスが起動されるので、通常のアプリケーションを実装した際に初回1回だけ実行する処理というのが普通に実装するとなかなか難しい。 特にDB(Datastore)アクセスなどが必要な場合にはrequestが無いとappen…

Appengineで本番環境のDatastoreのデータをローカルへ持ってくる方法

GCPUGのSlack で知ったネタの備忘録 本番環境のDatastoreのデータは appcfg.py を利用して取得することができる。 参考記事 : GAE/Goで本番のDatastoreをローカル環境に持ってくる 2016 - Qiita おまけ make でこんな感じに実行してもいいみたい replilocal:…

Google Appengine Flexible Environment のインスタンスリソースのデフォルト値

Google Appengine Flexible Environment のインスタンスリソースのデフォルト値を調べたので 項目 デフォルト値 備考 cpu 1 core 2~32の指定が出来る。 memory 0.6 GB アプリケーションから要求されるメモリの量であり、一部のプロセスのオーバーヘッドに必…