Submit Search
Scala@SmartNews AdFrontend を Scala で書いた話
4 likes
12,115 views
Keiji Muraishi
Scala@SmartNews AdFrontend を Scala で書いた話
Technology
Read more
1 of 19
Download now
Downloaded 10 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
More Related Content
PDF
Scala@SmartNews_20150221
Shigekazu Takei
PDF
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
takezoe
PPTX
Api gatewayの話
Hiroshi Hayakawa
PDF
JAWS-UG CLI #37 AWS CodeCommit入門
Nobuhiro Nakayama
PPTX
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
Naomi Yamasaki
PPTX
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
PDF
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
Jin k
PDF
AWS Summit Tokyo 2015 - JAWS-UG 東京 LT大会 JAWS-UG 初心者支部について
Nobuhiro Nakayama
Scala@SmartNews_20150221
Shigekazu Takei
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
takezoe
Api gatewayの話
Hiroshi Hayakawa
JAWS-UG CLI #37 AWS CodeCommit入門
Nobuhiro Nakayama
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
Naomi Yamasaki
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
Jin k
AWS Summit Tokyo 2015 - JAWS-UG 東京 LT大会 JAWS-UG 初心者支部について
Nobuhiro Nakayama
What's hot
(19)
PDF
20170210 jawsug横浜(AWSタグ)
Toshihiro Setojima
PPTX
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
Ryuta Otaki
PDF
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
Tetsuya Mase
PDF
20181108 kashiwa chamberofcommerce
桂一 中山
PDF
JavaからScalaへ
takezoe
PPTX
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
a kyane
PDF
クラウドネイティブ化する未来
Keisuke Nishitani
PDF
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
Nobuhiro Nakayama
PPTX
はじめてのBluemixでシングルサインオン ~ 希望編!
Kazumi OHIRA
PDF
IaC事始め
大智 森田
PPTX
Jaws days2017-ops jaws-2
Serverworks Co.,Ltd.
PDF
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
PDF
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
PDF
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
PPTX
20170111above the cloud_vol2
Naomi Yamasaki
PDF
IoT(Bluetooth mesh) × サーバーレス
Masahiro NAKAYAMA
PDF
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
PPTX
AWSで始めるサーバレスな RESTful API システム
Masayuki Kato
PDF
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
20170210 jawsug横浜(AWSタグ)
Toshihiro Setojima
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
Ryuta Otaki
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
Tetsuya Mase
20181108 kashiwa chamberofcommerce
桂一 中山
JavaからScalaへ
takezoe
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
a kyane
クラウドネイティブ化する未来
Keisuke Nishitani
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
Nobuhiro Nakayama
はじめてのBluemixでシングルサインオン ~ 希望編!
Kazumi OHIRA
IaC事始め
大智 森田
Jaws days2017-ops jaws-2
Serverworks Co.,Ltd.
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
20170111above the cloud_vol2
Naomi Yamasaki
IoT(Bluetooth mesh) × サーバーレス
Masahiro NAKAYAMA
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
AWSで始めるサーバレスな RESTful API システム
Masayuki Kato
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
Ad
Similar to Scala@SmartNews AdFrontend を Scala で書いた話
(10)
PDF
実戦Scala
Yuto Suzuki
PDF
Scalaでのプログラム開発
Kota Mizushima
KEY
Dev love関西 forslideshare
Daisuke Kasuya
PPTX
F.O.Xを支える技術
Yuto Suzuki
PDF
アドテクを支える技術 〜1日40億リクエストを捌くには〜
MicroAd, Inc.(Engineer)
PDF
めんどくさくない Scala #kwkni_scala
Kazuhiro Sera
PDF
Play jjug2012spring
Takafumi Ikeda
PDF
Play framework 2.0のちょっとした紹介
Ryo RKTM
PDF
アドテクを支える技術 〜1日40億リクエストを捌くには〜
MicroAd, Inc.(Engineer)
KEY
Play勉強会 第3回
Daisuke Kasuya
実戦Scala
Yuto Suzuki
Scalaでのプログラム開発
Kota Mizushima
Dev love関西 forslideshare
Daisuke Kasuya
F.O.Xを支える技術
Yuto Suzuki
アドテクを支える技術 〜1日40億リクエストを捌くには〜
MicroAd, Inc.(Engineer)
めんどくさくない Scala #kwkni_scala
Kazuhiro Sera
Play jjug2012spring
Takafumi Ikeda
Play framework 2.0のちょっとした紹介
Ryo RKTM
アドテクを支える技術 〜1日40億リクエストを捌くには〜
MicroAd, Inc.(Engineer)
Play勉強会 第3回
Daisuke Kasuya
Ad
Scala@SmartNews AdFrontend を Scala で書いた話
1.
Scala@SmartNews Ad Frontend を
Scala で書いた話 @kjim
2.
自己紹介 • 村石恵示 • スマートニュース
(2014/09入社) • SmartNews Ads Engineer • 基本は Java な人
3.
アドチームのミッション…
4.
12月に最高の広告 プロダクトをリリースする
5.
Ads as Content
6.
Web Framework ? •
クラスのオートリロード(ホットリローディング)は必須。 • 静的型付けによるサポート欲しい。 動かす前にある程度動く担保を作りたい。DB拡張に追随する時にコンパイラにエラーでナビゲートして欲しい。 • 宣言的ルーティング定義。 • 宣言的フォームバリデーション定義。 • DBスキーマからDataAccess層を生成したい。 • パフォーマンスはそんなに追求しない。 • Scala アリでは…
7.
Scala + Play2
+ Slick
9.
Play2 宣言的なルーティング設定
10.
Play2 宣言的なフォームバリデーション定義
12.
Slick DataAccess層を自動生成 • スキーマのバージョン管理は flyway Evolution
は使ってない • flyway で管理しているスキーマから Slick のテーブルクラスをリバースで 自動生成。生成するクラスはSourceCodeGeneratorをカスタマイズして 複数の .scala ファイルを生成するようにしている。 • ただし、自動生成したクラスは直接サービス層から使わずRepository層の 内側で利用 • 更新系は普通にSlickのメソッドを利用するが、参照系は普通にSQL書い てる。
14.
Scala On the fly
なコードを瞬時に書ける • Option Some(true), Some(false), Some(null), None メソッドの仕様を明示できる NullPointerException回避 • case class パターンマッチ 便利メソッド、永続化など • Collection, Future, … • 業務系アプリを作るのにも最適な言語
15.
ただし、 Scala最大のツラミは コンパイル速度
16.
まとめ
17.
まとめ • Scala +
Play2 + Slick は開発のリズムを作りやすい • 型の安心感 • 宣言的プログラミング • 言語標準の豊かなAPI • Scala業務系アプリを作るのにも最適な言語 • Scalaはマジでコンパイルが遅い
18.
SmartNews 世界中の良質な情報を必要な人に送り届ける • 一緒にスマートニュースを作ってくれる仲間を 募集しています。 http://about.smartnews.com/ja/careers/ • オフィススペースを提供していますのでお声掛 けください。
19.
ありがとうございました
Download