読者です 読者をやめる 読者になる 読者になる

昼COMP生活を始めた

QOL COMP

タイトルの通り、昼COMP生活をはじめました。

その前にCOMPって何やねんって方はこちらを参照されるとよろしい。

www.comp.jp

所謂、日本版ソイレントと言われているやつでヒトが生きるために必要な栄養素を一食で賄うことができるといわれている完全食である。

とりあえず会社に行ってるときの昼食をCOMPに置き換えることにした。昼はいつも軽食をコンビニで買ってきていたけど、ビルのエレベーター待ち時間が長くて往復する時間がタルいという事情もあった。というわけで、効率的に摂取できかつ栄養的にも良いと言われているCOMPに白羽の矢が立った次第。

これがCOMPのパッケージ。

f:id:a-yamada:20170110125614j:plain:w400

何で割るか

ポンジュース

オレンジジュース系も悪くないという体験談をチラホラ聞いたので、自宅では普段から愛飲しているポンジュースをキメた。

ポン ポンジュース 1L×6本

ポン ポンジュース 1L×6本

旨い。ただポンジュースは果汁100%で多少水溶性に難があるので、喉越しは多少重い感。それが気になるのであればちょっと水を加えるのが良いかもしんないです。

コーヒー

会社のディスカウント自販機にブラックコーヒーがあったのでこれで試した。

COMPが持つ豆乳の甘さも相まって、混ぜると甘さ控えめのカフェラテみたいな感じになった。自分はこれで十分旨いと感じたけど、もうちょっと甘みが欲しいという人はカフェラテで割っちゃうとか、シュガースティックとかガムシロップで甘みを追加すれば良さそう。

f:id:a-yamada:20170110122008j:plain:w500

感想

この手のもの、プロテインとかもそうで不味いのが普通な気がしているのだが不味くないのが良い。組み合わせ次第では十分満足できる気がしているので、自分にとって合う割り方を見つけると良いでしょう。あと、お腹が満たされる感がなかなか凄い。

とは言え食はそこそこ重要視してるので、さすがに3食COMPにするつもりは無い。噛むことはかなり重要なので今まで以上に朝夜で良い食事をすることを心がけたいところ。

最近のHTTP/2のproductionでの対応状況を雑に調べた

HTTP2 Web HTTP

HTTP/2のプロダクションにおける採用状況を調べてみたかったので、有名どころのServiceを色々と巡回して対応状況を確認してみた。

調べ方は色々あるが、Chrome拡張のHTTP/2 and SPDY indicatorを使えばいい。青いイナズマ表記になればOK。

chrome.google.com

もちろんバックエンドのプロトコルについてはわからないので、Web面で対応されているものをHTTP/2対応として紹介します。

開発支援系

Slack

slack.com

Dropbox

www.dropbox.com

Mackerel

はてなは違うが、MackerelはHTTP/2。いつもお世話になっております。 

mackerel.io

SNSWebサービス

Twitter

まあそうですよね。

twitter.com

Facebook

まあそうですよね。

www.facebook.com

Instagram

Facebookがそうならインスタもまあそうですよね。

Instagram

メルカリ

さすがはメルカリといった感じ。

www.mercari.com

メルカリ アッテ

アッテもそうですよね。

www.mercariatte.com

AbemaTV

弊社グループのAbemaTVもHTTP/2。

abema.tv

FRESH!

我がFRESHもHTTP/2です。

freshlive.tv

Amestage

CA系でいえばAmestageもそう。

amestage.com

Twitch

ゲーム配信の雄、TwitchもHTTP/2。

www.twitch.tv

Wantedly

最近のリクルーティング市場といえばWantedly。GCPですよね確か。

www.wantedly.com

Moneytree

家計簿アプリで有名なMoneytree。こちらもWebがHTTP/2。

moneytree.jp

