SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
おみせやさん編
自己紹介
● 清水 超也(しみず たつや)
– 芸者東京エンターテインメント株式会社
●
喋れる言葉
● C,C++,C++/CLI,Java,C#,Scala など。基本
的に雑食。日本語、英語
●
経歴とか
– 決済ソリューション系 SE
– VPN ソフトウェアの開発
– (イマココ!)おみせやさん
●
趣味とか
– こころぴょんぴょんするラブライバー
– アニメ・DJ・コスプレ・DTM初心者
発表の概要
● おみせやさんとは?
● おみせやさんの歴史と Scala 採用の経緯
● お付き合い その1
– implicit conversion
● お付き合い その2
– バージョンアップ
おみせやさんとは?
● おみせやさんごっこするブ
ラウザゲーム
– フィーチャーフォン・スマート
フォンで遊べる!
● アバター服の組み合わせ
が相当多い!
おみせやさんの歴史と
Scala 採用の経緯
おみせやさん 1 おみせやさん 2
2009/12 - 2014/5 2010/6 -
プラットフォーム mixi フィーチャーフォン GREE フィーチャーフォン
(GREE スマートフォン)
(mixi スマートフォン)
括弧内は後に対応
フレームワーク Wicket Lift
言語 Java Scala
メリット Java は比較的使える人
材が多い
Java より遥かに簡潔に書ける
Java で作った資産を流用出来る
デメリット Scala などに比べて簡潔
に書きづらい
新言語でも習得出来る人材が必要
Java ほど枯れてない
バイナリサイズが大きくなる
おみせやさん 2 は
● ブラウザゲーム
● サーバー
● フレームワーク・言語
– Lift(Scala)
ブラウザ
nginx
tomcat7
MySQL
Cassandra
Memcached
おみせやさん2
● 清水は2011年6月入社時から Scala Life を始め
た。
– それまで Scala の使用経験無し
– 新しいことへの適応能力がある人であれば、Scala 知ら
なくても習得できると思われる
implicit conversions こわい
●
付き合うならば慎重に…
●
(´-`).oO( Box[LiftResponse] が返り値の型なんだが、返り値は GetUserShop かその基底にしか見え
ない。どこで変換してんねん!fsck! )
– IDE(IntelliJ)ですべての参照の検索やっても見つからず
– 実際は、別の ResponseConversions object に定義してあった
– 同じ開発チームの同僚も同じ罠にハマった
とあるエンジニアとの雑談で
●
古いバージョンのライブラリを使い続けることの問題点
– 不具合の対応がされなくなる
– Scala の新機能が使えない
● バージョンアップを始めよう!
バージョンアップのメリット・デメリット
●
メリット
– 新しい仕組みが使えるようになって、開発効率が上がる!
●
デメリット
– バージョンアップに伴う作業のため、段取りが必要
●
決して軽い作業ではないので、開発の閑散期を利用する必要が
ある
●
経営上の観点
– 一時的に新機能実装が出来なくなることで、利益を得るチャンスを失うかも
しれない
●
バージョン移行で問題が発生した時に被害が最小になるようなシ
ナリオを用意しておく必要がある
●Scala Life Second Season
● いきなり最新版にすると既存のコードが動かなくな
る可能性大
– ステップを踏んで進まなければならない(後述)
Lift→
↓Scala
2.0 2.1 2.2 2.3 2.4 2.5
2.7.7 OK OK NG NG NG NG
2.8.0 NG OK OK OK OK NG
2.8.1 NG NG OK OK OK NG
2.8.2 NG NG NG NG OK NG
2.9.0 NG NG NG NG OK NG
2.9.1 NG NG NG NG OK OK
2.9.2 NG NG NG NG NG OK
2.10 NG NG NG NG NG OK
お付き合いするバージョンを
変えようとしてみる
● もちろん、Lift と Scala の 変更履歴は読む
● 例:2.7.7 → 2.8.0
– scala.collection.jcl.Conversions →scala.collection.JavaConversions
– 当然おみせやさん2 の内製ライブラリで、Scala で書かれたものは全て
バージョンアップ
– コンパイルエラーは修正方針を調べて修正
●
コンパイルエラーの種類は多くなかった
●
ただし、バージョンアップの時期が遅くなればなるほど、ぐぐっても見つからなくなる
可能性大
– 一気にバージョンを上げない限り deprecated が付いたメソッドは、IntelliJ
などで全て表示してくれるので、指示に従って直せば、全然怖くない。
実際にバージョン上げてみる
● 単体テストと負荷テスト等を実施して問題無かった
ので本番環境でのバージョンを上げてみる
● バージョンアップに伴う段取りや作業を地道にやっ
ていけば問題ない
こわくないよ!
● Scala は少し成長が速い気がするけど
– ググったり
– Scala 勉強会に出たり
– 擬人化キャラ Scala ちゃんが癒してくれるから
● Scala と付き合ってもこわくない!
という感じで
● おみせやさん2 は、2010 年 6 月から現在ま
で、Scala で稼働してます

Weitere ähnliche Inhalte

Ähnlich wie scalive #1 ツキアイハジメ! おみせやさん編

Loc Summit10
Loc Summit10Loc Summit10
Loc Summit10Kenji Ono
 
ローカリゼーションサミット報告会
ローカリゼーションサミット報告会ローカリゼーションサミット報告会
ローカリゼーションサミット報告会SIG-Glocalization
 
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)Shoot Morii
 
Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29Yuki Higuchi
 
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明Teruaki Tsubokura
 
ゲーム開発出身者がチームラボで働いてみた
ゲーム開発出身者がチームラボで働いてみたゲーム開発出身者がチームラボで働いてみた
ゲーム開発出身者がチームラボで働いてみた秀和 福永
 
抽象太郎ものがたり そして伝説へ
抽象太郎ものがたり そして伝説へ抽象太郎ものがたり そして伝説へ
抽象太郎ものがたり そして伝説へKouji Matsui
 
デブサミでLiveコーディングしてきた - きよくらならみ
デブサミでLiveコーディングしてきた - きよくらならみデブサミでLiveコーディングしてきた - きよくらならみ
デブサミでLiveコーディングしてきた - きよくらならみWPArch
 
改めて10分くらいで学ぶEjectコマンドユーザー会
改めて10分くらいで学ぶEjectコマンドユーザー会改めて10分くらいで学ぶEjectコマンドユーザー会
改めて10分くらいで学ぶEjectコマンドユーザー会Akira Ouchi
 
Kobe sec#8 summary
Kobe sec#8 summaryKobe sec#8 summary
Kobe sec#8 summaryYukio NAGAO
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -Kishi Shundo
 
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたC#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたHiroshi Maekawa
 
SIerからインターネットベンチャーへ
SIerからインターネットベンチャーへSIerからインターネットベンチャーへ
SIerからインターネットベンチャーへYoshiomi Kurisu
 
ゲームデザインについて
ゲームデザインについてゲームデザインについて
ゲームデザインについてmeyco
 

Ähnlich wie scalive #1 ツキアイハジメ! おみせやさん編 (17)

Loc Summit10
Loc Summit10Loc Summit10
Loc Summit10
 
ローカリゼーションサミット報告会
ローカリゼーションサミット報告会ローカリゼーションサミット報告会
ローカリゼーションサミット報告会
 
25日勉強会
25日勉強会25日勉強会
25日勉強会
 
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
 
Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29
 
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明
 
ゲーム開発出身者がチームラボで働いてみた
ゲーム開発出身者がチームラボで働いてみたゲーム開発出身者がチームラボで働いてみた
ゲーム開発出身者がチームラボで働いてみた
 
抽象太郎ものがたり そして伝説へ
抽象太郎ものがたり そして伝説へ抽象太郎ものがたり そして伝説へ
抽象太郎ものがたり そして伝説へ
 
デブサミでLiveコーディングしてきた - きよくらならみ
デブサミでLiveコーディングしてきた - きよくらならみデブサミでLiveコーディングしてきた - きよくらならみ
デブサミでLiveコーディングしてきた - きよくらならみ
 
改めて10分くらいで学ぶEjectコマンドユーザー会
改めて10分くらいで学ぶEjectコマンドユーザー会改めて10分くらいで学ぶEjectコマンドユーザー会
改めて10分くらいで学ぶEjectコマンドユーザー会
 
Kobe sec#8 summary
Kobe sec#8 summaryKobe sec#8 summary
Kobe sec#8 summary
 
つ部といえば
つ部といえばつ部といえば
つ部といえば
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
 
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたC#erがF#に這い寄ってみた
C#erがF#に這い寄ってみた
 
SIerからインターネットベンチャーへ
SIerからインターネットベンチャーへSIerからインターネットベンチャーへ
SIerからインターネットベンチャーへ
 
Spi講習会
Spi講習会Spi講習会
Spi講習会
 
ゲームデザインについて
ゲームデザインについてゲームデザインについて
ゲームデザインについて
 

scalive #1 ツキアイハジメ! おみせやさん編