SlideShare a Scribd company logo
GAE
Slim3
•

•   H/N                twitter: @patorash
•                      Android, CakePHP, WordPress, GAE(?) etc...
•         Android                                    GTUG
•

                         2                  PHP
    5               Softbank Desire                          Android
          12
GAE
•        Java, JSP/Servlet
    (JSP/Servlet             )
•        Java, JSP/Servlet
    (JSP/Servlet             )
•
•        Java, JSP/Servlet
    (JSP/Servlet             )
•

•
•        Java, JSP/Servlet
    (JSP/Servlet             )
•

•

•
GAE
•   Google App Engine
•                   Java , Python JRuby, Scala   OK
•                  BigTable
•
GAE
•   Google App Engine
•                   Java , Python JRuby, Scala   OK
•                  BigTable
•

    ★Google
GAE
•   Google App Engine
•                   Java , Python JRuby, Scala   OK
•                  BigTable
•

    ★Google

    ★
GAE
•   Google App Engine
•                   Java , Python JRuby, Scala   OK
•                  BigTable
•

    ★Google

    ★

    ★
GAE
•   Google App Engine
•                   Java , Python JRuby, Scala   OK
•                  BigTable
•

    ★Google

    ★

    ★

    ★
GAE
•   Google App Engine
•                   Java , Python JRuby, Scala         OK
•                  BigTable
•

    ★Google

    ★

    ★

    ★

    ★appspot.com                                 SSL
GAE
•   Google App Engine
•                   Java , Python JRuby, Scala         OK
•                  BigTable
•

    ★Google

    ★

    ★

    ★

    ★appspot.com                                 SSL
    ★                            SSL
GAE




•   ※             1   2
•   2
•   2                     500


•   Google Checkout
Amazon EC2                GAE

                  Google
                     Java / Python
                       BigTable


(1            )
Amazon EC2                GAE

                  Google
                     Java / Python
                       BigTable


(1            )




          GAE
Python   Java
Python   Java



•   Python
Python        Java



•   Python
•   Java              Android Java
Python              Java



•   Python
•   Java                  Android Java




•   BigTable            GAE/Java
    Slim3
GAE/Java Slim3

•   GAE/Java
    ★JSP/Servlet            •   Slim3
    ★BigTable                   ★BigTable
    ★BigTable                       ✦Low   Level API
      ✦JDO                      ★WebAPI

                                    ✦JSON
      ✦JPA
                                ★Ant

      ✦Low   Level API          ★
GAE/Java Slim3

•   GAE/Java
    ★JSP/Servlet            •   Slim3
    ★BigTable                   ★BigTable
    ★BigTable                       ✦Low   Level API
      ✦JDO                      ★WebAPI

                                    ✦JSON
      ✦JPA
                                ★Ant

      ✦Low   Level API          ★
• Eclipse Helios(3.6)
• Google Plugin(Eclipse Marketplace         )
    ★        GAE/Java SDK
•   Slim3 Plugin(Slim3                      URL     )
    ★

•   Properties Editor(Eclipse Marketplace       )
    ★
Hello, world
1.Project           Slim3 Plugin
2.build.xml
3.Outline        gen-controller
 Run As → Ant Build
4.               URL               /
5.
6.                     Project
 Run As → Web Application
7.http://localhost:8888/
GAE
GAE

 GAE
GAE

                GAE

1.Project             Google → App Engine Setting
2.Application ID            ApplicationID

3.Project             Google → Deploy to App Engine
4.          Google


5.
6.
              OK
Slim3

•

•   https://github.com/patorash/SampleBBS
                      Downloads      zip
•   Eclipse               File → import
•   Existing Projects into Workspace
•   Select archive file       DL        zip   finish
•
GAE
•   Big Table             Key Value Store
    ★           →
    ★    →
    ★           →
•                         1MB


•



•                    1
Slim3

•   Ant
•   Model


•



    GAE         1
Model

•

    ★            =
    ★Model             =
    ★                      =
•   Bbs Comment
•   build.xml
•   setter, getter
•                    (ModelRef<class>)
Service



•   build.xml
•

•   Create, Read, Update, Delete
Controller


•   build.xml
•   gen-controller controller     war        JSP
           (JSP   View)
•   View                     gen-controller-without-view controller
                  (WebAPI                    )
View


•   war                    JSP
•                  Controller    JSP


•   JSP   import
POST

•   Controller
•   Validators          request
        Validators v = new Validators(request);

•

        v.add(“name”, v.required());

•                          false
        v.validate();

•   errors                  JSP


