1) ์น ํ๋ก๊ทธ๋๋ฐ์ ์ํ ํ๋ก๊ทธ๋จ ์ธ์ด๋ค
์ ๊ธ ์ธ์ด
์ ๊ธ ์ธ์ด๋ ๊ธฐ๊ณ ์ค์ฌ์ ์ธ์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค.
๊ธฐ๊ณ๊ฐ ์ง์ ์์๋ค์ ์ ์๋ ๋ง๋ก 'ํ๋ก๊ทธ๋จ ์ฝ๋๋ฅผ ์์ฑํ๋ค'๊ณ ๋งํ ์ ์์ต๋๋ค.
์ปดํจํฐ๋ ์ ๊ธฐ๋ก ๋์ํฉ๋๋ค.
์ฆ, ์ ๊ธฐ์ ํธ์ธ ์ผ์ก๋ค(on)์ ๊บผ์ก๋ค(off) 2๊ฐ์ง ์ํ ๊ฐ์ผ๋ก ๋์ํ๋ค๊ณ ๋งํ ์ ์์ต๋๋ค.
๋ณดํต ์ซ์๋ก ํํํ๋ฉด ์ผ์ก๋ค๋ 1, ๊บผ์ก๋ค๋ 0์ ์๋ฏธํฉ๋๋ค. 0๊ณผ 1๋ก ํํ๋๋ ์ซ์๋ฅผ ์ฐ๋ฆฌ๋ 2์ง์๋ผ๊ณ ๋งํฉ๋๋ค.
2์ง์๋ก ์ด๋ค์ง ๊ฐ์ผ๋ก ์์ฑํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๊ธฐ๊ณ์ด(Machine Language)๋ผ๊ณ ๋งํฉ๋๋ค.
์ซ์๋ก๋ง ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ ์ง๋ณด์๋ ๊ต์ฅํ ์ด๋ ต์ต๋๋ค.
์ซ์๋ก๋ง ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ฌ์ฉ์ด ๊ต์ฅํ ์ด๋ ค์ ์ต๋๋ค.
๊ทธ๋์, ์ด ์ซ์๋ก ๋ ๋ฌธ์ฅ๊ณผ 1:1๋ก ๋์ํ๋ ๊ธฐํธ๋ฅผ ๋ง๋ค๊ณ , ๊ทธ ๊ธฐํธ๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ๊ฒ ๋์์ต๋๋ค.
๋จ ๊ธฐํธ๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ๊ธฐ๊ณ๊ฐ ๋ฐ๋ก ์์๋ค์ ์ ์๊ธฐ ๋๋ฌธ์ ๊ธฐํธ๋ก ์์ฑ๋ ๋ฌธ์ฅ๋ค์ ์๋์ ์ซ์๋ก ๋ฐ๊ฟ์ผ ํ๋ ๊ณผ์ ์ด ๋ ํ์ํ๊ฒ ๋์์ต๋๋ค.
์ด๋ฌํ ๊ณผ์ ์์ ์ฌ์ฉ๋๋ ๋๊ตฌ๋ฅผ ์ปดํ์ผ๋ฌ(Compiler)๋ผ๊ณ ๋งํ๋ฉฐ, ์ด๋ฌํ ๊ธฐํธ๋ก ์์ฑ๋ ์ธ์ด๋ฅผ ์ด์ ๋ธ๋ฆฌ์ด(Assembly Language)๋ผ๊ณ ๋งํฉ๋๋ค.
ํ์ฌ๋ ์์ฃผ ํน์ํ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ ๊ธฐ๊ณ์ด์ ์ด์ ๋ธ๋ฆฌ์ด๋ก ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์์ต๋๋ค.
๊ทธ๋งํผ ํ๋ก๊ทธ๋๋ฐ์ด ์ด๋ ต๊ณ ์ ์ง๋ณด์๊ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ณ ๊ธ ์ธ์ด
๊ณ ๊ธ ์ธ์ด๋ ์ฌ๋ ์ค์ฌ์ ์ธ์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค.
์ฌ๋์ด ์ข ๋ ์ดํดํ๊ธฐ ์ฌ์ด ๋ฌธ๋ฒ์ผ๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์์ต๋๋ค.
์ด๋ฐ ์ผ์ด ๊ฐ๋ฅํ๊ธฐ ์ํด์ ์์ฑ๋ ์์ค์ฝ๋๋ฅผ ๋ฒ์ญํ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค.
์ด๋ฅผ ์ปดํ์ผํ๋ค๊ณ ๋งํ๋ฉฐ, ์ด๋ฌํ ์ผ์ ์ํํ๋ ๊ฒ์ ์ปดํ์ผ๋ฌ๋ผ๊ณ ๋งํฉ๋๋ค.
์์์ ์ด์ ๋ธ๋ฆฌ์ด๋ ๊ธฐ๊ณ์ด๋ก ์ปดํ์ผ์ด ๋๋ค๊ณ ๋งํ์์ฃ ?
์ปดํจํฐ ์ฑ๋ฅ์ด ์ข์์ง๊ณ , ์ปดํ์ผ๋ฌ์ ๊ด๋ จ๋ ๊ธฐ์ ์ด ๋ฐ์ ํ๋ฉด์ ์ฌ๋ ์ค์ฌ์ ์ธ์ด๋ก ํ๋ก๊ทธ๋๋ฐํ ์ ์๋ค๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
์ด๋ฌํ ๊ณ ๊ธ ์ธ์ด๋ก๋ ๋ค์๊ณผ ๊ฐ์ ์ธ์ด๋ค์ด ์์ต๋๋ค.
-
FORTRAN : ์ต์ด์ ๊ณ ๊ธ์ธ์ด ์ค์ ํ๋๋ผ๊ณ ๋งํ ์ ์์ผ๋ฉฐ, ๊ณผํ ๊ณ์ฐ์ฉ์ผ๋ก ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ํ์ฌ ๊ณต๋์์๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
-
COBOL : FORTRAN๊ณผ ๋๋ถ์ด ์ญ์ฌ๊ฐ ์ค๋๋ ์ธ์ด์ ๋๋ค. ์ผ๋ฐ ์ ๋ฌด์์ ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ก์ผ๋ฉฐ, ํ์ฌ๋ ์ํ ๋ฑ์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
-
PROLOG : ๋ ผ๋ฆฌํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก์จ, ๋ ผ๋ฆฌ์์ ํ ๋๋ก ์ค๋ธ์ ํธ์ ์ค๋ธ์ ํธ ๊ฐ์ ๊ด๊ณ์ ๊ดํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
-
C : 1972๋ ๋ฏธ๊ตญ ๋ฒจ ์ฐ๊ตฌ์์ ๋ฐ๋์ค ๋ฆฌ์น์ ์ํด ๊ฐ๋ฐ๋ ๊ณ ๊ธ ์ธ์ด๋ก์จ ์์คํ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฅ ์ ํฉํ ํ๊ฐ๋ฅผ ๋ฐ๋ ์ธ์ด์ ๋๋ค.
-
Erlang :์ค์จ๋ด์ ์๋ฆญ์จ์์ ๊ฐ๋ฐํ ํจ์ํ ๋ณํ์ฑ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ฉฐ ํต์ ์ธํ๋ผ๋ฅผ ์ํ ์ธ์ด์ ๋๋ค.
-
Lisp : LISt Processsor์ ์ฝ์๋ก์จ ๋ํ์ ์ธ ํจ์ํ ์ธ์ด์ ๋๋ค. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ญ์ฌ๋ฅผ ๋งํ ๋, ํ๋์ ์ปดํจํฐ๋ฅผ ์ํด ๋ฑ์ฅํ ๊ณ ๊ธ ์ธ์ด ์ค ๊ฐ์ฅ ์ค๋๋ ๊ฒ์ด ํฌํธ๋์ด๊ณ , ๋ ๋ฒ์งธ๋ก ์ค๋๋ ๊ฒ์ด ๋ฐ๋ก ์ด ๋ฆฌ์คํ์ ๋๋ค.
-
Swift : 2014๋ WWDC(Apple WorldWide Developers Conference)์์ ๊ณต๊ฐํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. ์ต๊ทผ์ ๋ง๋ค์ด์ง ์ธ์ด๋ก ํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ์ ์ ๋๋ค์ ๊ณ์นํ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค.
-
Kotlin : IntelliJ IDEA์ ๊ฐ๋ฐ์ฌ JetBrains์์ 2011๋ ์ ๊ฐ๋ฐํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. JVM๊ธฐ๋ฐ์ ์ธ์ด์ด๋ฉฐ Java์์ ์ํธ ์ด์์ด 100% ์ง์๋ฉ๋๋ค. Swift์ ๋ง์ฐฌ๊ฐ์ง๋ก ํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ์ ์ ๋๋ค์ ๊ณ์นํ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ผ ๋งํ ์ ์์ต๋๋ค.
-
Clojure : ํด๋ก์ (Clojure)๋ ๋ฆฌ์น ํํค(Rich Hickey)๊ฐ ๋ง๋ ๋ฆฌ์คํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐฉ์ธ์ผ๋ก์, ๋ฒ์ฉ ํจ์ํ ์ธ์ด์ ๋๋ค.
-
Python : ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ์๊ฐ ์ฝ๊ธฐ ์ฝ๊ณ ์ ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ๋ง์ ์ฌ๋์๊ฒ ์ถ์ฒ๋๋ ์ธ์ด์ด๋ฉฐ, ๋ฐ์ดํฐ ๊ณผํ์์๋ ์์ฃผ ์ฌ์ฉ๋๋ฉฐ ์น์ฌ์ดํธ ๊ฐ๋ฐ์์๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ์ต๊ทผ python์ ML (machine learning)์์๋ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
-
JAVA : 1995๋ ์ฌ ๋ง์ดํฌ๋ก์์คํ ์ฆ ์์ ๊ฐ๋ฐํ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. ๊ฑฐ์ ๋งค๋ ์ธ๊ณ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ธ๊ธฐ 1๋ฑ์ ์ฐจ์งํ๊ณ ์์ต๋๋ค.
์น ํ๋ก๊ทธ๋๋ฐ์์ ์ธ๊ธฐ๊ฐ ๋ง์ ์ธ์ด
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ธ์ด๋ ๋ฌด์์ผ๊น์?
์ฌ๋๋ง๋ค ๋ค๋ฅธ ๊ด์ ์ผ๋ก ์ธ์ด๋ฅผ ๋ฐ๋ผ๋ณด๊ธฐ ๋๋ฌธ์ ์์๋ฅผ ๋งค๊ธด๋ค๋ ๊ฒ์ ์ฝ์ง ์์ ๊ฒ์ ๋๋ค.
๊ธฐ์ ์ด๋ ์ธ๋ก ์ ๊ฒฝ์ฐ ์ธ๊ธฐ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์๊ธฐ ์ํด์ github, stackoverflow์ ๊ฐ์ ์ฌ์ดํธ์์ ์ธ๊ธ๋๋ ํ์๋ฅผ ํ์ฉํ๊ธฐ๋ ํฉ๋๋ค.
Github์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ธ์ด 15๊ฐ
์ถ์ฒ https://octoverse.github.com/
์ด์ธ์๋ ํฐ์ค๋ฒ (https://www.tiobe.com)์ ์๋ฃ๋ฅผ ๋ง์ ๊ฐ๋ฐ์๊ฐ ๊ณต์ ๋ ฅ์ด ์๋ค๊ณ ์๊ฐํ๊ณ ์์ต๋๋ค.
ํฐ์ค๋ฒ ๋ ์ํํธ์จ์ด ํ์ง ๊ด๋ จ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์๋ ๊ธฐ์ ์ผ๋ก์จ ์ํคํผ๋์, ์๋ง์กด, ์ ํ๋ธ, ๊ตฌ๊ธ ๊ฒ์์ฐฝ์ ์ ๋ ฅ๋๋ ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ ์์๋ฅผ ์ ํ๊ฒ ๋ฉ๋๋ค.
ํฐ์ค๋ฒ ์ ์์๋ฅผ ๋ณด๋ฉด 2016, 2017๋ ๋ 1๋ฑ์ Java์ธ์ด๊ฐ ์ฐจ์งํ๊ณ ์๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
๋จ, ๋ค๋ฅธ ์ธ์ด๋ค์ ์ธ๊ธฐ๊ฐ ๋์์ง๋ฉด์ ๋น์จ์ด ๋จ์ด์ง ๊ฒ์ ์ ์ ์์ต๋๋ค.
2006๋ ๋ถํฐ ์น๊ณผ ๊ด๋ จ๋ ์ธ์ด๋ค์ด ์ธ๊ธฐ๋ฅผ ์ป๊ธฐ ์์ํ์๊ณ , 2012๋ ๋ถํฐ๋ ๋ชจ๋ฐ์ผ ์ฑ์ ๋ง๋ค๊ธฐ ์ํ ์ธ์ด๊ฐ ์ธ๊ธฐ๋ฅผ ์ป๊ฒ ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ 2016๋ ๋ถํฐ๋ ๋ฐ์ดํฐ ๊ณผํ๊ณผ ๊ด๋ จ๋ ์ธ์ด๋ค์ด ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์์ต๋๋ค.
์น ๊ด๋ จ ์ธ๊ธฐ ์ธ์ด
-
Python : ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ์๊ฐ ์ฝ๊ธฐ ์ฝ๊ณ ์ ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ๋ง์ ์ฌ๋์๊ฒ ์ถ์ฒ๋๋ ์ธ์ด์ด๋ฉฐ, ๋ฐ์ดํฐ ๊ณผํ์์๋ ์์ฃผ ์ฌ์ฉ๋๋ฉฐ ์น์ฌ์ดํธ ๊ฐ๋ฐ์์๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ์ฌ์ด ๊ฐ๋ฐ
-
PHP : ์น์ 80% ์ด์์ด PHP๋ก ๋ง๋ค์ด์ก๋ค๊ณ ๋งํฉ๋๋ค. ๊ทธ๋งํผ PHP๋ ์น ๊ฐ๋ฐ์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
-
JavaScript : ์๋ฐ ์คํฌ๋ฆฝํธ๋ ์ฒ์ ์์์ด ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ ์ธ์ด์์ต๋๋ค. ํ์ฌ๋ ์๋ฒ์์๋ ์์ฑํ๋ ํ๋ก๊ทธ๋จ์ผ๋ก ์ ์ฐจ ์์ญ์ ๋ํ๊ฐ๊ณ ์์ต๋๋ค. ํ๋ก ํธ ๊ฐ๋ฐ์๋ผ๋ฉด ๋ฐ๋์ ์์์ผ ํ ์ธ์ด์ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์ปค๋ฎค๋ํฐ๋ ์ ์ ๋ ๊ฑฐ๋ํด์ง๊ณ ์์ต๋๋ค. (ํ๋ก ํธ ์๋๋ถํฐ ์๋ฒ ๊ฐ๋ฐ๊น์ง ํ ๊ฐ์ง ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ๋ค๋ฉด)
-
JAVA : ์ํฐํ๋ผ์ด์ฆ ์ํํธ์จ์ด ํ๊ฒฝ์ ์ ๋ง๋ ์ธ์ด์ ๋๋ค. ํฐ ๊ท๋ชจ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์๋ฐ์ธ์ด๊ฐ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. JAVA์ธ์ด๋ฅผ ์ง์ํ๋ ์๋ง์ ์ปค๋ฎค๋ํฐ์ ์ํด์, ์ง์์ ์ผ๋ก ๋ฐ์ ๋์ด ํ๋ฅญํ ๊ตฌ์กฐ์ ์ค๊ณ ๊ธฐ๋ฒ๋ค์ด ์ ๊ฐ์ถฐ์ ธ ์์ต๋๋ค.
-
Ruby : ๋น ๋ฅธ ๊ฐ๋ฐ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ฉฐ, ๋จ์ํจ๊ณผ ์ธ๋ จ๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ ์ธ๊ธฐ ์๋ ์ธ์ด ์ค์ ํ๋์ ๋๋ค.
2) ์น์ ๋์ (HTTP ํ๋กํ ์ฝ ์ดํด)
HTTP (Hypertext Transfer Protocol)๋?
-
ํ ๋ฒ๋์ค๋ฆฌ(Tim Berners-Lee)์ ๊ทธ๊ฐ ์ํ ํ์ CERN์์ HTML๋ฟ๋ง ์๋๋ผ ์น ๋ธ๋ผ์ฐ์ ๋ฐ ์น ๋ธ๋ผ์ฐ์ ๊ด๋ จ ๊ธฐ์ ๊ณผ HTTP๋ฅผ ๋ฐ๋ช ํ์์ต๋๋ค.
-
๋ฌธ์ํ๋ ์ต์ด์ HTTP๋ฒ์ ์ HTTP v0.9(1991๋ )์ ๋๋ค.
-
HTTP๋ ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ธํฐ๋ท์์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ํ๋กํ ์ฝ(protocol)์ ๋๋ค.
-
HTTP๋ ๊ณ์ ๋ฐ์ ํ์ฌ HTTP/2๊น์ง ๋ฒ์ ์ด ๋ฑ์ฅํ ์ํ์ ๋๋ค.
HTTP ์๋๋ฐฉ์
-
HTTP๋ ์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ฆ ๋๋ค.
-
์ฅ์
- ๋ถํน์ ๋ค์๋ฅผ ๋์์ผ๋ก ํ๋ ์๋น์ค์๋ ์ ํฉํ๋ค.
- ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๊ณ์ ์ฐ๊ฒฐ๋ ํํ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ต๋ ์ฐ๊ฒฐ ์๋ณด๋ค ํจ์ฌ ๋ง์ ์์ฒญ๊ณผ ์๋ต์ ์ฒ๋ฆฌํ ์ ์๋ค. -
๋จ์
- ์ฐ๊ฒฐ์ ๋์ด๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์, ํด๋ผ์ด์ธํธ์ ์ด์ ์ํฉ์ ์ ์๊ฐ ์๋ค.
- ์ด๋ฌํ ํน์ง์ ๋ฌด์ํ(Stateless)๋ผ๊ณ ๋งํ๋ค.
- ์ด๋ฌํ ํน์ง ๋๋ฌธ์ ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํด์ Cookie์ ๊ฐ์ ๊ธฐ์ ์ด ๋ฑ์ฅํ๊ฒ ๋์๋ค.
URL (Uniform Resource Locator)
-
์ธํฐ๋ท ์์ ์์์ ์์น
-
ํน์ ์น ์๋ฒ์ ํน์ ํ์ผ์ ์ ๊ทผํ๊ธฐ ์ํ ๊ฒฝ๋ก ํน์ ์ฃผ์
-
์์ฒญ ๋ฉ์๋ : GET, PUT, POST, PUSH, OPTIONS ๋ฑ์ ์์ฒญ ๋ฐฉ์์ด ์จ๋ค.
-
์์ฒญ URI : ์์ฒญํ๋ ์์์ ์์น๋ฅผ ๋ช ์ํ๋ค.
-
HTTP ํ๋กํ ์ฝ ๋ฒ์ : ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ ๋ฒ์ ์ด๋ค.
์ฒซ๋ฒ์งธ ์ค์ ์์ฒญ๋ฉ์๋๋ ์๋ฒ์๊ฒ ์์ฒญ์ ์ข ๋ฅ๋ฅผ ์๋ ค์ฃผ๊ธฐ ์ํด์ ์ฌ์ฉ๋ฉ๋๋ค.
๊ฐ๊ฐ์ ๋ฉ์๋ ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ค.
์ฐธ๊ณ ๋ก ์ต์ด์ ์น ์๋ฒ๋ GET๋ฐฉ์๋ง ์ง์ํด์คฌ์ต๋๋ค.
-
GET : ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์๊ฒ ์ ๋ณด๋ฅผ ์์ฒญํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค. (SELECT)
-
POST : ์ ๋ณด๋ฅผ ๋ฐ์ด๋ฃ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค. (INSERT)
-
PUT : ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค. (UPDATE)
-
DELETE : ์ ๋ณด๋ฅผ ์ญ์ ํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค. (DELETE)
-
HEAD : (HTTP)ํค๋ ์ ๋ณด๋ง ์์ฒญํ๋ค. ํด๋น ์์์ด ์กด์ฌํ๋์ง ํน์ ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๋์ง๋ฅผ ํ์ธํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.
-
OPTIONS : ์น์๋ฒ๊ฐ ์ง์ํ๋ ๋ฉ์๋์ ์ข ๋ฅ๋ฅผ ์์ฒญํ๋ค.
-
TRACE : ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๊ทธ๋๋ก ๋ฐํํ๋ค. ์์ปจ๋ฐ echo ์๋น์ค๋ก ์๋ฒ ์ํ๋ฅผ ํ์ธํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ฃผ๋ก ์ฌ์ฉํ๋ค.
3) ์น Front-End ์ ์น Back-End
์นํ๋ก ํธ์๋?
์ฌ์ฉ์์๊ฒ ์น์ ํตํด ๋ค์ํ ์ฝํ ์ธ (๋ฌธ์, ๋์์, ์ฌ์ง ๋ฑ)๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ํ, ์ฌ์ฉ์์ ์์ฒญ(์๊ตฌ์ฌํญ)์ ๋ฐ์ํด์ ๋์ํฉ๋๋ค.
์นํ๋ก ํธ์๋์ ์ญํ
-
์น์ฝํ ์ธ ๋ฅผ ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค.(์ ๋ฌธ,์ฑ ๋ฑ๊ณผ ๊ฐ์ด) - HTML
-
์ ์ ํ ๋ฐฐ์น์ ์ผ๊ด๋ ๋์์ธ ๋ฑ์ ์ ๊ณตํด์ผ ํฉ๋๋ค.(๋ณด๊ธฐ ์ข๊ฒ) - CSS
-
์ฌ์ฉ์ ์์ฒญ์ ์ ๋ฐ์ํด์ผ ํฉ๋๋ค.(์ํตํ๋ฏ์ด) - Javascript
์ํ๋ ๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ํํํด์ผ ํฉ๋๋ค.
HTML์ด๋ผ๋ ๊ฒ์ ๊ทธ ๊ตฌ์กฐ๋ฅผ ์ ํํํด ์ค๋๋ค.
์นํ์ด์ง๋ฅผ ๊พธ๋ฏธ๊ธฐ ์ํด์๋ ๊ฐ๊ฐ์ HTML ํ๊ทธ(๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ํํํ ๊ฐ ์กฐ๊ฐ ๋จ์)๋ฅผ ๊พธ๋ฏธ๊ธฐ ์ํ ๊ท์น์ด ํ์ํฉ๋๋ค
CSS๋ ์ด๋ฅผ ํํํ ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค.
HTML,CSS๋ฅผ ์ด๋ฆฌ์ ๋ฆฌ ์์ง์ด๊ณ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ ๊ฑฐ์์.
JavaScript๊ฐ ๊ทธ๊ฑธ ํด์ค๋๋ค.
๋ฐฑ์๋(Back-End)๋?
backend๋ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ์ฅํ๋ฉฐ, ์์ฒญ์ ๋ฐ๋ผ ์ ๋ณด๋ฅผ ๋ด๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค. ๊ฐ๋ น ์ผํ๋ชฐ์ด๋ผ๋ฉด, ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ์ฃผ๋ฌธ์ ๋ฐ์์ ์ ์ฅํ๊ณ , ์ฌ์ฉ์๊ฐ ๊ด์ฌ์์ด ํ๋ ์ํ์ ๊ณจ๋ผ์ฃผ๋ ์ญํ ์ด back-End์ ์ญํ ์ด๋ค.
๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ๊ฒ๋ค
-
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(JAVA, Python, PHP, Javascript ๋ฑ)
-
์น์ ๋์ ์๋ฆฌ
-
์๊ณ ๋ฆฌ์ฆ(algorithm), ์๋ฃ๊ตฌ์กฐ ๋ฑ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฐ ์ง์
-
์ด์์ฒด์ , ๋คํธ์ํฌ ๋ฑ์ ๋ํ ์ดํด
-
ํ๋ ์์ํฌ์ ๋ํ ์ดํด(์: Spring)
-
DBMS์ ๋ํ ์ดํด์ ์ฌ์ฉ๋ฐฉ๋ฒ(์: MySQL, Oracle ๋ฑ)
[์ฐธ๊ณ ์๋ฃ] ์นํ๋ก ํธ์๋ ์ญํ ์ ์์ฃผ์์ฃผ ์ฝ๊ฒ ๋ณผ ์ ์์ด์! http://html-css-js.com
4) browser์ ๋์
๋ธ๋ผ์ฐ์ ๋ ์๋์์ด๋์น(WWW)์์ ์ ๋ณด๋ฅผ ๊ฒ์, ํํํ๊ณ ํ์ํ๊ธฐ ์ํ ์ํํธ์จ์ด์ ๋๋ค.
์ธํฐ๋ท์์ ํน์ ์ ๋ณด๋ก ์ด๋ํ ์ ์๋ ์ฃผ์ ์ ๋ ฅ์ฐฝ์ด ์๊ณ ์๋ฒ์ HTTP๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๋คํธ์ํฌ ๋ชจ๋๋ ํฌํจํ๊ณ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ฒ์์ ๋ฐ์ ๋ฌธ์(HTML, CSS, Javascript)๋ฅผ ํด์ํ๊ณ ์คํํ์ฌ ํ๋ฉด์ ํํํ๊ธฐ ์ํ ํด์๊ธฐ(Parser)๋ค์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋ธ๋ผ์ฐ์ ๋ง๋ค ์๋ก ๋ค๋ฅธ ์์ง์ ํฌํจํ๊ณ ์์ต๋๋ค.
์๋ ๊ทธ๋ฆผ์ด ๋ํ์ ์ธ ๋ด์ฉ์ ๋๋ค.
์ฌํ๋ฆฌ ๋ธ๋ผ์ฐ์ ์์ ์ฒ๋ฆฌ๋๋ webkit๋ ๋๋ง์์ง์ ์ฒ๋ฆฌ๊ณผ์
์ถ์ฒ https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
HTML์ ํด์ํด์ DOM Tree๋ฅผ ๋ง๋ค๊ณ , CSS๋ฅผ ํด์ํด์ ์ญ์ CSS Tree(CSS Object Model)์ ๋ง๋ญ๋๋ค.
์ด ๊ณผ์ ์์ Parsing ๊ณผ์ ์ด ํ์ํ๋ฉฐ ํ ํฐ ๋จ์๋ก ํด์๋๋ ๋ฐฉ์์ ์ผ๋ฐ์ ์ธ ์์ค์ฝ๋์ ์ปดํ์ผ ๊ณผ์ ์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
DOM Tree์ CSS Tree, ์ด ๋ ๊ฐ๋ ์ฐ๊ด๋์ด ์์ผ๋ฏ๋ก Render Tree๋ก ๋ค์ ์กฐํฉ๋ฉ๋๋ค.
์ด๋ ๊ฒ ์กฐํฉ๋ ๊ฒฐ๊ณผ๋ ํ๋ฉด์ ์ด๋ป๊ฒ ๋ฐฐ์นํ ์ง ํฌ๊ธฐ์ ์์น ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ต๋๋ค.
์ดํ์ ์ด๋ ๊ฒ ๊ตฌ์ฑ๋ Render Tree์ ๋ณด๋ฅผ ํตํด์ ํ๋ฉด์ ์ด๋ค ๋ถ๋ถ์ ์ด๋ป๊ฒ ์์น ์ ํ ์ง Painting๊ณผ์ ์ ๊ฑฐ์น๊ฒ ๋ฉ๋๋ค.
- ์ปดํ์ผ์ CPU๊ฐ ์์๋ค์ ์ ์๋ machine code ๋๋ VM์ด ์์๋ค์ ์ ์๋ byte code ์ฝ๋๋ก ๋ณํํ๋ ๋จ๊ณ
How Browsers Work: Behind the scenes of modern web browsers ์ ๋ฒ์ญ๋ณธ์ ๋๋ค.
https://d2.naver.com/helloworld/59361
5) browser์์์ ์น ๊ฐ๋ฐ
HTML ๋ฌธ์๊ตฌ์กฐ
์๊ฒ ๋ ๋ช ๊ฐ์ง ํน์ง
-
HTML๋ฌธ์๋ html์ด๋ผ๋ ํ๊ทธ๋ก ์์ํด์ htmlํ๊ทธ๋ก ๋๋ฉ๋๋ค.
-
head๋ ๋ฌด์์ ํ๋ ๊ฑธ๊น์?
-
body๋ ๋ฌด์์ ํ๋ ๊ฑธ๊น์?
-
HTML์ ๊ณ์ธต์ ์ ๋๋ค.
-
HTML์ tag๋ฅผ ์ฌ์ฉํด์ ํํํฉ๋๋ค. <tag class="title">์๋ ํ์ธ์</tag>
-
JavaScript์ CSS๊ฐ html ์์ ์ฌ๊ธฐ์ ๊ธฐ ์กด์ฌํฉ๋๋ค.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>์ ๋ฅผ์๊ฐํด์</title>
<link rel="stylesheet" href="css/style.css">
<script src="js/start.js"></script>
</head>
<body>
<h1>์๋ ํ์ธ์</h1>
<div>์ฝ๋์ค์ฟผ๋ ํฌ๋กฑ์ด๋ผ๊ณ ํฉ๋๋ค</div>
<script src="js/library.js"></script>
<script src="js/main.js"></script>
</body>
</html>
HTML ๋ฌธ์ ์์ HTMLํ๊ทธ๋ฟ ์๋๋ผ CSS, JavaScript์ฝ๋๊ฐ ์กด์ฌํฉ๋๋ค.
JavaScript ์ฝ๋๋ body ํ๊ทธ ๋ซํ๊ธฐ ์ ์ or ๋ซํ๊ณ ๋์ ์์นํ๋ ๊ฒ์ด ๋ ๋๋ง์ ๋ฐฉํดํ์ง ์์๋ ์ข๊ณ ,
css์ฝ๋๋ head ์์ ์์นํด์ ๋ ๋๋ง ์ฒ๋ฆฌ ์์ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ ๋นจ๋ฆฌ ์ฐธ๊ณ ํ ์ ์๊ฒ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
[์ฐธ๊ณ ๋งํฌ] ์น์์ html, css, javascript๋ฅผ ์ฝ๊ฒ ํ ์คํธ ํ ์ ์๋ ์น์ฌ์ดํธ http://www.jsbin.com
์ฌ์ดํธ ์ถ์ฒ jsbin.com (git๊ณผ ๋น์ทํ ๊ฐ๋ ์ผ๋ก)
6) ์น์๋ฒ
์น ์๋ฒ๋?
-
์น ์๋ฒ๋ ์ํํธ์จ์ด(Software)๋ฅผ ๋ณดํต ๋งํ์ง๋ง, ์น ์๋ฒ ์ํํธ์จ์ด๊ฐ ๋์ํ๋ ์ปดํจํฐ๋ฅผ ๋งํฉ๋๋ค.
-
์น ์๋ฒ์ ๊ฐ์ฅ ์ค์ํ ๊ธฐ๋ฅ์ ํด๋ผ์ด์ธํธ(Client)๊ฐ ์์ฒญํ๋ HTML ๋ฌธ์๋ ๊ฐ์ข ๋ฆฌ์์ค(Resource)๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ ๋๋ค.
-
ํด๋ผ์ด์ธํธ ๊ฐ๋ - ์น ๋ธ๋ผ์ฐ์ ๋ ์น ํฌ๋กค๋ฌ๊ฐ ์์ฒญํ๋ ๋ฆฌ์์ค๋ ์ปดํจํฐ์ ์ ์ฅ๋ ์ ์ (static)์ธ ๋ฐ์ดํฐ์ด๊ฑฐ๋ ๋์ ์ธ ๊ฒฐ๊ณผ๊ฐ ๋ ์ ์์ต๋๋ค.
์๋ก ๊ณ ์นจ (๋ค์ ์์ฒญ)
์น ๋ธ๋ผ์ฐ์ ๋ www.naver.com์ด๋ผ๋ ์น ์๋ฒ์ ์ ์์ ํ์ ๊ฑฐ๊ณ ์.
ํด๋น ์ฃผ์์์ ๊ธฐ๋ณธ์ผ๋ก ๋ณด์ด๋ HTML ๋ฌธ์๋ฅผ ์์ฒญํ์ด์.
๊ทธ๋ฌ๋ฉด ์น ์๋ฒ๋ ์ฌ์ฉ์๊ฐ ์์ฒญํ HTML ๋ฌธ์๋ฅผ ์น ๋ธ๋ผ์ฐ์ ์๊ฒ ์ ๋ฌํฉ๋๋ค.
์น ๋ธ๋ผ์ฐ์ ๋ ์น ์๋ฒ๋ก๋ถํฐ ์ ์ก๋ฐ์ HTML ๋ฌธ์๋ฅผ ์ฝ์ด๋ค์ธ ํ์ ํด์์ ํด์.
HTML ๋ฌธ์๋ฅผ ์๋ง๊ฒ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด์ ํ์ํ ์ด๋ฏธ์ง, CSS, JavaScript์ ๊ฐ์ ์ด๋ฐ ๋ฆฌ์์ค๋ค์ ๋ํด์ URL์ ์ถ์ถํด๋ด๊ณ ์. ์น ์๋ฒ์๊ฒ ๋์์ ์ฌ๋ฌ ๊ฐ์ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๊ฒ ๋ฉ๋๋ค.
์น ์๋ฒ๋ ๋์์ ์์ฒญํ ์ฌ๋ฌ ๊ฐ์ ์์ฒญ์ ๋ฐ์๋ค์ฌ์ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ผ์ฐ์ ์๊ฒ ์ ์กํด์.
์น ๋ธ๋ผ์ฐ์ ๋ ์๊น ํด์ํ๋ HTML ๋ฌธ์์ ๊ทธ๋ฆฌ๊ณ ์ฝ์ด๋ค์ธ ์ฌ๋ฌ ๊ฐ์ ์๋ต์ ํ๋๋ก ํฉ์ณ์ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ๋ฉด์ ๋ณด์ด๊ฒ ํ๋ ๊ฑฐ์์.
๋ ๋๋ง: ํ๋๋ก ํฉ์ณ์ ๋ณด์ฌ์ฃผ๋ ์์
์น ์๋ฒ ์ํํธ์จ์ด์ ์ข ๋ฅ
-
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์น ์๋ฒ๋ Apache, Nginx, Microsoft IIS
-
Apache์น ์๋ฒ๋ Apache Software Foundation์์ ๊ฐ๋ฐํ ์น์๋ฒ๋ก ์คํ์์ค ์ํํธ์จ์ด(Open-source Software)์ด๋ฉฐ, ๊ฑฐ์ ๋๋ถ๋ถ ์ด์์ฒด์ ์์ ์ค์น ๋ฐ ์ฌ์ฉ์ ํ ์ ์์ต๋๋ค.
-
Nginx๋ ์ฐจ์ธ๋ ์น์๋ฒ๋ก ๋ถ๋ฆฌ๋ฉฐ ๋ ์ ์ ์์์ผ๋ก ๋ ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ์๋น์คํ๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ง ์๋ฒ์ด๋ฉฐ Apache์น ์๋ฒ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์คํ์์ค ์ํํธ์จ์ด์ ๋๋ค.
7) WAS
ํด๋ผ์ด์ธํธ/์๋ฒ ๊ตฌ์กฐ
ํด๋ผ์ด์ธํธ(Client)๋ ์๋น์ค(Service)๋ฅผ ์ ๊ณตํ๋ ์๋ฒ(Server)์๊ฒ ์ ๋ณด๋ฅผ ์์ฒญํ์ฌ ์๋ต ๋ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
DBMS (DataBase Management System)
๋ค์์ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋๋ก ํด์ฃผ๋ ์ํํธ์จ์ด์ ๋๋ค.
๋ฏธ๋ค์จ์ด (MiddleWare)
ํด๋ผ์ด์ธํธ ์ชฝ์ ๋น์ฆ๋์ค ๋ก์ง์ด ๋ง์ ๊ฒฝ์ฐ, ํด๋ผ์ด์ธํธ ๊ด๋ฆฌ(๋ฐฐํฌ ๋ฑ)๋ก ์ธํด ๋น์ฉ์ด ๋ง์ด ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋น์ฆ๋์ค ๋ก์ง์ ํด๋ผ์ด์ธํธ์ DBMS์ฌ์ด์ ๋ฏธ๋ค์จ์ด ์๋ฒ์์ ๋์ํ๋๋ก ํจ์ผ๋ก์จ ํด๋ผ์ด์ธํธ๋ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ๋ง ๋ด๋นํ๋๋ก ํฉ๋๋ค.
WAS (Web Application Server)
WAS๋ ์ผ์ข ์ ๋ฏธ๋ค์จ์ด๋ก ์น ํด๋ผ์ด์ธํธ(๋ณดํต ์น ๋ธ๋ผ์ฐ์ )์ ์์ฒญ ์ค ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ํ๋๋ก ์ง์ํ๋ ๋ชฉ์ ์ ๊ฐ์ง๋๋ค. * ํ๋ก๊ทธ๋จ์ด ๋์ํด์ ์ป์ ๊ฒฐ๊ณผ → ๋์ ์ธ ์ฝํ ์ธ ๋ผ ๋งํจ
๊ธฐ๋ฅ1 ํ๋ก๊ทธ๋จ ์คํ ํ๊ฒฝ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ ๊ธฐ๋ฅ ์ ๊ณต, ๊ธฐ๋ฅ 2 ์ฌ๋ฌ ๊ฐ์ ํธ๋์ญ์ (๋ ผ๋ฆฌ์ ์ธ ์์ ๋จ์) ๊ด๋ฆฌ, ๊ธฐ๋ฅ 3 ์ ๋ฌด๋ฅผ ์ฒ๋ฆฌํ๋ ๋น์ฆ๋์ค ๋ก์ง ์ํ
์น ์๋ฒ vs WAS
-
WAS๋ ๋ณดํต ์์ฒด์ ์ผ๋ก ์น ์๋ฒ ๊ธฐ๋ฅ์ ๋ด์ฅํ๊ณ ์์ต๋๋ค.
-
ํ์ฌ๋ WAS๊ฐ ๊ฐ์ง๊ณ ์๋ ์น ์๋ฒ๋ ์ ์ ์ธ ์ฝํ ์ธ ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ์์ด์ ์ฑ๋ฅ์ ํฐ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
-
๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ์น ์๋ฒ์ WAS๋ฅผ ๋ถ๋ฆฌํฉ๋๋ค.
-
์์ ์ด์ฉ์ ํจ์จ์ฑ ๋ฐ ์ฅ์ ๊ทน๋ณต, ๋ฐฐํฌ ๋ฐ ์ ์ง๋ณด์์ ํธ์์ฑ์ ์ํด ์น์๋ฒ์ WAS๋ฅผ ๋์ฒด๋ก ๋ถ๋ฆฌํฉ๋๋ค.
'Spring > Boost Course Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2.4 JSP (0) | 2020.11.19 |
---|---|
2.3 Servlet (0) | 2020.11.19 |
2.2 ์น ๊ฐ๋ฐํ๊ฒฝ ์ค์ (0) | 2020.11.19 |
1.5 JDBC (0) | 2020.11.19 |
1.4 Maven (0) | 2020.11.19 |
1.3 ๊ฐ๋ฐํ๊ฒฝ ์ค์ (0) | 2020.11.09 |