2017年 下半期 アラサーエンジニアが買ってよかったもの8選

2017年 上半期 アラサーエンジニアが買ってよかったもの10選 - It's now or never. @chocopie116

上半期につづいて下半期もちょいまとめ。 子どもが産まれるにあたっての、家庭改善関連が多めです。 改めて家電のROIのよさはとても高いなと感じました。 よかったなという順に書いていきます。

冷蔵庫(335L)

前まで1人暮らし用のものを使っていました。 料理をする度に買い物にいかなければいけなく、1週間に買い物を何度もいくのが大変でした。
もっと作り置き用の冷蔵や、冷凍の容量を増やしたいため購入しました。結論買い物の回数が減り、冷蔵・冷凍の容量が増え料理が楽しくなりました。 kakaku.com

ユニクロ のパンツ(EZYジーンズ & ドライEXウルトラストレッチアンクルパンツ)

このパンツの着心地は異常。 真夏は短パンをはいて完全に少年になる僕も、今年は長ズボンをずっとはいているほど着心地がよく、涼しかったです。

ユニクロ|EZYジーンズ|MEN(メンズ)|公式オンラインストア(通販サイト)
ユニクロ|ドライEXウルトラストレッチアンクルパンツ|MEN(メンズ)|公式オンラインストア(通販サイト)

フライパン

炒め物・煮物何に使ってもよし。 自宅のフライパン最近こげつくなとかあれば、騙されたと思ってすぐ買うといいと思います。 最高に使いやすい。

Dyson掃除機

前が有線だったので、ワイヤレスの便利さがやばいです。 掃除する時にケーブルを差し替える手間がなくなるのはこんなに楽だとは・・・。 加えて、布団やソファを掃除した時のハウスダストのとれ具合をみたときの気持ちよさは異常です。

店舗で他の掃除機と比較しましたが、吸引力を比較するデモブースがあり、気づいたらDysonを買っていました。

パナソニック 電動歯ブラシ ドルツ 白 EW-DE55-W

音波歯ブラシで、ソニックケアと悩んだのですが、交換用の歯ブラシの単価がソニックケアがとても高かったのでドルツにしました。 超音波の振動によるマッサージが気持ち良いです。

Anova (低温調理器具)

安いお肉も柔らかくおいしいお肉に仕上げることができてとても楽しいです。 圧力鍋は以前買ったけど、面倒くさくて殆ど使ってないけどAnovaは続いています。 調理しっぱなしで外出することができるのが個人的にイノベーションです。

chocopie116.hatenablog.com

ミラーレス一眼カメラ

子ども産まれるから買うかーというノリで購入。 単焦点の写真のボケが、いい気分にさせてくれます。

