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

2017 CircleCI Meetup Tokyo #2 が開催されました #circleci #circleci_meetup

昨日3/10、弊社にて2度目のCircleCI Meetupが開催されました。 cyberagent.connpass.com CircleCI 2.0について CircleCI社よりDeveloperのKim氏にご登壇頂き、現在クローズドベータ公開中であるCircleCI2.0について発表していただきました。 1.0問題 ビルド…

CI環境におけるaws-cliのインストール結構つらいよね問題

つらい、というのはあくまでCircleCIとかでインストールするときの話。 github.com 動機 今Docker RegistryをAmazon ECRに移行していってるんですが、今までCI上でやっていたdocker build/docker tag/docker pushのプロセスをECRでも同様にやるために、ecr g…

JJUG ナイト・セミナー Kotlin(ことりん)でSpark Frameworkの話をしてきました #jjug #kotlin

JJUG ナイト・セミナー Kotlin(ことりん)でSpark FrameworkをKotlinで書いて気持ち(・∀・)イイ!!的な話をしてきました。 【東京】JJUG ナイト・セミナー 「Kotlin(ことりん)」 2/20(月)開催 - 日本Javaユーザーグループ/Japan Java User Group | Doorkeepe…

2/20 JJUG ナイト・セミナー 「Kotlin(ことりん)」に登壇します #jjug

イベントページが公開されたのでこちらでも告知なのですが、来る2/20(けっこうすぐやんけ!)にJJUGナイトセミナーのKotlin(ことりん)回に登壇するようです。 jjug.doorkeeper.jp タイトルはまだ未定なんですけど、内容的にはSpark Frameworkとか他の諸々…

ノイズキャンセリングヘッドホン MDR-1000Xを買った

買った。まだ初日なのだが著しいQOLの向上を感じたので書かざるを得なかった。 ソニー SONY ワイヤレスノイズキャンセリングヘッドホン ハイレゾ対応 Bluetooth/LDAC/NFC対応 マイク付き/ハンズフリー通話可能 DSEE HX搭載 ブラック MDR-1000X B出版社/メー…

GoogleにおけるRelease Engineeringとは

SRE(Site Reliability Engineering)が叫ばれて久しいですが、Googleがこの度Site Reliability Engineeringに関する書籍をWeb上で無料で公開したので早速かいつまんで読んでみた。きっとそのうち日本語化されてオライリーのebook上に並ぶのでしょう。 とりあ…

go getで取得したcliツールのバイナリを持った軽量なDockerイメージをつくる

諸事情で欲しかった。 動機 gooseというGoで書かれたcliのDBマイグレーションツールを使っているのだが、こいつのバイナリだけを持っているDockerイメージが欲しい GoにもAlpine Linuxベースの軽量なイメージがある。しかしそれでも240MBくらいある ベースイ…

昼COMP生活を始めた

タイトルの通り、昼COMP生活をはじめました。 その前にCOMPって何やねんって方はこちらを参照されるとよろしい。 www.comp.jp 所謂、日本版ソイレントと言われているやつでヒトが生きるために必要な栄養素を一食で賄うことができるといわれている完全食であ…

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

HTTP/2のプロダクションにおける採用状況を調べてみたかったので、有名どころのServiceを色々と巡回して対応状況を確認してみた。 調べ方は色々あるが、Chrome拡張のHTTP/2 and SPDY indicatorを使えばいい。青いイナズマ表記になればOK。 chrome.google.com…

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

CodefreshというDockerを使えるCIサービスがあるので雑に触ってみたというエントリです。 codefresh.io プラン プランについては各自確認してほしいんですが、基本的にPublicなリポジトリを扱い並列ビルドが要らなければ無料で使うことができます。 Open Sou…

Kotlinで書いたサーバアプリケーションのDockerイメージ構築パターン

Kotlinで書いたAPIサーバをDockerコンテナで運用する場合、どのような方式が実用的かを考えてみた。パターンと言っても今のとこ今回の一種くらい。 サンプルアプリ 今回書いたサンプルはこちら。 github.com 以前書いたSpark Framework with Kotlinの延長線…

2016年雑に振り返り

年末なので雑に2016年を振り返りましょう。 会社のアレコレ 生放送動画プラットフォームをリリースして、今も引き続き奮闘してる。途中悲しみのドメイン変更が2度あったり、事業移管で子会社出向を初めて経験したりがあったが11月に無事サイバーエージェント…

GreenWallでサクッとサービスの死活状態を可視化する

