SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
芸者東京とScala
〜おみせやさんから脳トレクエストまで
       の軌跡〜


 芸者東京エンターテインメント株式会社
      リードエンジニア
       竹下 義晃
自己紹介

竹下 義晃
主にサーバーサイドのプログラマー。最近は
iPhoneアプリも作っている。
東京大学農学部 院卒
大学の授業で社長がスピーチに来たのが縁でバイ
トを始めた
某バ○ナムを蹴って入社

漫画、アニメオタ。深夜アニメ8割は見てる。リトル
バスターズ最高です。
サービス紹介

それは無理だよ!オオスガさん(Webサービス)
電脳フィギュアARis(デスクトップアプリ)
さくらんBOY DT(アニメ)
-------- 今日のはなしはここから --------
おみせやさん(ソーシャルアプリ)
脳トレクエスト(スマホアプリ)
Scala最高


● コード量少ないから楽で早い
● なにげにREPL便利
● パフォーマンスも良い
Scala導入以前

● Java      ● コード量が多くて
● Wicket      面倒だった
Scala導入後

GREE版を作るに当たって、Scalaで作り直した
● Scala
● Lift
導入して
良いところ                 悪いところ

● 開発が早く、楽になった         ● ライブラリが少ない
                      ● バージョンアップが頻繁



                でも大丈夫

 ●   Javaのライブラリが使える
 ●   最近は割と安定してきた
Scalaの周りのこと

1.   採用
2.   IDE
3.   ライブラリ管理
4.   デプロイ
1. 採用

● Scala使える人はいない

なので

● 使えるようになる人を採る
● Scalaを使わせる
2. IDE
Eclipseのscala pluginはダメだった


今はIntelliJ
3. ライブラリ管理

以前はMaven

最近はsbt + Mavenハイブリッド

Jenkinsで自動デプロイ

結構独自に手をいれているライブラリも
4. デプロイ

Capistrano
ところで、芸者東京はScala以外の新しい
技術も使っています。

Play framework   Fluentd
Scalatra         Scribe
Cassandra        Node.js
MessagePack      Coffee Script
MongoDB          Ruby on Rails
TokyoTyrant      Cocos2d
KyotoTycoon      Cocos2dx
DynamoDB         etc.
SimpleDB
今日はその中から3つほど

1. Play framework
2. Cassandra
3. MessagePack
1. Play framework
再コンパイルを随時してくれる

WebSocketサーバーとしても使用

脳トレクエストはPlay2.0
2. Cassandra
データベースのSharding(水平分割)を考えなくて
いい


おみせやさんで、ユーザーデータを保存
3. MessagePack
RPCで、サーバーを分割
まとめ

Scalaなら書いていて楽しい。
ご清聴ありがとうございました

Scala勉強会を普段うちの会社でやっています。
(詳細はPartakeで)

3月20日に第100回があります。

あと、人材も募集しています。(プログラマーもデザ
イナーも)

Weitere ähnliche Inhalte

Andere mochten auch

Scala ActiveRecord
Scala ActiveRecordScala ActiveRecord
Scala ActiveRecord
scalaconfjp
 
GitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by ScalaGitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by Scala
takezoe
 

Andere mochten auch (20)

Scala ActiveRecord
Scala ActiveRecordScala ActiveRecord
Scala ActiveRecord
 
Scala in Model-Driven development for Apparel Cloud Platform
Scala in Model-Driven development for Apparel Cloud PlatformScala in Model-Driven development for Apparel Cloud Platform
Scala in Model-Driven development for Apparel Cloud Platform
 
WebStormでできること
WebStormでできることWebStormでできること
WebStormでできること
 
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
 
Java EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 FallJava EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 Fall
 
Scala導入あれこれ
Scala導入あれこれScala導入あれこれ
Scala導入あれこれ
 
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
 
Solid And Sustainable Development in Scala
Solid And Sustainable Development in ScalaSolid And Sustainable Development in Scala
Solid And Sustainable Development in Scala
 
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディングXitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
 
Introduction to Spark SQL and Catalyst / Spark SQLおよびCalalystの紹介
Introduction to Spark SQL and Catalyst / Spark SQLおよびCalalystの紹介Introduction to Spark SQL and Catalyst / Spark SQLおよびCalalystの紹介
Introduction to Spark SQL and Catalyst / Spark SQLおよびCalalystの紹介
 