食器水切りカゴ(ニトリ

キッチンに水切りカゴおいてたけど、これに変えてスペースが増えた。 多少圧迫感はあるけど、水切りカゴに水たまって不衛生だなーという気持ちがあったり、たまの消毒の手間がなくなって最高です。 www.nitori-net.jp

2018年もいろいろ豊かにしていきたい気持ち

赤ん坊をモニタリングしたいだけの人生だった

私事ですが、最近第一子がリリースされました。 プロダクションで運用されるサービスは、モニタリングしたい!可視化したい!と思うのが親心。 サービスのメトリクスをどうやって取得するか、どのようにメトリクスからアラートをつくるかはいろんな切り口がありそうですが、 re:Invent2017で発表されたAmazon Kinesis Video Streamsのデモを見た時に使えないかなーとずっと思っていたので、試してみました(タイトルからフラグ感が既に aws.amazon.com

re:Inventでみたかっこよかったデモ www.youtube.com

アジェンダ

Producer(カメラ映像のstreamの作成)

カメラ映像からstreamを作成するProducerのsdkc++Javaがある模様です。 ならJavaかーと思いドキュメントにそって作業を進めましたが、結局JNI(Java Native Interface)でc++でsourceからbuildしたLibraryのpathを指定する必要がありました。 c++のsourceからbuildする必要があり、makeが一発で通らずこの時点で心が折れかk(ry
本当にやりたいことは、ラズパイのカメラモジュール使いたいなとか思っていたのですが、このbuildの作業をラズパイでやるとか(白目

以下の記事を参考にしながら、自分の環境で出るエラーを修正しながらビルドしていきました。 (クラスメソッドさんのブログで2,3時間とあるけど、自分の環境でもそれぐらいかかった) dev.classmethod.jp

MacBookのウェブカメラからAmazon kinesis Video Streamsに送りつけて、AWSのマネジメントコンソールから確認するところで力尽きました。
(※ JavaのProducerのDemoアプリはlocalにあるmediaファイル(画像?)からビデオを作成しているだけでカメラ映像のstreamを送るものではない)
(※ 子どもが里帰り出産で北海道にいるためiPhone画面をMacBookのカメラに写した)
photos.google.com

ABEJAさんのこのスライドがわかりやすい。 speakerdeck.com ひとまずVideo Streamを上げるところまでは成功した。

Consumerに関する今後の夢

c++のbuild周りで時間つまって、あまり進まず。 機械学習とかビデオ周りとか全く詳しく無いんだけど、色々遊んでみたい。 以下のことをやってみたい

  • 解析
    • 音声ファイルに切り出してデシベルで赤ちゃん泣いてる!
      • 奥さんの働き度を可視化して圧倒的感謝の上で日々生活をするなど
    • 映像から泣いてる判定するとか
  • アプリケーション
    • slackに通知
    • 職場で子どもモニタリングできるページ作成するとか

雑記

自宅ハックが捗る感じがしました。 やっていき!の気持ちが高まります。 私事ですが年明けから会社の福利厚生で1ヶ月休み(5年勤続で連続20営業日の休みがもらえる)を頂く予定です。

voyagegroup.com

空いた時間で何か新しいこと出来るといいなと思いつつ、やっぱり産まれたばかりの子どもと24時間一緒にいれるのがいちばん楽しみです!

AWS re:Invent2017見たセッション・後でみるセッションまとめ

2017/11/27~12/1にAWSのre:Inventに参加するためにLas Vegasにいってきました。 一通りセッションのvideoやらslideあがったのでこのタイミングでエントリにしました。

reinvent.awsevents.com

f:id:chocopie116:20171210185129j:plain

感想

  • AWSってインフラ?みたいな風に思っていて自分から遠い気がしていたが、知らないだけで機会損失みたいなものがたくさんあるなと思ったりした。
  • 仕事ではアプリケーション開発が中心で、インフラになんとなく苦手意識があったけどawsガンガンやってこ!みたいな気持ちの高まる。
  • 機械学習・IoT推しを感じた。amazon帝国怖い。
  • MCで知ってたけど、AWSには本当にたくさんプロダクトあるし、更にどんどん増えてる。
  • AWSamazonのプロダクトの開発どうなってんだろ的なことを雑におもった(小並感)。
    • re:Inventで発表するためには、当然のようにプロダクトを完成させる必要がある
    • 社内やパートナーに協力してもらってドッグフーディングする必要がある
    • amazon社内ので使ってるソリューションの切り出し?
  • 社内のチャットawsのブログのrssが通知されるチャンネルがあったが、これまでフーンと思っていたが関心が高まった。
  • 英語でreadingすることはあったが、speaking, listeningして情報キャッチアップする体験よかった。より英語に対する苦手意識は定価。
  • AWSのサービス使ってこのサービス使って、◯◯できるなーみたいなアイディア考えるの楽しい。

参加したセッション

  • HAC02 Hackathon for Non-Profits
    • 特に印象に残ったので、別で記事 にした。
  • MBL309 - User Engagement, Messaging and Analytics using Amazon Pinpoint from A to Z slides
    • 東京リージョンには来ていない・予定も今のところはまだない。
    • notification(email, sms, iOS, Android) delivery, analyticsがまとまってできるサービス
    • s3にアップロードしたものを配信するの便利そう。
    • セグメント別(デモグラ、見込み顧客等のカスタムタグ)で配信設定ができたり簡単そうだった。
    • A/B Testing便利そう。
    • 各種イベントをkinesisやlambdaで処理できる。どういうイベントがあるのかまだピンときてないけど便利そう。
  • DEV206-R - [REPEAT] Life of a Code Change to a Tier 1 Service
    • AWSにおいて、1つのコードの修正がデプロイされるまでの流れを説明
      • テスト・デプロイのパイプラインとてもとても横に長かった。
      • 自動ロールバック
  • CMP323 - AWS Batch: Easy and Efficient Batch Computing on AWS slides, video
    • 感想
      • Batchっていう名前で見事に釣られたけど、コンピューティングリソースめっちゃ使うものを分割してスケールさせるためのものぽい(おれのやりたいバッチではないw
    • AWSの人の話
      • ここらへん試してみるといいよ https://github.com/awslabs/aws-batch-genomics
      • ジョブネット組めるらしいが
      • run pararel jobs on targeting size
      • sequentialなジョブをJOB-A-1, JOB-A-2, JOB-A-3みたいなものをparallel実行できる
    • AWS Batch利用者のパートナー会社の話
      • とりあえず始めれば良い. スケールさせるとしたらモニタrに具とデバッグのことを考えるとよい. バッチの数が増えたらそのログを調べるのが気になるはず
      • Batchie PatchieやJobsというサービスでジョブの状態みえるようにした(jobsのほうがよさそう?)写真あり
      • EBSを使うとcostが節約できたよ
      • 事例面白かった
        • 人間がコンピューターを使ってデザインしてたものを、人の初期デザインを元にAIで無数にデザインを生み出すようにした
  • GEN25 - Andy Jassy's Keynote video
    • いっぱいプロダクト発表されてすごかった(小並感
    • アプリ開発者としてはcontainerはとても使っていきたい。FargateでホストOSの管理から開放
    • Aurora Multi Masterは凄い(小並感
    • SageMaker・DeepLens周りの話で機械学習の話分かりやすかった。自分としてもサイドプロジェクトで使ってみたい。
  • MCL210: Machine Learning State of the Union
    • amazonの人の話
      • amazonはML20年やってきた(倉庫・検索・alexaやamazon go等の他のプロダクト)
      • 既存の機械学習エンジンのframeworkはscalabilityやflexibilityのいずれかに課題があるらしい。
    • Greengrassはよい。client側でデータの処理を行うことによってlatencyや、costのメリットがある。
  • GEN06 - Werner Vogels' Keynote video
    • コンピュータのinterfaceは変化していく。より人間に近づいていく。まずは音声から
    • re:Imagined 21 century architecture
      • security
      • avilablity(region design)
    • Chaos Engineer (chaos engineer of netflix)
      • story
        • downtime a whole day(other service?)
        • people asked if the system down?
      • safety & monitoring
      • chaos moneky
    • lambda のgolang対応
  • BAP207 - NEW LAUNCH! Deploy Alexa In Your Organization with Alexa for Business
    • 企業向けの会議室にAlexa設置して、社内システムいい感じのUI提供していこ!そのための社内の会議室や複数台のAlexaやそれにのせるスキルをいい感じに管理できまっせみたいな話。
    • Alexa for BusinessをAdministratorのセットアップをして、電話会議・予定確認とかした。
    • モデル(room・skill groups(avalable skill)・skills(skill market))
    • features
      • install private skills
      • restrict calendars , recognizing voice
    • 雑なアイディア
      • 会議室のタイマー・予約周りはだいぶ便利にでいそう。
        • 急遽会議室使いたい時に、PCで検索するのつらいの改善
        • 会議終了の5分前にalexaが声かけてくれるとか、延長する?とか声かけてくれるとか, xxの会議室ならあいてるから予約する?とか
  • SRV215 - NEW LAUNCH! AWS Serverless Application Repository video
    • ServerlessのAPI GatewayやS3やらの構成管理や、アプリケーションのデプロイを楽にするサービス。
    • 公開すれば、それをそのまま使えるみたいな話もある。ファイルアップロード周りとかさくっとデプロイしたりとかできそうw
  • ABD341 - NEW LAUNCH! Amazon Kinesis Video Streams Use Cases
    • 関係ないけど、Kinesis Stream,Kinesis Analytics, Kinesis Firehoseあたりのサービスさわってみようという気持ちになった。
    • 映像からリアルタイムでオブジェクト認識・オブジェクトの軌跡のマッピングとかすごかった。
    • Kinesis Video Streams Producer SDK

あとでみるセッション

container関連, モニタリング、Netflix関連(スゴーイの文脈),ML, 遊び(IoT, Alexa関連), security関連でピックアップ。 DeepLensのworkshop参加したさに欲をだしてセッションキャンセルした結果、見れなくなってしまって悲しみがあった。 数多いからアレだけど、自分の備忘録としてまとめておく

次回参加するにあたって

  • workshop中心に回る作戦は結構有効。
    • breakout session(AWSのPM + 複数の会社の事例紹介みたいなのは、時間短くてよくわからないまま、ふーんてなりがち)
    • 実際に手を動かして、こういったサービスかと理解するのはよい。逆にそこまでいかないと◯◯の時使えるなーみたいにたどり着かない
    • 手を動かしてみながら、プロダクトにどう使える?みたいなとか、◯◯のところどうなってんだろう?とか質問わいてくるし、その場でAWSのプロダクト担当に直接聞けるのよい
  • keynoteの直後はセッションめっちゃ追加されて割と一瞬で埋まる
  • walkupは立ち見ではなく、reservedの人で埋まらない空きをうめるためのもの(理解するの遅かったw)
  • 録画しているセッションはre:Inventの1週間以内にyoutubeにアップロードされる

画像で振り返るre:Invent2017シリーズ

昼食会場が半端なく広い

f:id:chocopie116:20171129071001j:plain

Keynote会場が半端なく広い

f:id:chocopie116:20171129073805j:plain

レゴの規模が半端ない

f:id:chocopie116:20171129144403j:plain

amazonの倉庫のautomation半端ない

f:id:chocopie116:20171129151814j:plain

ホテル中いたるところに地ベタリアン(古

f:id:chocopie116:20171130142424j:plain

ベラージオの噴水

f:id:chocopie116:20171130221833j:plain

シルクドソレイユKAを見に行った。

f:id:chocopie116:20171128211019j:plain

一緒にいったメンバー

f:id:chocopie116:20171210183526j:plain

帰国後の日本食うますぎてだし巻き卵で失神しそうになった。

アメリカで、とりあえず味の素入れとくか ha, ha!!みたいな流行が来ることを祈る。 f:id:chocopie116:20171202184112j:plain

re:Invent2017で The Non-Profit Hackathon に参加してきた #reinvent

これはVOYAGE GROUPのAdvent Calendarのエントリです qiita.com

Introduction

ラスベガスで2017/11/27~12/2に開催されたre:Inventに会社から @suzuken, @_nishigoriと3人で参加してきました。

reinvent.awsevents.com

re:InventとはAWS(Amazon Web Service)主催のイベントです。 新製品の発表、ワークショップ、セッションや開発者向けのイベントが朝から晩まで開かれており、世界中から開発者が集まるイベントです。 その中でハッカソンがあったので参加してきました。 イベントの様子や海外の開発者と丸1日ハッカソンに取り組んだ経験をエントリにしようと思います。

Motivation

re:Inventの参加目的は、新製品の発表やワークショップを通じて、勢いを肌で感じたり、新サービスの情報をキャッチアップすることが目的です。 しかし後ほど録画されたものをyoutubeで見ることができるので、現地でしかできないことを積極的に経験したいと思いハッカソンにエントリーしました。 また海外の人と一緒にチーム開発をする経験をしてみたかったです。 正直不安しかありませんでしたが、気持ちでなんとかなるだろうという思いで参加しました笑

About Event "The Non-Profit Hackathon"

概要としては、NPO(非営利団体)から与えられた課題を解決するようなプロダクトをつくりなさいというものです。 朝8:00から24:00までスケジュールが抑えられています。 re:Inventで全部で数百あるイベントのうち、断トツ、クレイジーなスケジュールの元実施されるイベントです。 なお予選プレゼン・結果発表、決勝プレゼン・結果発表があるので、実質設計・開発に使える時間は12時間程度です。

f:id:chocopie116:20171127082255j:plain

会場には、1チーム4人制で、会場には約20~30チームいました。 ほとんどのチームが当日その場で世界中からきた初対面の開発者で構成されたチームだったと思います。 なお参加にあたって事前に自然言語プログラミング言語AWSの経験・希望のNPOなどオンラインフォームで調査がありました。 しかしこれらが反映された気配はありませんでした笑

Hackathon Theme

パートナーである4つの団体から、彼らが実際直面している解決したい課題が与えられます。

reinvent.awsevents.com

ざっくり課題の概要だけお伝えすると(一部雑な部分あり)

  • 寄付者をしてくれた人に対して団体の活動報告を行っている。しかしより頻度高く行うために、もっと手軽に活動報告が行うことができるツールが欲しい
  • 災害発生時に助けを求める被災者のSOSを、より人々の注意を引く形で集約したい
  • 国の政策で学生の健康促進の活動を行っているが、学生の行動・意識のデータ収集・分析の基盤がないので、データを取り扱いたい
  • オンライン上での被害拡大を防ぐために、自社で持っている画像DBを元に、ボランティアから通報されるセクシャルな画像の人手による確認作業を効率化したい

ちなみに僕のチームは、4つめのpostされた画像の人手による確認作業の効率化をNPOのチームに入りました。 明らかこのお題だめテーマとして重い・技術的に重そう・・・というダブルなヘビーでした。 もちろんこのお題を知っていたら他のチームに入っていたと思います笑

My Team Result

僕らのチームは画像ファイルのhashを計算して2つの画像の類似度を求めるというアプローチでいくことにしました。 正直このあたり知識不足と、英語のディスカッションについていけず流れに身を任せる形になってしまった部分は大いにあります。

なお4名で以下の2つのアプリケーションを分担してつくりました。 (なんでxxxじゃないの?そもそもこれれどうやってアーキテクチャとして成立させるの?って疑問はあるかもしれませんが是非目をつむってくださいw)

f:id:chocopie116:20171204003302p:plain f:id:chocopie116:20171204003314p:plain

僕はs3にアップされた画像を処理して画像認識APIを叩く一連の流れのアプリケーションを担当しました。 s3 -> sns -> sqs <- (Hashing Proxy Worker) -> (Hashing Web Api)WorkerをNode.jsで実装しました。

無事プレゼンのデモで、自分が担当した部分のアプリケーションを動かすことができてよかったです。 メンバーのCloudformationが適用しきれず僕のMacのlocalでworkerを動作させていました笑

Other Team Result

f:id:chocopie116:20171127230021j:plain勝戦のチームのプレゼンのアーキテクチャの画像だけ貼り付けます

f:id:chocopie116:20171127230944j:plain f:id:chocopie116:20171127232101j:plain f:id:chocopie116:20171127233306j:plain f:id:chocopie116:20171127234433j:plain

What I Experienced

今回僕自身にとっていくつか初めての経験があり、感じたことを以下に記載します。

  • コミュニケーションについて
    • 1:1のコミュニケーションは十分可能。現在の自分の理解・認識をとにかく自分からアウトプットして相手に確認してもらう。
      • シーケンス図や、シェルや、プログラムなど見せれば認識の齟齬は一瞬で埋められる
    • 1 : nのコミュニケーションは激難。特にチームでのディスカッションは結構厳しい。
      • 自分の現在の英語力と、現状の語学学習の延長線にたどり着けるビジョンがない笑
    • 外国人は何があっても進捗最高!しか言わない。Nice! Awesome! Great! No Problem.
      • 自分はやれるか不安だったので、このポジティブなコミュニケーションには正直めっちゃ救われた。
  • 海外の開発者とのチーム作業について
    • 作るものがある程度決まっていれば(マーケット・ユーザー)、英語力がなくても開発は問題ない。
      • 顧客がまだわかっていないドstartupとかはまた難易度変わりそう
  • AWSのサービスを組み合わせてプロダクトをつくること
    • 一つ一つのAWSのサービスの内容は知っているが、組み合わせて1つのサービスをつくる経験はあまりしたことがなかったのでとても学びがあった。
  • 評価者のNPOの非技術者の技術の知識
    • 問題のアプローチ手法について・コスト・スケーラビリティなど質問してて、普通に凄いなと思った。技術に強いチームだなと純粋に思った。
  • 他チームのアウトプットについて
    • 外国人プレゼンめちゃくちゃうまい。
    • 各チームアウトプットが全然違ってプレゼン聞いてて面白かった。
      • 異なるNPOのお題を選択すること・お題を解決するためのアプローチを選択すること・それを実現するためのアーキテクチャを選択すること
  • 環境快適
    • マッサージブースあってウケた。
    • 食べ物たくさん

f:id:chocopie116:20171127210255j:plain f:id:chocopie116:20171128002137j:plain f:id:chocopie116:20171127153109j:plain f:id:chocopie116:20171127082641j:plain

Conclusion

re:Inventで一番楽しかったです。
海外の開発者とコミュニケーションの制約があったからこそ強く感じた点は多々ありますが、普段の開発でも活かせるような気付きがありました。
また機会があって、re:Inventに行くことがあれば間違いなくエントリーしてリベンジしにいきます!

Thank you Jessy, Steve and Brian. f:id:chocopie116:20171128001119j:plain

ハッカソン以外のre:Invent2017の話については、今回一緒に日本から参加した @suzuken, @_nishigoriと、VOYAGE GROUPのpodcastの ajito.fmのepi 14に収録されています。 是非興味有る方は聞いてみてください。 ajito.fm

低温調理はじめました

低温調理器具のAnova買いました。

水温を一定の温度に保ってくれる調理器具です。

 

これによりxx℃でn時間等の調理が可能になります。

 

普通にフライパン等を使って調理を行う場合に起こる火の通りのムラや、中心まで火を通すと全体に火が通り過ぎてお肉が固くなってしまったりといったことがなくなります。

 

以前からblogで見かけてからずっと気になっていました。

実は同じAnovaの中でnanoという新型のモデルがpre-orderがあったサイトで行っていたので待っていました。しかし以下で発売の延期を知り、これ以上待てんと勢いで現行モデルを買ってしまいました。

 

anovaculinary.com

 

19000円ほどです(割といいお値段

 

早すぎる結論ではありますが、低音調理器具とてもアツいです。

 

開封の儀

f:id:chocopie116:20171105223655j:image

かなりデカイです

f:id:chocopie116:20171105223724j:image

 

調理には、電源の変換コネクタ(3つ穴を日本のコンセントに変換するもの)と、水をためる容器が必要です。

変換コネクタはドン・キホーテ、水をためる容器は100円ショップのゴミ箱を購入して使いました。

 

早速張り切って、肉のハナマサで肉を買い込み、先週から今週にかけて系4種類のお肉を調理しました。

どれも自宅でつくったとは思えないお肉の柔らかさや弾力があり最高でした。

調理もお湯にいれて放置、仕上げに高温で表面だけ焼いてあげるだけなのでとてもとても簡単です。

 

 牛肉ステーキ(56℃で60分程度)

 

f:id:chocopie116:20171105223745j:image

 

f:id:chocopie116:20171105223755j:image

 

お湯からあげたタイミングでは見た目はおいしくなさそう。

f:id:chocopie116:20171105223809j:imagef:id:chocopie116:20171105223818j:image

 

豚肩ロース(63℃で8時間)

f:id:chocopie116:20171105223829j:imagef:id:chocopie116:20171105223836j:imagef:id:chocopie116:20171105223842j:image

 

 

 

鴨肉(57℃で2時間)

 

f:id:chocopie116:20171105223848j:imagef:id:chocopie116:20171105223855j:imagef:id:chocopie116:20171105223905j:imagef:id:chocopie116:20171105223912j:imagef:id:chocopie116:20171105223917j:imagef:id:chocopie116:20171105223923j:image

 

 

牛鳥豚鴨と4種類調理した。

特に鴨と豚はおいしかった。

 

 

Chief Meet Officer目指して、色々挑戦していきたいです。

下準備や調理温度や時間を調べながら料理して色々学びがあって楽しいです。

 

お次はラム肉に挑戦するのと、漬け込むだけで燻製っぽくなるスモークリキッドを使ってみようと思います。

item.rakuten.co.jp

ISUCON7の予選に出た

isucon7の予選に出ました。

チームメンバーは、会社の同期のメンバーと参加。 isucon5, 6ときたのでこれで3回目。

採用したのはGolang. 今回は最終スコアは47,418。ベストスコアは75571。 304の壁は乗り越えられず帯域問題を解決できませんでした。 悔しいけど、これが実力なのねーという感じ。

やったこと

テーブルスキーマ整理してる段階で、あ、これバイナリだわみたいなことに気づいた。 DBのところの転送無駄じゃね?ってことでスクリプトでサクッとlocalに画像ファイルを書き出して全台配ったりした(この時1台で配ってたらよかったのかな) その後チームメンバーがベンチを回してボトルネックがインターネットからの通信があるところの帯域という問題がわかった。 シコシコN+1をなくしたり、/initializeみたら、userテーブルは更新なかったので全部メモリにのっけたり等のアプリケーションコードの改善をやってました。

よかったこと

isucon5の時は死にたくなったけど、まぁ少しは貢献できた。

  • AWS環境にアプリケーション構築した(開発環境)
    • 困った時にsshで同じ環境見れるのはやっぱり楽。あとAMIやいてインスタンスコピーできるとかはやっぱり楽。
  • どんな問題がきても変わらない開始直後〜方針決めの素振りをきちんとした
    • アプリgit管理するとか、DBバックアップするとか、各種ミドルウェアのconfの設定するとか
    • テーブル構成把握するとか
  • チームで何がボトルネックか全員落ち着いて行動できた。
    • 推測するな、計測せよ
    • ボトルネックを意識して、解くべき問題について考えた
  • ボトルネックの解決策について話し合いながら進められた
    • 複数の選択肢を意識しながらチームで会話して進めることができた
  • alp(web serverのアクセスログ 統計ツール)
    • pathを簡単にまとめられるのよかった。(/icons/xxxx を全て /iconsにするとか)
  • goreplay (https://github.com/buger/goreplay)
    • VCRという概念があって、http requestを保存・再現することができるもの(ビデオデッキの録画・再生みたいなもの)
    • ベンチマーカーのリクエストを保存しておいて、再現するみたいなことが簡単にできる
    • ベンチマーカーみたいにレスポンスの挙動は確認できないけどまぁ十分。
    • 普通に仕事でも使えるなとおもった
  • 開発サーバーでdocker-compose upすると、MySQLの複数versionとredisが立ち上がるようにしておいた
  • レギュレーション超意識して読み込んだ
    • 事前レギュレーションからは複数台構成をよみとけた。
    • 本番レギュレーションもチーム全員で音読した。
  • intellijつかってさくっとコードかけてよかった。
    • 以前は結構エンバグして苦労してたけど、IDE恩恵をうけつつ、少し気を使ってコード書いてプログラムのバグでrevertするみたいなことはなかった。
  • やべわかんねって手を止めずに、手を動かしつづけながら、思考し続けながらある程度動けたこと

ダメだったこと

  • golangのコードかくスピードもっと早くしたい
  • アプリ改善で詰まりそうな時はペアプロとかしたけど、並行で作業できるようにしたい
  • アクセスログや、pprof、pt-digest等でアプリケーションのボトルネックは見れるけど、サーバー単位でのボトルネック見るのとかはまだ全然ダメ。
  • 帯域のつまりを解決するために304返すためのアイディアをもっていなかった。
    • インフラ・ミドルウェアのレイヤーはいつもどおりおまかせ
    • /icons/が/css/や/js/と違うクライアントからのリクエストみたいなものは気づけなかった

次頑張りたいこと

  • cacheに関連するリクエスト・レスポンスヘッダ周りは一度整理しておきたい
  • ISUCONでgolang熱があがったのでもうちょっとプロダクトでgolang使っていきたい
  • アプリケーション任せろみたいな頼りがいと自分の中での引き出しはもっと増やしたい
  • redis便利なので使っていきたい(正直GETとSETしか使ってないw)

なんだかんだ成長はしているんだおるけど、ISUCONや業界のエンジニアの成長の凄さをいつも感じた

僕は、ついてゆけるだろうか 君のいない世界のスピードに

みたいな気持ちになった(BLEACH)

改めて運営の皆様ありがとうございました。 2日で1000台以上のプロビジョニング ベンチマーカーの圧倒的快適さ 予選から複数台構成(色々考える事が多くて楽しかった) 細部に至るまで圧倒的な準備を感じました。これぞイベント運営というのをみさせていただきました。

TV番組 家、ついて行ってイイですか? 砲を測る

少し運用をお手伝いしているウェブサイトがTV番組に取り上げられた時に計測した内容をエントリにする。

特集いただいたのははTV東京さんの 家、ついて行ってイイですか? という番組だった。 www.tv-tokyo.co.jp

過去にTV番組に取り上げられたことも、あったがそこまでトラフィックにつながらなかった。 今回は予想に反して、GoogleAnalyticsのリアルタイムの数字リロードするたびに数字が上がって、テンションも上がった。 ただこれがいわゆるWBS砲と比較してどのぐらいの差があるのかは正直良くわからないという感じw

以下GoogleAnalyticsでの数字

キャプチャ

最高瞬間風速

f:id:chocopie116:20170830233642p:plain

トラフィックの内訳

(だいぶ落ち着いたタイミングだけど) f:id:chocopie116:20170830234053p:plain

TVの番組次第だけど特集がうまく組まれていれば直帰率はかなり低い(ユーザーの回遊のモチベーション高め)のは面白いなと思いました。