Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How the Web Works: Lecture 8
Search
Abhinav Sharma
January 09, 2014
Education
0
110
How the Web Works: Lecture 8
This talk was designed for a class (98-135) taught at Carnegie Mellon University in Spring 2010.
Abhinav Sharma
January 09, 2014
Tweet
Share
More Decks by Abhinav Sharma
See All by Abhinav Sharma
How the Web Works: Lecture 5
abhinavsharma
1
73
How the Web Works: Lecture 6
abhinavsharma
0
48
How the Web Works: Lecture 7
abhinavsharma
0
45
How the Web Works: Lecture 9
abhinavsharma
0
64
How the Web Works: Lecture 3
abhinavsharma
0
38
How the Web Works: Lecture 2
abhinavsharma
1
48
How the Web Works: Lecture 1
abhinavsharma
2
120
Other Decks in Education
See All in Education
滑空スポーツ講習会2025(実技講習)EMFT学科講習資料/JSA EMFT 2025
jsaseminar
0
230
Activité_5_-_Les_indicateurs_du_climat_global.pdf
bernhardsvt
0
150
IHLヘルスケアリーダーシップ研究会17期説明資料
ihlhealthcareleadership
0
900
ThingLink
matleenalaakso
28
4.3k
Leveraging LLMs for student feedback in introductory data science courses (Stats Up AI)
minecr
1
170
Going over the Edge
jonoalderson
0
360
俺と地方勉強会 - KomeKaigi・地方勉強会への期待 -
pharaohkj
1
1.6k
都市の形成要因と 「都市の余白」のあり方
sakamon
0
160
Introduction - Lecture 1 - Advanced Topics in Big Data (4023256FNR)
signer
PRO
2
2.2k
栃木県警サイバーセキュリティ研修会2026
nomizone
0
200
令和エンジニアの学習法 〜 生成AIを使って挫折を回避する 〜
moriga_yuduru
0
240
MySmartSTEAM 2526
cbtlibrary
0
190
Featured
See All Featured
Fireside Chat
paigeccino
41
3.8k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
Documentation Writing (for coders)
carmenintech
77
5.3k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
150
GraphQLとの向き合い方2022年版
quramy
50
14k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
67
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
New Earth Scene 8
popppiees
1
1.5k
Site-Speed That Sticks
csswizardry
13
1.1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Transcript
None
Lecture 8 Building Social Apps
None
XML
XML HTML Generalized Format for structured data XML <=> DOM
Tree .xml Files XML Parsers out there... JSON : HashTable :: XML : Tree
<courses> <course> <id> <name> <desc> <prof> <course> <id> <name> <desc>
<prof>
Finally, we don’t need to talk pretty to the humans!
Yeah, screw NLP!
Haha, noobs!
None
API
APIs Application Programming Inteface Library of Functions ... for some
langauge Common Theme ex. Java Sound API
Facebook knows so much about my users. If only... We’ll
share it, after all, people will think we’re awesome!
Sweet! I code in PHP, Ruby, Python, Java, C, and
Brainf*ck STFU
Sweet! I code in PHP, Ruby, Python, Java, C, and
Brainf*ck Ok, we’ll give you a standard format.
API = HTTP + XML Returning Data (beyond HTML) Making
requests (beyond GET & POST)
REST made with love HTTP
REST Representational State Transfer Its not that fancy. Standard for
Communication Uses HTTP in depth With XML or JSON myhost.com/...
Public APIs
My
Videos Users leavebritneyalone Chris Crocker starwarskid Darth Vader icanhazcheezburger The
Cat icanhazmuffins The Cat
GET www.google.com 200 OK
GET www.google.com Hello, World!
Request GET POST Response 200 OK 404 Not Found 500
Internal Server Error ....
GET POST PUT DELETE
GET api.mytube.com 200 OK
GET api.mytube.com starwarskid leavebritneyalone ...
GET api.mytube.com/ starwarskid starwarskid.mp4
DELETE api.mytube.com/ starwarskid 200 OK
DELETE api.mytube.com/ terminator2 404 Not Found
RESTful Resource GET POST PUT DELETE api.mytube.com api.mytube.com/ vid_id List
Members Replace Collection Create New Item Delete Collection Retrieve Data Update Item Member is Collection Delete Item
REST APIs
Parse Response XML using PHP http://php.net/manual/en/book.xml.php Request Service using GET/POST/PUT/DELETE
http://us.php.net/manual/en/book.curl.php
I use PHP to respond to requests!
None
Hands-On http://phprestsql.sourceforge.net/ http://phprestsql.sourceforge.net/download.html
None
Wrappers aka Client Libraries
Wrappers import mytube.py mt = new MyTube(auth) mt.getVideos() mt.setVideo(vid, new.mp4)
My
Facebook API
Facebook Apps Is like a website Inside of Facebook Access
to Facebook Data friends, networks, about... Users “add” applications Not your domain name
Canvas URL apps.facebook.com/... Callback URL myhost.com/...
Let See One http://apps.facebook.com/iplcricket/
Lets Build One www.cmuwebworks.com/movies/facebook_app.mov
Hello++
myhost.com/... <fb:friends> <ol> <li>Friend1</li> <li>Friend2</li> <li>Friend3</li> </ol>
FBML Is an extension of SQL With special <fb:> tags
Invalid as HTML Facebook reparses Canvas-Callback Model myhost.com/...
JS & FQL Facebook restricts JS Called FBJS FQL is
SQL-like way to access data on Facebook More general than friends->get() myhost.com/...
Facebook Connect Your Website + Facebook Authentication Feed Social Graph
Implementation Details Later
http://wiki.developers.facebook.com
Other APIs
None
YouTube API Data API: Finds the right video Data API
is REST Based Player API: Customizable Player Player API is Flash Based
Data API Google Data API HTTP Request HTTP + XML
Response Similar to REST Java, PHP, Python, ObjC, Javascript Libraries http://code.google.com/apis/gdata/
Data API Search for Videos Standard Streams (Most Popular) Upload,
Update, Delete Videos
Player API Data API: Finds Video Player : Plays Video
Flash Player (.swf file) With Parameters player colors, loop video, etc....
http://code.google.com/apis/youtube/
None
Twitter API Two APIs (Oh Noes!) Historical Reasons REST API,
Search API Completely Open
Twitter API REST API Search API User information, social data,
etc... Search by tags, trends, etc...
http://apiwiki.twitter.com
Here’s What Matters Everyone has APIs Too many to discuss
here Usually REST Based PHP libraries common Find the service, read docs
One Last Thing http://code.google.com/p/schedulematch/ http://apps.facebook.com/cmuschedule/
Please Help
Photo Credits http://lolmartshirts.com/wp-content/uploads/2010/01/omgwtfbbq1.jpg http://www.johnberns.com/wp-content/uploads/2009/06/01-raw-xml-in-vim-no-whitespace.png http://www.flickr.com/photos/29063159@N07/2714200496/sizes/o/ http://www.xkcd.com/715/
None