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

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

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

27日から29日までの3日間,東京大学伊藤国際学術研究センターにて「YAPC::Asia Tokyo 2012」が開催されます。本日は最終日2日目です(前夜祭の模様はこちら、1日目の模様はこちら)。ここでは,2日目の模様を随時レポートしていきます。

※すべてのセッションをレポートするわけではないことにご注意ください。

受付近くで,ランチ交流企画のためのくじ引きの入れ物を持った,張り紙をした女性が立っているので,ランチ交流してみたい方はこちらでくじを引いておいてください、とのことです。

画像

Yusuke Wadaさん「「新しい」を生み出すためのWebアプリ開発とその周辺」

2日目,伊藤謝恩ホールのトップバッターはワディット社長でオモロキ取締役のゆーすけべーこと和田裕介さん。スタートアップから小・中規模,月間1,000万PV+αまでのサービスを対象に,Webサービスの企画から開発・サービスのスケールについて,具体的な事例を交えながらのトークでした。

企画にもプロセスがあると語る和田さん。「瞬間的にひらめいたものをつくるのではなく,ひらめきもふくめて企画に落としこむ」ために,7つのサイクルを定義し,企画の骨子としているそうです。

具体的には「哲学:個々人が持つ変わらない思い(ex.「料理は楽しい」)」「アイデア:哲学を叶えるための具体的なアイデア(ex.「レシピを共有する)」」「テーマ:勝負する領域(ex.「ユーザーがレシピを共有できるサービス)」「コンセプト:一言で言える大枠(ex.「ユーザーがレシピを共有できるサービス)」「名前:サービスの名前」「デザイン:見た目に限らないディティール(ex.「料理写真をフィーチャーするカテゴリ分け」)「内部設計」という順序です。

必ずしも順番どおりに決めていかなくてもよく,それぞれのプロセスにあてはめて設計することで一本筋の通ったサービスができ,作ったものを人に紹介するときにも有効だと言います。

「設計と同時にリスクの検証も重要である」と和田さん。「技術リスク:やりたいことを叶える技術が世の中にあるかないか」「スキルリスク:技術を自分が使いこなせるか」「リソースリスク:人手や時間が足りているか」「政治リスク:会社バレなど,人との関係性から生じる問題」「法的リスク:著作権など法的な問題」といったリスクを努力で解決するか回避するか,また諦めるかということを考えることも大事と語りました。

これらの課題を検証するにあたって和田さんがよく用いるのは「sandboxディレクトリをつくって遊ぶ」という方法です。ワンストップなスクリプトを書いてWebサービスの肝の部分をCLIで実装してしまうそうです。APIの検証もスクリプトを作ったほうが早く,技術リスクの検証にもなるとのこと.スタートアップのWebサービスの開発にはMojoliciousなど既存のWAF(Web Application Framework)とO/R Mapper,最低限のキャッシュ。NoSQLは無理に使わずMySQLでも十分,サーバも1~2台でスタートできると語りました。

続いて,それらスタートアップなWebサービスが大きくなってきた場合のスケーリングの手法について説明しました。これには,和田さんが開発したWebサービスを題材に実際の事例を紹介しました。人気画像大喜利サイトボケての事例ではまとめサイト掲載によって発生した急激なアクセス集中への対策の顛末と,その過程で浮上した問題点の解決方法について詳細な説明がありました。

プラグインを多用したフレームワークで依存して開発したために異なる環境への移行ができなかったり,キャッシュのexpireするタイミングで一斉にキャッシュ再作成の処理が走ってしまうことでデッドロックが発生する問題など,実際のサイト運用ならではのリアルなノウハウが惜しみなく紹介しました。

画像

画像

Masahiro Naganoさん「1台から500台までのMySQL運用(YAPC::Asia編)」

Masahiro Naganoさんによる,現在運営中のシステムについて,過去の発表を踏まえながらの発表です。まず,MySQL Casualで話したことを振り返った後,その続きとして歴史が長く,数が多い上にシステムの内容もばらばらだったサーバーの集約化について話しました。

手法としては,いったん停止してから移行する方法を選んだとのこと。これは細かい調整がいらず,ミスがおきにくいことから選んだそうです。古くて回線が細いサーバーも多いので,まず前日までに少しずつ仮DBにコピーして必要な準備を整えたとのことです。

