SlideShare a Scribd company logo
Suche senden
Hochladen
Einloggen
Registrieren
Phpでrest apiを作った話
Melden
Yamaguchi Kenya
Folgen
12. Oct 2015
•
0 gefällt mir
•
555 views
1
von
39
Phpでrest apiを作った話
12. Oct 2015
•
0 gefällt mir
•
555 views
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Melden
Technologie
10/9(Fri) phpcon2015の応募に間に合わなかった人たちによるLT大会 資料
Yamaguchi Kenya
Folgen
Recomendados
PHP5.6からPHP7.0への移行
Yasuo Ohgaki
17.5K views
•
89 Folien
DevOpsを実現する為のChef実践テクニック Chef12対応版
Yusuke Ando
4.8K views
•
54 Folien
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
59.7K views
•
42 Folien
Cakephp api
Eiji Yokota
2.4K views
•
13 Folien
WebAPIのバリデーションを、型の力でいい感じにする
Takuya Kikuchi
168 views
•
20 Folien
API スタブをえらんでみた
daylilyfield
1.3K views
•
21 Folien
Más contenido relacionado
Was ist angesagt?
BPStudy #40 - Google Appengine 1.4.0
Ian Lewis
1.3K views
•
20 Folien
OpenWhisk - Docker action で MeCab を動かす
KUNITO Atsunori
946 views
•
39 Folien
Laravel5を使って開発してみた
Takeo Noda
13.5K views
•
32 Folien
Devops @ Gengo -- AWS日本語初会議
Matthew Romaine
1.3K views
•
30 Folien
Serverless apps on aws using scala
Yoshitaka Fujii
695 views
•
20 Folien
Chefで作る開発環境
regret raym
3.8K views
•
36 Folien
Was ist angesagt?
(20)
BPStudy #40 - Google Appengine 1.4.0
Ian Lewis
•
1.3K views
OpenWhisk - Docker action で MeCab を動かす
KUNITO Atsunori
•
946 views
Laravel5を使って開発してみた
Takeo Noda
•
13.5K views
Devops @ Gengo -- AWS日本語初会議
Matthew Romaine
•
1.3K views
Serverless apps on aws using scala
Yoshitaka Fujii
•
695 views
Chefで作る開発環境
regret raym
•
3.8K views
CA流 フロントエンドエンジニアの働きかた
Kazunari Hara
•
833 views
FuelPHPでSentry導入
fagai
•
3.5K views
第12回rest勉強会 これまでの補足・展望編
ksimoji
•
1.6K views
Isomorphic web development with scala and scala.js
TanUkkii
•
23.5K views
第11回rest勉強会 リファクタリング(クライアント編)
ksimoji
•
849 views
第10回rest勉強会 リファクタリング(サーバ編)編
ksimoji
•
927 views
Ansible勉強会資料
Makoto Oya
•
7.2K views
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
•
17.9K views
Amebaプラットフォームの作りかた
Kazunari Hara
•
2.3K views
Customize CakePHP bake
Kazuyuki Aoki
•
6.6K views
私のチームのリーダブルコード
Keisuke Tameyasu
•
850 views
今、最もイケてるPHPフレームワークLaravel4
アシアル株式会社
•
12.8K views
HHVM/Hackを本番投入した話
Kenjiro Kubota
•
308 views
React入門-JSONを取得して表示する
regret raym
•
19.2K views
Similar a Phpでrest apiを作った話
WP-APIを使ってみよう&No PHPテーマという考え方
Hidetaka Okamoto
2.4K views
•
75 Folien
2014_0206 aws startup_tech
Yosuke Tomita
366 views
•
30 Folien
楽ちんユーザー認証付Spa
Takahiro Tsuchiya
3.9K views
•
26 Folien
KubernetesでPHPを動かした話
gree_tech
2.1K views
•
25 Folien
API Gateway / AWS CLI
Operation Lab, LLC.
2.4K views
•
9 Folien
Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー
Kite Koga
1.1K views
•
77 Folien
Similar a Phpでrest apiを作った話
(20)
WP-APIを使ってみよう&No PHPテーマという考え方
Hidetaka Okamoto
•
2.4K views
2014_0206 aws startup_tech
Yosuke Tomita
•
366 views
楽ちんユーザー認証付Spa
Takahiro Tsuchiya
•
3.9K views
KubernetesでPHPを動かした話
gree_tech
•
2.1K views
API Gateway / AWS CLI
Operation Lab, LLC.
•
2.4K views
Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー
Kite Koga
•
1.1K views
スクリプト言語PHP攻略法
Rui Hirokawa
•
5.4K views
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Masayuki Abe
•
1.5K views
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
•
2.6K views
PHP開発者がScalaに入門して苦しんだ話
Nyle Inc.(ナイル株式会社)
•
1.2K views
Reco choku tech night #09 -reinvent2018報告会-
recotech
•
480 views
Amazon api gatewayで web apiをサーバーレスで構築しよう
Yoichi Toyota
•
947 views
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
Yuki Kanazawa
•
6.3K views
マッシュアップ勉強会
seiryo
•
500 views
マッシュアップ勉強会
guestadcb01
•
258 views
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
Eiji KOMINAMI
•
1.5K views
ZappaでDBもパッケージしたサーバーレスAPIを構築してみた
Yasunori Kirimoto
•
1.3K views
Weeklycms20120218
Yoshi Sakai
•
409 views
PHPの今とこれから2007
Rui Hirokawa
•
320 views
ニフティ社内の Chef 利用について
tidnlyam
•
4.2K views
Último
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
125 views
•
31 Folien
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
11 views
•
24 Folien
画像生成AIの問題点
iPride Co., Ltd.
13 views
•
9 Folien
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
NTT DATA Technology & Innovation
45 views
•
44 Folien
CatBoost on GPU のひみつ
Takuji Tahara
780 views
•
30 Folien
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
6 views
•
1 Folie
Último
(13)
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
•
125 views
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
•
11 views
画像生成AIの問題点
iPride Co., Ltd.
•
13 views
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
NTT DATA Technology & Innovation
•
45 views
CatBoost on GPU のひみつ
Takuji Tahara
•
780 views
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
•
6 views
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
•
28 views
GraphQLはどんな時に使うか
Yutaka Tachibana
•
17 views
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
•
7 views
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
•
45 views
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
NTT DATA Technology & Innovation
•
22 views
指側面を入力インタフェース化するリング型デバイス
sugiuralab
•
4 views
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
•
7 views
Phpでrest apiを作った話
1.
PHP で REST
API を作った話 @ken880guchi
2.
自己紹介
3.
自己紹介 株式会社 Loco Partners Kenya
Yamaguchi Twitter: @ken880guhci Github: Kenya Yamaguchi
4.
宣伝
5.
満足度の高い施設のみを掲載 最低価格の保証(差額返金システム) より特別なおもてなし
7.
今日の話
8.
題名に PHP とありますが
PHP のコー ドは全くありません。 REST API 作った体験談になってます。 謝罪
9.
Q. どんな構成?
10.
A. いつもの構成 • EC2
+ RDS • WebServer: Apache • WAF: CakePHP
11.
作るきっかけ
12.
自社アプリのリニューアル CakePHP のアクションメソッドで生成し た値をそのまま使用 アプリエンジニア =>
٩(๑`^́๑)۶ 作るきっかけ
13.
これをみてくれ
14.
"0": { "key1": "value1", "key2":
"value2", "key3": "value3" } 意図が伝わらない Key
15.
ツラ。。。 (́._.`)
16.
そもそも、REST API を作ったことない。 そもそも、REST
API を作る際に妥当な WAF ってなんだ。 そもそも、アプリ側にとって扱いやすい構造っ てどんなものだろう。 作りなおすにあたって
17.
「そもそも」 解らないことだらけ
18.
そもそも、REST API を作ったことがない。 O'Reilly
から出版されている Web API: The Good Parts をまず読む 大手サービスの真似をしてみる 基礎力の向上 地道に 1 つずつ潰していく
19.
そもそも、REST API を作る際に妥当な WAF
ってなんだ。 複数のWAFを使用することで、保守性が悪くなるん じゃないのか 現在のサービス利用率と自身達の技術力から考えて、 本当に別のWAFを選択することが最適解なのか CakePHP を引き続き採用 地道に 1 つずつ潰していく
20.
そもそも、アプリ側にとって扱いやすい構造っ てどんなものだろう。 自社アプリ開発者にヒアリング 出来るだけ要望に答える アプリをViewとして捉える 地道に 1 つずつ潰していく
21.
思っていたよりも ずっと面倒臭い
22.
ドキュメントの作成 大事。だけど面倒 仕様の再確認 いままで無かった事もあって、ボリュームがやばい 面倒臭い
23.
既存コードの移植 コントローラーにズラーーーっと並んでいる状態 コピペでドンッ!だと不要なデータとかまた取得し てしまう。 バグらないよう少しづつ API へ移植 面倒臭い
24.
実装中の確認
25.
過去のリクエスト履歴を残してくれる History 機能 頻繁に使用するリクエストの
Collection 機能 Document (軽い説明)も書ける リクエストの履歴から curl, javascript, objective- c, java 等など、様々な言語でのリクエスト用のコードを 自動生成してくれる 良いところ、便利なところ
26.
var data =
null; var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("GET", "https://qiita.com/api/v2/items"); // 省略 xhr.send(data); 自動生成されたコード (javascript)
27.
テストはどうした?
28.
そもそもやった?
30.
Chakram? ふるまい駆動でテストが書ける 環境構築が簡単 npm install -g
chakram npm install -g mocha ドキュメントが整っている
31.
どんなところに使用したか 堂々と使ってますと言ったけど 実際は、一部のレスポンスステータスや構造 の確認のみに使用しているだけ それでも無いより大分捗ります
32.
CakePHP は REST
API を作るには大袈 裟すぎたんじゃないかな。 型とか気にするようになったら、静的言語の 方が捗るかと思ったけど、値のフォーマット と数字から数値程度のキャストならPHPで も問題なかった。 いざとなったら、ワサッ!とかける PHP は 最高! 業務系アプリって大きな View みたい 作ってみてのまとめ
33.
おまけ
34.
サーバーレスアーキテクチャ 新しいものへの強い期待! なんか格好良さそう!! いつかやりたい ... あこがれ
35.
やってみた! 憧れているだけでは はじまらない!!
36.
API Gateway +
Lambda + ElasticSearch でFramework は JAWS を採用! なんか今時!! どんな構成?
37.
サーバーレスなので自由度は減るが、メンテ 不要なのは魅力的 PHP も良いけど、新しいものへの挑戦も大事 やってみて
38.
Loco Partners では こんな仲間を募集中です!! 会社のビジョンに共感できる人 課題解決指向の人 技術が好きで堪らない人 採用情報
39.
ご清聴 有難うございました