YAPC::Asia 2014 スペシャルレポート

YAPC:: Asia 2014 1日目レポート[更新終了]

この記事を読むのに必要な時間:およそ 14 分

本日28日から30日までの3日間,慶應義塾日吉キャンパス 協生館にてYAPC::Asia Tokyo 2014が開催されています。本日は1日目。本稿では,この1日目の模様を随時レポートしていきます(注:すべてのセッションをレポートするわけではありません)。

受付でもらえるパスカード。その名刺には,参加者の皆さん自らが名前を書く形になっています。

画像

オープニング

オープニングの挨拶は,JPA director/YAPC::Asia 2014実行委員長の和田裕介さん(@yusukebe)です。テーマは「There is more than one way to enjoy it!」とのこと。YAPCではトークを楽しみ,スピーカーと交流してほしいと言います。そのために,無限珈琲,かき氷,Red Bull( Girls)などの飲み物等も用意したそうです。

また,注意事項のほか,ベストトーク賞の投票を忘れないでほしいこと,イベント用のハッシュタグは#yapcasiaであること,ブログを書くまでがYAPC::Asiaであることを紹介しました。

画像

Abigailさん「Releasing perl」

Perlのリリースマネジメントについてのトークです。以前,PerlのリリースはPumpkingと呼ばれる限られたPerlのコア開発者たちによって行われていました。Pumpkingの仕事は非常に困難で,成し遂げたあとは燃え尽きてしまう人もいたほどだったそうです。特に,Perl 5.8がリリースされてから,Perl 5.10がリリースされるまでには5年以上もの月日が必要だったとのこと。その頃には誰もPumpkingの仕事をやりたがらなくなってしまったそうです。

その後,Perlのリリースを定期的に行うことが提案され,開発リリースは一ヶ月に一度,メジャーリリースは一年に一度というスケジュールで行われるように変わったそうです。さらに,Pumpkingにリリース関連の多大な作業をする必要がないように,ツールやドキュメントを整備したとのこと。その結果,現在では以前に比べて作業にかかる時間も大幅に減り,様々なプラットフォームでのテストもスムーズに行えるようになったと述べていました。

現在では,直近5年間で計74回のリリースが行われ,その間に燃え尽きてしまったPumpkingはいないそうです。

画像

画像

Satoshi Suzukiさん「インフラエンジニア(狭義)は死んだ 」

studio3104さんこと,Satoshi Suzukiさんの話したテーマは,インフラエンジニアがプログラミングとどう向き合っていくべきかということでした。Suzukiさんは新卒の頃にC++やJava,PHPなどのプログラミングに挑戦したのですが,馴染めずに一度挫折したそうです。しかし,今では色々なOSSのプロダクトに向き合い,コードも積極的に書いているそうです。

ところで,インフラエンジニアとは一言でいうとどのような仕事でしょうか。Suzukiさんによれば,一口でインフラエンジニアと言っても電源から物理サーバ,データベースまで含めて多岐にわたるため,一概に定義することはできないと言います。また,最近はデータホテルやハートビーツ,AWSなどの仮想化技術が充実しており,データセンターに行かないインフラエンジニアも増えているそうです。

そのような状況の中,「おぺかじ!」というイベントを自ら主催され,そこでSuzukiさんが得た教訓が「自称が自意識に影響を与える」というものでした。これは,自分をインフラエンジニアと呼ぶことで,無意識のうちにプログラミングを避けていないかということです。そこに気がついたSuzukiさんは,業務やプライベートでとにかくコードを意図的にたくさん書くようになり,OSSへpull-requestを送ったりするまでになったそうです。

また,コードを書けるようになる秘訣として,仲間を作ることを挙げていました。Suzukiさんの周りには有名なOSSのプロダクトの開発者が多数いて,色々なアドバイスをもらって自身の糧としてきたとのこと。最後に,インフラエンジニアでもアプリケーションエンジニアでも,これはやらなくていいという仕切りを設けずになんでもやることが大切と,自身の経験から得たことを参加者に伝えていました。

画像

画像

マコピーさん「Perl meets Real World ~ハードウェアと恋に落ちるPerlの使い方~」

もともと電気工学を学んでいたというマコピーさん。しばらくハードウェアからは遠ざかっていたそうですが,昨年仕事で調べてみて最近のハードウェアの進歩を知って学習を再開したそうです。

まずはこの分野で代表的なハードウェアであるRaspberry PiとArduinoを紹介しました。

Raspberry Piはもともと発展途上国向けのIT教育を目的として作られたハードウェアですが,比較的性能が高く普通のLinuxが動くほどだそうです。Linuxが動くため,もちろんPerlも動きます。クレジットカードサイズとコンパクトで4,000円程度と安価であり,初心者向けにも環境が整っていることもあり広く活用されています。

いっぽうArduinoはRaspberryPiとは違い,電気を扱うことに特化していて,CPUなどの処理性能は非常に低いそうです。四則演算ぐらいが精一杯だそうで当然Perlは動きません。ハードウェア単体では非力ですがエコスシステムが強力で,専用のIDEやライブラリ・Arduinoを前提としたキットがたくさんあるとのこと。

