21๋
12์ 17์ผ
๐ ๋ชจ์ ๋ฉด์
๐ SOP(Same-origin policy)๊ฐ ๋ฌด์์ธ์ง ์ค๋ช
ํด์ฃผ์ธ์.
- ๋ธ๋ผ์ฐ์ ๋ ๋ณด์์ ์ํด ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ฅ์ ์ ์ฝ์ ๊ฑธ์ด๋์๋ค.
=> ์ ์ฝ์ด ์๋ ์ด์ ? ์
์ฑ ์นํ์ด์ง๊ฐ ๊ฐ์ธ ์ ๋ณด์ ์ ๊ทผํ๊ฑฐ๋ ์ฌ์ฉ์ ๋ฐ์ดํฐ์ ์์์ ๋ง๊ธฐ ์ํด
- ๋ธ๋ผ์ฐ์ ๋ด ํญ๊ณผ ์ฐฝ์ ๋๊ฐ ์๋ก์ ์ ๋ณด๋ฅผ ์ ์ ์๋ค. ๊ทธ๋ฐ๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํด ํ ์ฐฝ์์ ๋ค๋ฅธ ์ฐฝ์ ์ด ๋๋ ์์ธ๊ฐ ์ ์ฉ๋๋ค.
=> ํ์ง๋ง ์ด ๊ฒฝ์ฐ์๋ ๋๋ฉ์ธ์ด๋ ํ๋กํ ์ฝ, ํฌํธ๊ฐ ๋ค๋ฅด๊ฐ๋ฉด ํ์ด์ง์ ์ ๊ทผํ ์ ์๋ค.
=> ์ด๋ฐ ์ ์ฝ์ฌํญ์ '๋์ผ ์ถ์ฒ ์ ์ฑ
(Same Origin Policy)'๋ผ๊ณ ํ๋ค.
- ์๋ก ๋ค๋ฅธ ๋๋ฉ์ธ์ผ ๊ฒฝ์ฐ, ์๋ก ์ํธ ๋ณด์ํ ์ ์๋๋ก ๋ง์๋์ ๊ฒ
=> ํ๋กํ ์ฝ, ํธ์คํธ, ํฌํธ๊ฐ ๋ชจ๋ ๊ฐ์์ผ ๋์ผํ ์ถ์ฒ๋ผ๊ณ ํ ์ ์๋ค.
- ์๋์ ํ๊ทธ๋ก ๋ถ๋ฌ์ค๋ ๊ฒ ๊ฐ๋ฅ : ์๋ฒ ๋ฉ ๋ฐฉ๋ฒ ๊ฐ๋ฅ
=> ๋ค๋ฅธ ๋๋ฉ์ธ, ๋ฆฌ์์ค์ ์๋ ๊ฒ์ ๋ถ๋ฌ์ค๋ ๊ฒ์ ๊ฐ๋ฅ
<script src="..."></script>
๋ก ์ถ๊ฐํ๋ JavaScript
<link rel="stylesheet" href=โโฆ">
๋ก ์ถ๊ฐํ๋ CSS
<img>
๋ก ํ์ํ๋ ์ด๋ฏธ์ง
<video>
์ <audio>
๋ก ์ฌ์ํ๋ ๋ฏธ๋์ด
@font-face
๋ก ์ ์ฉํ๋ ๊ธ์จ์ฒด
<iframe>
์ผ๋ก ์ฝ์
ํ๋ ๋ชจ๋ ๊ฒ
๐ CORS(Cross-Origin Resource Sharing)๊ฐ ๋ฌด์์ธ์ง ์ค๋ช
ํด์ฃผ์ธ์.
๐ ๋ธ๋ผ์ฐ์ ๊ฐ ์น ํ์ด์ง๋ฅผ ๋ ๋๋ง ํ๋ ๊ณผ์ ์ ์ค๋ช
ํด์ฃผ์ธ์.
-
๋ ๋๋ง(rendering) : HTML, CSS, JavaScript ํ์ผ์ ํ์ฑํด, ๋ธ๋ผ์ฐ์ ์ ์๊ฐ์ ์ผ๋ก ์ถ๋ ฅํ๋ ๊ณผ์
-
๋ธ๋ผ์ฐ์ ๋ ๋๋ง ์ ์ฒด ๊ณผ์
1) ๋ธ๋ผ์ฐ์ ๋ HTML, CSS, JavaScript, ์ด๋ฏธ์ง, ํฐํธ ๋ฑ ๋ฆฌ์์ค๋ฅผ ์๋ฒ์ ์์ฒญํ๊ณ ์๋ต์ผ๋ก ๋ฐ์์จ๋ค.
2) ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ์์ง์ ๋ฐ์์จ HTML, CSS๋ฅผ ํ์ฑํด DOM, CSSOM์ ์์ฑํ๊ณ , ์ด๋ค์ ๊ฒฐํฉํด ๋ ๋ ํธ๋ฆฌ๋ฅผ ์์ฑํ๋ค.
3) ๋ธ๋ผ์ฐ์ JavaScript ์์ง์ ๋ฐ์์ด JavaScript๋ฅผ ํ์ฑํด AST๋ฅผ ์์ฑํ๊ณ , ๋ฐ์ดํธ์ฝ๋๋ก ๋ณํํด ์คํํ๋ค.
4) ๋ ๋ํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก HTML ์์์ ๋ ์ด์์(์์น, ํฌ๊ธฐ)์ ๊ณ์ฐํ๋ค.
5) ํ๋ฉด์ HTML์์๋ฅผ ํ์ธํ
ํ๋ค.
๋ฆฌํ๋ก์ฐ : ๋ ์ด์์ ๊ณ์ฐ์ ๋ค์ํ๋ ๊ฒ
๋ฆฌํ์ธํธ : ์๋ก์ด ๋ ๋ํธ๋ฆฌ๋ฅผ ๋ฐํ์ผ๋ก ๋ค์ ํ์ธํธ๋ฅผ ํ๋ ๊ฒ
์นํ์ด์ง๊ฐ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๊ธฐ๊น์ง
๐ GET ๋ฐฉ์๊ณผ POST ๋ฐฉ์์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์.
GET ๋ฐฉ์
- URL์ ๋ณ์(๋ฐ์ดํฐ)๋ฅผ ํฌํจ์์ผ ์์ฒญ
- ๋ฐ์ดํฐ๋ฅผ Header(ํค๋)์ ํฌํจํ์ฌ ์ ์ก
- URL์ ๋ฐ์ดํฐ๊ฐ ๋
ธ์ถ๋์ด ๋ณด์์ ์ทจ์ฝ
- ์บ์ฑํ ์ ์๋ค.
POST ๋ฐฉ์
- URL์ ๋ณ์(๋ฐ์ดํฐ)๋ฅผ ๋
ธ์ถํ์ง ์๊ณ ์์ฒญ
- ๋ฐ์ดํฐ๋ฅผ Body(๋ฐ๋)์ ํฌํจํ์ฌ ์ ์ก
- URL์ ๋ฐ์ดํฐ๊ฐ ๋
ธ์ถ๋์ง ์์ ๊ธฐ๋ณธ ๋ณด์์ ๋์ด์๋ค.
- ์บ์ฑํ ์ ์๋ค.
๐ section
์์์ article
์์์ ์ฌ์ฉ ์ฉ๋์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์.
๋ฌด์์์ ์ผ๋ก section
์์๊ฐ article
์์๋ณด๋ค ๋ ํฐ ๋ฒ์(section
์ article
์ ๋ฌถ์ ์ ์์ง๋ง ๊ทธ ๋ฐ๋๋ ์๋๋ค๊ณ )๋ผ๊ณ ์๊ฐํ๋๋ฐ ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฐ์?
section
์์์ article
์์๋ ๊ฐ์ ๋ ๋ฒจ์ด๋ฏ๋ก ์ด๋ค ์์๊ฐ ๋ฒ์๊ฐ ๋ ํฌ๊ณ ์๊ณ ๋ฅผ ๋๋ ์ ์๋ค.
- ์ ๋ฌธ์์
section
์ ์ฌํ ์ง๋ฉด, ์คํฌ์ธ ์ง๋ฉด๊ณผ ๊ฐ๋ค๋ฉด, article
์ ๊ฐ ์ง๋ฉด์ ๊ธฐ์ฌ๋ผ๊ณ ํ ์ ์๋ค. ์ด article
์ ๋ค์ด๋ฒ ๋ด์ค์ ์์ด๋ ๊ทธ ๋ด์ฉ์ ์ดํดํ ์ ์๊ณ , ๋ค๋ฅธ ์ฌ์ดํธ์ ์์ด๋ ์ดํดํ ์ ์๋ ๋
๋ฆฝ์ ์ธ ์์
article
๋ด์ section
์ผ๋ก ๋๋ ์ ์๊ณ ์ฌ๋ฌ article
์ section
์ผ๋ก ๋ฌถ์ ์ ์๋ค.
=> ์์ ฏ์ article
์์ ์ฌ์ฉ์ ๊ถ์ฅํ๋ค.
์ถ๊ฐ์ ์ผ๋ก ๊ณต๋ถํ ๋ถ๋ถ
HTML5 Content models
๐ CSS Sprite๊ธฐ๋ฒ์ ๋ํ ์ ์์ ์ฅ๋จ์ ์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์.
์ด๋ฏธ์ง ์คํ๋ผ์ดํธ(image sprite)
- ์ฌ๋ฌ ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ํ๋์ ์ด๋ฏธ์ง๋ก ํฉ์ณ์ ๊ด๋ฆฌํ๋ ์ด๋ฏธ์ง๋ฅผ ์๋ฏธ
- ์น ํ์ด์ง์ ์ด๋ฏธ์ง๊ฐ ์ฌ์ฉ๋ ๊ฒฝ์ฐ ํด๋น ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ๊ธฐ ์ํด ์น ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์ ์ด๋ฏธ์ง๋ฅผ ์์ฒญ
=> ์ฌ์ฉ๋ ์ด๋ฏธ์ง๊ฐ ๋ง์ ๊ฒฝ์ฐ ์น ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์ ํด๋น ์ด๋ฏธ์ง์ ์๋งํผ ์์ฒญํด์ผ๋ง ํ๋ฏ๋ก ์น ํ์ด์ง์ ๋ก๋ฉ์๊ฐ์ด ๊ธธ์ด์ง
=> ๋ชจ๋ฐ์ผ ํ๊ฒฝ๊ณผ ๊ฐ์ด ํ์ ๋ ์์์ ์ฌ์ฉํ๋ ํ๋ซํผ(platform)์์๋ ์น ํ์ด์ง์ ๋ก๋ฉ ์๊ฐ์ ๋จ์ถ์ํฌ ์ ์๋ค.
- ์ด๋ฏธ์ง ํ์ผ ์๊ฐ ์ ์ด์ง๋ฏ๋ก ๊ด๋ฆฌ๊ฐ ์ฌ์์ง๋ค.
CSS ์ด๋ฏธ์ง ์คํ๋ผ์ดํธ(Image Sprite)
๐ ํ์๊ด๋ฆฌ๋๊ตฌ(๋ฒ์ ๊ด๋ฆฌ ์์คํ
)์ ๋ํด ์ ๋ฐ์ ์ธ ์ค๋ช
์ ํด์ฃผ์ธ์. ๊ทธ๋ฆฌ๊ณ ์ฃผ ์ฌ์ฉ ๋๊ตฌ๋ ์์ ํด์ฃผ์ธ์.
Version Control System(VCS, ๋ฒ์ ๊ด๋ฆฌ ์์คํ
)
- ๋ฌธ์๋ ์ค๊ณ๋, ์์ค์ฝ๋ ๋ฑ์ ๋ณ๊ฒฝ์ ์ ๊ด๋ฆฌํด์ฃผ๋ ์ํํธ์จ์ด
- ๋ฒ์ ๊ด๋ฆฌ์ ์ฅ์
- ๋ณ๊ฒฝ์ ๊ด๋ฆฌ : ์ด๋ค ๋ด์ฉ์ ๋๊ฐ ์์ฑํด์ ์ด๋ ์์ ์ ๋ค์ด๊ฐ๋์ง ํ์ธ ๊ฐ๋ฅ
- ๋ฒ์ ๊ด๋ฆฌ: ํน์ ์์ ์ ๊ผฌ๋ฆฌํ(tag)๋ฅผ ๋ฌ์ ๋ฒ์ ์ ํ์ํด์ฃผ๊ณ , ๋ธ๋์น(branch) ๋ฑ์ผ๋ก ๋์์ ์ฌ๋ฌ ๋ฒ์ ์ ๊ฐ๋ฐ ๊ฐ๋ฅ
- ๋ฐฑ์
& ๋ณต๊ตฌ: ๋ฌด์ธ๊ฐ๊ฐ ์๋ชป๋์์ ๋ ๋ค์ ํน์ ์์ ์ผ๋ก ๋์๊ฐ ์ ์๊ณ , ๋ด์ฉ์ด ๋ ์๊ฐ ๊ฒฝ์ฐ์๋ ๋ณต๊ตฌ๋ ๊ฐ๋ฅ
- ํ์
: ๊ฐ์ด ์ผํ๋ ์ฌ๋๋ค์๊ฒ ์์ ์ฌํญ์ ์ฝ๊ฒ ๊ณต์ ๊ฐ๋ฅ
- ๋ฒ์ ๊ด๋ฆฌ ์์คํ
- ๋๋ฌด์ํค
๋ฒ์ ๊ด๋ฆฌ ๋๊ตฌ
- ๊ณต์ ํด๋ ๋ฐฉ์ : ๋ฒ์ ๊ด๋ฆฌ ์๋ฃ๊ฐ ๋ก์ปฌ ์ปดํจํฐ์ ๊ณต์ ํด๋์ ์ ์ฅ๋์ด ๊ด๋ฆฌ
- ํด๋ผ์ด์ธํธ / ์๋ฒ ๋ฐฉ์ : ๋ฒ์ ๊ด๋ฆฌ ์๋ฃ๊ฐ ์๋ฒ(์ค์ ์์คํ
)์ ์ ์ฅ๋์ด ๊ด๋ฆฌ
=> Subversion(SVN)
- ๋ถ์ฐ ์ ์ฅ์ ๋ฐฉ์ : ๋ฒ์ ๊ด๋ฆฌ ์๋ฃ๊ฐ ํ๋์ ์๊ฒฉ ์ ์ฅ์(= ๋ถ์ฐ ์ ์ฅ์)์ ๋ถ์ฐ๋ PC์ ๋ก์ปฌ ์ ์ฅ์์ ํจ๊ป ์ ์ฅ๋์ด ๊ด๋ฆฌ
=> Git
ํ์๊ด๋ฆฌ
- ์ํํธ์จ์ด ๋ณ๊ฒฝ ์ฌํญ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ๋
=> ๊ฐ๋ฐ ๊ณผ์ ์ ์์๋ถํฐ ๋๊น์ง ๋ณํ๋ ๋ชจ๋ ์ฌํญ์ ๊ด๋ฆฌํ๋ ์์
- ํ์ ๊ด๋ฆฌ์ ์ค์์ฑ
- ์ง์์ ์ธ ์ํํธ์จ์ด์ ๋ณ๊ฒฝ์ฌํญ์ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌ ๋ฐ ์ถ์ ๊ฐ๋ฅ
- ์ํํธ์จ์ด์ ๋ํ ๋ฌด์ ์ ํ ๋ณ๊ฒฝ ๋ฐฉ์ง
- ์ํํธ์จ์ด์์ ๋ฐ๊ฒฌ๋ ๋ฒ๊ทธ๋ ์์ ์ฌํญ์ ์ถ์ ๊ฐ๋ฅ
- ์ํํธ์จ์ด๋ ํํ๊ฐ ์์ด ๊ฐ์์ฑ์ด ๊ฒฐํ๋๋ฏ๋ก ์งํ ์ ๋๋ฅผ ํ์ธํ๊ธฐ ์ํ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
- ํ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ : ํ์ ์๋ณ, ๋ฒ์ ์ ์ด, ํ์ ํต์ , ํ์ ๊ฐ์ฌ, ํ์ ๊ธฐ๋ก
๐ alt
์ title
์ ์ฐจ์ด์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.
alt
<img>
ํ๊ทธ์ ํด๋น ๊ฒฝ๋ก์ ์ด๋ฏธ์ง๊ฐ ์๊ฑฐ๋ ์๋ฐ์ด ๋ฐ ๋ ์ด๋ฏธ์ง ๋์ ๋ณด์ฌ์ง๋ ํ
์คํธ
- ๋์ฒด ํ
์คํธ์ด๋ฏ๋ก ์ด๋ฏธ์ง์ ๋ด์ฉ์ ๋์ฒดํ ์ ์๋ ์ด๋ฏธ์ง ์ค๋ช
์ด์ด์ผ ํ๋ค.
- ํ
์คํธ๊ฐ ํฌํจ๋ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ ๋ฐ๋์ ํด๋น ํ
์คํธ๋ฅผ ํจ๊ป ์ ์ด์ฃผ๋ ๊ฒ์ด ์ข๋ค.
<img src="์ด๋ฏธ์ง ๊ฒฝ๋ก" alt="์ด๋ฏธ์ง๋ฅผ ํ์ํ ์ ์์ ๋ ์ถ๋ ฅํ๋ ์ด๋ฏธ์ง ์ค๋ช
">
title
- ์ด๋ฏธ์ง ์์ ๋ง์ฐ์ค ์ปค์๊ฐ ์์นํ์ ๋ ๋ณด์ฌ์ง๋ ๋งํ์ฑ(tooltip) ๋๋ ์ด๋ฏธ์ง ์ ๋ชฉ
<img src="์ด๋ฏธ์ง ๊ฒฝ๋ก" title="๋ง์ฐ์ค ์ปค์๊ฐ ์์นํ์ ๋ ๋ณด์ฌ์ง๋ ๋งํ์ (์ด๋ฏธ์ง ์ ๋ชฉ)">
๐ ์ฐ๋ฆฌ ํ์ฌ์ ์
์ฌํ๋ค๋ฉด ์ด๋ค ๊ธฐ์ฌ๋ฅผ ํ ์ ์๋ค๊ณ ์๊ฐํ๋์? (๋จ, ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ก ์
์ฌํ๋ค๊ณ ๊ฐ์ )
- ๋ณธ์ธ์ ๋ฎ์ถ๋ ๊ฒ์ ์ง์
- ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ป๊ฒ ๊ธฐ์ฌํ ๊ฒ์ธ์ง ๋งํ๊ธฐ
- ์ด๋ป๊ฒ ๊ธฐ์ฌํ ๊ฒ์ธ๊ฐ๊ฐ ์ง๋ฌธ์ ์์ง์ด๋ฏ๋ก ํ์ฌ์ ์
์ฅ์์ ๋น์ฐํ ๋ง์ ๋บ ๊ฒ
- ๊ตฌ์ฒด์ ์ธ ๊ฒฝํ์ ํตํด ๋ณธ์ธ์ ๊ฐ์ ์ ์ดํ
- ๋ง์ ์ฌ๋๋ค์ด ๋ฃ๋ ๋ด์ฉ์ ๋บ ๊ฒ
๐ ํ๋ก ํธ์๋ ๊ด๋ จ ๊ณต๋ถ๋ ์ด๋ป๊ฒ ์งํํ๊ณ ๊ณ์ ๊ฐ์?
๋ด์ฉ ์ถ๊ฐํ๊ธฐ
๋ง๋ฌด๋ฆฌ
- ๋ต๋ณ์ ํ๊ธฐ ๋๋ฌด ์ด๋ ต๋ค ํํํ
=> ๋ค๋ฅธ ๋ถ๋ค์ ๋ต๋ณ์ ์ ๋ง ์ด์ฌํ ํ์๋๋ฐ ๋๋ ๋๋ต์ด ๋๋ฌด ์ด๋ ค์์ ์๊ฐ์ด ๋ง์์ง ๋ญ์์~