jawsug okinawa 2017:01:28
TRANSCRIPT
JAWS-UG OKINAWA 2017年1回⽬
⾃⼰紹介• 福嶺 秀策(Shusaku
FUKUMINE)• @shumach217(Twitter)• フリーランス
-> サラリーマンにジョブチェンジ (株)ネオラボ• ジョブチェンジしたので、
jawsug関係の宴会のお⼿伝い継続します!!
(株)ネオラボエンジニア募集• 本格的に沖縄に事務所を構えます。• 基本リモートワークOK• 沖縄勤務でも、沖縄だから安いということはなく、能⼒に⾒
合った給料を⽀給• 沖縄のエンジニアは、この半年で10名以上増えてます。• 興味があれば、声をかけてください!!
LTの内容は• AWS IoTの話• Microsoft Cognitive ServicesをAWSのリソースで使った話• 既存のシステム機能拡張の話
LTの内容は• AWS IoTの話• Microsoft Cognitive ServicesをAWSのリソースで使った話• 既存のシステム機能拡張の話
既存システム拡張の要件• PHPで動作• イベント発⽣で特定の端末にPush通知• 期限1ヶ⽉(年末年始含む)で、もちろんちゃんとしたものを実装
本当は要素は上記以外にもあるが省略
システム構成検討• Push通知のためのmBaaS検討• PHPで動作しているシステムの拡張⽅法検討
mBaas検討• Firebase• Googleが買収して、2016年夏に機能強化• Push通知は無料• 幾つかの機能は、有料プランを⽤意
• ニフティクラウド• Parse移⾏に⼒を⼊れている??• Push通知ならコストが安い??
mBaas選択• (使うかどうかは別として)他の機能が便利そうだったので、
Firebaseを選択• モバイル側のSDKの情報量の多さも!!
• Notifications以外にもRealTime Databaseは使⽤しています。• モバイル SDKからクエリの発⾏が可能• Node.jsもサポート
Firebase
PHPで動作しているシステムの拡張• 極⼒、動作している既存のものに⼿を加えたくない。。。• MVCは存在しないベタ書きのPHPコードは触りたくな
い!!!!• API Gateway + Lambda の組み合わせ!!• 追加機能は外部で⽤意し、HTTP Requestで発⽕。• FirebaseはNode.jsに対応している!
Amazon API Gateway
AWSLambda
Amazon EC2
構成図
ハマったところ• API GatewayリソースのCORSの有効化
• ”API リソースが API 独⾃のドメイン以外のドメインからリクエストを受け取る場合、リソースの選択されたメソッドで Cross-Origin Resource Sharing (CORS) を有効にする必要があります”。
• jQueryでajaxを⾏うときに、⾃動で付加されるヘッダが原因。• curlで⼀通りの動作確認後、結合時に発⽣したので、ハマっ
てしまった。
解決出来た理由• Developers.IO• 感謝!!!
まとめ• 2017年もクラスメソッドさんに感謝します!!
ご静聴ありがとうございました