•                application_ja.properties
•   URL
    (http://localhost:8888/read/100   /read?id=100   )
•   AppRouter.java
    addRouting("/read/{id}", "/read?id={id}");

More Related Content

What's hot

Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Matt Raible
 
What's New in JHipsterLand - Devoxx US 2017
What's New in JHipsterLand - Devoxx US 2017What's New in JHipsterLand - Devoxx US 2017
What's New in JHipsterLand - Devoxx US 2017
Matt Raible
 
淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2
Wen-Tien Chang
 
Calabash-android
Calabash-androidCalabash-android
Calabash-android
Adnan8990
 
OpenAPI Specification概要
OpenAPI Specification概要OpenAPI Specification概要
OpenAPI Specification概要
Kazuchika Sekiya
 
Swagger 2.0: Latest and Greatest
Swagger 2.0: Latest and GreatestSwagger 2.0: Latest and Greatest
Swagger 2.0: Latest and Greatest
LaunchAny
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under ControlKYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under Control
Coimbra JUG
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM
ICF CIRCUIT
 
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
Matt Raible
 
Calabash Andoird + Calabash iOS
Calabash Andoird + Calabash iOSCalabash Andoird + Calabash iOS
Calabash Andoird + Calabash iOS
Anadea
 
Euroclojure2014: Schema & Swagger - making your Clojure web APIs more awesome
Euroclojure2014: Schema & Swagger - making your Clojure web APIs more awesomeEuroclojure2014: Schema & Swagger - making your Clojure web APIs more awesome
Euroclojure2014: Schema & Swagger - making your Clojure web APIs more awesome
Metosin Oy
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016
Adrian Philipp
 
Loading native plugins using PhoneGap content-sync
Loading native plugins using PhoneGap content-syncLoading native plugins using PhoneGap content-sync
Loading native plugins using PhoneGap content-sync
Shazron Abdullah
 
SEO Why bother if your site is dead slow
SEO Why bother if your site is dead slowSEO Why bother if your site is dead slow
SEO Why bother if your site is dead slow
Jira ICT
 
Scala on Rails #rakutentech
Scala on Rails #rakutentechScala on Rails #rakutentech
Scala on Rails #rakutentech
Kazuhiro Sera
 
Spring Boot and JHipster
Spring Boot and JHipsterSpring Boot and JHipster
Spring Boot and JHipster
Eueung Mulyana
 
PhoneGap Day EU 2016 - Closing Remarks
PhoneGap Day EU 2016 -  Closing RemarksPhoneGap Day EU 2016 -  Closing Remarks
PhoneGap Day EU 2016 - Closing Remarks
Shazron Abdullah
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Konstantin Gredeskoul
 
Different ways of integrating React into Rails - Mikhail Bortnyk
Different ways of integrating React into Rails - Mikhail BortnykDifferent ways of integrating React into Rails - Mikhail Bortnyk
Different ways of integrating React into Rails - Mikhail Bortnyk
Ruby Meditation
 

What's hot (20)

Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
 
What's New in JHipsterLand - Devoxx US 2017
What's New in JHipsterLand - Devoxx US 2017What's New in JHipsterLand - Devoxx US 2017
What's New in JHipsterLand - Devoxx US 2017
 
淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2
 
Calabash-android
Calabash-androidCalabash-android
Calabash-android
 
OpenAPI Specification概要
OpenAPI Specification概要OpenAPI Specification概要
OpenAPI Specification概要
 
Swagger 2.0: Latest and Greatest
Swagger 2.0: Latest and GreatestSwagger 2.0: Latest and Greatest
Swagger 2.0: Latest and Greatest
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under ControlKYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under Control
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM
 
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
 
Calabash Andoird + Calabash iOS
Calabash Andoird + Calabash iOSCalabash Andoird + Calabash iOS
Calabash Andoird + Calabash iOS
 
Euroclojure2014: Schema & Swagger - making your Clojure web APIs more awesome
Euroclojure2014: Schema & Swagger - making your Clojure web APIs more awesomeEuroclojure2014: Schema & Swagger - making your Clojure web APIs more awesome
Euroclojure2014: Schema & Swagger - making your Clojure web APIs more awesome
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016
 
Loading native plugins using PhoneGap content-sync
Loading native plugins using PhoneGap content-syncLoading native plugins using PhoneGap content-sync
Loading native plugins using PhoneGap content-sync
 
SEO Why bother if your site is dead slow
SEO Why bother if your site is dead slowSEO Why bother if your site is dead slow
SEO Why bother if your site is dead slow
 
Mojolicious mvc
Mojolicious mvcMojolicious mvc
Mojolicious mvc
 
Scala on Rails #rakutentech
Scala on Rails #rakutentechScala on Rails #rakutentech
Scala on Rails #rakutentech
 
Spring Boot and JHipster
Spring Boot and JHipsterSpring Boot and JHipster
Spring Boot and JHipster
 
PhoneGap Day EU 2016 - Closing Remarks
PhoneGap Day EU 2016 -  Closing RemarksPhoneGap Day EU 2016 -  Closing Remarks
PhoneGap Day EU 2016 - Closing Remarks
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)
 
