๐ ๊ฐ๋ฐ ๊ณต๋ถ 1๊ฐ์ ์ฐจ์ธ to-be ๊ฐ๋ฐ์์ ์์ต ๋ธ๋ก๊ทธ๐๏พ Aug 2 ~ 6, 2021
ํ์ฌ ์ํ
์๋ฌด๋ฆฌ FE์ ๊ธฐ๋ณธ์ด HTML5, CSS3, JavaScript๋ผ์ง๋ง... ํ ์ฃผ ๋์ ์ด ์ธ ๊ฐ์ง ๋ถ์ผ์ ์ง์์ ๋จธ๋ฆฌ์ ๋ง๊ตฌ ์ค์ ๋ฃ๋ ์ค
๋ด์ฉ์ด ๋๋ฌด ๋ง์ผ๋ฏ๋ก ์ด page์์๋ HTML๊ณผ CSS ๋ด์ฉ ์ค ๋ด๊ฐ ์๊ฐํ๊ธฐ์ ํต์ฌ์ธ ๋ด์ฉ๋ง ์ถ๋ ค์ ์ ๋ฆฌํด ๋ณธ๋ค.
Tim Berners-Lee๊ฐ ์ง์ฅ (CERN) ์ ๋ค๋๋ค๊ฐ ๊ฐ๋ฐํ ์ธ์ด์ด๋ค.
๋น์์ 20๊ฐ ์ ๋์ tag๋ฐ์ ์์๋ค. ์ง๊ธ์ ์ฝ 200๊ฐ ์ ๋๋ผ๊ณ ํ๋ค.
(์ถ์ฒ ์ฐธ์กฐ)
h, p, br, a, img, form, input, font, table ...
์๊ฐ์ด ํ๋ฆ์ ๋ฐ๋ผ tag๊ฐ ๋ํด์ง๊ฑฐ๋ ์ญ์ ๋๊ณ , ํน์ ์๋ฏธ๊ฐ ๋ณํ๋ฏ๋ก ์ด๋ค ํ์ค์ ๋ฐ๋ฅธ tag์ธ์ง browser์๊ฒ ์๋ ค์ฃผ๋ ๊ฒ doctype ์ ์ธ์ด๋ค.
ํ์ฌ๋ HTML5 version์ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก ์ด์ ๋ฐ๋ฅธ ์ฝ์์ธ <!DOCTYPE html>
์ ์ ์ธํ๋ค.
meta data๋ data๋ฅผ ์ค๋ช
ํ๋ data์ด๋ค.
์ด๋ค web page์ธ์ง์ ๋ํด ์์ฝํ๋ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค.
์ด ์ ๋ณด๋ก ๊ฒ์๋๊ฑฐ๋ ๋ถ๋ฅ๋๊ธฐ๋ ํ๋ฉฐ, ์ด๋ ์ฌ์ฉํ๋ tag๊ฐ meta
tag์ด๋ค.
ex. <meta charset="utf-8">
์ ๋ณด๋ฅผ computer์ ์ ์ฅํ๋ ๊ฒ์ 'encodingํ๋ค'๋ผ๊ณ ํํํ๊ณ , ์ด๋ ๊ฒ ์ ์ฅ๋ ์ ๋ณด๋ฅผ ํ์ฉํ๋ ๊ฒ์ (์์ฃผ ์๋ฐํ ํํ์ ์๋์ง๋ง) decoding์ด๋ผ๊ณ ํ๋ค.
ex. <meta name="description" content="์ํ์ฝ๋ฉ์ ์๊ฐ ์๋ฃ">
: web page์ ์์ฝ๋ ์๋ฃ
ex. <meta name="keywords" content="์ฝ๋ฉ,coding,programming">
: web page์ ์์ฝ, ๋ถ๋ฅ
(์ถ์ฒ, Assignment 2 ์ฐธ์กฐ)
web์ ์ ๋ณด๋ ์ฌ๋๊ณผ ๊ธฐ๊ณ ๋ชจ๋์๊ฒ ํ์ฉํ๊ธฐ ์ข์ ํํ์ data๋ก ๋ฐ์ ๋๋ค.
๊ธฐ๋ฅ ์์ ๋ณํ๋ ์์ด์ semantic tag๋ฅผ ์ฌ์ฉํ๊ฑด ํ์ง ์๊ฑด ํ๋ฉด ์์ ๋ณํ๋ ์์ง๋ง code ์์ ์๋ฏธ์๋ ๋ณํ๋ฅผ ์ค๋ค.
semantic tag์ article, aside, details, figure, footer, header, main, nav, section, time
๋ฑ์ด ์๋ค.
web site๊ฐ ๋ง๋ค์ด์ง๋ฉด Google์ด๋ Naver๊ฐ์ ๊ฒ์ engine ํ์ฌ๋ค์ด software๋ฅผ ๊ฐ๋ํด ๊ฐ์ข
web site์ HTML file์ download ๋ฐ์ ํด์ํ๋ค.
semantic tag๋ฅผ ์ ํ์ฉํ๋ค๋ฉด ์ด๋ฏธ ๊ฒ์ engine์ ์ต์ ํ๋์ด ์๋ค๊ณ ํ ์ ์๋ค.
์์ ์ด ๋ง๋๋ web site๋ฅผ ์ด๋ฌํ ๊ฒ์ engine์ ์ต์ ํํ๋ ๊ฒ์ ๊ฒ์์์ง์ต์ ํ, ์ฆ SEO (search engine optimization) ๋ผ๊ณ ํ๋ค.
ex. title
, meta
, URL์ ์ค์ํ ์ ๋ณด๋ฅผ ๋ด๊ธฐ
link๋ฅผ ๋ฐ๋ผ ์ ๋ณด๋ฅผ crawling์ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒฝ๋ก๋ฅผ ์ ๊ณํํ๊ณ ์ ๊ณตํด์ผ ํ๋ค. (bread crumb)
link ๊ฐ์ ์ด๋์ ์ฌ๋งํ๋ฉด hyper text๋ก codingํ๋ค.
์ด๋ anchor text๋ฅผ ์ ์ ํ๊ฒ ์์ฑํด์ผ ํ๋ค.
image tag๋ฅผ ์ฌ์ฉํ ๋ alt๋ผ๋ ๋์ text๋ฅผ ๋ช ํํ๊ฒ ์์ฑํด์ผ screen reader์ ์ฝํ ์๋ ์๊ณ image ๊ฒ์์ ์ ๋ ธ์ถ๋ ์ ์๋ค.
sitemap.xml๊ฐ์ ๊ฑธ ๋ง๋ค์ด์ robot.txt์ ์ ๋ ฅํด ์ฃผ๋ฉด ์ข๋ค.
page rank๋ฅผ ๋์ด๊ธฐ ์ํด ์ฌ๋ฌ ๊ณณ์์ ๋ชฉํํ๋ site๋ฅผ ์ธ์ฉํ๋ฉด ๊ฒ์ ๋ ธ์ถ์ ์ข๋ค.
๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์๋ฌด๋ฆฌ ๊ฒ์์ด ์ ๋์ด์ผ ํ๋ค๊ณ ํด๋ ์ต์ข ๋ชฉํ๋ฅผ ๊ฒ์ engine ์ต์ ํ๊ฐ ์๋ ์ฌ์ฉ์๋ฅผ ์ํ contents์ ์ค์ฌ์ผ๋ก ๋๊ณ ์ ํ์ ๋ง๋ค์ด์ผ ํ๋ค.
web site๋ฅผ ๋ง๋๋ HTML (Hyper Text (link) ์ ๊ฐ์ฅ ์ค์ํ ํน์ง์ผ๋ก ํ๋ Markup ํ์์ ๊ฐ์ง computer programming Language) ๋ช ์ค์ code๋ก ๊ฐ๋จํ๊ฒ ์์ฑํ ์ ์๋ค๋ ๊ฒ ์ ๊ธฐํ๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ์ฝ๋ค๊ณ ํด์ ๋ฌด์์ ์ฐ๋ฉด ์ ๋ ๊ฒ ๊ฐ๋ค. ๋ด๊ฐ ํ๋ ค๊ณ ํ๋ ๊ฒ ๋ฌด์์ธ์ง ๋ช ํํ๊ฒ ์ดํดํ๊ณ HTML์ ์์ฑํ๋ ๊ฒ ์ค์ํ ๊ฒ ๊ฐ๋ค. ์๋ํ๋ฉด HTML์์ ๋ด๊ฐ ์ด๋ค tag๋ฅผ ์ฐ๋๋์ ๋ฐ๋ผ ์ ๋ณด๋ฅผ ๋ฐฐ์น์ํฌ ์ ์๋ styling์ ์ํฅ์ ์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค. ์ฆ ํฅํ ์ด๋ค styling์ ์ค์ง ๊ณ ๋ คํด์ tag๋ฅผ ์์ฑํด์ผ ํ๋ค. PPT๋ฅผ ์ ์ํ ๋ PowerPoint๋ถํฐ ์ผ์ง ์๋ฏ์ด ๋ ๋ค code๋ถํฐ ์์ฑํ๋ ๊ฒ ์๋, ๋๋ต์ ์ธ ๊ตฌ์์ ๋ง์น ํ code๋ฅผ ์์ฑํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค. ์ค์ ๋ก Naver๋ Daum์ ์์ฑ๋ HTML์ ๋ดค๋๋ ์~~์ฒญ ๊ธธ๊ณ ๋ณต์กํ๋ค... ์ด๋ฐ ๊ฑธ ๋ค๋ฃฐ ๋ ์ด์ฅ๋ถํฐ ์ ์ค๊ณํด์ผ ํ๋ค๋ ๊ฑธ ์ง๊ฐ์ ์ผ๋ก ์ ์ ์๋ค.
๊ฒ๋ค๊ฐ ๊ฒ์์ ์ ๋ฆฌํ๊ฒ ๋ ธ์ถ๋ ์ ์๋ ์์๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ, ์น ์ ๊ทผ์ฑ ๋ฑ์ ๊ณ ๋ คํ๋ ๊ฒ์ ํฌํจํ๋ฉด HTML์ semanticํ๊ฒ ์์ฑํด์ผ ํ๋ฉฐ ๊ทธ ์์ค์ด ๊ฝค ๊ณ ๋์ด๋์ธ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
HTML tag ์์์ <style>
tag๋ฅผ ํตํด CSS ๋ฌธ๋ฒ์์ HTML์ ์๋ฆฐ๋ค.
selector, property, property value ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
id๋ ์ ์ผํ๊ธฐ ๋๋ฌธ์ id๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ณ์ด ๊ฐ๋ฅํ๊ณ , class๋ gruopingํ๋ ๊ฒ์ผ๋ก ์ดํดํ๋ฉด ๋๋ค.
๋ ์ฌ ์ฌ์ฉํด๋ ๋์ง๋ง class ์์ id๋ฅผ ์น์ด์ ๋์์ธํ๋ ๊ฒ์ด ๋ซ๋ค.
CSS ์ฐ์ ์์๋ inline > document.querySelector('id > class > tag')
์ด๋ค.
์ฐธ๊ณ ๋ก div
tag๋ ๋ด๋ถ ํฌ๊ธฐ์ ๋ฐ๋ผ size๊ฐ ๋ฌ๋ผ์ง๋ฏ๋ก ๊ตณ์ด height๋ฅผ ์ฃผ์ง ์์๋ ๋๋ค.
justify-content
: flex ์์๋ค์ ๊ฐ๋ก ์ ์์ ์ ๋ ฌalign-items
: flex ์์๋ค์ ์ธ๋ก ์ ์์ ์ ๋ ฌflex-direction
: flex๋ ์์๋ค์ ์ ๋ ฌํ ๋ฐฉํฅ ์ง์ order
: flex ์์์ ์์ ์ง์ align-self
: ์ง์ ๋ align-items ๊ฐ์ ๋ฌด์ํ๊ณ flex ์์๋ฅผ ์ธ๋ก ์์ ์ ๋ ฌflex-wrap
: flex ์์๋ฅผ ํ ์ค ๋๋ ์ฌ๋ฌ ์ค์ ์ ๋ ฌflex-flow
: flex-wrap๊ณผ flex-direction์ ๊ฐ๋ตํ ํ ์์ฑalign-content
: ์ธ๋ก ์ ์์ ์ฌ๋ถ์ ๊ณต๊ฐ์ด ์๋ ๊ฒฝ์ฐ flex ์ปจํ
์ด๋ ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์กฐ์ +++
jsutify-content
๋ ๋ํ ์์๋ค ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์ง์ ํ๋ฉฐ ๋ค์์ ์ธ์๋ฅผ ๋ฐ์ ์ ๋ ฌ ๊ฐ๋ฅ
flex-start
: defaultflex-end
center
space-around
space-between
space-evenly
align-items
๊ณผ ํจ๊ป ๋ค์์ ์ธ์๋ฅผ ๋ฐ์ ์ ๋ ฌ ๊ฐ๋ฅ
flex-start
flex-end
center
baseline
stretch
: defaultflex-direction
์ ์ฌ์ฉํ๋ฉด
row
:defaultrow-reverse
column
column-reverse
order
: 1; ๋ฑ
flex-wrap
์ ์ฌ์ฉํ๋ฉด
nowrap
: defaultwrap
wrap-reverse
flex-flow
๋ flex-wrap
๊ณผ flex-direction
์ ๊ฐ๋ตํ ํ ์์ฑ
row wrap
column wrap
align-content
๋ ์ฌ๋ฌ ์ค ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์ง์
flex-start
flex-end
center
space-between
space-around
stretch
Assignment #1
Q. Replit 01~12๊น์ง ๋ฐฐ์ด ๋ด์ฉ ์ค ๋์น๊ณ ์ง๋๊ฐ ๊ฐ๋ ์ ์๋์ง, ๋ชจํธํ๊ฒ ์ดํดํ๊ณ ์๋ ๋ด์ฉ์ ์๋์ง ํ์ธํ์.
A-1. HTML
๏พ ๏พ ๏พ ๏พ HTML ๋ฌธ๋ฒ์ ์์ฑํ ๋ ํฌ๊ฒ ์ค๋ฅ๊ฐ ๋๋ ์ธ์ด๊ฐ ์๋์ด์ ํ์ตํ ๋น์์๋ 'HTML๋ก ๊ตฌ์กฐ๋ฅผ ์ง ๋ค.'๋ผ๋ ๋ง์ด ์ฝ๊ฒ ๋ค๊ฐ์๋ค. ํ์ง๋ง 2์ฃผ ์ฐจ์ ๋ฉํ ๋์ด ์ง HTML์ ๋ณด๊ณ ๊นจ๋ฌ์๋ค. '๋ค๋ฅธ ์ฌ๋์ด ๋ด๋ ์ดํดํ๊ธฐ ์ฌ์ด ๊ตฌ์กฐ, style์ด ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ก ์ง๋ ๊ฒ ์ด๋ฐ ๊ฑฐ๊ตฌ๋.'ํ๋ ๊ฐ์ด ์๋ค. ์ฒ์์ coding์ ์ฐ์ ์์๊ฐ ๊ตฌํ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ, ๊ฒฐ๊ตญ ๊ตฌํ์ด ์ต์ฐ์ ์ผ์ง๋ผ๋ ๊ทธ๋ฌํ ๊ตฌํ์ ๊ฐ๋ฅํ๊ฒ ํ๋ code์ ํ์ง ์ญ์ ๊ตฌํ ๋ชป์ง ์๊ฒ ์ค์ํ๋ค๋ ๊ฒ์ ์์๊ฐ๊ณ ์๋ค. ๋๋ ๋ค๋ฅธ ์ฌ๋์๊ฒ ๋น๋นํ ๊ณต๊ฐํ ์ ์๋ codef๋ฅผ ์ง์ผ ํ ํ
๋ฐ...
A-2. CSS
๏พ ๏พ ๏พ ๏พ ์์ง coding์ ๋ง์ด ํด๋ณด์ง๋ ์์์ง๋ง, margin์ด๋ padding์ฒ๋ผ image์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ์ง๋ ์์๋ฅผ ์ ๋๋ก ์ดํดํ์ง ๋ชปํด ์๊ฐ์ ๋ญ๋นํ๋ ์ํฉ์ด ๋ง์๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์์(๋ถ๋ชจ-์์ ๊ด๊ณ)์ ๋ช
ํํ ์ดํดํ์ง ๋ชปํ๋ฉด ์ ๋ด๊ฐ ์๋ํ ๋๋ก style์ด ์ ์ฉ๋์ง ์๋์ง ์ฐพ๋ ๋ฐ์ ํ์ฐธ์ด ๊ฑธ๋ฆฐ๋ค. ๊ด๋ จ ๊ฐ๋
์ ๋ฐ๋ณตํด์ ์ตํ๊ณ ์ ์ฉํด๋ด์ผ๊ฒ ๋ค.
{code club}
Khan Academy
์ํ์ฝ๋ฉ - HTML
CSS ๋ ์ด์์์ ๋ฐฐ์์๋ค
๊ตฌ๊ธ ๊ฒ์ ์ผํฐ
CSS Diner (selector)
Flexbox Froggy - level beginner