์ฐ๋ฆฌ๊ฐ ๋ฐฐ์ธ ๊ฒ - Next.js
Next.js๋ Vercel์ฌ๊ฐ ๊ฐ๋ฐํ๋ ๋ฆฌ์กํธ ๊ธฐ๋ฐ ํ๋ ์์ํฌ์ด๋ค.
์ผ๋จ ์์ ๊ธฐ๋ณธ๋ถํฐ ์์๋ณด์.
์นํ์ด์ง์ ์๋์๋ฆฌ
์ฐ๋ฆฌ๊ฐ ๋ธ๋ผ์ฐ์ ๋ก ์ด๋ค ์น์ฌ์ดํธ์ ๋ค์ด๊ฐ๋ค๊ณ ํ์. ์ด๋ ์ฐ๋ฆฌ์ ๋ธ๋ผ์ฐ์ ์ ์๋ฒ๋ ์ด๋ค์์ผ๋ก ์๋ํด ์ฐ๋ฆฌ์๊ฒ ์นํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฑธ๊น?
์ด๋ฅผ ์ฝ๊ฒ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์๊ฒ ํน์ URL์ ์์ฒญ
- ์๋ฒ๋ ์์ฒญ์ ๋ฐ๊ณ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๋๋ ค์ฃผ๋ฉด ๋ ์ง ์๊ฐํจ
- ์๋ฒ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋๋ ค์ค
- ์ฌ์ฉ์์ ์ปดํจํฐ ์์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฅผ ๋ ๋๋งํจ
์ด๋, ์๋ฒ๋ ๋ฐ์ดํฐ๋ฅผ HTML์ ํ์์ผ๋ก ๋๋ ค์ค๋ค. ์ด์ ๋จผ์ HTML์ ๋ํด ์์๋ณด์.
๋ชจ๋ ์นํ์ด์ง๋ HTML, CSS, JS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋๋ค.
HTML์ ๊ธฐ๋ณธ์ ์ธ ๋ ์ด์์์ ์ ํ๊ณ , ๋ชจ๋ Element(์์)๋ฅผ ๊ธฐ์ ํ๋ค. ๋ฌธ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
๊ฐ <...>
์ <.../>
์ ๋์์ด ํ๋์ ์์๋ผ ์๊ฐํ๋ฉด ๋๊ฒ ๋ค.
<!Doctype HTML>
<html>
<head>
...
</head>
<body>
...
</body>
</html>
head ์์๋ ์น์ฌ์ดํธ์ ์ ๋ชฉ, ํฌ๊ธฐ, ๋ฑ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ ํ๋ค.
์ผ๋จ์ body ์์์ ์ง์คํ์.
body ์์์๋ ์ฌ์ฉ์์๊ฒ ๋ณด์ด๋ ๋ชจ๋ ์์๋ค์ ๊ธฐ์ ํ๋ ๊ณณ์ด๋ผ ์๊ฐํ๋ฉด ์ข๋ค.
~~(Note. body๋ฐ์ ์์๋ฅผ ๋๋๋ค ํด๋ ๋ธ๋ผ์ฐ์ ๋ ์ด๋ฅผ ๋ณด์ฌ์ฃผ๊ธด ํ๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๋ ์ผ๋จ ์ ์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ํ๋๊ฒ ์ข์ผ๋ฏ๋ก ๊ทธ๋ฅ body์ ์ค์ํ ๊ฒ๋ค์ ๋ค ๋ฃ๋๋ค ์๊ฐํ์.)~~
๊ทธ๋ฌ๋ฉด ์ด์ HTML์ ๋ค์ํ ์์์ ๋ํด ์์๋ณด๋๋ก ํ์.
HTML์ ๋ค์ํ ์์
1. div
์ฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋ ์์์ด๋ค. ๊ฐ์ฅ ๋ค์ํ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค.
2. img
์ด๋ฏธ์ง๋ฅผ ํ์ํ๊ฒ ํ๋ ์์์ด๋ค. ๋ฌธ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
<img src="์ด๋ฏธ์งURL" />
img๋ Self closing tag๋ผ์ ๋ค๋ฅธ ์์๋ค๊ณผ ๋ฌ๋ฆฌ ์ฌ๋์๊ฐ ์ ๋ถ๋ถ์ ๋ถ๋๋ค. ๊ทธ๋ฅ img ์์๋ ์๋ฌด๊ฒ๋ ๋ฃ์ ์ ์์ด์ ๊ทธ๋ ๋ค ์๊ฐํ๊ณ ๋์ด๊ฐ์.
3. button
์ด๋ฆ ๊ทธ๋๋ก ๋ฒํผ์ด๋ค. ๋๋ฅด๋ฉด ์ด๋ค ๋์์ ์คํํ๊ฒ ํ ์ ์๋๋ฐ, ์ด ๋ถ๋ถ์ ๋ค์ Chapter์์ ์์๋ณด๊ธฐ๋ก ํ์.
<button onclick ="...">๋จํ์ด ๋จธ๋ฆฌ ๋๋ฆฌ๊ธฐ</button>
4. anchor (a)
์ด๋ฆ์ ๋ณด๋ฉด ๋ญ์ง ์ ๋ชจ๋ฅผ ์ ์๋๋ฐ, ์ด๋ ํ์ด์ง๊ฐ ๋งํฌ๋ฅผ ๋ง๋๋ ์์์ด๋ค. ํ ์น์ฌ์ดํธ ๋ด์ ํ์ด์ง๋ก ๊ฐ๋ ๊ฒ ์ผ์๋ ์๊ณ , ์ธ๋ถ ์นํ์ด์ง์ ๋งํฌ๋ก ๊ฐ๋ ๊ฒ ์ผ ์๋ ์๋ค.
<a onclick ="๋งํฌ123">๋จ๋์๊ณ ๋ง์ด๋๊ฐค๋ฌ๋ฆฌ๋ก ๊ฐ๊ธฐ</a>
span
์ธ๋ผ์ธ์ผ๋ก ํ ์คํธ๋ฅผ ๋ณด์ฌ์ค ๋ ์ด๋ค. ๊ทธ๋ฅ ํ ์คํธ ๋ณด์ฌ์ฃผ๋ ์์๋ผ ์๊ฐํ์.
์ฐธ๊ณ ๋ก ์ ๋ ๊ฒ ํ์ค์ ์ ์ด๋ ๋๊ณ ,
์ด๋ ๊ฒ ์ ์ด๋ ๋ธ๋ผ์ฐ์ ๋ ์ ์์๋ฃ๋๋ค.
<a onclick ="๋งํฌ123">
๋จ๋์๊ณ ๋ง์ด๋๊ฐค๋ฌ๋ฆฌ๋ก ๊ฐ๊ธฐ</a>
์ฌ์ง์ด ์ด๋ ๊ฒ ์ ์ด๋ ์์๋ฃ๋๋ค.
<a
onclick ="๋งํฌ123"
>๋จ๋์๊ณ ๋ง์ด๋๊ฐค๋ฌ๋ฆฌ๋ก ๊ฐ๊ธฐ</
a>
HTML์ ํน์ง
1. ์์๋ฅผ ๋ค์คํ ํ ์ ์๋ค.
<div>
<div>๋จํ์ด๋ฐ๋ณด</div>
<div>
<div>
<div>
<button>
๋จํ์ด ๋๋ฆฌ๊ธฐ
</button>
</div>
</div>
</div>
<div>
2. ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์คํ์ผ๋ง์ด ๋์ด์์ง ์๋ค.
CSS๋ก ์คํ์ผ๋ง์ ํ๋๊ฑฐ์
3. HTML๋ง์ผ๋ก ์์ฑํ ์น์ฌ์ดํธ๋ ๋ณ๋ก ์ธ๋ชจ๊ฐ ์๋ค.
์์ํ ์ ๋ณด์ ๊ณต์ ๋ชฉ์ ๋ง ๋ฌ์ฑํ ๋ฟ, ์ฌ์ฉ์์๊ฒ ์ ์ฉํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ๋ ์ด๋ ต๋ค.
๋ค์์ผ๋ก CSS์ ๋ํด ์์๋ณด์.
CSS๊ฐ ๋ญ์์??
์ฐ๋ฆฌ๋ CSS๋ผ๋ ์ธ์ด๋ฅผ ์ด์ฉํด์ ์น์ฌ์ดํธ๋ฅผ ์ด์๊ฒ ์คํ์ผ๋งํ ์ ์๋ค.
์์ ๋ด์ฉ์ ์ ์ฝ์๋ค๋ฉด(๊ทธ๋ฌ๊ธฐ๋ฅผ ๋ฐ๋ผ์), ์๋ฒ๊ฐ HTML์ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ธ๋ผ์ฐ์ ์๊ฒ ๋ฐํํ๋ค๋ ๊ฒ์ ๊ธฐ์ตํ ๊ฒ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด CSS๋ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์๊ฒ ์ด๋ป๊ฒ ์ ๋ฌ๋ ๊น?
์ด์ ๋ํ ๋ต์ head ์์ ์์ ์๋ค.
์์ ์ฐ๋ฆฐ head์ ์ ๋ชฉ๊ณผ ๊ฐ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค๊ณ ๋ฐฐ์ ๋ค.
์ด๋ฌํ ๋ฉํ๋ฐ์ดํฐ ์ค์๋ ์น์ฌ์ดํธ์ ํ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ด๋ CSSํ์ผ๋ ํฌํจ๋๋ค.
์๋ฅผ๋ค์ด, ์ฐ๋ฆฌ ์น์ฌ์ดํธ์ babo.css
๋ผ๋ ํ์ผ์ด ํ์ํ๋ค๋ฉด,
<head>
<linkย rel="stylesheet"ย href="babo.css" />
...
</head>
๊ฐ์ด ์ฐ๋ฉด ๋๋ค.
์ด๋ฌ๋ฉด, ๋ธ๋ผ์ฐ์ ๊ฐ HTML ํ์ผ์ ๋ฐ์ ๋ง์ CSSํ์ผ์ด ํ์ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋ผ ์์์ /babo.css
ํ์ผ๋ ์์ฒญํด ์ฌ์ฉํ๋ค.
๋ํ, ๊ธฐ๋ณธ์ ์ธ ์คํ์ผ๋ง์ HTMLํ์ผ ์์์ style
ํ๊ทธ๋ฅผ ์ด์ฉํด ํ ์ ์๋ค.
<style>
.large {
font-size: 60px;
}
</style>
CSS ๋ฌธ๋ฒ
๋์ถฉ๋ง ๋ฐฐ์๋ ๋ ๊ฒ ๊ฐ๋ค.
CSS ๋ฌธ๋ฒ์ ์ธํฐ๋ท์ ์ฐพ์๋ณด๊ฑฐ๋ ์ฑ๋ด์๊ฒ ๋ฌผ์ด๋ณด๋ฉด ๊ธ๋ฐฉ ์ ์ ์๊ณ , ๋ง์ด ๋ณด๋ค ๋ณด๋ฉด ์๋์ผ๋ก ์ธ์์ง๋ค.
// babo.css
#babo {
font-size: 120px;
color: red;
}
.namhoon {
font-size: 60px;
color: #0000FF;
}
a {
color: pink;
}
//index.html (์์ค์ํ๊ฑด์๋ตํจ)
<head>
<linkย rel="stylesheet"ย href="babo.css" />
</head>
<body>
<span class="namhoon">๊น๋จํ</span>
<span class="namhoon">๊น๋จํ</span>
<span class="namhoon">๊น๋จํ</span>
<span class="namhoon">๊น๋จํ</span>
<div id="babo">
๋ฐ๋ณด
</div>
<a href="https://m.dcinside.com/board/dksw">
๋จ๋์๊ณ ๋ง์ด๋๊ฐค๋ฌ๋ฆฌ
</a>
<button>
๋๋ฆฌ๊ธฐ
</button>
</body>
์์ CSSํ์ผ์ ๋ณด๋ฉด
#, .(๋ง์นจํ)์ ๊ธฐํธ๊ฐ ์ฌ์ฉ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋์น ๋น ๋ฅธ ๋ถ๋ค์ # ๊ฐ id๋ฅผ ์๋ฏธํ๊ณ , .(๋ง์นจํ)๋ class๋ฅผ ๊ฐ๋ฆฌํจ ๋ค๋ ๊ฒ์ ์์์ ์๋ ์๋ค.
๊ทธ๋ ๋ค๋ฉด classํ๊ณ id๋ ๋ฌด์์ด ๋ค๋ฅผ๊น?
๊ฐ์ฅ ์ค์ํ ์ฐจ์ด๋ id๋ ์นํ์ด์ง์ ํ๋๋ฐ์ ์๋ ์์๋ฅผ ๊ฐ๋ฆฌํฌ ๋ ์ฐ๊ณ , class๋ ์ฌ๋ฌ๋ฒ ์ฌ์ฉ๋๋ ์คํ์ผ์ ์ ์ํ ๋ ์ฌ์ฉ๋๋ค๋ ๊ฒ์ ์๋ค.
๋ง์ง๋ง์ a๋ ๋ชจ๋ anchor ์์์ ์ ์ฉ๋๋ ์คํ์ผ์ ์ ์ํ๋ค.
์ค๊ฐ ์ ๋ฆฌํ๊ธฐ
์ค๋ ๋ง์ ๊ฒ์ ์งง์ ์๊ฐ์์ ๋ฐฐ์ ๋ค. ์ด๋ฅผ ๋ณต์ตํด๋ณด๊ธฐ ์ํด ๊ฐ๋จํ O/X ๋ฌธ์ ๋ฅผ ์ค๋นํด๋ดค๋ค.
- ์ฌ์ฉ์๊ฐ ์นํ์ด์ง๋ฅผ ์ ์ํ ๋, ์น ์๋ฒ๋ ๋ธ๋ผ์ฐ์ ์๊ฒ HTML, CSS, JS ๋ฐ์ดํฐ๋ฅผ ๋์์ ๋ฐํํ๋ค. (O/X)
- CSS๋ ์น์ฌ์ดํธ๋ฅผ ์คํ์ผ ํ ๋ ์ฌ์ฉ๋๋ค. (O/X)
- class๋ ์น์ฌ์ดํธ์์ ํ๋ฒ๋ง ํ์๋๋ ์์๋ฅผ ๊ฐ๋ฆฌํฌ ๋ ๊ฐ์ฅ ์ ํฉํ๋ค (O/X)
์ฌ๊ธฐ์ ๋ณด์ 2ํ์ผ๋ก๊ฐ์๋ค