Quantcast
Channel: サイバーエージェント 公式エンジニアブログ
Viewing all articles
Browse latest Browse all 161

(後半)OSCON 2013(Open Source Convention)行ってきた

$
0
0

こんにちわ。
今回は前回に引き続きOSCON基調講演と気になるセッションの紹介をしたいと思います。
OSCONについては前回の記事を参考してくださいね。
※この記事については参加メンバーのヒアリングをもとに渡辺雄作(@waysaku)のほうで取りまとめております。

まずはこちら。

Facebookのインフラ責任者Jay Parikhの講演ではThe Open Compute Projectについての目的と概要、Facebookとしての取り組みを説明していました。
特にFacebook上で扱う2500億の画像の取り扱い(一日で3.5億の画像が投稿される!)は独自のデータセンターとラック、サーバを設計してコストを大幅に下げているとのこと。

OSCON 2013: Jay Parikh, "The Open Compute Project"





O’Reilly Mediaのfounder兼CEOのTim O’ReillyがCode for Americaについて説明していました。
この取り組みは政府と市民をOpen Sourceを使って繋いでいくという活動で、followshipと言われるグループごとにそれぞれが政府と市民のあり方を改善していこうというものです。
市民は技術を使って政府との関係を改善し、コミュニティを通じて参加者自身もスキルアップしていくということです。
Open Source(とコミュニティ)の考え方を社会に適用して、より良い社会にしていくという大きな潮流を感じました。

Code Is Making Government More Effective


GitHubのCEOであるTom Preston-Wernerのセッション。

信条にそって自由に仕事をすることが人々を幸せにすると考えていて、
GitHubも自由を信条にしているがそのためにはライセンスの管理が重要であるとのこと。
ソースコードが自由になるためにライセンスの管理は非常に重要であると言っていました。(そのためにGitHubには簡単にライセンスを選択できる機能があるとのこと)
ライセンスが設定されていないソースコードは、その意図が不明なためユーザーは使いたくても使えない場合があるので、今すぐライセンスを設定しようということでした。



個人的には基調講演で一番インパクトがあったLeigh Heymanのセッションです。
Open Government、Open Dataを掲げ政府がオープンソースを使った活動を説明していました。
https://petitions.whitehouse.gov/developers のサイトにもある通りいくつかの取り組みを既に行なっているようです。

試しに api.whitehouse.gov/v1/petitions.json?limit=3&offset=0 に対してGETリクエストを発行してみたところ、JSON形式でホワイトハウスへの請願書のリストが取得できました。(一部長い文字列は省略しています)
{
    metadata: {
        responseInfo: {
            status: 200 (number)
            ,developerMessage: OK (string)
        }
        ,resultset: {
            count: 2121 (number)
            ,offset: 0 (number)
            ,limit: 1 (number)
        }
        ,executionTime: 1376528388.07 (number)
    }
    ,results: [
        {
            id: 520bae1aadfd955536000004 (string)
            ,type: petition (string)
            ,title: "fugafuga" ,body: "hogehoge"
            ,issues: [
                {
                    id: 97 (string)
                    ,name: Job Creation (string)
                }
                ,{
                    id: 103 (string)
                    ,name: Labor (string)
                }
                ,{
                    id: 169 (string)
                    ,name: Transportation and Infrastructure (string)
                }
            ]
            ,signatureThreshold: 100000 (number)
            ,signatureCount: 387 (number)
            ,signaturesNeeded: 99613 (number)
            ,url: https://petitions.whitehouse.gov/fuga
            ,deadline: 1379089178 (number)
            ,status: open (string)
            ,response: null (object)
            ,created: 1376497178 (number)
        }
    ]
}
さらに api.whitehouse.gov/v1/petitions/[id].json のようにidに対してGETリクエストを発行すると請願書の詳細とその請願書に署名した人のリストも取得できます。
リアルタイムにこだわらないならダンプデータのダウンロードも可能のようです。
APIドキュメントはGitHubで管理されプルリクエストも受け付けているようです。
/Developers
We the People API



ここからは参加メンバーの気になるセッションを紹介したいと思います。