Different ways of integrating React into Rails - Mikhail Bortnyk
Different ways of integrating React into Rails - Mikhail BortnykDifferent ways of integrating React into Rails - Mikhail Bortnyk
Different ways of integrating React into Rails - Mikhail Bortnyk
 

Similar to Gae開発入門

Go on GAE (Go Israel Meetup)
Go on GAE (Go Israel Meetup)Go on GAE (Go Israel Meetup)
Go on GAE (Go Israel Meetup)
Or Hiltch
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
Guillaume Laforge
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Enginemdc11
 
Introduction to Play Framework
Introduction to Play FrameworkIntroduction to Play Framework
Introduction to Play Framework
Warren Zhou
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9
Trisha Gee
 
Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for Java
Kunal Dabir
 
Polyglot Grails
Polyglot GrailsPolyglot Grails
Polyglot Grails
Marcin Gryszko
 
Implementing your own Google App Engine
Implementing your own Google App Engine Implementing your own Google App Engine
Implementing your own Google App Engine
Virtual JBoss User Group
 
Devfest09 App Engine Java
Devfest09  App Engine  JavaDevfest09  App Engine  Java
Devfest09 App Engine Java
Chris Schalk
 
初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料
Shinichi Ogawa
 
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020 자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
AWSKRUG - AWS한국사용자모임
 
Padrino - the Godfather of Sinatra
Padrino - the Godfather of SinatraPadrino - the Godfather of Sinatra
Padrino - the Godfather of Sinatra
Stoyan Zhekov
 
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Vadym Kazulkin
 
Deploy Python apps in 5 min with a PaaS
Deploy Python apps in 5 min with a PaaSDeploy Python apps in 5 min with a PaaS
Deploy Python apps in 5 min with a PaaS
Appsembler
 
Real World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains WebinarReal World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains Webinar
Trisha Gee
 
Gaelyk update - Guillaume Laforge - SpringOne2GX 2011
Gaelyk update - Guillaume Laforge - SpringOne2GX 2011Gaelyk update - Guillaume Laforge - SpringOne2GX 2011
Gaelyk update - Guillaume Laforge - SpringOne2GX 2011
Guillaume Laforge
 
Python x Django
Python x DjangoPython x Django
Python x Django
Shin Tokiwa
 
Impression of Rails 3
Impression of Rails 3Impression of Rails 3
Impression of Rails 3
Kosuke Matsuda
 
goaを使った開発TIPS@六本木一丁目
goaを使った開発TIPS@六本木一丁目goaを使った開発TIPS@六本木一丁目
goaを使った開発TIPS@六本木一丁目
jumpei chikamori
 

Similar to Gae開発入門 (20)

Go on GAE (Go Israel Meetup)
Go on GAE (Go Israel Meetup)Go on GAE (Go Israel Meetup)
Go on GAE (Go Israel Meetup)
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Introduction to Play Framework
Introduction to Play FrameworkIntroduction to Play Framework
Introduction to Play Framework
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9
 
Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for Java
 
Polyglot Grails
Polyglot GrailsPolyglot Grails
Polyglot Grails
 
Implementing your own Google App Engine
Implementing your own Google App Engine Implementing your own Google App Engine
Implementing your own Google App Engine
 
Devfest09 App Engine Java
Devfest09  App Engine  JavaDevfest09  App Engine  Java
Devfest09 App Engine Java
 
初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料
 
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020 자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
 
Padrino - the Godfather of Sinatra
Padrino - the Godfather of SinatraPadrino - the Godfather of Sinatra
Padrino - the Godfather of Sinatra
 
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
 
Deploy Python apps in 5 min with a PaaS
Deploy Python apps in 5 min with a PaaSDeploy Python apps in 5 min with a PaaS
Deploy Python apps in 5 min with a PaaS
 
Real World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains WebinarReal World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains Webinar
 
Gaelyk update - Guillaume Laforge - SpringOne2GX 2011
Gaelyk update - Guillaume Laforge - SpringOne2GX 2011Gaelyk update - Guillaume Laforge - SpringOne2GX 2011
Gaelyk update - Guillaume Laforge - SpringOne2GX 2011
 