The Evolution of Scala / Scala進化論
The Evolution of Scala / Scala進化論The Evolution of Scala / Scala進化論
The Evolution of Scala / Scala進化論
 
What's a macro?: Learning by Examples / Scalaのマクロに実用例から触れてみよう!
What's a macro?: Learning by Examples / Scalaのマクロに実用例から触れてみよう!What's a macro?: Learning by Examples / Scalaのマクロに実用例から触れてみよう!
What's a macro?: Learning by Examples / Scalaのマクロに実用例から触れてみよう!
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
 
[ScalaMatsuri] グリー初のscalaプロダクト!チャットサービス公開までの苦労と工夫
[ScalaMatsuri] グリー初のscalaプロダクト!チャットサービス公開までの苦労と工夫[ScalaMatsuri] グリー初のscalaプロダクト!チャットサービス公開までの苦労と工夫
[ScalaMatsuri] グリー初のscalaプロダクト!チャットサービス公開までの苦労と工夫
 
GitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by ScalaGitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by Scala
 
From Ruby to Scala
From Ruby to ScalaFrom Ruby to Scala
From Ruby to Scala
 
sbt, past and future / sbt, 傾向と対策
sbt, past and future / sbt, 傾向と対策sbt, past and future / sbt, 傾向と対策
sbt, past and future / sbt, 傾向と対策
 
Weaving Dataflows with Silk - ScalaMatsuri 2014, Tokyo
Weaving Dataflows with Silk - ScalaMatsuri 2014, TokyoWeaving Dataflows with Silk - ScalaMatsuri 2014, Tokyo
Weaving Dataflows with Silk - ScalaMatsuri 2014, Tokyo
 
訳書『デザイニング・インターフェース』について
訳書『デザイニング・インターフェース』について訳書『デザイニング・インターフェース』について
訳書『デザイニング・インターフェース』について
 
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageekJava エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
 

Ähnlich wie 芸者東京とScala〜おみせやさんから脳トレクエストまでの軌跡〜

Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29
Yuki Higuchi
 
オープンデータフォーラムIn gifu
オープンデータフォーラムIn gifuオープンデータフォーラムIn gifu
オープンデータフォーラムIn gifu
健一郎 福島
 

Ähnlich wie 芸者東京とScala〜おみせやさんから脳トレクエストまでの軌跡〜 (20)

Produire で Let's Programming!
Produire で Let's Programming!Produire で Let's Programming!
Produire で Let's Programming!
 
SQLiteを手軽に・セキュアに
SQLiteを手軽に・セキュアにSQLiteを手軽に・セキュアに
SQLiteを手軽に・セキュアに
 
エンジニアのお祭り
エンジニアのお祭りエンジニアのお祭り
エンジニアのお祭り
 
IchigoJam これまでとこれから
IchigoJam これまでとこれからIchigoJam これまでとこれから
IchigoJam これまでとこれから
 
