おみせやさん編
自己紹介
● 清水 超也(しみず たつや)
– 芸者東京エンターテインメント株式会社
●
喋れる言葉
● C,C++,C++/CLI,Java,C#,Scala など。基本
的に雑食。日本語、英語
●
経歴とか
– 決済ソリューション系 SE
...
発表の概要
● おみせやさんとは?
● おみせやさんの歴史と Scala 採用の経緯
● お付き合い その1
– implicit conversion
● お付き合い その2
– バージョンアップ
おみせやさんとは?
● おみせやさんごっこするブ
ラウザゲーム
– フィーチャーフォン・スマート
フォンで遊べる!
● アバター服の組み合わせ
が相当多い!
おみせやさんの歴史と
Scala 採用の経緯
おみせやさん 1 おみせやさん 2
2009/12 - 2014/5 2010/6 -
プラットフォーム mixi フィーチャーフォン GREE フィーチャーフォン
(GREE スマートフォン)
(...
おみせやさん 2 は
● ブラウザゲーム
● サーバー
● フレームワーク・言語
– Lift(Scala)
ブラウザ
nginx
tomcat7
MySQL
Cassandra
Memcached
おみせやさん2
● 清水は2011年6月入社時から Scala Life を始め
た。
– それまで Scala の使用経験無し
– 新しいことへの適応能力がある人であれば、Scala 知ら
なくても習得できると思われる
implicit conversions こわい
●
付き合うならば慎重に…
●
(´-`).oO( Box[LiftResponse] が返り値の型なんだが、返り値は GetUserShop かその基底にしか見え
ない。どこで変換してんねん!...
とあるエンジニアとの雑談で
●
古いバージョンのライブラリを使い続けることの問題点
– 不具合の対応がされなくなる
– Scala の新機能が使えない
● バージョンアップを始めよう!
バージョンアップのメリット・デメリット
●
メリット
– 新しい仕組みが使えるようになって、開発効率が上がる!
●
デメリット
– バージョンアップに伴う作業のため、段取りが必要
●
決して軽い作業ではないので、開発の閑散期を利用する必要が
あ...
●Scala Life Second Season
● いきなり最新版にすると既存のコードが動かなくな
る可能性大
– ステップを踏んで進まなければならない(後述)
Lift→
↓Scala
2.0 2.1 2.2 2.3 2.4 2.5
2....
お付き合いするバージョンを
変えようとしてみる
● もちろん、Lift と Scala の 変更履歴は読む
● 例:2.7.7 → 2.8.0
– scala.collection.jcl.Conversions →scala.collecti...
実際にバージョン上げてみる
● 単体テストと負荷テスト等を実施して問題無かった
ので本番環境でのバージョンを上げてみる
● バージョンアップに伴う段取りや作業を地道にやっ
ていけば問題ない
こわくないよ!
● Scala は少し成長が速い気がするけど
– ググったり
– Scala 勉強会に出たり
– 擬人化キャラ Scala ちゃんが癒してくれるから
● Scala と付き合ってもこわくない!
という感じで
● おみせやさん2 は、2010 年 6 月から現在ま
で、Scala で稼働してます
Upcoming SlideShare
Loading in …5
×

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

631 views

Published on

おみせやさん の話。http://www.geishatokyo.com/greeapp/playshop/

Published in: Engineering
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
631
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

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

×