SlideShare a Scribd company logo
Submit Search
Upload
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Report
Share
TIS Inc.
TIS Inc. - Section Chief at TIS Inc.
Follow
•
4 likes
•
4,766 views
1
of
25
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
•
4 likes
•
4,766 views
Report
Share
Download Now
Download to read offline
Technology
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Read more
TIS Inc.
TIS Inc. - Section Chief at TIS Inc.
Follow
Recommended
Scala が支える医療系ウェブサービス #jissenscala by
Scala が支える医療系ウェブサービス #jissenscala
Kazuhiro Sera
30.3K views
•
41 slides
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala by
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
takezoe
26.6K views
•
39 slides
sbt, past and future / sbt, 傾向と対策 by
sbt, past and future / sbt, 傾向と対策
scalaconfjp
4.5K views
•
23 slides
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ by
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
yoshiaki iwanaga
21.3K views
•
34 slides
Api gatewayの話 by
Api gatewayの話
Hiroshi Hayakawa
7.1K views
•
22 slides
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】 by
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeNA
3K views
•
47 slides
More Related Content
What's hot
Amazon api gatewayで web apiをサーバーレスで構築しよう by
Amazon api gatewayで web apiをサーバーレスで構築しよう
Yoichi Toyota
947 views
•
16 slides
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】 by
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
DeNA
982 views
•
43 slides
マイクロサービス運用の所感 #m3dev by
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
33.3K views
•
38 slides
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか by
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Chihiro Ito
10.1K views
•
117 slides
Spring Security 5.0 解剖速報 by
Spring Security 5.0 解剖速報
Takuya Iwatsuka
15.7K views
•
72 slides
Aws lambda & amazon api gateway入門 by
Aws lambda & amazon api gateway入門
Yutaka Kajiwara
1.5K views
•
29 slides
What's hot
(20)
Amazon api gatewayで web apiをサーバーレスで構築しよう by Yoichi Toyota
Amazon api gatewayで web apiをサーバーレスで構築しよう
Yoichi Toyota
•
947 views
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】 by DeNA
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
DeNA
•
982 views
マイクロサービス運用の所感 #m3dev by Kazuhiro Sera
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
•
33.3K views
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか by Chihiro Ito
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Chihiro Ito
•
10.1K views
Spring Security 5.0 解剖速報 by Takuya Iwatsuka
Spring Security 5.0 解剖速報
Takuya Iwatsuka
•
15.7K views
Aws lambda & amazon api gateway入門 by Yutaka Kajiwara
Aws lambda & amazon api gateway入門
Yutaka Kajiwara
•
1.5K views
Power app custom api v0.1.21.1221 by Ayumu Inaba
Power app custom api v0.1.21.1221
Ayumu Inaba
•
553 views
Insight into Azure Active Directory - Azure AD Custom Role & Scope by Kazuki Takai
Insight into Azure Active Directory - Azure AD Custom Role & Scope
Kazuki Takai
•
425 views
Java9 and Project Jigsaw by takezoe
Java9 and Project Jigsaw
takezoe
•
11.4K views
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】 by DeNA
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA
•
827 views
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon by Kazuhiro Sera
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Kazuhiro Sera
•
15.1K views
Java on Microsoft Azure by Yoshio Terada
Java on Microsoft Azure
Yoshio Terada
•
13.2K views
Getting Started With AKS by Balaji728392
Getting Started With AKS
Balaji728392
•
244 views
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望 by Yoichi Kawasaki
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
Yoichi Kawasaki
•
14K views
俺のサイジング by Toru Makabe
俺のサイジング
Toru Makabe
•
4.4K views
進化する Web ~ Progressive Web Apps の実装と応用 ~ by Microsoft Azure Japan
進化する Web ~ Progressive Web Apps の実装と応用 ~
Microsoft Azure Japan
•
644 views
Application development with c#, .net 6, blazor web assembly, asp.net web api... by Shotaro Suzuki
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
•
316 views
Swaggerでのapi開発よもやま話 by KEISUKE KONISHI
Swaggerでのapi開発よもやま話
KEISUKE KONISHI
•
27.9K views
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 - by Yoichi Kawasaki
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
Yoichi Kawasaki
•
2.4K views
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】 by DeNA
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
DeNA
•
30.3K views
Viewers also liked
Introduction to Spark SQL and Catalyst / Spark SQLおよびCalalystの紹介 by
Introduction to Spark SQL and Catalyst / Spark SQLおよびCalalystの紹介
scalaconfjp
2.5K views
•
38 slides
Solid And Sustainable Development in Scala by
Solid And Sustainable Development in Scala
Kazuhiro Sera
10.4K views
•
48 slides
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ... by
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
scalaconfjp
3.3K views
•
60 slides
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング by
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
scalaconfjp
2.9K views
•
42 slides
The Evolution of Scala / Scala進化論 by
The Evolution of Scala / Scala進化論
scalaconfjp
5.2K views
•
37 slides
What's a macro?: Learning by Examples / Scalaのマクロに実用例から触れてみよう! by
What's a macro?: Learning by Examples / Scalaのマクロに実用例から触れてみよう!
scalaconfjp
3.2K views
•
58 slides
Viewers also liked
(20)
Introduction to Spark SQL and Catalyst / Spark SQLおよびCalalystの紹介 by scalaconfjp
Introduction to Spark SQL and Catalyst / Spark SQLおよびCalalystの紹介
scalaconfjp
•
2.5K views
Solid And Sustainable Development in Scala by Kazuhiro Sera
Solid And Sustainable Development in Scala
Kazuhiro Sera
•
10.4K views
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ... by scalaconfjp
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
scalaconfjp
•
3.3K views
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング by scalaconfjp
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
scalaconfjp
•
2.9K views
The Evolution of Scala / Scala進化論 by scalaconfjp
The Evolution of Scala / Scala進化論
scalaconfjp
•
5.2K views
What's a macro?: Learning by Examples / Scalaのマクロに実用例から触れてみよう! by scalaconfjp
What's a macro?: Learning by Examples / Scalaのマクロに実用例から触れてみよう!
scalaconfjp
•
3.2K views
[ScalaMatsuri] グリー初のscalaプロダクト!チャットサービス公開までの苦労と工夫 by gree_tech
[ScalaMatsuri] グリー初のscalaプロダクト!チャットサービス公開までの苦労と工夫
gree_tech
•
10.8K views
GitBucket: The perfect Github clone by Scala by takezoe
GitBucket: The perfect Github clone by Scala
takezoe
•
26.7K views
From Ruby to Scala by tod esking
From Ruby to Scala
tod esking
•
7.9K views
Weaving Dataflows with Silk - ScalaMatsuri 2014, Tokyo by Taro L. Saito
Weaving Dataflows with Silk - ScalaMatsuri 2014, Tokyo
Taro L. Saito
•
3K views
Building a Unified Data Pipline in Spark / Apache Sparkを用いたBig Dataパイプラインの統一 by scalaconfjp
Building a Unified Data Pipline in Spark / Apache Sparkを用いたBig Dataパイプラインの統一
scalaconfjp
•
3.7K views
Node.js vs Play Framework (with Japanese subtitles) by Yevgeniy Brikman
Node.js vs Play Framework (with Japanese subtitles)
Yevgeniy Brikman
•
42.5K views
Use Promise, Future and some functional programing stuff without being a math... by Quentin Adam
Use Promise, Future and some functional programing stuff without being a math...
Quentin Adam
•
1.6K views
Aplicaciones Del Lenguaje Scala by guestbc5e8
Aplicaciones Del Lenguaje Scala
guestbc5e8
•
1.7K views
How Scala promotes TDD by Shai Yallin
How Scala promotes TDD
Shai Yallin
•
4.2K views
A Tour Of Scala by fanf42
A Tour Of Scala
fanf42
•
3.4K views
Scala: un vistazo general by Miguel Pastor
Scala: un vistazo general
Miguel Pastor
•
1.3K views
芸者東京とScala〜おみせやさんから脳トレクエストまでの軌跡〜 by scalaconfjp
芸者東京とScala〜おみせやさんから脳トレクエストまでの軌跡〜
scalaconfjp
•
5.5K views
Scala@SmartNews_20150221 by Shigekazu Takei
Scala@SmartNews_20150221
Shigekazu Takei
•
14.9K views
Scala@SmartNews AdFrontend を Scala で書いた話 by Keiji Muraishi
Scala@SmartNews AdFrontend を Scala で書いた話
Keiji Muraishi
•
12.1K views
Similar to Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
2011年マイクロソフト テクノロジー振り返り~開発編~ by
2011年マイクロソフト テクノロジー振り返り~開発編~
Takeshi Shinmura
1.2K views
•
42 slides
DeNA流cocos2d xとの付き合い方 by
DeNA流cocos2d xとの付き合い方
dena_study
18.1K views
•
44 slides
技術選択とアーキテクトの役割 by
技術選択とアーキテクトの役割
Toru Yamaguchi
42K views
•
90 slides
devsami kansai 2012 #c2 by
devsami kansai 2012 #c2
Yushi_Takagi
996 views
•
47 slides
Gaming cicd-pipeline gaming-technight-2 by
Gaming cicd-pipeline gaming-technight-2
Amazon Web Services Japan
5.8K views
•
47 slides
Angularreflex20141210 by
Angularreflex20141210
Shinichiro Takezaki
753 views
•
53 slides
Similar to Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
(20)
2011年マイクロソフト テクノロジー振り返り~開発編~ by Takeshi Shinmura
2011年マイクロソフト テクノロジー振り返り~開発編~
Takeshi Shinmura
•
1.2K views
DeNA流cocos2d xとの付き合い方 by dena_study
DeNA流cocos2d xとの付き合い方
dena_study
•
18.1K views
技術選択とアーキテクトの役割 by Toru Yamaguchi
技術選択とアーキテクトの役割
Toru Yamaguchi
•
42K views
devsami kansai 2012 #c2 by Yushi_Takagi
devsami kansai 2012 #c2
Yushi_Takagi
•
996 views
Gaming cicd-pipeline gaming-technight-2 by Amazon Web Services Japan
Gaming cicd-pipeline gaming-technight-2
Amazon Web Services Japan
•
5.8K views
Angularreflex20141210 by Shinichiro Takezaki
Angularreflex20141210
Shinichiro Takezaki
•
753 views
Force.com開発基礎 by Salesforce Developers Japan
Force.com開発基礎
Salesforce Developers Japan
•
4.4K views
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー by Masaya Ishikawa
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
Masaya Ishikawa
•
10.8K views
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう! by CData Software Japan
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
•
2.2K views
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを... by Shinichiro Arai
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Shinichiro Arai
•
1.3K views
Automation with SoftLayer and Zabbix by softlayerjp
Automation with SoftLayer and Zabbix
softlayerjp
•
1.5K views
楽天がCloud foundryを選んだ理由 by Rakuten Group, Inc.
楽天がCloud foundryを選んだ理由
Rakuten Group, Inc.
•
3.5K views
Spring I/O 2015 報告 by Takuya Iwatsuka
Spring I/O 2015 報告
Takuya Iwatsuka
•
3.2K views
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」 by アトラシアン株式会社
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
アトラシアン株式会社
•
299 views
Rails on GKEで運用するWebアプリケーションの紹介 by Makoto Haruyama
Rails on GKEで運用するWebアプリケーションの紹介
Makoto Haruyama
•
4.2K views
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発 by GoAzure
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
GoAzure
•
1.3K views
Go azure tfs_service by Kaoru NAKAMURA
Go azure tfs_service
Kaoru NAKAMURA
•
1.9K views
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~ by 日本マイクロソフト株式会社
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
日本マイクロソフト株式会社
•
198 views
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede... by Rakuten Group, Inc.
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
Rakuten Group, Inc.
•
2.1K views
Klocworkのご紹介 by Masaru Horioka
Klocworkのご紹介
Masaru Horioka
•
2.2K views
More from TIS Inc.
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現 by
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
TIS Inc.
334 views
•
29 slides
Reactive Systems that focus on High Availability with Lerna by
Reactive Systems that focus on High Availability with Lerna
TIS Inc.
568 views
•
17 slides
Starting Reactive Systems with Lerna #reactive_shinjuku by
Starting Reactive Systems with Lerna #reactive_shinjuku
TIS Inc.
253 views
•
16 slides
可用性を突き詰めたリアクティブシステム by
可用性を突き詰めたリアクティブシステム
TIS Inc.
3.9K views
•
21 slides
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜 by
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
TIS Inc.
3.9K views
•
64 slides
Akkaの並行性 by
Akkaの並行性
TIS Inc.
650 views
•
33 slides
More from TIS Inc.
(18)
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現 by TIS Inc.
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
TIS Inc.
•
334 views
Reactive Systems that focus on High Availability with Lerna by TIS Inc.
Reactive Systems that focus on High Availability with Lerna
TIS Inc.
•
568 views
Starting Reactive Systems with Lerna #reactive_shinjuku by TIS Inc.
Starting Reactive Systems with Lerna #reactive_shinjuku
TIS Inc.
•
253 views
可用性を突き詰めたリアクティブシステム by TIS Inc.
可用性を突き詰めたリアクティブシステム
TIS Inc.
•
3.9K views
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜 by TIS Inc.
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
TIS Inc.
•
3.9K views
Akkaの並行性 by TIS Inc.
Akkaの並行性
TIS Inc.
•
650 views
JavaからAkkaハンズオン by TIS Inc.
JavaからAkkaハンズオン
TIS Inc.
•
1.8K views
リアクティブシステムとAkka by TIS Inc.
リアクティブシステムとAkka
TIS Inc.
•
844 views
Akka in Action workshop #ScalaMatsuri 2018 by TIS Inc.
Akka in Action workshop #ScalaMatsuri 2018
TIS Inc.
•
1.5K views
Preparing for distributed system failures using akka #ScalaMatsuri by TIS Inc.
Preparing for distributed system failures using akka #ScalaMatsuri
TIS Inc.
•
6.4K views
Akkaで実現するステートフルでスケーラブルなアーキテクチャ by TIS Inc.
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
TIS Inc.
•
2.7K views
akka-doc-ja by TIS Inc.
akka-doc-ja
TIS Inc.
•
1.2K views
10分で分かるリアクティブシステム by TIS Inc.
10分で分かるリアクティブシステム
TIS Inc.
•
5.1K views
Typesafe Reactive Platformで作るReactive System入門 by TIS Inc.
Typesafe Reactive Platformで作るReactive System入門
TIS Inc.
•
5.4K views
Typesafe Reactive Platformで作るReactive System by TIS Inc.
Typesafe Reactive Platformで作るReactive System
TIS Inc.
•
14.4K views
Effective Akka読書会2 by TIS Inc.
Effective Akka読書会2
TIS Inc.
•
1.2K views
再帰で脱Javaライク by TIS Inc.
再帰で脱Javaライク
TIS Inc.
•
3K views
甲賀流Jenkins活用術 by TIS Inc.
甲賀流Jenkins活用術
TIS Inc.
•
1.6K views
Recently uploaded
SNMPセキュリティ超入門 by
SNMPセキュリティ超入門
mkoda
420 views
•
15 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association
127 views
•
64 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development site
Atomu Hidaka
89 views
•
41 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
23 views
•
38 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Hitachi, Ltd. OSS Solution Center.
85 views
•
26 slides
IPsec VPNとSSL-VPNの違い by
IPsec VPNとSSL-VPNの違い
富士通クラウドテクノロジーズ株式会社
502 views
•
8 slides
Recently uploaded
(10)
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門
mkoda
•
420 views
定例会スライド_キャチs 公開用.pdf by Keio Robotics Association
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association
•
127 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development site
Atomu Hidaka
•
89 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
23 views
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by Hitachi, Ltd. OSS Solution Center.
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Hitachi, Ltd. OSS Solution Center.
•
85 views
IPsec VPNとSSL-VPNの違い by 富士通クラウドテクノロジーズ株式会社
IPsec VPNとSSL-VPNの違い
富士通クラウドテクノロジーズ株式会社
•
502 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
NTT DATA Technology & Innovation
•
132 views
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない
Takuya Matsunaga
•
24 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdf
icebreaker4
•
366 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.
•
73 views
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
1.
Scalable Generator: Using
Scala in SIer Business 2014.9.6 Yugo Maede ! TIS Inc. Copyright © 2014 TIS Inc. All rights reserved.
2.
My profile Work
in Strategic technology center of TIS Inc.! have built in-house application framework and tools! Evaluating Scala! Koka-Ninja! Twitter : @yugolf • TIS株式会社 戦略技術センター! • 社内エンジニアリング基盤の構築! • Scalaの活用検証! • 甲賀忍者 自己紹介 Copyright © 2014 TIS Inc. All rights reserved. 2
3.
My articles 執筆記事紹介
-‐ ITPro “Is it easy to switch the build tool from Maven to Gradle?”! -‐ @IT “Your dream will definitely come true. What is Web Components?”! -‐ CodeZine “Introduction to Play Framework” • ITPro 「ビルドツールの移行性 MavenからGradleへの乗り換えは容易か」! • @IT 「あなたの知らない超絶便利なWebを叶える仕様Web Componentsとは」! • CodeZine 「ScalaのWebアプリケーションフレームワーク「Play Framework」入門」 TIS技術ブログ Tech-‐Sketch http://tech-‐sketch.jp/ Copyright © 2014 TIS Inc. All rights reserved. 3
4.
Agenda Background! A
barriers of using Scala! Introduce code generator! Demonstration! Summary •背景! アジェンダ •Scala採用の壁! •コードジェネレータの紹介! •デモ! •まとめ Copyright © 2014 TIS Inc. All rights reserved. 4
5.
Background : About
TIS -‐ TIS is System Integrator Entrusted development on various scale! ! -‐ Our cover fields! TISについて The enterprise like bank, insurance, credit card, manufacturing and so on • SIer 大・中・小 受託開発! • 主な対象分野 金融・カード・産業! ! Copyright © 2014 TIS Inc. All rights reserved. 5
6.
Background : Our
activities in the past To improve the efficiency of development これまでの取り組み -‐ In-‐house application framework (for development by Java)! -‐ Code generator! -‐ Development tools and guide (for test, CI etc)! -‐ Training for developer in my company! -‐ about framework, Jenkins, Maven, JUnit etc • 生産性の向上を目指して • 社内向けアプリケーション開発基盤 (=Java)! • コードジェネレータ! • 開発効率化ツール/ガイド(テスト効率化・CI etc)! • 社内教育! • フレームワーク・Jenkins・Maven・JUnit etc Copyright © 2014 TIS Inc. All rights reserved. 6
7.
More Improvement 更なる改革
It’s difficult to improve the efficiency only by framework, generator, and some tools. focus on improving of programing itself! Java ▶︎ Scala Generator Libraries Java Scala CI Test Tool Framework Libraries Libraries フレームワーク・ジェネレータ・その他周辺ツールの整備だけでは困難! プログラミングそのものの効率化へ Copyright © 2014 TIS Inc. All rights reserved. 7
8.
The barrie of
using Scala -‐ A shortage of tools and libraries for developing enterprise applications -‐ Stability-‐oriented customers and developers! -‐ Difficult to learn and teach Scala! ! -‐ Can we really improve the efficiency of development by Scala? Scalaを採用する壁 • エンタープライズ向けのライブラリやツールの不足 • 安定志向の開発現場や顧客! • 習得や教育の難しさ! !! 本当にScalaで開発が効率化出来るのか? Copyright © 2014 TIS Inc. All rights reserved. 8
9.
How does development
change by switching to -‐ The number of codes decrease compared to Java. -‐ If we master Scala, productivity must increase. -‐ Can't completely say that it has rapid effect, but it has high potential. -‐ After all, Does it depends on personal ability? ! -‐ Yes. I’d like to make the following; Scalaで何が変わる? excellent developers can show their ability. • Scalaの簡潔性によりJavaに比べコード量が激減する。 • Scalaの習熟度があがれば生産性が上がる。 • 決して、即効性は高いとは言えないが大きな伸びしろを秘めている。 • 結局プログラマの能力次第? • Yes。能力の高いプログラマが力を発揮できる世界を作りたい。 Copyright © 2014 TIS Inc. All rights reserved. 9
10.
Is that true?
The number of steps will decrease. If the total amount of source codes decreased, but we need to decrease the programing part except framework. auto Xenlon Seasar2 Java Framework Application hand made hand made hand made Play2 全体のコード量が減ったとしても、実装量が減らないと意味がない。 Copyright © 2014 TIS Inc. All rights reserved. Scala Framework Application the previous development using Scala/Play2 10 hand made 本当に実装コードは減る?
11.
hand made auto
Xenlon Seasar2 Copyright © 2014 TIS Inc. All rights reserved. hand made auto How shall we solve? We should automate programing which is able to be automated.! -> need a Code Generator add-‐on Play2 自動化出来るところは自動化する。 ▶ コードジェネレータ 11 解決するには? Java Framework Application the previous development Scala Framework Application using Scala/Play2
12.
Automation by the
code generator コードジェネレータによる自動化 -‐ Automate simple works, and programers focus on essential business logics. -‐ The automation isn't 100%, it's important to develop business logic by hand -‐ automate -‐ The structure of code does not depend on programing language. -‐ The code depends on a framework. -‐ not automate -‐ Business logic • 機械的に実装出来る部分は自動化し、プログラマーは本質的な ビジネスロジックの実装に注力 • 100%自動生成ではなく、ビジネスロジックをScalaで実装する事に価値 <自動化> • 実装言語によって構造が変わらない部分(シンプルにならない) • フレームワークによって記述が異なる部分(FWの壁) <非自動化> • ビジネスロジック Copyright © 2014 TIS Inc. All rights reserved. 12
13.
Generator features -‐
Based on Play Framework and Slick (Typesafe products). -‐ Source codes are generated from DB schema. ジェネレータの特徴 -‐ Import Application structures into the Repository in the generating process. -‐ Allow you to edit the application structures in the repository. -‐ Don't have to install, because provided by "Typesafe Activator". • Play Framework / Slick対応のTypesafeプロダクト準拠 • DBスキーマ情報からソースコードをジェネレート • アプリケーション構造をリポジトリ登録 • アプリケーション構造をリポジトリに格納し編集可能 • Typesafe Activator のテンプレートで提供するため環境構築不要 Copyright © 2014 TIS Inc. All rights reserved. 13
14.
For Play Framework
and Slick Play Framework と Slick -‐ We can trust and use them, because they are developed by Typesafe who develop Scala. -‐ De facto standard(!?) -‐ It uses Slick code generator and follow its policy. • Scala開発企業であるTypesafeが開発/サポートしているため安心 • 定番フレームワークに!? • Slickコードジェネレータを活用し、そのポリシーを踏襲 Copyright © 2014 TIS Inc. All rights reserved. 14
15.
Generating flow when
using the code generator 1. When execute Scaffold, it imports information for generating an application into design repository, and generate source codes. (4) edit repository Copyright © 2014 TIS Inc. All rights reserved. (2) generate source code! from database Database Schema Design Repository Route Controller View Model Form Dao (1) create design repository (3) generate source code! from repository (5) regenerate Web Application 2. Edit design repository and re-‐generate source code. 15 ジェネレート生成のフロー
16.
Design Repository The
table structure and relations Screens ! Screen ID Screen Type Screen Entities ! Screen ID Entity Name 1 * Screen Items ! Screen ID Item No Domain Code Search Condition Component Type Domains ! Domain Code 1 * Validations * 0..1 ! Domain Code Validation Code Validation Attribute Validation Value 設計リポジトリ -‐ Create -‐ Search -‐ Update -‐ = -‐ != -‐ > -‐ < -‐ contains …etc -‐ text -‐ select -‐ checkbox -‐ radio …etc -‐ text -‐ bigDecimal -‐ number …etc 1 1 Copyright © 2014 TIS Inc. All rights reserved. 16
17.
Edit design repository
設計リポジトリの変更 The codes are improved into a practical application by editing design repository. Scalable Generator 設計リポジトリを編集することで、Scaffoldから実 用的なアプリケーションへ進化させる。 Copyright © 2014 TIS Inc. All rights reserved. 17
18.
Generated codes When
you edit design repository, generated source codes change . 生成されたコード change into partial match by changing Search condition. case class EventSearchData( @(== @field) eventId: Option[String], @(contains @field) eventNm: Option[String], …) change into required by checking required. val eventCreateForm = Form( mapping( “eventId” -‐> nonEmptyText(maxLength=10), “eventNm” -‐> optional(text(maxLength=100), …)… change into select list by changing Component @helper.inputText(eventSearchForm(“eventId”)) @helper.select(eventSearchForm(“place”), …) Copyright © 2014 TIS Inc. All rights reserved. 18
19.
Don’t have to
install 環境構築不要 -‐ You don't have to install, because it's provided as one of the template of Typesafe Activator. -‐ When you execute a command, can build blank project. $ activator new <application name> skalholt Skalholt Template Library Skalholt code generator Typesafe Activatorのテンプレートの1つとして提供するため環境構築不要 コマンド一つでブランクプロジェクトが出来上がる。 Copyright © 2014 TIS Inc. All rights reserved. 19
20.
Demonstration Required:Typesafe Activator
is installed https://typesafe.com/platform/getstarted ! デモ ! ! ! ▶︎ http://localhost:9000/ ▶︎ http://localhost:9001/ ▶︎ check the application ! ▶︎ check the application 1. activator new 2. h2-browser 3. activator run 4. skalholt-ui 5. generate 6. modify repository 7. regenerate Copyright © 2014 TIS Inc. All rights reserved. 20
21.
What problem is
solved by the generator? 何が解決されたのか? -‐ A shortage of tools and libraries for develop enterprise applications -‐ >The number of codes to be written by programers is decreased by the code generator. -‐ Stability-‐oriented customers and developers -‐ >Improve the basic quality by the code generator! -‐ Difficult to learn and educate Scala! -‐ >the barrier is minimized by programing based on generated codes. • エンタープライズ向けのライブラリやツールの不足 ▶ ジェネレータにより実装するコード量の削減 • 安定志向の開発現場や顧客 ▶ ジェネレータによる品質の底上げ! • 習得や教育の難しさ! ▶ ジェネレートされたコードをベースとした実装による障壁の軽減 Copyright © 2014 TIS Inc. All rights reserved. 21
22.
The biggest barrie?
Find/Train an engineer of Scala. -‐ Learning materials are already prepared now. -‐ If you feel a barrier for using Scala, would you start from Play? -‐ If you feel a barrier for using Play, would you start from Skalholt? ! -‐ I'd like you to use Skalholt not only for improving the efficiency of development but also for learning Scala. • 勉強する環境は整っている。 •Scalaに障壁を感じている人はPlayから始めて見ませんか? •Playに障壁を感じている人はSkalholtから始めて見ませんか? ! • 開発を効率化するだけでなく、Scalaを習得するためのツールとして 活用して欲しい。 Copyright © 2014 TIS Inc. All rights reserved. 22
23.
Javaエンジニアの私がやったこと What I
have done as a Java engineer. -‐ Converted sample application on a Java based framework into Scala application. -‐ Converted some of the features of the framework to be use by Scala. -‐ Evaluated Scala on real project. -‐ Held a study session for our company. -‐ Took Typesafe training. -‐ Took a course of Odersky on Coursera. “Functional Programing Principles in Scala” • Java製FW上のサンプルアプリをPlay2+Scalaにコンバート • Java製FWの持つ機能をScalaから使えるように • 実プロジェクトで検証 • 社内向けの勉強会開催 • Typesafeのトレーニング受講 • Coursera受講 : Functional Programing Principles in Scala Copyright © 2014 TIS Inc. All rights reserved. 23
24.
How to use
Skalholt. Please look at GitHub Pages http://tech-‐sketch.github.io/skalholt/ If you want to generate customized code, please get source code from GitHub • OSSとして公開しました! GitHub Pagesをご覧下さい。 Skalholtは使えるの? ! • 自分向けのコードをジェネレートするにはGitHubから -‐ Have released it !-‐ Copyright © 2014 TIS Inc. All rights reserved. 24
25.
THANK YOU