関西ITインフラ系勉強会 (ハッシュタグ #kistudy) 発足について
関西ITインフラ系勉強会 (ハッシュタグ #kistudy) 発足について関西ITインフラ系勉強会 (ハッシュタグ #kistudy) 発足について
関西ITインフラ系勉強会 (ハッシュタグ #kistudy) 発足について
 
Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29
 
ASP.net MVC で Stripe 課金を実装してみた話
ASP.net MVC で Stripe課金を実装してみた話ASP.net MVC で Stripe課金を実装してみた話
ASP.net MVC で Stripe 課金を実装してみた話
 
Kick Off Technical Artist & ShaderFx - テクニカルアーティストと ShaderFXのお話
Kick Off Technical Artist & ShaderFx - テクニカルアーティストと ShaderFXのお話Kick Off Technical Artist & ShaderFx - テクニカルアーティストと ShaderFXのお話
Kick Off Technical Artist & ShaderFx - テクニカルアーティストと ShaderFXのお話
 
Enterprise APIs Hack Night #14 | 最新の IoT 向け無線通信の種類と活用事例のご紹介
Enterprise APIs Hack Night #14 | 最新の IoT 向け無線通信の種類と活用事例のご紹介Enterprise APIs Hack Night #14 | 最新の IoT 向け無線通信の種類と活用事例のご紹介
Enterprise APIs Hack Night #14 | 最新の IoT 向け無線通信の種類と活用事例のご紹介
 
思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT
思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT
思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT
 
コボラーがPython始めてみた話
コボラーがPython始めてみた話コボラーがPython始めてみた話
コボラーがPython始めてみた話
 
Qa tech night_mori
Qa tech night_moriQa tech night_mori
Qa tech night_mori
 
コードが書けない人が凶悪ノベルゲーム「ヤンデレ小杉」を作ってみた
コードが書けない人が凶悪ノベルゲーム「ヤンデレ小杉」を作ってみたコードが書けない人が凶悪ノベルゲーム「ヤンデレ小杉」を作ってみた
コードが書けない人が凶悪ノベルゲーム「ヤンデレ小杉」を作ってみた
 
MakersHubMeetup! 「大阪のIoTスタートアップと 東京のセンサー好き飲み会が 手を組んでみた!」
MakersHubMeetup! 「大阪のIoTスタートアップと東京のセンサー好き飲み会が手を組んでみた!」MakersHubMeetup! 「大阪のIoTスタートアップと東京のセンサー好き飲み会が手を組んでみた!」
MakersHubMeetup! 「大阪のIoTスタートアップと 東京のセンサー好き飲み会が 手を組んでみた!」
 
AWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポAWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポ
 
テレワーク中もさみしくない!オンライン社内レクリエーションのススメ
テレワーク中もさみしくない!オンライン社内レクリエーションのススメテレワーク中もさみしくない!オンライン社内レクリエーションのススメ
テレワーク中もさみしくない!オンライン社内レクリエーションのススメ
 
オープンデータフォーラムIn gifu
オープンデータフォーラムIn gifuオープンデータフォーラムIn gifu
オープンデータフォーラムIn gifu
 
HTML5でAndroidアプリ作り!ミニゲームアプリで広告収益を得るための手法、教えます。
HTML5でAndroidアプリ作り!ミニゲームアプリで広告収益を得るための手法、教えます。HTML5でAndroidアプリ作り!ミニゲームアプリで広告収益を得るための手法、教えます。
HTML5でAndroidアプリ作り!ミニゲームアプリで広告収益を得るための手法、教えます。
 
SORACOM UG 信州 #1 オープニング
SORACOM UG 信州 #1 オープニングSORACOM UG 信州 #1 オープニング
SORACOM UG 信州 #1 オープニング
 
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
 

Mehr von scalaconfjp

Scalaに対して意識の低いエンジニアがScalaで何したかの話, by 芸者東京エンターテインメント
Scalaに対して意識の低いエンジニアがScalaで何したかの話, by 芸者東京エンターテインメントScalaに対して意識の低いエンジニアがScalaで何したかの話, by 芸者東京エンターテインメント
Scalaに対して意識の低いエンジニアがScalaで何したかの話, by 芸者東京エンターテインメント
scalaconfjp
 

Mehr von scalaconfjp (20)

脆弱性対策のためのClean Architecture ~脆弱性に対するレジリエンスを確保せよ~
脆弱性対策のためのClean Architecture ~脆弱性に対するレジリエンスを確保せよ~脆弱性対策のためのClean Architecture ~脆弱性に対するレジリエンスを確保せよ~
脆弱性対策のためのClean Architecture ~脆弱性に対するレジリエンスを確保せよ~
 
Alp x BizReach SaaS事業を営む2社がお互い気になることをゆるゆる聞いてみる会
Alp x BizReach SaaS事業を営む2社がお互い気になることをゆるゆる聞いてみる会Alp x BizReach SaaS事業を営む2社がお互い気になることをゆるゆる聞いてみる会
Alp x BizReach SaaS事業を営む2社がお互い気になることをゆるゆる聞いてみる会
 
GraalVM Overview Compact version
GraalVM Overview Compact versionGraalVM Overview Compact version
GraalVM Overview Compact version
 
Run Scala Faster with GraalVM on any Platform / GraalVMで、どこでもScalaを高速実行しよう by...
Run Scala Faster with GraalVM on any Platform / GraalVMで、どこでもScalaを高速実行しよう by...Run Scala Faster with GraalVM on any Platform / GraalVMで、どこでもScalaを高速実行しよう by...
Run Scala Faster with GraalVM on any Platform / GraalVMで、どこでもScalaを高速実行しよう by...
 
Monitoring Reactive Architecture Like Never Before / 今までになかったリアクティブアーキテクチャの監視...
Monitoring Reactive Architecture Like Never Before / 今までになかったリアクティブアーキテクチャの監視...Monitoring Reactive Architecture Like Never Before / 今までになかったリアクティブアーキテクチャの監視...
Monitoring Reactive Architecture Like Never Before / 今までになかったリアクティブアーキテクチャの監視...
 
Scala 3, what does it means for me? / Scala 3って、私にはどんな影響があるの? by Joan Goyeau
Scala 3, what does it means for me? / Scala 3って、私にはどんな影響があるの? by Joan GoyeauScala 3, what does it means for me? / Scala 3って、私にはどんな影響があるの? by Joan Goyeau
Scala 3, what does it means for me? / Scala 3って、私にはどんな影響があるの? by Joan Goyeau
 
Functional Object-Oriented Imperative Scala / 関数型オブジェクト指向命令型 Scala by Sébasti...
Functional Object-Oriented Imperative Scala / 関数型オブジェクト指向命令型 Scala by Sébasti...Functional Object-Oriented Imperative Scala / 関数型オブジェクト指向命令型 Scala by Sébasti...
Functional Object-Oriented Imperative Scala / 関数型オブジェクト指向命令型 Scala by Sébasti...
 
Scala ♥ Graal by Flavio Brasil
Scala ♥ Graal by Flavio BrasilScala ♥ Graal by Flavio Brasil
Scala ♥ Graal by Flavio Brasil
 
Introduction to GraphQL in Scala
Introduction to GraphQL in ScalaIntroduction to GraphQL in Scala
Introduction to GraphQL in Scala
 
Safety Beyond Types
Safety Beyond TypesSafety Beyond Types
Safety Beyond Types
 
Reactive Kafka with Akka Streams
Reactive Kafka with Akka StreamsReactive Kafka with Akka Streams
Reactive Kafka with Akka Streams
 
Reactive microservices with play and akka
Reactive microservices with play and akkaReactive microservices with play and akka
Reactive microservices with play and akka
 
Scalaに対して意識の低いエンジニアがScalaで何したかの話, by 芸者東京エンターテインメント
Scalaに対して意識の低いエンジニアがScalaで何したかの話, by 芸者東京エンターテインメントScalaに対して意識の低いエンジニアがScalaで何したかの話, by 芸者東京エンターテインメント
Scalaに対して意識の低いエンジニアがScalaで何したかの話, by 芸者東京エンターテインメント
 
DWANGO by ドワンゴ
DWANGO by ドワンゴDWANGO by ドワンゴ
DWANGO by ドワンゴ
 
OCTOPARTS by M3, Inc.
OCTOPARTS by M3, Inc.OCTOPARTS by M3, Inc.
OCTOPARTS by M3, Inc.
 
Try using Aeromock by Marverick, Inc.
Try using Aeromock by Marverick, Inc.Try using Aeromock by Marverick, Inc.
Try using Aeromock by Marverick, Inc.
 
統計をとって高速化する
Scala開発 by CyberZ,Inc.
統計をとって高速化する
Scala開発 by CyberZ,Inc.統計をとって高速化する
Scala開発 by CyberZ,Inc.
統計をとって高速化する
Scala開発 by CyberZ,Inc.
 
Short Introduction of Implicit Conversion by TIS, Inc.
Short Introduction of Implicit Conversion by TIS, Inc.Short Introduction of Implicit Conversion by TIS, Inc.
Short Introduction of Implicit Conversion by TIS, Inc.
 
ビズリーチ x ScalaMatsuri by BIZREACH, Inc.
ビズリーチ x ScalaMatsuri  by BIZREACH, Inc.ビズリーチ x ScalaMatsuri  by BIZREACH, Inc.
ビズリーチ x ScalaMatsuri by BIZREACH, Inc.
 
Building a Unified Data Pipline in Spark / Apache Sparkを用いたBig Dataパイプラインの統一
Building a Unified Data Pipline in Spark / Apache Sparkを用いたBig Dataパイプラインの統一Building a Unified Data Pipline in Spark / Apache Sparkを用いたBig Dataパイプラインの統一
Building a Unified Data Pipline in Spark / Apache Sparkを用いたBig Dataパイプラインの統一
 

芸者東京とScala〜おみせやさんから脳トレクエストまでの軌跡〜