Start
Entdecken
Suche senden
Hochladen
Einloggen
Registrieren
Anzeige
Check these out next
Requestsで始める5分前帰社
Satoshi Yamada
bottle.pyをつかったチャットアプリ作成チュートリアル
Satoshi Yamada
WEBエンジニア勉強会 #13 LT 資料 データベース2.0
Shuichi Takaku
プログラミング同好会とすごい合同勉強会
nemumu
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
文樹 高橋
pythonでemlファイルを扱う話
Satoshi Yamada
Rubyの仕事で食べていくために僕らは!
Ouka Yuka
Ocs2012 tokyo/spring plone
Manabu Terada
1
von
12
Top clipped slide
PostgreSQL JSON型と Facebook APIを使ってwebアプリ開発をした話
11. Sep 2014
•
0 gefällt mir
4 gefällt mir
×
Sei der Erste, dem dies gefällt
Mehr anzeigen
•
1,746 Aufrufe
Aufrufe
×
Aufrufe insgesamt
0
Auf Slideshare
0
Aus Einbettungen
0
Anzahl der Einbettungen
0
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Melden
Technologie
PostgreSQL JSON型と Facebook APIを使ってwebアプリ開発をした話@PostgreSQLアンカンファレンス2014
Ayumi Ishii
Folgen
Anzeige
Anzeige
Anzeige
Recomendados
bottleで始めるWEBアプリの最初の一歩
Satoshi Yamada
16K Aufrufe
•
56 Folien
Phpのはなし
Serverworks Co.,Ltd.
3K Aufrufe
•
23 Folien
WordPress プラグイン Advance Custum Fieldsを学ぶ
Shigeki Takai
864 Aufrufe
•
48 Folien
DBエンジニアに必要だったPythonのスキル
Satoshi Yamada
2.2K Aufrufe
•
24 Folien
すぐ始めれるクラウド
Soudai Sone
1.5K Aufrufe
•
54 Folien
Facebook4Jで近づくJavaとFacebook Graph API #ccc_r56 #jjug_ccc JJUG CCC 2013 Spring
Ryuji Yamashita
6.2K Aufrufe
•
56 Folien
Más contenido relacionado
Presentaciones para ti
(12)
Requestsで始める5分前帰社
Satoshi Yamada
•
5.4K Aufrufe
bottle.pyをつかったチャットアプリ作成チュートリアル
Satoshi Yamada
•
5.1K Aufrufe
WEBエンジニア勉強会 #13 LT 資料 データベース2.0
Shuichi Takaku
•
1.4K Aufrufe
プログラミング同好会とすごい合同勉強会
nemumu
•
1.5K Aufrufe
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
文樹 高橋
•
545 Aufrufe
pythonでemlファイルを扱う話
Satoshi Yamada
•
14.1K Aufrufe
Rubyの仕事で食べていくために僕らは!
Ouka Yuka
•
9.4K Aufrufe
Ocs2012 tokyo/spring plone
Manabu Terada
•
2.6K Aufrufe
Pythonで業務改善をしたときにあった問題(ライト版)
Satoshi Yamada
•
3.9K Aufrufe
データベース2.0 平成ラストバージョン
Shuichi Takaku
•
375 Aufrufe
0201 L C
Yoshifumi Murakami
•
148 Aufrufe
"プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本
parrotstudio
•
5.1K Aufrufe
Similar a PostgreSQL JSON型と Facebook APIを使ってwebアプリ開発をした話
(20)
20170819 ocd-l tthon-pgdev
Toshi Harada
•
703 Aufrufe
MongoDB World 2014に行ってきた!
Tetsutaro Watanabe
•
2.6K Aufrufe
Osc2012.dbに行ってきました
Masaru Kobashigawa
•
405 Aufrufe
オープンデータ Web API
Hironori Sakamoto
•
578 Aufrufe
Tokyowebmining5 yokkuns
Yohei Sato
•
1.3K Aufrufe
GDG DevFest Kobe Firebaseハンズオン勉強会
Yosuke Onoue
•
1.3K Aufrufe
Ojag naha vol13
Seiei Higa
•
436 Aufrufe
Ojag naha vol13
hanachin
•
677 Aufrufe
WordBench京都版 _sハンズオン
Hidetaka Okamoto
•
2.3K Aufrufe
Firebase & BigQuery で Android アプリの成⻑を支える
健一 辰濱
•
1.2K Aufrufe
第51回NDS PostgreSQLのデータ型 #nds51
civicpg
•
4.4K Aufrufe
Spring.project
広平 田村
•
1.5K Aufrufe
PowerShellでFunction Appしよう!
Tsubasa Yoshino
•
1.1K Aufrufe
JSON:APIについてざっくり入門
iPride Co., Ltd.
•
1.6K Aufrufe
Scotty + Aeson + Persistentで作るJSON Web API
Daisuke Fujimura
•
1.4K Aufrufe
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
•
2.3K Aufrufe
Ocs2013 tokyo spring_plone
Manabu Terada
•
2.1K Aufrufe
Word pressはじめの一歩 テーマ作成ハンズオン
Hidetaka Okamoto
•
13.4K Aufrufe
モバイルOSとWeb標準とそれらへのアプローチ
Kisato
•
7.7K Aufrufe
Facebook(フェイスブック)とWordPressの連携の仕組みとは?
Ryo Imai
•
1.1K Aufrufe
Anzeige
Último
(20)
AIEXPO_CDLE名古屋紹介
KotaMiyano
•
4 Aufrufe
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
Kazumi IWANAGA
•
6 Aufrufe
社内ソフトスキルを考える
infinite_loop
•
91 Aufrufe
3Dプリンタって いいね
infinite_loop
•
64 Aufrufe
Wandb LLM Webinar May 30 2023 (配布用).pdf
Yuya Yamamoto
•
140 Aufrufe
DrupalをDockerで起動してみる
iPride Co., Ltd.
•
22 Aufrufe
Üslup ve tercüme.pdf
1Hmmtks
•
2 Aufrufe
統計学の攻略_統計的仮説検定の9パターン.pdf
akipii Oga
•
300 Aufrufe
OIDC(OpenID Connect)について解説③
iPride Co., Ltd.
•
25 Aufrufe
量子論.pdf
hiro150493
•
9 Aufrufe
触感に関わる共感覚的表現と基本6感情の対応関係の検証
Matsushita Laboratory
•
22 Aufrufe
20230601_Visual_IoTLT_vol14_kitazaki_v1.pdf
Ayachika Kitazaki
•
73 Aufrufe
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
Deep Learning JP
•
156 Aufrufe
ネットワークパケットブローカー市場.pdf
HinaMiyazu
•
9 Aufrufe
統計学の攻略_正規分布ファミリーの全体像.pdf
akipii Oga
•
304 Aufrufe
GitHub最新情報キャッチアップ 2023年6月
Kazumi IWANAGA
•
7 Aufrufe
Voyager: An Open-Ended Embodied Agent with Large Language Models
harmonylab
•
23 Aufrufe
【DL輪読会】HyperDiffusion: Generating Implicit Neural Fields withWeight-Space Dif...
Deep Learning JP
•
6 Aufrufe
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
Deep Learning JP
•
86 Aufrufe
Transformerについて解説!!
Yosuke Horio
•
7 Aufrufe
PostgreSQL JSON型と Facebook APIを使ってwebアプリ開発をした話
PostgreSQL JSON型と Facebook
APIを使って webアプリ開発をした話 2014年9月6日 石井愛弓 PostgreSQLアンカンファレンス2014@東京
目次 • 自己紹介
• webアプリデモ • Facebook APIとは? • JSON型とは? • JSON型を使うとどう変わる? • PostgreSQL9.4新機能:JSONB型 • まとめ
作成したwebアプリ:写真クイズ 自分のFacebook上の友達のプロフィール写真を表示し、 名前をあてるクイズ
WEBアプリデモ
開発情報と利用した技術 ○ミドルウェア -
Apache 2.2.25 - PHP 5.3.27 - PostgreSQL 9.3.4 ○フレームワーク - CakePHP 2.4.10 ○フロントエンド - HTML5 & CSS3 • Facebook API • PostgreSQL JSON型 技術トピック
Facebook APIとは? Facebook
Graph API • Facebookの様々なオブジェクトへアクセス可能 • ユーザ情報(名前、誕生日など)、写真、友達、投稿… 例えばブラウザでhttps://graph.facebook.com/4へアクセスすると… { "id": "4", "first_name": "Mark", "gender": "male", "last_name": "Zuckerberg", "link": "https://www.facebook.com/zuck", "locale": "en_US", "name": "Mark Zuckerberg", "username": "zuck" } Mark Zuckerbergのユーザ情報がJSONで返ってくる(HTTPの場合) ※ただし、アクセストークンなしで取得できるのは公開情報のみ
Facebook APIとは? •
2014/4/30に2.0にバージョンアップ • 友達に対するアクセス権限など変更箇所多数 • 様々なSDKが用意されている (PHP,JavaScript,iOS,Android) • アクセストークンの発行などがラク • 今回使用したのはPHP SDK
Facebook APIとは? ☆使用例
※CakePHPのVendorフォルダにsdkを入れておく //読み込み App::import('Vendor', 'facebook/src/facebook'); //アプリの情報を設定 $this->facebook = new Facebook( array( ‘appId’ => ‘ここにid’, 'secret' => ‘ここにsecret’ )); //スコープ(ほしいパーミッション)を指定してログインURLを取得 $login_url = $this->facebook->getLoginUrl(array('scope' => 'user_friends')); //リダイレクト $this->redirect($login_url); //自分の情報を取得 $me = $this->facebook->api('/me'); //友達の情報を取得 $friend_list = $this->facebook->api('/me/taggable_friends'); ※アプリのidやsecretはhttp://developers.facebook.com/にて設定
JSON型とは? • JSON(JavaScript
Object Notation)は軽量データ交換フォーマット Ex) {"name": “Ayumi Ishii", "age": 20} < PostgreSQL9.3のJSONサポート> ○JSON型 ※エンコードはUTF-8にする ・列にJSON型を指定できる(text型に値のチェックがついている) ○JSON演算子 ・SELECT ‘{“a”:1,“b”:2}’::json->‘b’ ; ⇒ 2を取得 ・SELECT ‘{“a”:[1,2,3],“b”:[4,5,6]}’::json#>‘{a,2}’; ⇒3を取 得 ○JSONサポート関数 ・SELECT json_array_length('[1,2,3,{"f1":1,"f2":[5,6]},4]'); 一番外側の要素の数⇒ 5を取得その他は公式ドキュメントにて
JSON型を使うとどう変わる? JSON型を使わなくても、同じアプリを作ることは可能だが… •
JSONレスポンスをそのままDBに保存できる • ただし、PHP SDKでは配列で返ってきた • JSON演算子、関数が使える ・今回のアプリでは… アプリのユーザ1人に対し友達が何人いても、友達リストが1タプル に収まる 自分友達 1 Aさん 1 Bさん 1 Cさん 1 … 自分友達 1 ["Aさん","Bさん","Cさん"…]
PostgreSQL9.4新機能:JSONB型 • PostgreSQL9.4では、新しくJSONBデータ型が追加され
た JSON型とJSONB型の比較 JSON型JSONB型 PostgreSQLバージョン9.2以降9.4以降 データテキストバイナリ リパースの必要ありなし インデックスサポートなしあり 要素へのアクセス遅い速い 重複キーの保持重複して保持重複して保持しない キーの順番保持保持しない キーの順序を保持したい場合など特別な場合はJSON型にする必要がある (JSONには元々順序の概念はないが) ほとんどのアプリはJSONB型の方が便利
まとめ • PostgreSQL
JSON型とFacebook APIを使って webアプリ開発 • JSON型の出番は多そう • Ajaxで利用されている • APIの戻り値がJSONのケースをよく見かける • JSONBに期待が高まる
Anzeige