Suche senden
Hochladen
Scala@SmartNews AdFrontend を Scala で書いた話
•
4 gefällt mir
•
12,072 views
Keiji Muraishi
Folgen
Scala@SmartNews AdFrontend を Scala で書いた話
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 19
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Scala@SmartNews_20150221
Scala@SmartNews_20150221
Shigekazu Takei
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
takezoe
Api gatewayの話
Api gatewayの話
Hiroshi Hayakawa
JAWS-UG CLI #37 AWS CodeCommit入門
JAWS-UG CLI #37 AWS CodeCommit入門
Nobuhiro Nakayama
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
Naomi Yamasaki
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
Jin k
AWS Summit Tokyo 2015 - JAWS-UG 東京 LT大会 JAWS-UG 初心者支部について
AWS Summit Tokyo 2015 - JAWS-UG 東京 LT大会 JAWS-UG 初心者支部について
Nobuhiro Nakayama
Empfohlen
Scala@SmartNews_20150221
Scala@SmartNews_20150221
Shigekazu Takei
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
takezoe
Api gatewayの話
Api gatewayの話
Hiroshi Hayakawa
JAWS-UG CLI #37 AWS CodeCommit入門
JAWS-UG CLI #37 AWS CodeCommit入門
Nobuhiro Nakayama
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
Naomi Yamasaki
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
Jin k
AWS Summit Tokyo 2015 - JAWS-UG 東京 LT大会 JAWS-UG 初心者支部について
AWS Summit Tokyo 2015 - JAWS-UG 東京 LT大会 JAWS-UG 初心者支部について
Nobuhiro Nakayama
20170210 jawsug横浜(AWSタグ)
20170210 jawsug横浜(AWSタグ)
Toshihiro Setojima
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
Ryuta Otaki
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
Tetsuya Mase
20181108 kashiwa chamberofcommerce
20181108 kashiwa chamberofcommerce
桂一 中山
JavaからScalaへ
JavaからScalaへ
takezoe
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
a kyane
クラウドネイティブ化する未来
クラウドネイティブ化する未来
Keisuke Nishitani
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
Nobuhiro Nakayama
はじめてのBluemixでシングルサインオン ~ 希望編!
はじめてのBluemixでシングルサインオン ~ 希望編!
Kazumi IWANAGA
IaC事始め
IaC事始め
大智 森田
Jaws days2017-ops jaws-2
Jaws days2017-ops jaws-2
Serverworks Co.,Ltd.
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
20170111above the cloud_vol2
20170111above the cloud_vol2
Naomi Yamasaki
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
Masahiro NAKAYAMA
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
AWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システム
Masayuki Kato
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン
Hiroyasu Suzuki
Movable typeseminar 20120925
Movable typeseminar 20120925
Six Apart
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
真吾 吉田
Weitere ähnliche Inhalte
Was ist angesagt?
20170210 jawsug横浜(AWSタグ)
20170210 jawsug横浜(AWSタグ)
Toshihiro Setojima
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
Ryuta Otaki
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
Tetsuya Mase
20181108 kashiwa chamberofcommerce
20181108 kashiwa chamberofcommerce
桂一 中山
JavaからScalaへ
JavaからScalaへ
takezoe
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
a kyane
クラウドネイティブ化する未来
クラウドネイティブ化する未来
Keisuke Nishitani
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
Nobuhiro Nakayama
はじめてのBluemixでシングルサインオン ~ 希望編!
はじめてのBluemixでシングルサインオン ~ 希望編!
Kazumi IWANAGA
IaC事始め
IaC事始め
大智 森田
Jaws days2017-ops jaws-2
Jaws days2017-ops jaws-2
Serverworks Co.,Ltd.
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
20170111above the cloud_vol2
20170111above the cloud_vol2
Naomi Yamasaki
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
Masahiro NAKAYAMA
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
AWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システム
Masayuki Kato
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
Was ist angesagt?
(19)
20170210 jawsug横浜(AWSタグ)
20170210 jawsug横浜(AWSタグ)
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
20181108 kashiwa chamberofcommerce
20181108 kashiwa chamberofcommerce
JavaからScalaへ
JavaからScalaへ
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
クラウドネイティブ化する未来
クラウドネイティブ化する未来
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
はじめてのBluemixでシングルサインオン ~ 希望編!
はじめてのBluemixでシングルサインオン ~ 希望編!
IaC事始め
IaC事始め
Jaws days2017-ops jaws-2
Jaws days2017-ops jaws-2
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
20170111above the cloud_vol2
20170111above the cloud_vol2
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
AWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システム
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
Ähnlich wie Scala@SmartNews AdFrontend を Scala で書いた話
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン
Hiroyasu Suzuki
Movable typeseminar 20120925
Movable typeseminar 20120925
Six Apart
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
真吾 吉田
May the FaaS be with us!!
May the FaaS be with us!!
真吾 吉田
講演資料「Azure AI Update Ignite Fall 2021を振り返ろう!」
講演資料「Azure AI Update Ignite Fall 2021を振り返ろう!」
Kohei Ogawa
Service Cloud Trailblazers #5
Service Cloud Trailblazers #5
sfdc_sctb
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
NetApp Japan
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
サーバーレスの今とこれから
サーバーレスの今とこれから
真吾 吉田
サーバーレスの話
サーバーレスの話
真吾 吉田
Microsoft Ignite 2019 最新アップデート - Azure Big Data Services を俯瞰的に眺める
Microsoft Ignite 2019 最新アップデート - Azure Big Data Services を俯瞰的に眺める
Daiyu Hatakeyama
【日本語版】Styler: Our Journey to GCP
【日本語版】Styler: Our Journey to GCP
MichaelFindlater
Azure Antenna AI 概要
Azure Antenna AI 概要
Miho Yamamoto
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
アトラシアン株式会社
20130226 Amazon Web Services 勉強会(新宿)
20130226 Amazon Web Services 勉強会(新宿)
真吾 吉田
Realm platform2019
Realm platform2019
昌桓 李
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
fd0
Scala: Mobile Backend on AWS
Scala: Mobile Backend on AWS
cmaraiyusuke
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
Shumpei Shiraishi
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
DeNA
Ähnlich wie Scala@SmartNews AdFrontend を Scala で書いた話
(20)
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン
Movable typeseminar 20120925
Movable typeseminar 20120925
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
May the FaaS be with us!!
May the FaaS be with us!!
講演資料「Azure AI Update Ignite Fall 2021を振り返ろう!」
講演資料「Azure AI Update Ignite Fall 2021を振り返ろう!」
Service Cloud Trailblazers #5
Service Cloud Trailblazers #5
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
サーバーレスの今とこれから
サーバーレスの今とこれから
サーバーレスの話
サーバーレスの話
Microsoft Ignite 2019 最新アップデート - Azure Big Data Services を俯瞰的に眺める
Microsoft Ignite 2019 最新アップデート - Azure Big Data Services を俯瞰的に眺める
【日本語版】Styler: Our Journey to GCP
【日本語版】Styler: Our Journey to GCP
Azure Antenna AI 概要
Azure Antenna AI 概要
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
20130226 Amazon Web Services 勉強会(新宿)
20130226 Amazon Web Services 勉強会(新宿)
Realm platform2019
Realm platform2019
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
Scala: Mobile Backend on AWS
Scala: Mobile Backend on AWS
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
Kürzlich hochgeladen
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Kürzlich hochgeladen
(8)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
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
8.
9.
Play2 宣言的なルーティング設定
10.
Play2 宣言的なフォームバリデーション定義
11.
12.
Slick DataAccess層を自動生成 • スキーマのバージョン管理は flyway Evolution
は使ってない • flyway で管理しているスキーマから Slick のテーブルクラスをリバースで 自動生成。生成するクラスはSourceCodeGeneratorをカスタマイズして 複数の .scala ファイルを生成するようにしている。 • ただし、自動生成したクラスは直接サービス層から使わずRepository層の 内側で利用 • 更新系は普通にSlickのメソッドを利用するが、参照系は普通にSQL書い てる。
13.
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.
ありがとうございました
Jetzt herunterladen