SlideShare a Scribd company logo
1 of 46
Download to read offline
統計をとって高速化する 
Scala開発 
引用:jigokuno.com
自己紹介 
名前小笠原みつき @yamitzky 
会社株式会社CyberZ 
スマホ広告のアドテク企業です! 
Scala歴2ヶ月 
Ruby歴4年
去年のScala Conference、覚えていますか?
James Roperさんのライブコーディング 
引用:vimeo.com/65556263 
掲示板をその場で開発
James Roperさんのライブコーディング 
smff 
スニペットを入力して……
James Roperさんのライブコーディング 
ッターン! 引用:jigokuno.com
こんなふうに開発できたら 
気持ちいい……!
IntelliJのLive Template
IntelliJのLive Template 
スニペットを入力して……
IntelliJのLive Template 
ッターン!
IntelliJのLive Template 
変数も補完!
何のスニペット作ろう……?
そうだ、データをとろう!
ソースコードのワードカウント 
ワードカウント 
単語出現数出現率 
( 2 6% 
) 2 6% 
String 1 3% 
def 1 3% 
… … …
社内で集計してみました
CyberZでの集計 
順位単語出現率順位 単語出現率 
1 . 9.96% 13 -> 1.22% 
2 ( 8.67% 14 Long 1.04% 
3 ) 8.67% 15 => 1.04% 
4 , 6.85% 16 val 1.03% 
5 : 3.82% 17 rs 0.92% 
6 = 2.58% 18 id 0.81% 
7 " 2.08% 19 c 0.80% 
8 [ 1.90% 20 rn 0.76% 
9 ] 1.90% 21 String 0.63% 
10 { 1.88% 22 * 0.51% 
11 } 1.88% 23 Option 0.50% 
12 def 1.24% 24 get 0.46%
グラフにしてみた 
出現順位 
出現率 
10% 
7.5% 
5% 
2.5% 
0% 
200 400 600 800
グラフにしてみた 
一部の単語だけが頻出する 
出現順位 
出現率 
10% 
7.5% 
5% 
2.5% 
0% 
200 400 600 800
グラフにしてみた 
上位24件で61% 
出現順位 
出現率 
10% 
7.5% 
5% 
2.5% 
0% 
200 400 600 800
両対数グラフにしてみると……
両対数グラフ 
0.01 
0 
1 10 100 
直線! 
(あまり出てこない単語) 
(頻出単語) 
出現順位 
出現率
ジップの法則 
引用:pha.jhu.edu/~rittner/fractal.html 
出現順位 
Reality 
英語でも成り立つ法則 
出現率 
The 
And 
Quality 
(あまり出てこない単語) 
(頻出単語)
話を戻して… 
上位24件で61% 
出現順位 
出現率 
10% 
7.5% 
5% 
2.5% 
0% 
200 400 600 800
まずは61%を省略する戦略で 
Live Templateを作ってみる
CyberZでの集計 
順位単語出現率順位 単語出現率 
1 . 9.96% 13 -> 1.22% 
2 ( 8.67% 14 Long 1.04% 
3 ) 8.67% 15 => 1.04% 
4 , 6.85% 16 val 1.03% 
5 : 3.82% 17 rs 0.92% 
6 = 2.58% 18 id 0.81% 
7 " 2.08% 19 c 0.80% 
8 [ 1.90% 20 rn 0.76% 
9 ] 1.90% 21 String 0.63% 
10 def, { val1.88% をスニ22 ペット* 化 
0.51% 
11 } 1.88% 23 Option 0.50% 
12 def 1.24% 24 get 0.46%
一文字に割り当てる 
同時にカッコや = も補完 
“d” 
“v”
例
例 
vだけ入れて…
例 
ッターン!
例
例
結果 
val <変数名> = <値> 
v<タブ> 
7文字 
2文字 
- 71%
CyberZでの集計 
順位単語出現率順位 単語出現率 
1 . 9.96% 13 -> 1.22% 
2 ( 8.67% 14 Long 1.04% 
3 ) 8.67% 15 => 1.04% 
4 , 6.85% 16 val 1.03% 
5 : 3.82% 17 rs 0.92% 
6 = 2.58% 18 id 0.81% 
7 " 2.08% 19 c 0.80% 
8 [ 1.90% 20 rn 0.76% 
9 ] 1.90% 21 String 0.63% 
10 { 1.88% 22 * 0.51% 
11 } 1.88% 23 Option 0.50% 
12いくdつef かの1.2型4%はよく24 入力gさet れる0.46%
よく使う型のLive Templateを登録 
“S” 
“I” 
“L” 
“O”
よく使う型のLive Templateを登録 
“S” 
“I” 
“L” 
“O” 
- 67% 
- 33% 
- 50% 
- 75%
ここまでで
なんと……!
約8%を省略 
理論上は100時間開発したら8時間短縮できる
Groovy Scriptを使うと 
こんなことも
メソッドのログ出力
メソッドのログ出力
メソッドのログ出力 
ッターン!
SQLの生成
SQLの生成
SQLの生成 
ッターン!
まとめ 
IntelliJのLive Templateを使いこなそう! 
ソースもあるよ! 
https://github.com/yamitzky/scala-intellij