Python x Django
Python x DjangoPython x Django
Python x Django
 
Impression of Rails 3
Impression of Rails 3Impression of Rails 3
Impression of Rails 3
 
goaを使った開発TIPS@六本木一丁目
goaを使った開発TIPS@六本木一丁目goaを使った開発TIPS@六本木一丁目
goaを使った開発TIPS@六本木一丁目
 

More from 豊明 尾古

OSS-DB 取得のススメ
OSS-DB 取得のススメOSS-DB 取得のススメ
OSS-DB 取得のススメ
豊明 尾古
 
Ormとの付き合い方
Ormとの付き合い方Ormとの付き合い方
Ormとの付き合い方
豊明 尾古
 
Ecmascript2015とその周辺について
Ecmascript2015とその周辺についてEcmascript2015とその周辺について
Ecmascript2015とその周辺について
豊明 尾古
 
ActiveRecord::Enumのススメ
ActiveRecord::EnumのススメActiveRecord::Enumのススメ
ActiveRecord::Enumのススメ
豊明 尾古
 
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
豊明 尾古
 
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有するウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
豊明 尾古
 
Middlemanによる静的サイト作成術
Middlemanによる静的サイト作成術Middlemanによる静的サイト作成術
Middlemanによる静的サイト作成術
豊明 尾古
 
Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪
豊明 尾古
 
Rails templateで開発の初速を上げよう
Rails templateで開発の初速を上げようRails templateで開発の初速を上げよう
Rails templateで開発の初速を上げよう
豊明 尾古
 
KotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみたKotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみた豊明 尾古
 
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介豊明 尾古
 
Kotlinの紹介
Kotlinの紹介Kotlinの紹介
Kotlinの紹介
豊明 尾古
 
Slimの紹介
Slimの紹介Slimの紹介
Slimの紹介
豊明 尾古
 
Calabashでbddしようぜ
CalabashでbddしようぜCalabashでbddしようぜ
Calabashでbddしようぜ
豊明 尾古
 
Rubotoを試してみた
Rubotoを試してみたRubotoを試してみた
Rubotoを試してみた
豊明 尾古
 
アプリ内課金してみた
アプリ内課金してみたアプリ内課金してみた
アプリ内課金してみた
豊明 尾古
 
Webデザイナーのためのandroid用レイアウト講座
Webデザイナーのためのandroid用レイアウト講座Webデザイナーのためのandroid用レイアウト講座
Webデザイナーのためのandroid用レイアウト講座
豊明 尾古
 
Android 3.Xアプリを開発してみて
Android 3.Xアプリを開発してみてAndroid 3.Xアプリを開発してみて
Android 3.Xアプリを開発してみて
豊明 尾古
 
ABC2011 Winter #jag4
ABC2011 Winter #jag4ABC2011 Winter #jag4
ABC2011 Winter #jag4
豊明 尾古
 

More from 豊明 尾古 (20)

OSS-DB 取得のススメ
OSS-DB 取得のススメOSS-DB 取得のススメ
OSS-DB 取得のススメ
 
Ormとの付き合い方
Ormとの付き合い方Ormとの付き合い方
Ormとの付き合い方
 
Ecmascript2015とその周辺について
Ecmascript2015とその周辺についてEcmascript2015とその周辺について
Ecmascript2015とその周辺について
 
ActiveRecord::Enumのススメ
ActiveRecord::EnumのススメActiveRecord::Enumのススメ
ActiveRecord::Enumのススメ
 
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
 
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有するウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
 
Middlemanによる静的サイト作成術
Middlemanによる静的サイト作成術Middlemanによる静的サイト作成術
Middlemanによる静的サイト作成術
 
Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪
 
Rails templateで開発の初速を上げよう
Rails templateで開発の初速を上げようRails templateで開発の初速を上げよう
Rails templateで開発の初速を上げよう
 
KotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみたKotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみた
 
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介
 
Kotlinの紹介
Kotlinの紹介Kotlinの紹介
Kotlinの紹介
 
Slimの紹介
Slimの紹介Slimの紹介
Slimの紹介
 
Calabashでbddしようぜ
CalabashでbddしようぜCalabashでbddしようぜ
Calabashでbddしようぜ
 
Rubotoを試してみた
Rubotoを試してみたRubotoを試してみた
Rubotoを試してみた
 
Successful git
Successful gitSuccessful git
Successful git
 
アプリ内課金してみた
アプリ内課金してみたアプリ内課金してみた
アプリ内課金してみた
 