GitHubのGoのTrendを眺めてたらGreenWallという死活監視ツールを見つけたので使ってみた。 github.com GreenWallはGoで書かれた簡易的な死活監視ツールで、HTTP/HTTPSとICMP、TLSに対応してます。ヘルスチェックの実装自体はpluggableになってるので、今後色…

ウマナリティクス#2で競馬の予想の仕方について喋ってきました

ウマナリティクス#2という「競馬×データサイエンス」というイベントで喋ってきました。ちなみにデータサイエンスはまったくの素人なんですが、お声がけいただいた@data_sciesotistさんありがとうございました。 umanalytics.connpass.com 発表スライドをこち…

2016年、今年買って良かったものをまとめてみた

この記事は今年買ってよかったもの Advent Calendar 2016の21目の記事です。 www.adventar.org ちなみに昨年の記事はこちら。 blog.stormcat.io iPhone7 www.apple.com まずはやはりiPhone7。基本的にS付きを買っていたので7はスルーのパータンだけど、まさ…

asanaのBoard Layoutでカンバンとスプリントの運用を始めてみた

表題の通り、asanaのBoard Layoutでカンバンとスプリントの運用を始めてみました。 動機 JIRAに疲れてしまった JIRAは社内で用意してもらってるオンプレだが、ネットワーク的に閉じられてしまうため他のサードパーティーのサービスとの連携がつらい といった…

Slackでtimesを駆使してコミュニケーションをドライブさせるのと、霊圧重要よねっていう話

この記事はSlack Advent Calendar 2016の19日目の記事です。 というわけでプロジェクトでやってるSlackを使ったtimesの運用について雑に紹介します。 チームtimes チームでのtimesというのを今年の夏くらいから始めてます。ここで言うチームとは、プロジェク…

Spark Framework with Kotlin

この記事はKotlin Advent Calendar 2016の12日目の記事です。 qiita.com さて、今年は一部のmicroservicesをKotlinで実装してリリースしたりしたので個人的にはKotlinを実戦投入した記念すべき年とも言えます このmicroservicesはSpringBootで実装されていま…

最近のTerraformのディレクトリ構成こうなった

Terraformの運用を初めてなんだかんだで1年半くらいたったんですが、プロジェクトによって環境も運用も違うので開発環境や本番環境の構成をどのように管理しているかというのは結構バラける気がしてます。1年半経過して行き着いた形を雑にシェアするだけのエ…

dind(Docker in Docker)で複数のdocker-composeを管理する

この記事はDocker Advent Calendar 2016の8日目の記事です。 qiita.com 動機 microservices運用してるし、検証用プロジェクトとか遊び用プロジェクトとかあるし、複数docker-composeをローカルで運用するのしんどい。 dind(ディーインディー) dindとは何ぞ…

vscode-glideというglideのvscode extensionがあった

この記事はVisual Studio Code Advent Calendar 2016の7日目の記事です。にわかvscoderなのでたいした内容じゃないのであしからず。 qiita.com わたしとVisual Studio Code 以前はGoをIntelliJ IDEAのgo-lang-idea-pluginで書いてたけど、vscodeはなかなか軽…

秘技!無停止ドメイン移行芸

この記事はCyberAgent Developers Advent Calendar 2016の5日目の記事です。 www.adventar.org 4日目はyodareさんの産まれたてのAbemaTVは、ユーザにどう受け入れられていたか?:Twitterデータを用いた分析でした。 ちなみに弊社のAdvent Calendarは3年連続…

たった10年前の某IT企業でのこと

年末だからなのかはわからないですが、何か最近闇エントリが氾濫している気がするので自分も書いてみる。10年前にプログラマとしてのキャリアをスタートさせたわけですが、当時入社した独立系の中小SIer企業(D社とよぶことにする)についての話し。 ※あらか…

stackimpactでGoアプリケーションのメトリクスを可視化する

stackimpact というサービスはご存知でしょうか。 このサービスは何かと言うと、Goアプリケーションのメトリクスを可視化するためのサービスです。競合はNewRelicあたりでしょうかね(最近NewRelicでもGoが正式にサポートされましたが)。 とりあえず使って…

エンジニア立ち居振舞い(動画サービス開発者編)

お題「エンジニア立ち居振舞い」 TLを眺めていたらこんなのが流れてきたので乗ってみます。 blog.hatena.ne.jp メトリクス・パフォーマンスの監視 mackerel EC2やRDSといったAWSリソースの監視や、サービスの外形監視等にmackerelを利用しています。もちろん…

