えいのうにっき

a-knowの日記です

Go

appengine standard v1 (generation 1) から v2 に移行するためにやったこと

先日、以下のようなメールが Google Cloud から来ており。 Hello 大輔, We are writing to let you know that we have introduced a lifecycle policy for language runtimes on App Engine Standard, generations 1 and 2 . ## What do I need to know? The…

Autify → Mackerel 連携 - 継続的なE2Eテストを監視する

この記事は Autify アドベントカレンダー2021 および Mackerel アドベントカレンダー 2021 の20日目のためのブログエントリです。Autify の中の人(Autify のカスタマーサクセスエンジニアをしています)よりお届けしています。 qiita.com qiita.com 当記事…

中身が不定のJSONオブジェクトをGo言語で扱うのに mattn/go-jsonpointer が便利だった

Go

今日書くのは、先日Go言語の個人プロジェクトである Pixela に手を加えた際に実感したことについて。

mackerel-container-agent の写経が高じて独自エージェントを作ってしまった

先週くらいから、何の気なしに mackerel-container-agent のソースコードリーディングをしていたら、 github.com 「ここがこう書いてあるってことは、ここをああしたらああなる?」みたいな気持ちになり、写経をしはじめ、そして気がついたら、オリジナリテ…

mercari/go-httpstats を GAE に組み込んでみた

github.com READMEのとおりにやるだけで、簡単に動いた。 {"request":{"count":17,"status_count":{"200":17,"400":0,"401":0,"403":0,"404":0,"500":0,"501":0,"502":0,"503":0,"504":0}},"response":{"max_time":0.101851365,"min_time":0,"average_time":…

Golang製アプリケーションの性能監視 〜 mackerel-plugin-gostats を読み解く

この記事は、Mackerel アドベントカレンダー(全部CRE)の17日目の記事です。今回も、『プラグイン読み解きシリーズ』でいきたいと思います。題材は、mackerel-plugin-gostats! github.com

Pixelaを支える技術

Pixelaの技術的な話(といっても高度なことは殆どしてないんだけど......)とか、あと今回の個人的な頑張りポイントである利用規約・GDPR対応といったところは、後日別エントリとしてまとめたいな〜と思っています。そのうち書くので、よろしかったらそちら…

GAE/Go アプリケーションを Go 1.11 に移行するためにやったこと

先日公開した Web API サービス Pixelaは、Google App Engine 上で Go Web Application として動いている。Go のバージョンには特に気を使わずに開発をしてたんだけど、GAE で Go の 1.11 がサポート(まだ β だけど)されたこと、そして Go 1.11 であれば G…

GAE/Go(datastore)のテスト実行でテストケースごとに devserver が起動するのを回避する

最近趣味で、GAE/Go の Standard Environment で動くような Web アプリっぽいものを書いている。 今回はなんかテストも書いてみようという気持ちになったので書いてみているのだけど、ほどなくタイトルの問題に突き当たった。

僕の slack channel にメッセージを送れるコマンドラインツールを作った

正確には、「もともとあったコマンドラインツールにそのような機能を追加した」。 github.com blog.a-know.me

Golangアプリケーションから Google Cloud Storage にアップロードする

cloud.google.com/go/storage を使う。 func uploadGcs(r *http.Request) error { bucketname := "bucketname" // GCSバケット名 objname := "objname" // "foo/var/baz.png" みたいなかんじ ctx := r.Context() client, err := storage.NewClient(ctx) if e…

mercari/datastore を使った GAE datastore への基本的な CRUD を試してみた

GAE(Standard Environment)で動作するWebアプリケーションをGoで書いている。サインアップしたユーザーの情報などを永続化しようとした場合、GAE で素直にやるとすると Datastore を使うことになる。昔 Java で GAE アプリケーションを書いていたときには …

GAE/Go で gomniauth を使う

最近また Google App Engine をやっている。 cloud.google.com できるだけ面倒なことはしたくないんだけど、作ろうとしているものの性質上、ログイン機能は外せず...。。『Go言語によるWebアプリケーション開発』の学習でも使った stretchr/gomniauth を使っ…

Go言語で書いた Web アプリケーションの習作をサービス化して公開するところまでやってみた

もともと数ヶ月前から、Go言語によるWebアプリケーション開発 を読みながら Go での Webアプリケーション開発の勉強をしていた。 Go言語によるWebアプリケーション開発作者: Mat Ryer,鵜飼文敏,牧野聡出版社/メーカー: オライリージャパン発売日: 2016/01/22…

前株/後株判定コマンド・kabu を Go でつくった

Go

どうしようもないコマンド・ツールなんだけど、日頃地味に困ることが多いので、表題のツールを作った。 $ kabu はてな 前株マッチ数:9 後株マッチ数:0 前株です! 株式会社はてな どうしようもない...。。

「みんなのGo言語」が良かったので、自分のためだけのCLIツールを作ってみた

言わずと知れた書籍「みんなのGo言語」。発売直後くらいに購入してはいたんだけど、目次あたりをパラパラ見て「あ、これは2,3日集中してガッとやりたくなるやつだ」と思って。で、タイミングを見計らっているうちに年末年始休暇に突入してしまったのだけど、…

"iTunes での楽曲情報を BigQuery に流し込むスクリプトを Go で書いた" の感想

先日、 iTunes での楽曲情報を BigQuery に流し込むスクリプトを Go で書いた というタイトルで Qiita に投稿した。なにげに Qiita 初投稿。(Qiita:Team は業務で使ってるんだけどね) GAE/G での写経は細々とやっていたんだけど、純粋にツール的なものを G…

GAE本の 3.3 章を Go で写経したので、そこでの学びをメモするよ

昨日に引き続き。今日は3.3章、 Users Service。Googleアカウントを利用した認証の仕組みが、GAE ならお手軽に使えるよー、という章。 今回も前回と同じく、写経をすることによって得られた気付き、学びをメモするよ。 3.3章の概要 3.2章で作成した議事録Web…

GAE本の 3.2 章を Go で写経したので、そこでの学びをメモするよ

GAE本。 Google API Expertが解説する Google App Engine for Java実践ガイド作者: 小川信一出版社/メーカー: インプレス発売日: 2012/03/16メディア: 大型本 クリック: 12回この商品を含むブログ (14件) を見る 台風が、自分の出身地である岡山を珍しく直撃…

記念すべき Golang Cafe #50 に参加してきたので、GAE/Go の写経を始めた #golangcafe

Golang Cafe? Golang Cafe - GDGChugoku 大都会岡山の有志のエンジニアが毎週集まって、Go言語をテーマにしたあれやこれやに取り組む会のことで、こつこつと開催を重ねたるやその回数、50回! その記念すべき節目として、その50回目は Google東京オフィスに…

Goをappengineで始めてみた

最近Goが気になっている 転職したことにより appengine を仕事で触ることがなくなった一方で、appengine 愛は深まるばかり(なぜか) 一年近くメンテできてなかった appengine アプリをメンテし始めたり それと、少し前に appengine が modules をリリース …