More Related Content

Similar to 統計をとって高速化する
Scala開発

ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2Masatoshi Tada
 
難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法Tokoroten Nakayama
 
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編takeuchi-tk
 
文献紹介:Length-Controllable Image Captioning
文献紹介:Length-Controllable Image Captioning文献紹介:Length-Controllable Image Captioning
文献紹介:Length-Controllable Image CaptioningToru Tamaki
 
OCamlのアセンブラを読む話
OCamlのアセンブラを読む話OCamlのアセンブラを読む話
OCamlのアセンブラを読む話nomaddo
 
Interactive Music II - SuperCollider入門
Interactive Music II - SuperCollider入門Interactive Music II - SuperCollider入門
Interactive Music II - SuperCollider入門Atsushi Tadokoro
 
文献紹介:SlowFast Networks for Video Recognition
文献紹介:SlowFast Networks for Video Recognition文献紹介:SlowFast Networks for Video Recognition
文献紹介:SlowFast Networks for Video RecognitionToru Tamaki
 
入門機械学習1,2章
入門機械学習1,2章入門機械学習1,2章
入門機械学習1,2章Kazufumi Ohkawa
 
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 Nobuaki Oshiro
 
㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2Nishida Kansuke
 
リテラルと型の続きの話 #__swift__
リテラルと型の続きの話 #__swift__リテラルと型の続きの話 #__swift__
リテラルと型の続きの話 #__swift__Tomohiro Kumagai
 
⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3Nishida Kansuke
 
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Uehara Junji
 

Similar to 統計をとって高速化する
Scala開発 (17)

MlnagoyaRx
MlnagoyaRxMlnagoyaRx
MlnagoyaRx
 
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
 
Salmon cycle
Salmon cycleSalmon cycle
Salmon cycle
 
難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法
 
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
 
文献紹介:Length-Controllable Image Captioning
文献紹介:Length-Controllable Image Captioning文献紹介:Length-Controllable Image Captioning
文献紹介:Length-Controllable Image Captioning
 
OCamlのアセンブラを読む話
OCamlのアセンブラを読む話OCamlのアセンブラを読む話
OCamlのアセンブラを読む話
 
Tokyo r33 beginner
Tokyo r33 beginnerTokyo r33 beginner
Tokyo r33 beginner
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
Interactive Music II - SuperCollider入門
Interactive Music II - SuperCollider入門Interactive Music II - SuperCollider入門
Interactive Music II - SuperCollider入門
 
文献紹介:SlowFast Networks for Video Recognition
文献紹介:SlowFast Networks for Video Recognition文献紹介:SlowFast Networks for Video Recognition
文献紹介:SlowFast Networks for Video Recognition
 
入門機械学習1,2章
入門機械学習1,2章入門機械学習1,2章
入門機械学習1,2章
 
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
 
㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2
 
リテラルと型の続きの話 #__swift__
リテラルと型の続きの話 #__swift__リテラルと型の続きの話 #__swift__
リテラルと型の続きの話 #__swift__
 
⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3
 
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
 

Recently uploaded

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

統計をとって高速化する
Scala開発