SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
GAE ハンズオン
GCPUG Beginner Tokyo
2018/11/20
だれぞ
SlideShare
● GCP&モバイルいろいろやるエンジニアです
GAEってなんぞや
メンテ不要でスケールインアウトばりばり
アップロードした後は、だいたい何もしなくてももいいです。
アクセスが多くなってきた場合は、応答不能にならないように
インスタンス(マシンの台数みたいなもん)が勝手に立ち上がり、
落ち着いたら勝手にシャットダウンしていきます。
細かい点はそれなりにあるのですが、割と取っつきやすいしすぐ試せるので、
「サーバーとかちょろいやん」と思ってしまう可能性もあるくらいです。気をつけましょう。
コード書いてアップするだけなのにメンテ不要でスケールインアウトばりばりやってくれちゃう奴、です!
え、どういうこと?
コード書いてアップするだけ
具体的には、言語ごとにある程度決まった構成+GAE用の設定ファイル+サーバー的なコードを用意して、Cloud SDKに含まれる
gcloudなるCLIツールを使って、アップロードを実行します。
今日やること
ハンズオンということなので、とにかく手を動かしていく形で学んでいきたいと思います。
といってもそんなに多くはありません。最低限動かせるところまで行って、時間が余ったら各自遊ぶ感じで!
やる内容は以下の通り
● GAEを準備しよう
● 環境を作ってみよう(今回はズルします)
● デプロイしてみよう
● テストしてみよう
● コードの修正を反映してみよう
● ログを出してみよう
● コンソールを見てみよう
● バージョンってなんぞ
● サービスってなんぞ
● dispatchしてみよう
今日やらないこと
また、やらない内容もあります。Google先生が優しく教えてくれると思います。
● GAEの歴史
● GAEの裏っかわとか2nd Editionとか
● DataStoreとかTaskQueueとか
● 負荷かけてみる
駆け足で喋って10分止まるみたいな感じで進めます。
スライドはconnpassで送ります。
GAEを準備しよう
環境を作ってみよう(今回はズルします)
App Engine スタンダード環境向けの Java8のクイックスタート
git clone https://github.com/GoogleCloudPlatform/getting-started-java.git
cd getting-started-java/appengine-standard-java8/helloworld
立ち上げてみよう
依存モジュールのダウンロードがスタート!それなりに待ちます。
おそろしいことにERRORが発生しました。
mvn appengine:run
ここにあるやつ消しちゃいましょう!
(作者はもう消してしまったので空欄だけどゆるして )
control + cでdevサーバーを止めます。
調べてませんが、テストがこけているエラーのようです。
mvn appengine:run
デプロイしてみよう
mvn appengine:deploy
テストしてみよう
コードの修正を反映してみよう
mvn appengine:deploy
ログを出してみよう
mvn appengine:deploy
右のページを表示してください
ログのコード(コピペ用)
import java.util.logging.Logger;
// With @WebServlet annotation the webapp/WEB-INF/web.xml is no longer required.
@WebServlet(name = "HelloAppEngine", value = "/hello")
public class HelloAppEngine extends HttpServlet {
private static final Logger log = Logger.getLogger(HelloAppEngine.class.getName());
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
log.info("My first Log");
コンソールを見てみよう
バージョンってなんぞ
サービスってなんぞ
mvn appengine:deploy
dispatchしてみよう①
mvn appengine:deploy
dispatch①のコード(コピペ用)
package com.example.appengine.java8;
// [START example]
import com.google.appengine.api.utils.SystemProperty;
import java.io.IOException;
import java.util.Properties;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.logging.Logger;
// With @WebServlet annotation the webapp/WEB-INF/web.xml is no longer required.
@WebServlet(name = "GoodbyAppEngine", value = "/goodby")
public class GoodbyAppEngine extends HttpServlet {
private static final Logger log = Logger.getLogger(HelloAppEngine.class.getName());
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
log.info("goodby!");
Properties properties = System.getProperties();
response.setContentType("text/plain");
response.getWriter().println("GAE HandsOn!!!! Hello App Engine - Standard using "
+ SystemProperty.version.get() + " Java "
+ properties.get("java.specification.version"));
}
public static String getInfo() {
return "Version: " + System.getProperty("java.version")
+ " OS: " + System.getProperty("os.name")
+ " User: " + System.getProperty("user.name");
}
}
gcloud app deploy dispatch.yaml
dispatchしてみよう②
dispatch②のコード(コピペ用)
dispatch:
- url: "*/hello"
service: myservice
- url: "*/goodby"
service: goodby
dispatchしてみよう③
それぞれ違うサービスの下にあるバージョンで管理されているインスタンスにアクセスしている
https://cloud.google.com/appengine/docs/standard/java/config/appref?hl=ja
dispatchしてみよう④
本日は以上になります。お疲れ様でした!

