本カンファレスのセッションとスピーカーについての情報です。
9月6日の講演では、A会場B会場それぞれで、スポンサーであるドワンゴ様のご協力によりニコニコ生放送での中継が行われる予定です。
時間 |
会場A |
会場B |
---|---|---|
9:00 - 9:55 |
開場 | |
9:55 - 10:15 |
S-1 オープニング ScalaMatsuri 事務局 水島 宏太 |
- |
10:15 - 11:15 |
S-2 EPFL Martin Odersky |
- |
11:25 - 12:05 |
A-1 Typesafe Eugene Yokota |
B-1 GitBucket: Perfect Github clone by Scala 株式会社ビズリーチ 竹添 直樹 |
12:10 - 12:50 |
A-2 Fifty Rapture One-Liners in Forty Minutes Jon Pretty |
B-2 Xitrum Web Framework ライブコーディング モビルス株式会社 押田 丈治&Ngoc Dao |
12:50 - 14:20 |
S-3 ランチタイム - ランチタイムLT |
- |
14:20 - 15:00 |
A-3 LinkedIn Yevgeniy Brikman |
B-3 株式会社ノーチラス・テクノロジーズ 上新 卓也 |
15:05 - 15:45 |
A-4 SIerに立ちはだかるScalaの壁に進化型ジェネレータで挑む TIS株式会社 前出 祐吾 |
B-4 Solid and Sustainable Development in Scala エムスリー株式会社 瀬良 和弘 |
15:55 - 16:35 |
A-5 Apache Spark を用いた Big Data パイプラインの統一 Databricks Aaron Davidson |
B-5 株式会社はてな 辻川 貴哉 |
16:35 - 17:15 |
S-4 コーヒータイム - Typesafe presents 業務ユーザ懇談会 |
- |
17:15 - 17:55 |
A-6 Scalding と Storm と Summingbird で始めるScalaでデータ処理 Twitter, Inc. 丹羽 善将 |
B-6 グリー初のScalaプロダクト!チャットサービス公開までの苦労と工夫 グリー株式会社 長谷川 貴之&尾崎 俊 |
18:05 - 18:45 |
A-7 Scala 上で実現された制約プログラミングシステム Scarab について 神戸大学情報基盤センター 宋 剛秀 |
B-7 Treasure Data, Inc. Taro L. Saito |
18:50 - 19:30 |
A-8 株式会社ドワンゴモバイル 藤村 拓也 |
B-8 株式会社ビズリーチ 島本 多可子 |
19:35 - 20:15 |
A-9 RubyからScalaへ: There's more than two ways to do it マーベリック株式会社 todesking |
- |
20:20 - 22:20 |
S-5 エンディング - 懇親会&懇親会LT |
- |
Scala は、学術的な研究室を脱出して一般的に普及することができた数少ないプログラミング言語の一つだ。これは 10年前に Scala が発表された時には誰も想像することができなかったことだ。このセッションでは、Scala の開発の過程を初めから近未来へ向けてたどっていきたい。当時を振り返りながら、Scala の動機や期待がどう変化したのか、重要な成果は何だったのか、何を学んだのかなどを考察する。
Odersky先生は現在スイス連邦工科大学ローザンヌ校(EPFL)の教授であり、Typesafe社のco-founderとScalaの創造者でもあります。 関数型とオブジェクト指向プログラミングの統合を長年研究しており、その二つは表裏一体であると考えています。 Pizza、GJやScalaのような言語を設計・開発し、javacとscalacの作者でもあります。 Scalaに関する最も人気な書籍である「Programming in Scala」は彼の代表作です。 関数型プログラミングやリアクティブプログラミングを話題とした大規模なオンライン授業も実施しました。 以前、IBMリサーチ、Yale大学、Karlsruhe大学やSouth Australia大学でも研究していました。
sbt は、Scala コミュニティで広く採用されているインタラクティブなビルドツールです。このセッションでは sbt の基本的な使い方のデモの後、sbt を構成するコンセプトを説明します。次に、今後入る新機能や sbt 1.0 へ向けての展望をご紹介します。
Eugene Yokota (@eed3si9n_ja) は、趣味でも仕事でもソフトウェア開発をやっている。 Stevens Institute of Technology へ留学後、そのままニュージャージー州でエンタープライズ系金融アプリケーションを Delphi や C# で書くことでキャリアを始めたが、深夜や週末には sbt プラグイン、scalaxb、treehugger、「独習 Scalaz」といった様々な趣味プロジェクトをハックしていた。 ブログ記事や Scala Documentation ガイドなど数々の和訳も提供している。2014年に、sbt のコア開発者として Typesafe社に入社。
GitBucketはGithubを忠実に再現したオープンソースのGithubクローンです。Javaさえインストールされていれば簡単に動作させることができ、SSHでのアクセスも可能です。このセッションではGitBucketの紹介、どのような技術を用いて作られているか、そして今後のロードマップについてお話しさせていただきたいと思います。
株式会社ビズリーチで働くScalaプログラマです。Scalaを使用した新規サービスの開発に携わっています。Scalaで書かれたフルスペックのGithubクローン「GitBucket」の開発者であり、シンプルかつ強力なWebフレームワーク「Scalatra」のコミッタの一員でもあります。
XitrumはNgoc Daoを中心に2010年に開発をスタートしました。
Scala Conference in Japan 2013 のLT、http://www.slideshare.net/ngocdaothanh/xitrum-scalaconfjp2013では、Xitrum 2.x について発表しましたが、今年は最新バージョンであるXitrum 3.xについてライブコーディング等を交えて紹介させていただきます。
押田、Ngocはモビルスというベンチャー企業に所属しています。 Xitrumはモビルスにおけるリアルタイムチャットアプリケーションをはじめ、国内におけるゲーム事業会社、通信事業会社、教育系事業会社の様々なアプリケーション内チャットシステム、ロシアや韓国でのウェブアプリケーションにおいて採用事例があります。
さァ、お待ちかねの対決だ: Node.js 対 Play Framework。どちらも開発者の生産性向上、非同期 I/O、そしてリアルタイム Web のために作られた人気のオープンソースプロジェクト。しかし、学習がより簡単なのはどっちだ? テストは? 配備は? デバッグは? よりスケールしやすいのは? キミは Javascript と Scala のどちらを選ぶ? Google v8 エンジンと JVM では? NPM と Ivy では? Grunt と SBT では? 二人が入り、出るのは一人!
世界最大のプロフェッショナル・ネットワークであり、200 カ国に 3 億人のメンバーを持つ LinkedIn は、今や Play Framework をコア技術として採用しています。Yevgeniy (Jim) Brikman は LinkedIn での Play のプロジェクトを率い、中核となる基盤コードを書き、Play や関数型言語の Scala を使う開発者をトレーニングしました。彼は、その過程で学んだ生産性や信頼性、パフォーマンスについて数多くの知見を、ブログ投稿や講演を通じて共有したいと強く願っています。
分散処理基盤であるHadoop MapReduceより高速に処理できるとして、Scalaで実装されたApache Sparkが注目を集めています。このセッションでは、Apache Sparkのコンポーネントの1つであるSparkSQL、また内部で利用されているCatalystについて紹介します。
SparkSQLはDatabricks社が中心となって開発を行っているApache Spark上でSQLを実行するためのコンポーネントです。SQLのパースから論理実行計画、物理実行計画を作成し、RDD(Resilient Distributed Datasets)を組み立てます。論理実行計画はルールベースの最適化が行われます。これら論理実行計画や最適化のためのフレームワークはCatalystというライブラリで提供されています。
ノーチラス・テクノロジーズで研究開発をしています。 Sparkコントリビュータ。
弊社でのWebアプリ開発ではJavaを利用することが多く、その周辺環境を整備し開発の効率化を図ってきました。基本的な環境を整え、さら なる効率化を目指すには、これまでの前提(Java)を覆すことが必要と考え、その鍵としてScalaに注目しました。
Scalaには開発を効率化する多くの機能が搭載されている反面、我々SIerで活用するには様々な障壁が存在します。例えば、エンタープラ イズ向けライブラリやツールの不足、安定指向の開発現場や顧客、習得や教育の難しさ、などです。
その障壁を超えるための武器の1つとしてコードジェネレータを開発中です。今回は、本ジェネレータを紹介し、どのように障壁に挑んでいるのか をお話します。
(特徴)
TIS株式会社 戦略技術センター所属。これまで社内向けWebアプリケーションフレームワークの開発やJenkinsの活用を中心に様々な手段で開発の効率化を図るとと もに社内向けの教育を実施してきた。 現在は、さらなる効率化を目指し、Scalaを活用した開発基盤の研究&開発に従事している。システム開発は、泥臭くなく、スタイリッシュで ありたいと考えている。
近年、Scala が non-blocking アーキテクチャを実現するためのプラットフォームとして、あるいは、関数型プログラミングを実践するための現実的な選択肢として注目を集める一方で、より使いやすいオブジェクト指向言語としての Scala (人によってはそれを better Java と呼ぶかもしれません)を期待する声も決して少なくはないという印象もあります。
私は Scala をよりよいオブジェクト指向プログラミング言語として利用することでアプリケーション開発をより堅実で安全なものにすることができるのではないかと考えています。私たちは Scala の普及により既に既存の(場合によってはかなりレガシーな)Scala アプリケーションを持続的にメンテナンスし、成長させ続けることについて考えるべき時期に来ていると思います。
このプレゼンテーションでは Java や他のオブジェクト指向言語に親しんでいる開発者の方々に適したよりよい開発に関するノウハウなどをご紹介したいと思います。
Scala を好む Web プログラマ。ScalikeJDBC、Skinny Framework プロジェクトリード。本業ではエムスリー株式会社に所属し Web アプリケーション開発、社内基盤の整備など幅広く携わっています。
多くの組織においてビッグデータへの関心が集まるにつれ、より高速な処理が可能なツールと、より簡便な API の両者が求められてきています。Apache Spark は Scala で書かれたクラスタ計算エンジンで、 (1) Hadoop よりも 100倍速いインメモリな計算プリミティブと (2) Scala、Java、そして Python 用の簡潔で、高レベルな関数型 API という 2つの方法でこの問題を解決します。
このトークでは、Spark が様々なデータ処理テクニックを統一的に扱えることを機械学習パイプラインを作ることでデモします。これは三部構成になっていて、第一部は SQL テーブルからの JSON データの読み込み、第二部は k平均法 (k-means clustering) モデルのトレーニング、第三部はそのモデルの tweet ストリームへの適用となっています。従来ならば、このようなパイプライン処理には別々の処理フレームワークを必要としました。Spark SQL、MLlib、Spark Streaming などと組み合わせれるという Spark ランタイムの汎用性の高さを利用することで、全ての処理を単一の短いプログラムで書くことができます。これによって、コンポーネント間でコードやメモリの共有が可能となり、開発時間と実行時の効率の両方を改善することができます。
このトークは完全ライブのデモとコード解説の予定で、アプリケーションを作る過程を通して、各ステップで使われるライブラリを説明して、最終的にはリアルタイムで生のツイートを識別できるようにします。
Aaron Davidson is an Apache Spark committer and software engineer at Databricks. He has implemented Spark standalone cluster fault tolerance and shuffle file consolidation, and has helped in the design, implementation, and testing of Spark's external sorting and driver fault tolerance. He is also a contributor to the Tachyon in-memory distributed file system and has co-authored work on Highly Available Transactions in the Berkeley AMP Lab.
はてなでベータ版を提供中のサーバ管理サービスであるMackerelは、サーバサイドの開発に Scala, Play2 を採用しています。10年以上Perlを利用してきたはてなが、なぜ新たな開発言語としてScalaを選択したのか、言語の変化がプロダクトや開発フローにどのような影響あたえたのか、現在のMackerelの運用・開発手法などを紹介します。
2009年 インターンを経て 2011年 アプリケーションエンジニアとして株式会社はてな入社. Mackerelチームの立ち上げ時からリードエンジニアを務めています。
Twitter では開発言語の一つとして Scala を採用し様々な用途に活用しております。
その中でもツイートや様々なイベントを同期的に処理するリアルタイムジョブ、非同期にまとめて処理するバッチジョブを Scala を利用して構築できるようにすることで、他の Scala による資産を組み合わせたサービス構築を可能にしております。このプレゼンテーションでは Twitter でそれを実現している Scalding と Storm そして Summingbird の始め方を楽しい Scala の使い方の一例として、具体例とともにユーザーとしての立場からお話させていただきたいと思います。
2010 年よりサンフランシスコをベースに Twitter, Inc. でソフトウェアエンジニアをしています。 実は主に iOS アプリの開発の関わっていますが、Scala のプロジェクトにも興味津津です。
グリーでは今年6月にGREEチャットというサービスをリリースしました。
本発表では、GREEチャットのバックエンドをScalaで開発したときの利点や苦労した点についてお話させて頂きます。
トピックは以下の通りです。
2013年 グリー株式会社に新卒入社。 エンジニアとしてGREEチャット開発プロジェクトに参画中。
命題論理の充足可能性判定 (SAT) 問題を解くプログラムであるSATソルバーが2000 年以降大きく進歩しており,活発に開発と研究が行われている.このような背景から,様々な分野でSATソルバーを利用した問題解法システム (SAT型システム) が成功をおさめるようになった.
本発表ではScala上に実現したSAT型制約プログラミングシステムScarabについて説明する.Scalaを選んだ理由は制約プログラミングのためのDSL(Domain-Specific Language) を実現可能なこと,静的型付けにより型安全なプログラムを作成できること,そしてJVM (Java Virtual Machine) 上での効率の良い実行が可能なことが挙げられる.
実際にScala上に開発されたScarabは制約プログラミングのためのDSL, SATソルバーの入力を生成するSAT符号化モジュール,SATソルバーのインターフェースから構成される.
発表では簡単な例とデモを通じてScarabについて説明する.Scarabは以下のURLで公開されている.
http://kix.istc.kobe-u.ac.jp/~soh/scarab/
2006年に神戸大学大学院で博士前期課程修了.サントリー(株)を経て,2011年に総合研究大学院大学で博士後期課程修了.2012年より神戸大学情報基盤センター助教.博士 (情報学).制約プログラミング,SAT技術およびそれらの応用に興味をもつ.プロフィール詳細: http://kix.istc.kobe-u.ac.jp/~soh/
SilkはScalaでデータフローを構築するためのフレームワークで、データ処理のための演算(map, filter, reduce, joinなど)を組み合わせてデータフローを記述します。Scalaマクロの機能を用いることで、プログラムのAST(構文木)からデータフローのDAGを作成しており、変数名をDAG中のマーカーとして利用することで、データフローの中断、再計算、中間データに対するクエリなどをサポートできるようになっています。さらに、データフローと実際の計算を分離することで、コードを書き換えずにインメモリ用、クラスタ用のデータ処理エンジン(Weaver)を切り替えることが可能です。このセッションでは、Silkを用いてコードを書きながらデータ処理のパイプラインを実行していく方法を紹介していきます。
東京大学理学部 情報科学科卒. 東京大学大学院情報理工学系研究科 コンピューター科学専攻修了・博士(情報理工学). トランザクション管理、XMLデータベースの研究に従事. 2007年以降、データベースからゲノムサイエンスの分野に移り、東京大学大学院新領域創成科学研究科 情報生命科学専攻にて助教を務める。大規模ゲノム情報処理のための分散コンピューティングの経験を積み、2014年3月よりトレジャーデータ株式会社にてソフトウェアエンジニアとして勤務
既に Practical な言語となった Scala。
これから必要なのは、Scala の紹介や、実用可能かというものではなく、設計、開発、運用に関するプラクティス、ノウハウ、悩み等の共有ではないでしょうか。
このセッションでは、とある国技のスマートフォンアプリ開発において、Scala/Play Frameworkを採用した結果、設計時に考えた事、実践した事など、主にこれから Scala/Play Frameworkを使おうとしている、使いはじめている方を対象に、プラクティス、ノウハウ、問題点などを共有します。
本格的には去年より Scala をはじめた Scala Newbie。 株式会社ドワンゴモバイルに所属し、新規サービスの企画/技術ディレクションからプログラミングまでを担当している。 コードを書くのは勿論、アーキテクチャ設計、サービス設計などを好み、お酒は誘われたら断わらないが信念。
Scalaはマクロが使えますが、「実際にどこで使うの?」「どんなふうに使うの?」と思ったことはないでしょうか?
このセッションでは、既存のコミュニティでマクロが活用されているところを抜粋して紹介しつつ、以下の疑問を紐解くような内容をお話しさせていただきたいと思います。
株式会社ビズリーチで働くScalaプログラマです。新規サービスの開発でScalaをフル活用しています。GitBucketのコミッタもやっています。
Rubyを主戦場としていた筆者が業務でScalaを使うようになってから半年ほどになります。
RubyとScalaは、どちらもオブジェクト指向と関数型パラダイムの融合を試みていますが、その実現方法は大きく異なります。
動的処理に特化したRubyに対して、静的な解決を重んじるScala。
このプレゼンテーションでは、それぞれの機能を比較しながら異文化を学びます。
2008年、大学卒業に失敗。JavaでSI→Railsでブラウザゲーム→Scalaで広告システム。 Vim、Ruby、Scalaなどのコミュニティに些細な貢献をしている。
2日目は、国内初の Scala をテーマとしたアンカンファレンスを開催します。 アンカンファレンスとは「参加者が創っていく」カンファレンスです。 より詳しい説明はアンカンファレンスのページをご覧ください。
時間は 10:00-17:00(開場 9:00)。 朝食と昼食を用意いたします。