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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
Web 2.0 Patterns and Technologies - Lecture 8 - Web Technologies (1019888BNR)
signer
PRO
0
3k
1202
cbtlibrary
0
210
2026 Medicare 101 Presentation
robinlee
PRO
0
100
0121
cbtlibrary
0
130
俺と地方勉強会 - KomeKaigi・地方勉強会への期待 -
pharaohkj
1
1.6k
Introduction - Lecture 1 - Advanced Topics in Big Data (4023256FNR)
signer
PRO
2
2.2k
2025年度伊藤正彦ゼミ紹介
imash
0
170
AWS re_Invent に全力で参加したくて筋トレを頑張っている話
amarelo_n24
2
120
自己紹介 / who-am-i
yasulab
PRO
6
6.3k
Security, Privacy and Trust - Lecture 11 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
TeXで変える教育現場
doratex
1
13k
React完全入門
mickey_kubo
1
120
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
1
1.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3k
30 Presentation Tips
portentint
PRO
1
220
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
220
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Making Projects Easy
brettharned
120
6.6k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Faster Mobile Websites
deanohume
310
31k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
830
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
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