作業自体は負荷の大きいブログから移行対応表を元にperlスクリプトを作成。マスターではなくスレーブにのみ触れることで,マスターを壊してしまう事故を防ぐようにしたと言います。設定自体も内部に練りこようにするなどの工夫の結果,当日はコマンドを走らせるだけだったとのこと。「無事に朝を迎えました」と言いながらその時作っていた模型の写真を見せると,会場は大爆笑でした。

さらにこのあと,監視について触れられていました。MySQL4系では再起動が早いため,ダウンの監視のみではすり抜けてしまうそうです。そこで,アップタイムも監視することで対応したとのことです。またスパムブログ(スプログ)の監視にも重要で,書き込みが多いために他に与える影響が大きく,かつこの影響範囲は集約化したことでかえって大きくなったのだとか。

そして最後に今後の更なる集約化についても言及しました。いまだに残っているMyISAMの移行やストレージのSSD化などは,ソーシャルメディアの特性としてデータ量が多いため,容量あたりの単価も需要だと述べていました。

画像

画像

近藤嘉雪さん「Perlの勘所をマスターしよう! コンテキストとリファレンスを我が物に! 」

Perl初心者が一番引っかかりそうな部分である「コンテキスト」「リファレンス・デリファレンス」の解説を行うセッションです。発表は「プログラミングPerl」「はじめてのPerl」の翻訳をされている近藤嘉雪さんです。

まず基本的なコンテキストの知識として,スカラーコンテキストやリストコンテキストを解説しました。コンテキストの与え方によって値の解釈が異なることや,組み込み関数にどのようなコンテキストの値を渡せば良いのかをperldocを用いて調べる方法等を紹介しました。

また,渡されたコンテキストによって異なる値を返す処理の説明や,自分でサブルーチンを書くときにコンテキストに応じて動作を変更させるwantarrayを用いた処理を紹介をしました。//演算子(パターンマッチ)もスカラーコンテキストとリストコンテキストでは挙動が異なるということも説明し、観客からは感心の声が上がっていました。

リファレンスとデリファレンスの解説としては,「他のデータを指すデータ型でスカラー型の一種」「リファレンスされた値の中身を取り出す処理」という前置きをした上でC言語のポインタに相当するものとして簡単なサンプルコードを交えながらわかりやすく解説しました。スカラーからはじまり,配列,ハッシュ,サブルーチンのリファレンスとデリファレンスを説明し,C言語で言うところの複雑な構造体やオブジェクトを生成することが可能であると話しました。また,リファレンスで生成した複雑な構造に格納されている値を吐き出すためのモジュールとしてData::Dumperも紹介しました。

発展的な内容としては,無名関数や無名ハッシュ,無名サブルーチンについても言及したり,perlでのクロージャの説明し,盛りだくさんの40分でした。

画像

画像

著者プロフィール

天谷窓大(あまやそうた)

SNS運営会社に勤務の傍ら,フリーのライターとして活動。大好きなラジオの世界をPerlでハックし尽くすのが夢。

twitter:@amayan


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

北海道函館市出身。高専卒業後,大学に編入。現在,大学院生業務をこなしつつ某企業でパートタイムエンジニアとして活動中。ソフトウェアのテストやCIといった,ソフトウェアの品質担保に関する話題に強い興味を持っている。

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


中村文子(なかむらあやこ)/Ya-ko

大学卒業後大手ISPのコールセンター業務・ネット企業の企画職・広告代理店プロデューサーなどを経て, 現在「cyclo-PR」の屋号でフリーランスのソーシャルメディアプランナーとして活動。Web業界や広告業界の境目をさまよいながらさまざまな企業のマーケティングやPR,執筆活動を行う。

Twitter:http://twitter.com/ya_k0

LinkedIn:http://jp.linkedin.com/in/ayak0


萩原崇之(はぎわらたかゆき)

自宅警備の傍らコードを書く毎日。最近は電子工作にも心が傾いている。夢は誰もが宇宙旅行に行く世界。

twitter:takayuki_h
blog:http://d.hatena.ne.jp/kagigotonet
google+:https://plus.google.com/115287053726902051396/


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

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

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

twitter:@hiratara
blog:http://d.hatena.ne.jp/hiratara/


東聡志(あずまさとし)

北海道函館市出身。都内大手IT企業でプログラマーとして勤務。Perl Beginnersという勉強会を主催。

休日には,PerlやForthなどでのコーディング以外にも,板につかないロシア語の学習やバイクでのプチツーリング,バドミントン,Arduinoを使った電子工作等など,だいぶカオスな時間の使い方をしている。

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

コメント

コメントの記入