@fuzzy31u(国境を超えるエンジニア)のピックアップ
安全で継続的な開発を行う上での心得、環境について。目新しいことを言っているわけではないのですが、Mozilla社での開発の様子を聞いて改めて意識すべき心得が多々ありました。最後の "The only way to get good at deployment is to deploy a lot."(良いデプロイを行う唯一の方法は、デプロイをたくさんすることである)の名言?がかっこよかったです。


Server-Side Push: Comet, Web Sockets, and Server-Sent Events come of age
純粋なHTTP通信のみで事足りていた時代から、現代のリアルタイム通信を必要とするアプリケーションやニーズが増えた歴史的背景。
それに伴うプロトコルの多様化、現在最もポピュラーなWebSocketの解説、デモ。皮肉やジョークを交えたユーモラスなセッションでした。


 
    Java EE7でサポートされたWebSocketをJavaで実装する方法について。Getting Startedなので実装方法の紹介がメインでした。WebSocketといえばNode.jsで実装される例が多かったですがJavaがメインの我々としては選択肢が広がったといえるのではないでしょうか。

Scaling systems configuration at Facebook: the paradigms, design, and software behind managing massive numbers of systems with open source and small teams
    FacebookのConfiguration Managementという職種の方のセッション。Facebookの数万ものシステムのConfigurationをたった4人で管理しているそうです。スケールすること、手軽にConfigに手を加えられることなどを重視しているそうです。残念ながら英語が早すぎて理解がおろそかですが。ツールの一例が紹介されていました。


@horimislime(にわかpythonista)のピックアップ


OpsCode CTOによるChefのチュートリアル。レシピの書き方からResourceやAttributeといったChefの機能説明、さらにknifeやohai, chef-zeroといったツールの使い方まで網羅されています。かなり広くカバーされているので、Chefの基本部分は分かったけど、この部分はどう書くのが良いんだろう・・?といった痒いところに手の届く情報が見つかるかもしれません。

これ以外でも最近話題のDockerやAnsible、Puppetなどの発表が勢ぞろいで、DevOpsの盛り上がりを感じさせられました。
Why docker | OSCON 2013
PUP201: How To Use Puppet Like An Adult // Speaker Deck


そしてOSCONはソフトウェアに限定した発表ばかりではありません。ArduinoやRaspberryPiのようなハードウェアを駆使した内容のものも幾つかあり、中でも印象に残ったのはこちらの自作キーボードに関する発表。

キーボードの自作に必要な工具や部品などの解説から、実際に発表者が作成したプロトタイプも発表中に触らせてもらいました。


エンジニアにとってはここまで完全にカスタマイズできるのは理想的ですね。かなりハードルは高いですが・・wまだこれだ!というようなキーボードに出会えてない人は試してみたらどうでしょう:)


@koko1000ban(社内Ruby布教活動家)のピックアップ
dl.google.com: powered by Go
HackerNewsをはじめ各所で話題になったセッション  
ありがちなメンテされなくなったレガシーコードの置き換えの話です。

スライド中のレガシーコード要約に
"incomplete docs, tests", "copy/paste code", "... different languages"
ということが書いてあり、Googleでもそれが起きるのかと驚いてしまいました。

GoogleではC++11がすでに使われてるみたいですが

それでもわざわざC++で書き直す理由が見つからないと言っていることやmemcachedをgroupcacheというライブラリでキャッシュプールを構成するやり方に変えたことなど色々興味深く、後ほどコードベースで詳しく追って行きたいと思います。

余談ですが、C++の代替としては個人的にはRustをおっかけていて、OSCONでもいくつかセッションあったのでそちらも追記しておきます。



@waysaku(どやり開発プロセスエンジニア)

OSCONは開発者のお祭りのような印象を受けました。様々な日本のカンファレンスと違い、老若男女幅広い層の参加者がいたように感じました。
その中で私が印象的だったのは基調講演初日のClojureを使ってRoombaやAR Droneを楽しそうに操る女性のセッションです。


熱中していることを楽しそうに発表しているのを見ると、こっちまでワクワクしますね。



-まとめ-
サイバーエージェントでは海外カンファレンスへの参加も増えてきており、今後も世界中の最新の技術をキャッチアップし発信していこうと思っています。
年内にはVelocity 2013 in NYCやQCon San Francisco 2013もありますし、またこのブログで現地レポートなどお届けできると思いますのでお楽しみに!

Viewing all articles
Browse latest Browse all 161

Trending Articles