AWS Case StudyにてFRESH!のユースケースが公開されました

AWSは膨大な規模で利用されているので、各社のケーススタディが先人の知恵として公開されています。 自分の担当しているFRESH!でも日頃からAWSをフルに活用させてもらっています。 abemafresh.tv というわけでこの度、FRESH!のAWSの利用事例がAWSのCase Stud…

整備済製品のMac Proを買った

先日、Appleのイベントで新型Mac Proの発表は予想通りなかったので、整備済製品の3.5GHz 6コア Intel Xeon E5を買いました。 動機 普段、自宅も会社もMBP Retina 15inchのメモリ16GB使いだが、当方の普段の使い方ではメモリ16GBは心もとなくなってきた 新型M…

.ioドメイン障害でDocker運用環境に結構影響が出ている件

現在、.ioドメインの名前解決に問題が起きています。詳しくは以下の記事を見て頂けると一目瞭然です。 qiita.com .ioドメインは近年結構(開発系クラスタにとっては)人気で、ちなみにこのブログも.ioドメインを利用しているため、閲覧が難しい状況でした。 …

CircleCIでyarnを使う

世間はnpm互換のパッケージマネージャであるyarnで盛り上がっているようです。 github.com ヘーシャではCircleCIでnpmなプロジェクトをいっぱいビルドしているので早速雑に試してみた。 github.com circle.yml とりあえずcircle.ymlはこんな感じ machine: no…

KotlinとSpring Bootとか諸々を使ってMicroservicesを作ってみた

最近バックグラウンドで稼働する決済系のMicroservicesをKotlinで作ってめでたく運用開始したので、どんな感じでやったかを雑に共有。 Kotlin選択の理由 自分はScalaが好きなんですけど、周りに書ける人いないし、そんなに時間もないし、で素のJavaもダルい…

台風の中GitHub Japanを雑に訪問してきました

元同僚のP氏が現在GitHub Japan社にいるのですが、よくSwarmでチェックインしているのを見てSwarmヤクザを自認する自分としては、これは一度チェックインせねば気が済まないということで訪問してきました。 エントランス ちなみにGitHub Japan社は芝大門にあ…

Go1.7系でVisual Studio Code(vscode-go)の補完がぶっ壊れる件の修正方法

ちょっとの間Kotlinを書いていたら、その間にGo1.7.1まで行ってて昨日重い腰を上げてアップデートしました。それは良いとして、当方GolangはVisual Studio Codeで書いているんですが、アップデートの弊害かコード補完が効かなくなりました。 github.com 問題…

gRPCとgrpc-gatewayでWebオペレーションの形を再考してみた

先月、GoogleがgRPCのバージョン1.0を発表しました。 osdn.jp gRPCとはGoogleが公開しているHTTP2ベースのRPCフレームワークで、Protocol Buffersでサービスインタフェースやリクエストやレスポンスのデータ構造を定義します。特定の言語に依存しないメリッ…

Logbackでlogstash形式のログを出力し、fluentdでElasticsearchに転送する

今ちょっとしたmicroservicesをKotlin + Spring Bootで書いているんですが、ログをJSONで出力してfluentdからElasticsearchに送信するにはどうするのがスマートなのかと思いを馳せていました。 Java系のロガーといえばlogbackがかなり有名で広く利用されてい…

Dockerホストのパフォーマンスを引き出すTCPカーネルパラメータチューニング

もう半年くらいフルDockerでmicroservicesなサービスを運用してるんですが、イマイチパフォーマンスを出し切れていないなという面がありまして、今回DockerホストのTCPカーネルパラメータを抜本的に見直しました。 そしたら劇的に症状が改善して、インスタン…

Kibanaのグラフ作成をYoutubeの動画で学習する

サーバのログをElasticsearchに送信し、Kibanaでログを閲覧したり可視化するっていうのはもはや当たり前になった感がありますね。 www.elastic.co Visualizeを使いこなしてこそKibanaの本領発揮なわけですが、KibanaではArea ChartやLine Chart、Pie Chart等…

okhttpでSocks Proxy経由のHTTPリクエストをする

備忘録的小ネタ。 動機 ネットワーク的に制限されている社内基盤のAPIを利用するプログラムを書いているが、オフィスのネットワークからじゃ直接アクセスできないので通信が許可されているサーバからじゃないとHTTPでアクセスできないのでタルい Mock使って…

DockerfileをLintするにはhadolintが良さそう

