2017-01-01から1年間の記事一覧

Go言語からkubernetes APIを呼び出すクライアント「client-go」の紹介

これはKubernetes2 Advent Calendar 2017 25日目の記事です。この記事ではclient-goというライブラリを使ってgo言語からkubernetesのAPIを呼び出す方法を紹介します。 とりあえず使ってみるところから、任意のkubernetesクラスタにつなぐ方法、service accou…

GCP User GroupでStackdriverについて発表してきた

だいぶ間が空いてしまった。先日開催されたGCPUG Tokyo DevOps Day September 2017というイベントで発表してきたメモ。 「RocroにおけるGCP活用事例」という発表の後半を担当した。前半は現在開発中のサービスとそのデプロイについて、後半がStackdriverにつ…

CloudFormation Custom Resourceの意図しない削除を防ぐ

AWS

最近はCloudFormationをよく使っています。大変便利なのですが、S3オブジェクトやDynamoDBのItemの作成には対応していないため、Lambda-backed Custom Resourceで作成しています。ただCustom Resourceのライフサイクルは少し独特なところがあって、理解せず…

mitmproxyでHTTPSプロキシする時、どんな通信が発生しているのか追ってみる

前回の記事で、ブラウザからアクセスするURLはそのままで接続先サーバだけ変える方法と、その際のHTTP通信の様子を確認しました。今回はその続きで、HTTPSの場合について、ブラウザとmitmproxy間、mitmproxyとサーバ間の通信内容を追っていきたいと思います…

mitmproxyを使って、アクセスするURLはそのままで接続先サーバだけ変える

最近App Engineでの開発中に、ブラウザからはexample-a.comというURLでアクセスしたいけど、実際にはexample-b.comのサーバに接続させたい、ということがありました。こういうとき、mitmproxyというツールを使うと楽だったので、やり方をメモしておきます。…

GoogleのContainer Registry (gcr.io) からDocker Imageのメタデータだけを取得する

GCPではContainer RegistryにDocker Imageを格納できる。格納したImageの取得にはdocker pullコマンドが使えるけど、時々Imageのメタデータだけを参照したいことがある。そういうとき、いちいちdocker pullするのは時間がかかるし、ストレージも食う。 そう…

Scheme interpreter in Clojure (SICP 4.1: The Metacircular Evaluator)

SICPをようやく読み終え、Schemeインタプリタの実装に興味が出てきたので、Clojureで実装してみた。Schemeの仕様に則ったしっかりしたものではなく、SICP 4.1節のコードをClojureで書き換えて、パーサーを足したりしただけのもの。パーサー周辺は遅延シーケ…

SICP 3.3.4: A Simulator for Digital Circuits

SICP 3.3.4節にあるデジタル回路シミュレータをClojureで実装する機会があったので残しておく。Clojure初心者なので色々問題あるかもだけど、参考までに。 emacsのciderが便利すぎた。

pkg/errorsの導入時につまづいたところのメモ

Go

最近、既存のプロジェクトにpkg/errorsを導入する機会がありました。使い方のガイドラインが開発者のブログ記事の後半部分にあったので、参考にさせて頂きました。大体問題なく導入できましたが、悩んだ・つまづいたところもあったのでメモしておきます。 そ…

Mac OS X El Capitanにrlwrapをソースからインストールする

つまづいたところのメモ。 rlwrapをbrewからインストールしようとしたら、パッケージのダウンロードで失敗していた。 % brew install rlwrap [master] ==> Downloading http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.42.tar.gz curl: (7) Failed to conne…