乙女ゲーム
             を支える技術
             Play2.0 + Scalaの開発事例紹介

                      daiksy




                                 2013-03-02
             Scala Conference in Japan 2013

13年3月2日土曜日
乙女ゲーム
               を支える技術
             The Tech Behind Otome Games
                 Play2.0 + Scalaの開発事例紹介

                          daiksy




                                     2013-03-02
                 Scala Conference in Japan 2013

13年3月2日土曜日
About me




13年3月2日土曜日
About me
      twitter: @daiksy
      Daisuke Kasuya
      Furyu Corporation




13年3月2日土曜日
About me




13年3月2日土曜日
About me

              I am a SOCIAL 乙女
                (OTOME) GAME
                   developer
             乙女(OTOME) means
              "girlish" in English
13年3月2日土曜日
Architecture
             Amazon EC2   Amazon RDS
               Play2.0
                              MySQL
                nginx


                          Amazon S3
             Amazon EC2       backup

               Play2.0

                              Fluentd
                nginx


13年3月2日土曜日
Project Summary




13年3月2日土曜日
Project Summary

   4 months
   (Feb 2012 to May 2012)




13年3月2日土曜日
Project Summary

  4 months
  (Feb 2012 to May 2012)
  6 developers



13年3月2日土曜日
Project Summary

  4 months
  (Feb 2012 to May 2012)
  6 developers

   Our first project with
   Scala
13年3月2日土曜日
Tools

  FW:Play2.0




13年3月2日土曜日
Tools

  FW:Play2.0
  Laungage:Scala




13年3月2日土曜日
Tools

  FW:Play2.0
  Laungage:Scala
  ORM:Squeryl



13年3月2日土曜日
Tools

  FW:Play2.0
  Laungage:Scala
  ORM:Squeryl
  DB:MySQL
  VCS : Git
13年3月2日土曜日
Challenges in the project




13年3月2日土曜日
Challenges in the project

  It was the first time we
  have used:




13年3月2日土曜日
Challenges in the project

  It was the first time we
  have used:
      Scala


13年3月2日土曜日
Challenges in the project

  It was the first time we
  have used:
      Scala
         Playframework 2.0

13年3月2日土曜日
Challenges in the project

  It was the first time we
  have used:
      Scala      nginx
         Playframework 2.0

13年3月2日土曜日
Challenges in the project

  It was the first time we
  have used:
      Scala            AWS
                 nginx
         Playframework 2.0

13年3月2日土曜日
Challenges in the project

  It was the first time we
  have used:
      Scala            AWS
                 nginx
         Playframework 2.0
             Git
13年3月2日土曜日
Challenges in the project


  MISSION
  IMPOSSIBLE!

13年3月2日土曜日
How we tackled
    3 study sessions/week




13年3月2日土曜日
How we tackled
    3 study sessions/week
  before the workday
  begins



13年3月2日土曜日
How we tackled
    3 study sessions/week
  before the workday
  begins
  30 mins each


13年3月2日土曜日
How we tackled
    3 study sessions/week
  before the workday
  begins
  30 mins each
  reading the book:
13年3月2日土曜日
How we tackled


        ・Pair Programming




13年3月2日土曜日
How we tackled


        ・Pair Programming
             ・Real-time review



13年3月2日土曜日
How we tackled


        ・Pair Programming
             ・Real-time review
             ・Sharing of skills

13年3月2日土曜日
How we tackled

       ・Study sessions




             ・Pair programming
13年3月2日土曜日
How we tackled

       ・Study sessions

             We learned Scala in
             2 months.

              ・Pair programming
13年3月2日土曜日
Scala




Impression that I've used



13年3月2日土曜日
Scala


     easy-to-use to
      Java developers



13年3月2日土曜日
Scala
      val xs = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
      var sum = 0

      for(x <- xs) {
        if (x % 3 == 0) {
          sum += x
        }
      }




13年3月2日土曜日
Scala
      val xs = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
      var sum = 0

      for(x <- xs) {
        if (x % 3 == 0) {
          sum += x
        }
      }




      val xs = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

      val sum = xs.filter(_ % 3 == 0).sum



13年3月2日土曜日
Closing




13年3月2日土曜日
Closing
   Indeed, it takes some
   time to learn Scala.




13年3月2日土曜日
Closing
   Indeed, it takes some
   time to learn Scala.

   But it's affordable for
   Java developers.
13年3月2日土曜日
Closing



     Challenging is fun!



13年3月2日土曜日
Special Thanks

 Special thanks to:
 Brilliant Scala developers from
 Typesafe,
 #scalaconfjp volunteer staff,
 All the Scala lovers around the
 world,
 and you!

13年3月2日土曜日
Thank you



        Thank you for your
        attention!


                  Reviewd by @mumoshu, @kuchitama