Contenu connexe

Tendances

今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeomantomo_masakura
 
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜Erina Takei
 
PHPerがgolangでもがいてる話@第1回 関西Golang勉強会
PHPerがgolangでもがいてる話@第1回 関西Golang勉強会PHPerがgolangでもがいてる話@第1回 関西Golang勉強会
PHPerがgolangでもがいてる話@第1回 関西Golang勉強会Keisuke Utsumi
 
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10Yuusuke Takeuchi
 
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おうHayashi Yuichi
 
LabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training SlideLabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training SlideYusuke Tochigi
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#Yuta Matsumura
 
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田Y Watanabe
 
久しぶりにWebエンジニアのためのプロジェクションマッピング
久しぶりにWebエンジニアのためのプロジェクションマッピング久しぶりにWebエンジニアのためのプロジェクションマッピング
久しぶりにWebエンジニアのためのプロジェクションマッピングKatsuyaENDOH
 
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩Y Watanabe
 
Bicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure DeployBicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure DeployTakekazu Omi
 
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~normalian
 
THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)KatsuyaENDOH
 
Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuningssuser3c214d
 
インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話雅也 山本
 
日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生Yuusuke Takeuchi
 
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
既存Objective-CプロジェクトをSwiftに移行した時ハマったことapuruni
 
Webエンジニアのための
プロジェクションマッピング
Webエンジニアのための
プロジェクションマッピングWebエンジニアのための
プロジェクションマッピング
Webエンジニアのための
プロジェクションマッピングKatsuyaENDOH
 
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子schoowebcampus
 

Tendances (20)

今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
 
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
 
PHPerがgolangでもがいてる話@第1回 関西Golang勉強会
PHPerがgolangでもがいてる話@第1回 関西Golang勉強会PHPerがgolangでもがいてる話@第1回 関西Golang勉強会
PHPerがgolangでもがいてる話@第1回 関西Golang勉強会
 
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
 
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
 
LabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training SlideLabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training Slide
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
 
久しぶりにWebエンジニアのためのプロジェクションマッピング
久しぶりにWebエンジニアのためのプロジェクションマッピング久しぶりにWebエンジニアのためのプロジェクションマッピング
久しぶりにWebエンジニアのためのプロジェクションマッピング
 
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
 
Bicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure DeployBicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure Deploy
 
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
 
THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)
 
Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuning
 
インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話
 
Ipv6+JMeter+GAE
Ipv6+JMeter+GAEIpv6+JMeter+GAE
Ipv6+JMeter+GAE
 
日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生
 
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
 
Webエンジニアのための
プロジェクションマッピング
Webエンジニアのための
プロジェクションマッピングWebエンジニアのための
プロジェクションマッピング
Webエンジニアのための
プロジェクションマッピング
 
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
 

Similaire à Gae hands on

BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話Katsunori Kanda
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜Yuji Nojima
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & AppsGoogle Cloud Platform - Japan
 
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由gree_tech
 
GUIツールで送る快適な Gitライフ@Creators MeetUp #29
GUIツールで送る快適な Gitライフ@Creators MeetUp #29GUIツールで送る快適な Gitライフ@Creators MeetUp #29
GUIツールで送る快適な Gitライフ@Creators MeetUp #29Erina Takei
 
Tech lounge gcp_20190313
Tech lounge gcp_20190313Tech lounge gcp_20190313
Tech lounge gcp_20190313yutaka_baba
 
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015Ryo Nakamaru
 
AWS SDK for Go を使って作ってみた話
AWS SDK for Go を使って作ってみた話AWS SDK for Go を使って作ってみた話
AWS SDK for Go を使って作ってみた話uchimanajet7
 
俺とGitHubとcodeシリーズ
俺とGitHubとcodeシリーズ俺とGitHubとcodeシリーズ
俺とGitHubとcodeシリーズMasayuki KaToH
 
Google Apps Script 概要
Google Apps Script 概要Google Apps Script 概要
Google Apps Script 概要Y OCHI
 
Gcpug begginers #1LT startup scriptとshutdown script
Gcpug begginers #1LT startup scriptとshutdown scriptGcpug begginers #1LT startup scriptとshutdown script
Gcpug begginers #1LT startup scriptとshutdown scripttsukasa tamaru
 
Gwt+objectifyでラクラクGAEアプリ開発
Gwt+objectifyでラクラクGAEアプリ開発Gwt+objectifyでラクラクGAEアプリ開発
Gwt+objectifyでラクラクGAEアプリ開発Y OCHI
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみたKazuya Wada
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメTetsuyuki Kobayashi
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介Mori Shingo
 
