scalive #1 ツキアイハジメ! おみせやさん編
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

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

on

  • 150 views

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

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

Statistics

Views

Total Views
150
Views on SlideShare
137
Embed Views
13

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 13

http://s.deeeki.com 11
http://www.slideee.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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