Suumo(スマホ

Suumo(スマホ版)はHTTP/2対応の模様。PC版は違った。

smp.suumo.jp

企業サイト・ブログ系

Developers.IO

天下のクラスメソッド様。Developers.IOはやはりHTTP/2対応

dev.classmethod.jp

CyberAgent Developers Blog

昨年リニューアルした弊社の開発者ブログ。アメブロじゃなくなったので。

developers.cyberagent.co.jp

Yahoo! JAPAN Tech Blog

Yahooさんのブログ。Yahoo! JapanはHTTPです。

techblog.yahoo.co.jp

面白法人カヤック

コーポレートサイトはまだそこまでHTTP/2の波が来てない印象だが、カヤックさんはされてた。

www.kayac.com

ヌーラボブログ

こちらはヌーラボさんのブログ。コーポレートも同ドメインなので、ブログと共にまるっとHTTP/2化されてる。

nulab-inc.com

Hashicorp

世界のHashicorp。サイトもカコイイ。

www.hashicorp.com

感想

HTTP/2はそもそもHTTPSが必須なので、まずフルHTTPS化を実現しないといけない。そのためそこそこ老舗のサービスになるとHTTP/HTTPS共存なんてのが普通なので、当たり前だがHTTP/2対応は新興のサービスの方がしやすい。

Webのパフォーマンスという意味で優位性のあったHTTP/2ですが、

www.seroundtable.com

どうやらSEO的にもお墨付きが来たと言っても良さそう。2017年は一気に対応サービスが増えるんじゃないかなー。

docker-composeをサポートしたCodefreshというCIサービスを使ってみた

CI tool Docker DevOps

CodefreshというDockerを使えるCIサービスがあるので雑に触ってみたというエントリです。

f:id:a-yamada:20170102233506p:plain:w200

codefresh.io

プラン

プランについては各自確認してほしいんですが、基本的にPublicなリポジトリを扱い並列ビルドが要らなければ無料で使うことができます。

f:id:a-yamada:20170102214955p:plain

  • Open SourceプランでもGitHub/BitBucket/DockerHub/Slackは対応
  • Basic($99/month)からは並列ビルドができ、プライベートリポジトリも扱うことができる
  • Pro($299/month)からはJenkinsやbintrayとも連携ができ、インフラは共有領域ではなく専有領域を用意してもらえる。On-Premise Git Supportという記述があるので、GitHub EnterpriseやGitlabも使えそう

使ってみる

早速使ってみる。CIしたいリポジトリをポチポチ選択していくというよくあるスタイルだし、手順は以下のドキュメント見ればわかるのでここでは割愛。

docs.codefresh.io

Goで適当なWebサーバを書いてみて、そいつを連携してみました。ポチポチやってくとビルドが始まります。

f:id:a-yamada:20170102224512p:plain

f:id:a-yamada:20170102224532p:plain

Codefreshでは、これはServiceと定義しています。1リポジトリがServiceという考え方。

Lanuchする

基本的にBuildLaunchのアクションがあって、ビルドしてできあがったDockerイメージからDockerコンテナをLanuchから走らせることができます。普通のCIの機能とngrokの機能を合わせ持ったという感じでしょうか。

LanuchされたService(コンテナ)はEnvironmentで確認できます。

f:id:a-yamada:20170102231300p:plain

デプロイされたURLが表示されるので、実際に以下のようにHTTPリクエストを投げられます。

$ curl http://cf-aec1-docker-node-0009.cf-cd.com:32795/
Hello!%

Composition

その他にCompositionという概念があります。何かというと、テストしたいサービスが他のミドルウェアやMicroservicesに依存している場合、このComposition機能を使ってその依存コンポーネントを作ることができます。

f:id:a-yamada:20170102231806p:plain

Compositionはdocker-compose V2形式のYAMLで定義することができるというのが大きな特徴。なので、依存するミドルウェアやMicroservicesをdocker-composeで動かすことができるように整備しておけば、コンポーネント連携したテスト・動作確認が可能ということですね。

さっきのService(コンテナ)とCompositionを連携させるには、Service側でCompositionを指定してやればOK。

f:id:a-yamada:20170102232545p:plain

しかし、既にServiceが1つあがっているので新たにCompositionを立ち上げることができなかった。

f:id:a-yamada:20170102233800p:plain

OpenSourceプランではConcurrencyが1つまでなので、Compositionが力を発揮するのは課金してからだと思う。

感想

ビルドしてそのままコンテナをLanunchできるのはなかなか面白い。CircleCIとかでもdocker-compose入れてやればCompositionは実現できそう(すごい手間そうだけど)。