普段はこれらを組み合わせて使うことが多く,Raspberry Piはエンコードなどの重たい処理を行いたい場合に,Arduinoは自作の電子部品を使いたい場合やライブラリがある場合,高速なPWM制御を行いたい場合に利用するなど,使い分けているそうです。

続いて,オープンハードウェアを紹介しました。ハードウェアの世界ではソフトウェアのソースコードにあたるものとして,ファームウェア・回路図・部品情報・基盤配置図があります。オープンハードウェアとはこれらが公開されているもので,Arduinoもその一種です。これにより,小型化されたものなど,多数のクローンが公開されていると言います。自作したものでもArduinoの仕様にしたがっていればエコシステムに乗ることができるため,ハックをうながす素晴らしい仕組みと述べていました。

その後,Perlを使ってArduinoを制御する方法を解説しました。マイコンとPC間をやりとりするFirmateというプロトコルがあり,これを使うことでPerlからArduinoに簡単にデータを送ることができます。ここでWebアプリからArduinoで制御された初音ミクにネギを振らせるデモが行われる予定でしたが,トラブルにより省略しました。

最後に3Dプリンタの登場などハードウェアの世界もどんどん進歩しており,自作ハードウェアも簡単に作れるようになっているので,もっとハードウェアの人と繋がりたいと呼びかけていました。

画像

画像

Kenji Naitoさん「完成されたシステムなどない。完成された人間もいない。あるのは成長し続ける未完成なシステムと,それを支える未完成な人間だけだ」

Kenji Naito(@kenjiskywalker)さんは,Webサービスを開発・運用するために必要なこととして記録や保険,再現性,簡易性だと言及し,その理由をWebサービスが成長する過程とともに説明しました。

ハードウェアは絶対に壊れますし,人間は必ずミスをしますが,そのような場合でも元に戻せるようにしておくために記録と保険が重要で,また,スケールアップ・スケールアウトなどの変更に強いシステムにするために再現性や簡易性が重要だと言います。サービスが成長し,バッチやキャッシュ,キューなどが追加される際にも再現性,簡易性を意識し,疎結合なシステムにするべきとのことでした。

ただ,記録,保険,再現性,簡易性の精度に関してはリスクとコストに応じて,その都度判断する必要があると指摘しました。

また,「The UNIX Philosophy」という書籍や式年遷宮,長屋から,変化に強くシンプルにすべきという哲学が学べるとし,インフラも変化に強くあるべきと述べていました。

発表は20分で終わったため,残りの時間は質疑応答となりましたが,良い質問が多く,後半はKenji Naitoさんのトークショーのような雰囲気でした。

画像

画像

著者プロフィール

臼井洋文(うすいひろふみ)

京都府京都市出身のプログラマ。仕事ではPerlでサーバサイドを書きつつ,Objective-CでiOSアプリの開発をしている。週末はボルダリングに勤しむ日々。

Twitter:@usuihiro
Web:http://d.hatena.ne.jp/usuihiro1978/


日下部雄也(くさかべゆうや)

仕事はニフティクラウドのネットワーク関連の機能の企画・開発・運用で,運用自動化のためのプログラムを書いていることが多い。言語は,Perl,Python,Ruby,C,Goなど。最近,Vyatta CoreからフォークされたVyOSという仮想ルーターのユーザー会を設立し,第1回目のミーティングを主催した。

Twitter:@higebu
Web:http://www.higebu.com


滝沢玲美(たきざわれみ)

千葉県在住。仕事はITとは全く無縁な事務職だが,プログラミングに以前から興味があり。今回,Perl入学式にてプログラミングを初めて学ぶ。

藤沢理聡(ふじさわまさあき)

神奈川県在住。仕事でソフトウェア開発をしつつ,余暇にも友人たちとソフトウェア開発をする日々。長くPerlを愛用している他,ここ数年はPerl 6にも挑戦している。

Twitter:@risou
Web:http://www.risouf.net/


本間雅洋(ほんままさひろ)

北海道苫小牧市出身のプログラマー。好みの言語はPerlやPython, Haskell, Scala, OCamlなど。在学中は数学を専攻しており,今でも余暇を利用して数学を嗜む。現在はFreakOutに在籍し,自社システムの開発に力を入れている。 共訳書に「実用Git」(オライリー・ジャパン),共著書に「FFmpegで作る動画共有サイト」(毎日コミュニケーションズ)がある。

Twitter:@hiratara
Web:http://hiratara.github.io/


森藤大地(もりふじだいち)

ISP勤務。卒研でPerlのプログラムを組んで以来, Perlを利用している。 CROSSというエンジニアイベントを主催していたりする。 d3の翻訳やひとりアドカレなど,解析・可視化業務を行っている。

Twitter:@muddydixon
Web:http://muddydixon.hatenablog.com


山中裕之(やまなかひろゆき)

ドラゴンズファン。某会社のプログラマとして活動中。好きな言語はPerl, Ruby, C, C++, Haskelなど。武術が好きで休日はいそしんでいる。

Twitter:@hiroyukim
Web: http://hiroyukim.hatenablog.com

コメント

コメントの記入