Upgrade to Pro — share decks privately, control downloads, hide ads and more …

トイレ空き状況サービスから学んだ、GAEで構築したPHPerによるIoTサービス/gae-ja-night-2

 トイレ空き状況サービスから学んだ、GAEで構築したPHPerによるIoTサービス/gae-ja-night-2

トイレの空き状況を見ることはIoT入門として、たくさんの記事やサービスとして実現されてきました。
このたび toiletevolution.space として、オープンソースでサービスを公開しました。
構想から1年半を要したこのサービス。様々なアーキテクチャを検討する中で、 GAE上で動くAPIサーバーをSlim3で構築しました。
サービスを構築する上でGAEで工夫したところや学んだこと、現時点のトイレ空き状況サービスの課題と、今後のサービス展望について稲妻トーク(LT)します。

Kenichiro Kishida

October 26, 2017
Tweet

More Decks by Kenichiro Kishida

Other Decks in Technology

Transcript

  1. τΠϨۭ͖ঢ়گαʔϏε͔Β
    ֶΜͩɺ("&Ͱߏஙͨ͠
    1)1FSʹΑΔ*P5αʔϏε
    ΍ͬͺΓ"QQ&OHJOFKBOJHIUCZ!TJ[VIJLP

    View Slide

  2. ,FOJDIJSP,JTIJEB
    5PLZP +"1"/
    TJ[VIJLP!HNBJMDPN !TJ[VIJLP
    IUUQTHJUIVCDPNTJ[VIJLP
    IUUQCMPHPQFOUPLZPKQ

    View Slide

  3. େࣄͳ͜ͱ͸࠷ॳʹ

    View Slide

  4. https://polymer-japan.connpass.com/event/69080/

    View Slide

  5. ͋Γ·ͤΜ͔ʁ
    ٸ͍Ͱ͍Δͱ͖ʹ
    ݶͬͯʜ

    View Slide

  6. શ෦ด·͍ͬͯΔ

    View Slide

  7. wͱͯ΋ࠞΜͰ͍Δ࣌ؒଳ
    w͍ͭ΋ࠞΜͰ͍ΔϑϩΞ
    wۈ຿͍ͯ͠Δஉঁൺͷҧ͍
    େܕςφϯτϏϧ͋Δ͋Δ

    View Slide

  8. wԼͷϑϩΞʹߦ͘΂͖͔
    w͍ͭ΋͸ۭ͍͍ͯΔ͸ͣʜ
    w্ͷϑϩΞʹߦ͘΂͖͔
    wͦͷ··ฒͿ͔ʜ

    View Slide

  9. τΠϨͷۭ͖ঢ়گ
    Λݟ͑ΔԽ͍ͨ͠

    View Slide

  10. https://toiletevolution.space
    ͬͦ͜Γ

    View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. View Slide

  16. wσόΠεͱηϯαʔͷᮢ஋Λ؅ཧ
    w)551 T
    ͷ"1*ΛσόΠεʹఏڙ
    wۭ͖ঢ়گදࣔΞϓϦ
    wΦʔϓϯσʔλʗΦʔϓϯιʔε
    5PJMFU&WPMVUJPOͱ͸

    View Slide

  17. wଞͷαʔϏε͸ɺߴ͍ͱ͍ͬͯ
    ΋Ϗδωεͱͯ͠͸ଥ౰
    wͨͩ͠৬৔ͷ؀ڥվળʢݟ͑Δ
    Խ׆ಈʣ͸10$ͳͷͰɺಋೖඅ
    ༻͕ߴ͍ͷ͸ωοΫͳ͸ͣ

    View Slide

  18. ΍Γ͍ͨίτʹಛԽͨ͠
    wτΠϨͷۭ͖ঢ়گʹ4)"͸ඞ
    ཁ͔ʁ)551Ͱ0,Ͱ͸ʂʁ
    w҆ՁͰͰ͖ΔΑ͏ʹ͍ͨ͠
    w੒ޭͨ͠Βεέʔϧ͍ͨ͠
    w࡞ΔͳΒ1)1࢖͍͍ͨ

    View Slide

  19. View Slide

  20. • PHPΞϓϦ࣮ߦ
    • HTML/JS/CSS഑৴
    • Let’s Encrypt
    • ऩूۭ͖ͨ͠৘ใ
    • Json / σόΠε
    • Ϛελʔ؅ཧ
    • Ϣʔβʔ
    • σόΠε
    Cloud Storage
    App Engine
    Cloud Datastore

    View Slide

  21. • Managed SSL ରԠ
    App Engine

    View Slide

  22. w1PMZNFSOQNHVMQ
    w1)14MJN143$PNQPTFS
    w"QQ&OHJOF$MPVE4UPSBHF
    $MPVE%BUBTUPSF
    .FNDBDIFE
    w-FU`T&ODSZQU
    w.BOBHFE44-

    View Slide

  23. w("&ͷΑ͏ͳ1BB4্Ͱ"1*αʔόΛಈ
    ͔͢ͷʹܰྔͳ4MJN͸࠷ద
    w("&ͷػೳΛ࢖ͬͨ୯ମςετ͕೉͍͠
    wϩʔΧϧαʔόʔΛىಈͯ͠ɺ

    ͦͷதͰςετΛىಈ
    w(VMQΛ࢖༷ͬͯʑͳλεΫΛࣗಈԽ

    View Slide

  24. HTTP(s) POST
    HTTP/2
    static_files
    *.html

    *.png

    *.css

    *.js


    View Slide

  25. EFW@BQQTFSWFSQZىಈ
    )551(&5QIQVOJU
    npm run test

    View Slide

  26. View Slide

  27. View Slide

  28. View Slide

  29. https://cloudplatform.googleblog.com/2017/09/
    php-71-for-google-app-engine-is.html

    View Slide

  30. https://cloudplatform.googleblog.com/2017/09/
    php-71-for-google-app-engine-is.html

    View Slide

  31. The PHP 7.1
    runtime is
    available
    for App Engine
    flexible
    environment.

    View Slide

  32. ϑϨΩγϒϧ؀ڥΛ࢖༻͢΂͖৔߹
    ϑϨΩγϒϧ؀ڥ͸ɺελϯμʔυ؀ڥΛิ׬͢Δ͜ͱΛ໨తͱ
    ͍ͯ͠·͢ɻطଘͷΞϓϦέʔγϣϯΛελϯμʔυ؀ڥͰ࣮ߦ
    ͍ͯ͠Δ৔߹ɺΞϓϦέʔγϣϯશମΛϑϨΩγϒϧ؀ڥʹҠߦ
    ͢Δ͜ͱ͸ɺ௨ৗඞཁ͋Γ·ͤΜɻ
    https://cloud.google.com/appengine/docs/flexible/
    java/flexible-for-standard-users?hl=ja

    View Slide

  33. SEがなくなるまでPHP5.5でがんばります

    View Slide

  34. WJTJUNZCMPHHJUIVC
    https://github.com/sizuhiko
    5IBOLZPV
    http://blog.open.tokyo.jp
    https://github.com/toiletevolution

    View Slide