memoメモ

最近はGo言語関連で。φ(..)メモメモ

YAPC::Asia 2015 へ行ってきた #yapcasia

f:id:atotto:20150823103112p:plain

YAPC::Asiaへ行ってきました。 関係者の皆様、本当にありがとうございました。

YAPCというと、Perlに関するカンファレンスで、私自身Perlをまともに使っていないということもあり、見送っていました。が、Rebuildでアナウンスを聞き、実は技術者のお祭りなんだよ!最後だよ!ということで初参加しました。

結果、参加して良かったです。これが最後ということですが、次に繋がる最後だと思っています。今後の祭りも楽しみに生きていこうと思います。

聞いた・参加したもの一覧

day1:

day2:

ほとんどAトラックにいました。

も聞きたかったものの、他の行きたいものとバッティングしてしまいました。後日資料を追いたいと思います。

その他リンク:

すこし詳しく

Merry Christmas! / Larry Wall

最初どういう話なのかついていけませんでした・・が、ざっくりまとめると、Perl5とPerl6の違うようで似ていて、また別の進化がある、、というようなことだと思います。

  • Perl5 → hobbit
  • Perl6 → LotR

この違いについてしっかりとした教養が足りませんでした・・。スタートレックスター・ウォーズについては知識があるのですが、こっちの勉強範囲を広げる必要がありそうです。

また、ラリーさん曰く、「Perl6はこれまでクリスマスに出すとは言っていた。が何年のクリスマスとは言ってこなかった!Perl6は何事もなければ2015のクリスマスにリリースする、かもしれない」というアナウンスがあり、盛り上がりました。

f:id:atotto:20150821104241j:plain

Managing Containers at Scale with CoreOS and Kubernetes / Kelsey Hightower

slide: Managing Containers at Scale with CoreOS and Kubernetes

Kubernetesについてちょっと知りたかったので参加。

Kubernetes:くべぇねぇてす

ライブでデモをしながらだったのでイメージが湧きやすかったです。資料yapc-asia-2015/demo at master · kelseyhightower/yapc-asia-2015 · GitHub

  • コンテナ管理がしやすそう。
  • Podでコンテナをまとめて運用する。
  • 異常をきたしたコンテナは安全に切り離してデバッグする。←これ重要!

f:id:atotto:20150821113333j:plain

TBD (Toward Brain-aware Design) / Yukihiro Matsumoto

アーキテクチャの進化、考え方は振り子のようになっていて、それにより新しいことが生まれてくる。

そんななかで、マルチコア時代のシェルスクリプトって見直されてきている:

  • パイプライン処理でマルチコアを有効的につかえそう
  • でもShellで書くのつらい

マルチコア時代のスクリプトを書く言語としてstreemを提案している。

感想:

@mattn_jpさんすごすぎる。

streemをウォッチしていこうと思う。

Docker For Polyglots : Where We've Come From, and Where We Can Go / @upthecyberpunks at Docker

polyglots = 多数の言語を使えるひと

将来はシンクライアントな構成になっていく

Dockerの方向性:

  • より簡単にさまざまなコンテナを使えるようにする
  • テクノロジーを使うための敷居を下げる

  • すぐれたエンジニアなら適切なテクノロジーを適切なところで使いたい

→ 開発環境を設計、利用、運用していくのは大変。さらに健全な状態で運用することも大変

すべての人がすべてのツールを学ぶことはできない

Tooling is difficult

ビルドのための仕組みを手元で再現するのはむずかしい → 貢献しようとしてくれるひとへの敷居が高い

参入障壁を減らす、トラックナンバーを下げる。それなら、

  • 環境の構築を自動化したい
  • dependency hellをなくしたい

Dockerはこういった問題に対応できる。

  • Dockerを使って環境を簡単に定義できる!
  • DockerfileはREADMEとして使える!
  • kernelさえサポートしていればよい!
感想:

アプリケーションの実行環境の構築はDockerでやっているが、開発環境の構築までは手を付けていない。 開発環境は個人の好みの問題もあって結構むずかしい。いい解決案を探して行きたいなぁ。

f:id:atotto:20150822101422j:plain

Docker 3兄弟について / @toritori0318

  • Docker Machine
  • Docker Compose
  • Docker Swarm

全然使ってませんでした。Linuxマシンを直接触っているのもあってdockerコマンドを直接。。ちょっと、このあたりで整理する必要がありそう、かも?

関係無いですがOSX・・というかMacをつかって開発したい。

Adventures in Refactoring / Ben Lavender

リファクタリングのありがたいお話。

f:id:atotto:20150822131214j:plain

振る舞いを変えずにコードを整理していく。

f:id:atotto:20150822132427j:plain

go fmtは良い仕組みです!

Parallelism, Concurrency, and Asynchrony in Perl 6 / Jonathan Worthington

Perl6でサポートされる並列、並行、非同期処理の話。

各問題について丁寧に説明があり、わかりやすかった。 タスクの処理やデータ処理などをスクリプトで書くときに重宝しそう。streemとともにウォッチが必要。

Perl6まだかな・・・

Profiling & Optimizing in Go / Brad Fitzpatrick

トラックAの最後の講演はなんと @bratfitz さんのGo言語の話。 @bratfitz さんはGo言語のコアな開発者です。

資料: bradfitz/talk-yapc-asia-2015 · GitHub slide: YAPC: Go Debugging, Profiling, and Optimization - Google スライド

@bradfitz さんのライブコーディングすごい。そしてわかりやすい。Youtubeでもライブコーディングの動画があるのでオススメです。

f:id:atotto:20150822153214j:plain

みんなでGo言語やりましょう(ぉ