DockerfileもLintしたいなぁという欲がずっとあって調べてみたらこんなのを見つけた。 github.com Haskellで書かれたDockerfileのLintツールのようです。 インストール Macならhomebrewでできます。 $ brew install hadolint Lintしてみる サンプルとして提…

Switcher StudioでiPadとiPhoneでスイッチングしながら動画配信する

Switcher Studioという動画配信アプリをご存知でしょうか?ちょっと利用してみたんですが、自分のような動画配信の素人でもそれっぽい配信ができることがわかったので紹介します。 Switcher Studioとは switcherstudio.com Switcher StudioとはiOS専用の動画…

個人的な老害エンジニア行動指針を策定した

自分は今33歳なので、Webの世界においては完全に老害と言われてもおかしくない世代にさしかかっています。自分は老害には決してならないと強い意思を持っていたとしても、どうやら脳科学的には避けられないものだと聞いたことがあります。 というわけで、意…

Dockerで開発環境のMySQLと同じデータを手軽にローカル環境でも利用する

Microservicesを運用していると、サービス毎にDBを持つことになってどうしても扱うDBやスキーマが多くなってしまいます。 開発環境のMySQL(AWSならRDS)に直接接続するならまだしも、DBはローカルにもって好き勝手に使ったり、汚したりスクラップしたりした…

ここ半年くらいで行った焼肉で旨かったやつ

飯テロです。備忘的な意味が大きいので雑に貼ります。 よろにく http://tabelog.com/tokyo/A1306/A130602/13042979/tabelog.com よろにくの肉はとにかく柔らかかった記憶がある。んまい。 うしごろ http://tabelog.com/tokyo/A1307/A130701/13124592/tabelog…

離席時に勝手に紙を置かせないライフハック

会社で離席中に、いつの間にか紙を置かれていることってありますよね?弊社はウェッブ系企業のくせにまだまだアナログな面が少なからずあって、そういうことがよくあるのです。 絶対に紙を置かせないという意思表示 というわけで対策を取ることにしました。…

CircleCI Meetupで喋ってきました #circleci_meetup

渋谷ヒカリエにあるDeNAさんで開催されたCircleCI Meetupで喋ってきました。 connpass.com 現在、CircleCI本社メンバーが来日されたということで開催されたようです。今週、弊社にもご来訪頂きました、ありがとうございます。 というわけで、CircleCI界隈で…

CircleCIでRustプロジェクトをビルドするスニペット

先月開発合宿をやったときにRustでちょっと書いたのですが、CircleCIでビルドするときにちょっとハマったので備忘録的なエントリです。 やりたいこと Rustでcargoを利用したリポジトリを、CircleCIでビルドする ビルドして生成されたバイナリをDockerイメー…

Goの開発環境をIntelliJ IDEAからVisual Studio Codeに移行した

Gopherのみなさま、梅雨の季節いかがお過ごしでしょうか。 昨年春にこんな記事を投下したわたくしですが、この度Goの開発環境をIntellij IDEAからVisual Studio Codeに移行したことをお知らせ致します。 blog.stormcat.io 動機 go-lang-idea-plugin の開発は…

Terraform管理の取捨選択は運用で状態が変わるかどうかで決めると良い

今のプロジェクトではTerraformを使ってAWS上のインフラを構築しているのですが、1年程運用して向いてるケース、そうではないケース等が明確になってきました。 今一度Terraformとは TerraformとはHashicorp社のプロダクトで、インフラを管理・構築・破棄を…

AWS Summit 2016 Developers ConferenceでDockerとECSの話をしてきました #AWSSummit

本日、AWS Summit 2016 Developers Conferenceの方でアッベマティーヴィーフレッシュのDockerとECSの話をしてきました。 www.awssummit.tokyo スライドはこちらです。およそ400名ほどのキャパシティでしたが、立ち見も出るほど盛況だったようです。ありがと…

何故技術やノウハウをアウトプットをするのか

Twitterを眺めていたらこんなエントリが流れてきましたが、何か定期的に流れてくるネタだと思うのでとりあえず個人的所感を書いときましょう。 abebetaro.hatenablog.jp 学習とフィードバック 承認欲求的なものは人間なので少なからずある気がしますが、何よ…

arukas cloudとDockerでお手軽に開発環境をゲットする #Arukas

Arukas Cloudとはさくらインターネット社が提供するDockerホスティングサービスです。 arukas.io 4/27よりオープンβテストの状態になり、現在は無料で利用できます(プレスリリースによると、2016年9月まで無料のようです)。 利用の仕方 GitHubアカウントが…