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
Frontend 101
Search
Sebastiaan Deckers
April 15, 2013
Programming
4
550
Frontend 101
Sebastiaan Deckers
April 15, 2013
Tweet
Share
More Decks by Sebastiaan Deckers
See All by Sebastiaan Deckers
Commons Host: Building a CDN for the rest of the world
sebdeckers
1
140
SVG Reality
sebdeckers
5
140
About Sebastiaan
sebdeckers
0
150
Frontend 100
sebdeckers
1
490
Frontend 102
sebdeckers
3
490
Frontend 103
sebdeckers
2
490
Frontend Testing
sebdeckers
3
340
Grunt: The JavaScript Task Runner
sebdeckers
8
410
Other Decks in Programming
See All in Programming
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
120
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
270
複数アプリケーションを育てていくための共通化戦略
irof
10
4k
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
210
AIネイティブなプロダクトをGolangで挑む取り組み
nmatsumoto4
0
120
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
41
28k
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
170
イベントストーミングから始めるドメイン駆動設計
jgeem
4
870
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.8k
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
190
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
330
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
210
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
We Have a Design System, Now What?
morganepeng
52
7.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
What's in a price? How to price your products and services
michaelherold
245
12k
Designing for Performance
lara
609
69k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Transcript
101 Web Standards URL, HTTP, HTML, CSS, JavaScript
URL uniform resource locator Purpose: Make data addressable
http://www.google.com /search?q=flowers#foot
http:// protocol scheme http, https, file, mailto, ...
http:// root double slash
bob:s3cr3t@www. example.com:8080
bob:s3cr3t@www. example.com:8080 domain required
bob:s3cr3t@www. example.com:8080 port optional default is 80 range: 1-65,535
bob:s3cr3t@www. example.com:8080 authentication credentials optional rarely used, legacy not how
modern web apps handle logins
reddit.com/r/IAmA/top path convention to omit “index.html” slashes “/” denote hierarchy
leading slash is the root directory reference current level with single dot “.” can be relative by using double dot “..”
Current page: reddit.com/r/IAmA/top Link: ./new Result: reddit.com/r/IAmA/new
Current page: reddit.com/r/IAmA/top Link: new Result: reddit.com/r/IAmA/new
Current page: reddit.com/r/IAmA/top Link: ../pics/new Result: reddit.com/r/pics/new
Current page: reddit.com/r/IAmA/top Link: / Result: reddit.com/
http://www.google.com /search?q=flowers#foot query string after the question mark “?” key=value
pairs used to pass information to the web server
http://www.google.com /search?q=flowers#foot fragment identifier after the hash sign points to
specific content in the page
HTTP hyper-text transfer protocol Purpose: Transfer content from a web
server to a web browser
Demo https://gist.github.com/cbas/5378704 Syntax request/response method, URI, version headers body
hyper-text markup language Purpose: Structures content of the document semantically
User agent: Browsers, crawlers, screen scrapers, file converters HTML
Demo https://gist.github.com/cbas/5379047 Syntax doctype elements attributes text comments
doctype describes HTML version the document uses HTML5 simplified it
to “<!DOCTYPE html>”
elements opening and closing tags: <p>some text</p> self closing tags:
<img /> equals <img>
must wrap values in double or single quotes if they
contains spaces, so just always do it <img src='house.jpg' alt="Seb's House"> attributes
attributes white space separated <img src="logo.png" alt="My Logo">
attributes names case insensitive, but lowercase looks better <img SRC="logo.png">
equals <img src="logo.png">
text escape special characters < “<” or > “>” &
or “&” white space collapses into single space “Hi there!” becomes “Hi there!”
comments begin with “<!--” and end with “-->” useful to
hide a section, or describe it to other developers (ie. future self) contains any HTML except comments
CSS cascading style sheets Purpose: Presentation of the data, typically
through visual layout and design Targets: Screen, print, or assistive technology (eg. screen readers)
Demo https://gist.github.com/cbas/5379150 Syntax selectors blocks properties values
selectors universal selector asterisk “*”
selectors type element name
selectors class space separated list re-usable on any elements
selectors id single value unique in the page
selectors attributes element has attribute “img[title]” attribute value equals “input[type=’password’]”
selectors pseudo classes :first-child, :last-child, :nth-child() :hover, :active, :focus :visited
:not()
selectors pseudo elements ::first-line, ::first-letter ::before, ::after
selectors combinators child of “>” preceded by “~“ immediately preceded
by “+”
blocks wrapped in curly braces “{ }”
blocks required: one block per selector h1 { } optional:
multiple selectors per block h1, h2, h3, h4, h5, h6 { }
properties examples: font-family, color, background, padding, ... vendor prefixes -webkit-*,
-moz-*, -ms-*, -o-*
values amount + unit
amount integer 5, number 4.5
units percentage 5%, length 5px, time 5ms, colour #5030bf, string
"Arial", url url(me.jpg), angle 90deg, ...
JavaScript Purpose: Interactive behaviour on a web page Examples: Popup
dialogs, visual effects, in- place data loading, ...
JavaScript is a programming language outside the scope of this
course. We can however use code snippets to achieve many useful behaviours.
Demo https://gist.github.com/cbas/5379212 Syntax Embedded: <script>... source code ...</script> Linked: <script
src=”... link to code file...”></script>