WordCampOsaka2012 開発ツール談義「NetBeans」
WordCampOsaka2012 開発ツール談義「NetBeans」WordCampOsaka2012 開発ツール談義「NetBeans」
WordCampOsaka2012 開発ツール談義「NetBeans」Atsuhiro Takiguchi
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradlekimukou_26 Kimukou
 

Similaire à Gae hands on (20)

BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
 
Datalab and colaboratory
Datalab and colaboratoryDatalab and colaboratory
Datalab and colaboratory
 
Google Product
Google ProductGoogle Product
Google Product
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
 
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由
 
GUIツールで送る快適な Gitライフ@Creators MeetUp #29
GUIツールで送る快適な Gitライフ@Creators MeetUp #29GUIツールで送る快適な Gitライフ@Creators MeetUp #29
GUIツールで送る快適な Gitライフ@Creators MeetUp #29
 
Tech lounge gcp_20190313
Tech lounge gcp_20190313Tech lounge gcp_20190313
Tech lounge gcp_20190313
 
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015
 
AWS SDK for Go を使って作ってみた話
AWS SDK for Go を使って作ってみた話AWS SDK for Go を使って作ってみた話
AWS SDK for Go を使って作ってみた話
 
俺とGitHubとcodeシリーズ
俺とGitHubとcodeシリーズ俺とGitHubとcodeシリーズ
俺とGitHubとcodeシリーズ
 
Google Apps Script 概要
Google Apps Script 概要Google Apps Script 概要
Google Apps Script 概要
 
Serverless on GCP
Serverless on GCPServerless on GCP
Serverless on GCP
 
Gcpug begginers #1LT startup scriptとshutdown script
Gcpug begginers #1LT startup scriptとshutdown scriptGcpug begginers #1LT startup scriptとshutdown script
Gcpug begginers #1LT startup scriptとshutdown script
 
Gwt+objectifyでラクラクGAEアプリ開発
Gwt+objectifyでラクラクGAEアプリ開発Gwt+objectifyでラクラクGAEアプリ開発
Gwt+objectifyでラクラクGAEアプリ開発
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
WordCampOsaka2012 開発ツール談義「NetBeans」
WordCampOsaka2012 開発ツール談義「NetBeans」WordCampOsaka2012 開発ツール談義「NetBeans」
WordCampOsaka2012 開発ツール談義「NetBeans」
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradle
 

Plus de Hayato Ito

Gasライブデモ20210715
Gasライブデモ20210715Gasライブデモ20210715
Gasライブデモ20210715Hayato Ito
 
App Makerってなんぞ
App MakerってなんぞApp Makerってなんぞ
App MakerってなんぞHayato Ito
 
pontemでspannerのバックアップとるぞ
pontemでspannerのバックアップとるぞpontemでspannerのバックアップとるぞ
pontemでspannerのバックアップとるぞHayato Ito
 
国内Cloud spanner初事例!「迎車料金無し!新感覚タクシーアプリ「フルクル」」
国内Cloud spanner初事例!「迎車料金無し!新感覚タクシーアプリ「フルクル」」 国内Cloud spanner初事例!「迎車料金無し!新感覚タクシーアプリ「フルクル」」
国内Cloud spanner初事例!「迎車料金無し!新感覚タクシーアプリ「フルクル」」 Hayato Ito
 
Wordpress on gae se
Wordpress on gae se Wordpress on gae se
Wordpress on gae se Hayato Ito
 
Spannerをrestでつかってみた
SpannerをrestでつかってみたSpannerをrestでつかってみた
SpannerをrestでつかってみたHayato Ito
 

Plus de Hayato Ito (6)

Gasライブデモ20210715
Gasライブデモ20210715Gasライブデモ20210715
Gasライブデモ20210715
 
App Makerってなんぞ
App MakerってなんぞApp Makerってなんぞ
App Makerってなんぞ
 
pontemでspannerのバックアップとるぞ
pontemでspannerのバックアップとるぞpontemでspannerのバックアップとるぞ
pontemでspannerのバックアップとるぞ
 
国内Cloud spanner初事例!「迎車料金無し!新感覚タクシーアプリ「フルクル」」
国内Cloud spanner初事例!「迎車料金無し!新感覚タクシーアプリ「フルクル」」 国内Cloud spanner初事例!「迎車料金無し!新感覚タクシーアプリ「フルクル」」
国内Cloud spanner初事例!「迎車料金無し!新感覚タクシーアプリ「フルクル」」
 
Wordpress on gae se
Wordpress on gae se Wordpress on gae se
Wordpress on gae se
 
Spannerをrestでつかってみた
SpannerをrestでつかってみたSpannerをrestでつかってみた
Spannerをrestでつかってみた
 

Gae hands on