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

YAPC::Asia Tokyo 2013 2日目レポート[更新終了]

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

Masaaki Goshimaさん「これからのPerlプロダクトのかたち」

mixi たんぽぽ部のGoshimaさんによる,⁠これからのPerlプロダクトのかたち」と題した発表です。

GoshimaさんはYAPC::Asia Tokyo 2012でも発表があったgperlという,自身が開発されているPerl5のC++による独自実装を紹介し,そのプロジェクトがCompiler名前空間を持つ3つのモジュールに分割された事を説明しました。発表では,Compiler::LexerというレキシカルアナライザとCompiler::Parserと呼ばれるトークナイズ結果を抽象構文木に変換するパーザ,そしてComplier::CodeGenerator::LLVMというLLVM IRを作る,あるいはJIT機構を使って実行するモジュールについて解説しました。

また,Perlを用いてiOSやMac OS X向けのアプリケーションを記述できるPerlMotionというプロジェクトについても紹介しました。PerlMothionは先に説明した3つのCompilerモジュールが利用されており,CocoaのPerlバインディングとともにLLVM IRに落とし込むことで実現していると言います。実際にPerlMothionで書かれたアプリケーションをシミュレータで実行するデモでは,アプリケーションが起動した瞬間に拍手が沸き起こるという盛り上がりを見せていました。PerlMotionは現状,大体の機能が揃っている一方で,不足している機能も少なくないのでコントリビュータを募集しているとのことでした。

なお,これらのプロジェクトで得られた知見は最終的には当初の目的であるgperlに還元したいと今後の展望を述べていました。

画像

画像

Yasuhiro Horiuchiさん「Programming AWS with Perl」

AWSでエバンジェリストを務める,Horiuchiさんの発表です。AWSは日本でも20,000アカウント以上の利用者がいて,API経由でプログラムからサーバ資源をコントロールできることが最大の特徴です。ただし,Perlの公式なツールキットは現状では公開されていません。

そこで紹介したのが,awscliというコマンドラインツールです。このツールはPythonで書かれているもので,AWSのほぼすべてのサービスをこのコマンドから制御できるのが特徴です。このコマンドを利用しているのが,AWS::CLIWRAPPERというモジュールです。発表では実際にWebサーバを立ちあげてMovable Typeを起動させるデモを行いました。

画像

画像

Tatsuhiko Miyagawaさん「What's new in Carton & cpanm」

MiyagawaさんはCartonとcpanmの現在の状況と,今後の展望について話しました。

cpanmはcpanコマンドを置き換えるモジュール管理ツールで,最新版ではバージョン指定,gitリポジトリからのインストール,Travis CIとの連携の強化,また,cpanfileへのdevelop指定やrecommends指定の追加などの機能が実装されました。

CartonはRubyのBundlerを参考に作られたプロダクトで,デプロイ時に依存するモジュールのバージョンを固定することを目的に作られています。開発コミュニティの協力で現在Cartonを使えるSaaSは徐々に増えていますが,ユーザからもSaaSに訴えたほうが対応は進みやすいようです。

最後に今後の展望として,cpanmのプラグイン機構の復活や,cpanfileにてgitのURLをサポートする計画などを紹介しました。今では開発者に必須となったツールだけに,今後の開発状況からも目が離せません。

画像

画像

risouさん「Perl 6 オブジェクト指向プログラミング」

この発表についてはスピーカーであるrisouが自らレポートします。

後方互換性を維持しながらオブジェクト指向に対応してきたPerlと異なり,Perl6は言語設計の段階でオブジェクト指向を採用しています。Perl6はPerlでのオブジェクト指向プログラミングとどう違うのかについて,オブジェクト指向の特徴的な要素ごとに説明しました。また,説明をしていく中でPerl6の特徴でもあるTwigil(変数名の先頭に記号が2つつくもの)やPerlでのオブジェクト指向プログラミングにも欠かせないblessについても触れました。

画像

画像

Hideo Kimuraさん「Perl で作るメディアストリーミングサーバー」

DeNAでマネージャーとして働いているKimuraさんは,仕事でコードを書く時間が減っても家ではコードを書いているそうです。発表では最近作っているというストリーミングサーバーについて話しました。

所持している音楽ファイルがスマートフォンに入りきらないことに悩んでいたKimuraさんは,家から音楽ファイルをストリーミング配信することで外出時もスマートフォンで好きな音楽が聴ける環境を作ろうと思いついたとのことです。

ストリーミングに関わる技術のうち特に転送/制御プロトコルについて,それぞれのメリット・デメリットを説明しました。用途に合うものとして今回はHTTP Pseudo-Streamingを採用したとのことです。HTTP Pseudo-Streamingを実現するにあたり,サーバー側では返すデータの開始位置と長さの情報をヘッダーに加える必要があります。しかしこれは,Plack::Middleware::Static::Rangeを使うことで実装できるとのこと。また,クライアント側はjQueryのプラグインであるjPlayerを使用したと述べていました。

まだ認証の仕組みや音楽ファイルの検索の仕組みなど未完成のところもあるそうですが,このようなホビープログラミングは楽しいということを最後に強調しました。

画像

画像

ランチセッション

2日目のランチセッションです。

最初に,LINE株式会社の薮田孝仁さんより,自社でのエンジニアの働き方や福祉厚生を紹介しました。LINEのユーザーが大台に乗ると社員にグッズが配布されるそうです。自分にあった働き方を薦めていました。

画像

画像

次に,1日目に続いてSix Apart社の高山裕司氏によるセッションが行われました。2日目は主にSix Apart社の歴史などについて紹介しました。

画像

画像

著者プロフィール

東聡志(あずまさとし)

北海道函館市出身。都内大手IT企業でプログラマーとして勤務。Perl Beginnersという勉強会を主催。 最近では,麻疹にかかったようにWAFのようなものを書いている。

Twitter:@ytnobody
Web:http://ytnobody.net/


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

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

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


川上大喜(かわかみたいき)

北海道函館市出身,Hachioji.pm所属。大学院在籍の傍らアルバイトとしてソフトウェア開発に従事。ここ最近の趣味はVimプラグイン開発とChrome拡張開発。今年から始まる就活のことを考えると胸が締めつけられる。

Twitter:@moznion
Web:http://moznion.hatenadiary.com/


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

神奈川県在住。本業はプログラマーではないが,心はプログラマー。仕事でもプライベートでもプログラミングをする日々。 長くPerlを愛用している他,ここ数年はPerl 6にも挑戦している。

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


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

北海道苫小牧市出身のプログラマー。好みの言語はPerlやPython, Haskell, Scala, Objective-Cなど。在学中は数学を専攻しており,今でも余暇を利用して数学を嗜む。現在はFreakOutに在籍し,自社システムの開発に力を入れている。

共訳書に「実用Git」(オライリー・ジャパン),共著書に「FFmpegで作る動画共有サイト」(毎日コミュニケーションズ)がある。

Twitter:@hiratara
Web:http://d.hatena.ne.jp/hiratara/


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

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

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


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

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

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