13年3月2日土曜日

Scala conf2013

  • 1.
    乙女ゲーム を支える技術 Play2.0 + Scalaの開発事例紹介 daiksy 2013-03-02 Scala Conference in Japan 2013 13年3月2日土曜日
  • 2.
    乙女ゲーム を支える技術 The Tech Behind Otome Games Play2.0 + Scalaの開発事例紹介 daiksy 2013-03-02 Scala Conference in Japan 2013 13年3月2日土曜日
  • 3.
  • 4.
    About me twitter: @daiksy Daisuke Kasuya Furyu Corporation 13年3月2日土曜日
  • 5.
  • 6.
    About me I am a SOCIAL 乙女 (OTOME) GAME developer 乙女(OTOME) means "girlish" in English 13年3月2日土曜日
  • 7.
    Architecture Amazon EC2 Amazon RDS Play2.0 MySQL nginx Amazon S3 Amazon EC2 backup Play2.0 Fluentd nginx 13年3月2日土曜日
  • 8.
  • 9.
    Project Summary 4 months (Feb 2012 to May 2012) 13年3月2日土曜日
  • 10.
    Project Summary 4 months (Feb 2012 to May 2012) 6 developers 13年3月2日土曜日
  • 11.
    Project Summary 4 months (Feb 2012 to May 2012) 6 developers Our first project with Scala 13年3月2日土曜日
  • 12.
  • 13.
    Tools FW:Play2.0 Laungage:Scala 13年3月2日土曜日
  • 14.
    Tools FW:Play2.0 Laungage:Scala ORM:Squeryl 13年3月2日土曜日
  • 15.
    Tools FW:Play2.0 Laungage:Scala ORM:Squeryl DB:MySQL VCS : Git 13年3月2日土曜日
  • 16.
    Challenges in theproject 13年3月2日土曜日
  • 17.
    Challenges in theproject It was the first time we have used: 13年3月2日土曜日
  • 18.
    Challenges in theproject It was the first time we have used: Scala 13年3月2日土曜日
  • 19.
    Challenges in theproject It was the first time we have used: Scala Playframework 2.0 13年3月2日土曜日
  • 20.
    Challenges in theproject It was the first time we have used: Scala nginx Playframework 2.0 13年3月2日土曜日
  • 21.
    Challenges in theproject It was the first time we have used: Scala AWS nginx Playframework 2.0 13年3月2日土曜日
  • 22.
    Challenges in theproject It was the first time we have used: Scala AWS nginx Playframework 2.0 Git 13年3月2日土曜日
  • 23.
    Challenges in theproject MISSION IMPOSSIBLE! 13年3月2日土曜日
  • 24.
    How we tackled 3 study sessions/week 13年3月2日土曜日
  • 25.
    How we tackled 3 study sessions/week before the workday begins 13年3月2日土曜日
  • 26.
    How we tackled 3 study sessions/week before the workday begins 30 mins each 13年3月2日土曜日
  • 27.
    How we tackled 3 study sessions/week before the workday begins 30 mins each reading the book: 13年3月2日土曜日
  • 28.
    How we tackled ・Pair Programming 13年3月2日土曜日
  • 29.
    How we tackled ・Pair Programming ・Real-time review 13年3月2日土曜日
  • 30.
    How we tackled ・Pair Programming ・Real-time review ・Sharing of skills 13年3月2日土曜日
  • 31.
    How we tackled ・Study sessions ・Pair programming 13年3月2日土曜日
  • 32.
    How we tackled ・Study sessions We learned Scala in 2 months. ・Pair programming 13年3月2日土曜日
  • 33.
    Scala Impression that I'veused 13年3月2日土曜日
  • 34.
    Scala easy-to-use to Java developers 13年3月2日土曜日
  • 35.
    Scala val xs = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) var sum = 0 for(x <- xs) { if (x % 3 == 0) { sum += x } } 13年3月2日土曜日
  • 36.
    Scala val xs = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) var sum = 0 for(x <- xs) { if (x % 3 == 0) { sum += x } } val xs = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val sum = xs.filter(_ % 3 == 0).sum 13年3月2日土曜日
  • 37.
  • 38.
    Closing Indeed, it takes some time to learn Scala. 13年3月2日土曜日
  • 39.
    Closing Indeed, it takes some time to learn Scala. But it's affordable for Java developers. 13年3月2日土曜日
  • 40.
    Closing Challenging is fun! 13年3月2日土曜日
  • 41.
    Special Thanks Specialthanks to: Brilliant Scala developers from Typesafe, #scalaconfjp volunteer staff, All the Scala lovers around the world, and you! 13年3月2日土曜日
  • 42.
    Thank you Thank you for your attention! Reviewd by @mumoshu, @kuchitama 13年3月2日土曜日