Webデザイナーのためのandroid用レイアウト講座
Webデザイナーのためのandroid用レイアウト講座Webデザイナーのためのandroid用レイアウト講座
Webデザイナーのためのandroid用レイアウト講座
 
Android 3.Xアプリを開発してみて
Android 3.Xアプリを開発してみてAndroid 3.Xアプリを開発してみて
Android 3.Xアプリを開発してみて
 
ABC2011 Winter #jag4
ABC2011 Winter #jag4ABC2011 Winter #jag4
ABC2011 Winter #jag4
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 

Gae開発入門

  • 2. • • H/N twitter: @patorash • Android, CakePHP, WordPress, GAE(?) etc... • Android GTUG • 2 PHP 5 Softbank Desire Android 12
  • 3. GAE
  • 4.
  • 5. Java, JSP/Servlet (JSP/Servlet )
  • 6. Java, JSP/Servlet (JSP/Servlet ) •
  • 7. Java, JSP/Servlet (JSP/Servlet ) • •
  • 8. Java, JSP/Servlet (JSP/Servlet ) • • •
  • 9. GAE • Google App Engine • Java , Python JRuby, Scala OK • BigTable •
  • 10. GAE • Google App Engine • Java , Python JRuby, Scala OK • BigTable • ★Google
  • 11. GAE • Google App Engine • Java , Python JRuby, Scala OK • BigTable • ★Google ★
  • 12. GAE • Google App Engine • Java , Python JRuby, Scala OK • BigTable • ★Google ★ ★
  • 13. GAE • Google App Engine • Java , Python JRuby, Scala OK • BigTable • ★Google ★ ★ ★
  • 14. GAE • Google App Engine • Java , Python JRuby, Scala OK • BigTable • ★Google ★ ★ ★ ★appspot.com SSL
  • 15. GAE • Google App Engine • Java , Python JRuby, Scala OK • BigTable • ★Google ★ ★ ★ ★appspot.com SSL ★ SSL
  • 16. GAE • ※ 1 2 • 2 • 2 500 • Google Checkout
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Amazon EC2 GAE Google Java / Python BigTable (1 )
  • 22. Amazon EC2 GAE Google Java / Python BigTable (1 ) GAE
  • 23. Python Java
  • 24. Python Java • Python
  • 25. Python Java • Python • Java Android Java
  • 26. Python Java • Python • Java Android Java • BigTable GAE/Java Slim3
  • 27. GAE/Java Slim3 • GAE/Java ★JSP/Servlet • Slim3 ★BigTable ★BigTable ★BigTable ✦Low Level API ✦JDO ★WebAPI ✦JSON ✦JPA ★Ant ✦Low Level API ★
  • 28. GAE/Java Slim3 • GAE/Java ★JSP/Servlet • Slim3 ★BigTable ★BigTable ★BigTable ✦Low Level API ✦JDO ★WebAPI ✦JSON ✦JPA ★Ant ✦Low Level API ★
  • 29. • Eclipse Helios(3.6) • Google Plugin(Eclipse Marketplace ) ★ GAE/Java SDK • Slim3 Plugin(Slim3 URL ) ★ • Properties Editor(Eclipse Marketplace ) ★
  • 30. Hello, world 1.Project Slim3 Plugin 2.build.xml 3.Outline gen-controller Run As → Ant Build 4. URL / 5. 6. Project Run As → Web Application 7.http://localhost:8888/
  • 31. GAE
  • 33. GAE GAE 1.Project Google → App Engine Setting 2.Application ID ApplicationID 3.Project Google → Deploy to App Engine 4. Google 5. 6. OK
  • 34. Slim3 • • https://github.com/patorash/SampleBBS Downloads zip • Eclipse File → import • Existing Projects into Workspace • Select archive file DL zip finish •
  • 35. GAE • Big Table Key Value Store ★ → ★ → ★ → • 1MB • • 1
  • 36. Slim3 • Ant • Model • GAE 1
  • 37. Model • ★ = ★Model = ★ = • Bbs Comment • build.xml • setter, getter • (ModelRef<class>)
  • 38. Service • build.xml • • Create, Read, Update, Delete
  • 39. Controller • build.xml • gen-controller controller war JSP (JSP View) • View gen-controller-without-view controller (WebAPI )
  • 40. View • war JSP • Controller JSP • JSP import
  • 41. POST • Controller • Validators request Validators v = new Validators(request); • v.add(“name”, v.required()); • false v.validate(); • errors JSP • application_ja.properties
  • 42. URL (http://localhost:8888/read/100 /read?id=100 ) • AppRouter.java addRouting("/read/{id}", "/read?id={id}");

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n