์ ์ฒด ๊ธ
-
๐ ์น ๋ธ๋ผ์ฐ์ 1 | ํฌ๋ก์ค๋ธ๋ผ์ฐ์ง (์น ํธํ์ฑ)Web Architecture 2020. 11. 23. 07:13
๋ธ๋ผ์ฐ์ ์ ์ฃผ์ ๊ธฐ๋ฅ ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ, ํฌ๋กฌ ๋ฑ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ์ํํธ์จ์ด(์ฑ)๋ฅผ ๋ธ๋ผ์ฐ์ ๋ผ๊ณ ํ๋ค. ๋ธ๋ผ์ฐ์ ์ ๊ฐ์ฅ ํต์ฌ ๊ธฐ๋ฅ์ ์ฌ์ฉ์๊ฐ url(์์์ด ์๋ ์์น, ์ฃผ์)์ ์ ๋ ฅํ์ ๋ ์์(์ฃผ๋ก HTMLํ์ผ)์ ์๋ฒ์ ์์ฒญํ๊ณ ๋ธ๋ผ์ฐ์ ์ ํ์ํ์ฌ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ํฌ๋ก์ค๋ธ๋ผ์ฐ์ง(์น ํธํ์ฑ) ๋ธ๋ผ์ฐ์ ๋ ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ, ํ์ด์ดํญ์ค, ์ฌํ๋ฆฌ, ํฌ๋กฌ ๋ฑ ๋ง์ ์ข ๋ฅ๊ฐ ์๋ค. ๊ณผ๊ฑฐ์๋ ๋ธ๋ผ์ฐ์ ๋ค์ด ์ ๋ง๋ค ๋ ์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ง๋ค์ด์ ์ฌ๊ฐํ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ๊ฒช์๋ค. (์น ์๋น์ค๋ฅผ ๋ง๋๋๋ฐ ํฌ๋กฌ์ ์ฌ์ฉํ๋ ์ ์ , ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ๋ฅผ ์ฌ์ฉํ๋ ์ ์ ๋ฑ ๊ฐ๊ฐ์ ๋ธ๋ผ์ฐ์ ์ ๋ง๊ฒ ์น ์๋น์ค๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค) ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์น ํ์คํ ๊ธฐ๊ตฌ์ธ W3C(World Wide Web Consort..
-
๐ ํฌ์๋ ํ๋ก์ vs ๋ฆฌ๋ฒ์ค ํ๋ก์ | ํ๋ก์ ๊ฐ๋ , ํฌ์๋์ ๋ฆฌ๋ฒ์ค์ ์ฐจ์ด์ Web Architecture 2020. 11. 23. 05:30
ํ๋ก์(Proxy Server) ํ๋ก์๋ ๋นจ๊ฐ ์ ๋ค. ํ๋ก์๋ ํด๋ผ์ด์ธํธ๊ฐ ์์ ์ ํตํด์ ๋ค๋ฅธ ๋คํธ์ํฌ ์๋น์ค์ ๊ฐ์ ์ ์ผ๋ก ์ ์ํ ์ ์๊ฒ ํด ์ฃผ๋ ๊ฒ์ด๋ค. ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์ ์ค๊ณ๊ธฐ๋ก์ ๋๋ฆฌ๋ก ํต์ ์ ์ํํ๋ ๊ฒ์ ๊ฐ๋ฆฌํจ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์ญํ ์ ํ๋ ์๋ฒ๋ฅผ ํ๋ก์ ์๋ฒ๋ผ๊ณ ํ๋ค. ๐ ํ๋ก์ ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น? 1. ํด๋ผ์ด์ธํธ ๋์ ์๋ฒ์๊ฒ ์์ฒญ์ ๋ฐ์ ์๋ต์ ํด์ค๋ค. 2. ์บ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค๋ก์ ์ ๊ทผ์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด. ์น ํ๋ก์๋ ์น ์๋ฒ๋ก๋ถํฐ ์น ํ์ด์ง๋ฅผ ์บ์๋ก ์ ์ฅํ๋ ๋ฐ ํํ ์ฐ์ธ๋ค. (๋คํธ์ํฌ ๋น์ฉ๊ฐ์, ์์๋ฒ์๋ ํต์ ํ์ง ์์) 3. ํ๋ก์ ์๋ฒ๋ฅผ ๊ฑฐ์น๋ ์์ฒญ ๋ฐ ์๋ต์ ํ์ธํ ์ ์๊ธฐ ๋๋ฌธ์ (filter) -> ์ฌ์ฉ๋ฅ ์ ๊ธฐ๋กํ๊ณ ๊ฒ์ฌ(์ด๋ฅผํ ๋ฉด ํ์ฌ๋ ์ธํฐ๋ท ์ด์ฉ์ ..
-
๐ค ์ธ์ (Session) | ์ธ์ ์ ๊ฐ๋ , sessionStorage์ LocalStorageAuthentication(์ธ์ฆ) 2020. 11. 22. 05:13
์ธ์ ์ด๋ ๋ฌด์์ผ๊น? ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ๋ ์ํ๋ฅผ ์ธ์ ์ด๋ผ๊ณ ํ๋ค. ๐ ์ธ์ ์ ํน์ง 1. ์๋ฒ์ธก์์ ํด๋ผ์ด์ธํธ ๋ธ๋ผ์ฐ์ ์ ๋ณด๋ฅผ ํ์ธํ๋ค. 2. ๋ง์ฝ ์ฒ์ ๋ง๋๋ ๋ธ๋ผ์ฐ์ ์ผ ๊ฒฝ์ฐ ์ ์ผํ ID๋ฅผ ๋ถ์ฌํ ํ์ ๊ทธ๊ฒ์ ์๋ฒ๊ฐ ๊ฐ์ง๊ณ ์๋๋ค. let token = SHA256(credential.username).toString(); //sessionid๋ผ๋ ํ ํฐ์ด ์๊ธฐ๋ฉด ์ด๊ฒ์ session์ ๋ฃ๋๋ค๏ผ // SESSIONS.push(`session_id=${token}`); SESSIONS.push(token) // console.log(SESSIONS); response.writeHead(200, { 'set-cookie' : `session_id=${token}` }) 3. ์ผ๋ฐ์ ์ผ๋ก ์ด ์ ์ผํ ํด๋ผ์ด์ธ..
-
๐ช ์ฟ ํค | ์ฟ ํค๋ก ์ธ์ฆ ๊ตฌํํ๊ธฐAuthentication(์ธ์ฆ) 2020. 11. 22. 03:38
์ฟ ํค๋ ๋ฌด์์ผ๊น? ์ฟ ํค๋ ์๋ฒ๊ฐ ์ฌ์ฉ์์ ์์น(๋ธ๋ผ์ฐ์ )์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ฌ ์ ์๋ ํ๋์ ์๋จ์ด๋ค. ์ฝ๊ฒ ๋งํด์ ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ๋ํํ๋ ์๋จ์ด๋ค. ๐ ์ฟ ํค์ ํน์ง 1. ๋ธ๋ผ์ฐ์ (ํด๋ผ์ด์ธํธ)์์ ์๋ฒ๋ก ๋ก๊ทธ์ธ ์์ฒญ์ ๋ณด๋ธ๋ค. 2. ์๋ฒ์์๋ ๋ธ๋ผ์ฐ์ ์ ์ฟ ํค๊ฐ ์๋์ง ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค. 3. ๋ง์ฝ ์ฟ ํค๊ฐ ์๋ค๋ฉด ์๋ฒ์์ ์๋์ ์ผ๋ก ์ฟ ํค๋ฅผ ์์ฑํ๋ค. (key์ value๋ก ๊ตฌ์ฑ) 4. ์๋ต์ ๋ณด๋ผ ๋ ํค๋์ ์ฟ ํค๋ฅผ ๋ด์์ ๋ณด๋ธ๋ค. response.writeHead(200, { 'set-cookie' : 'login=kimcoding' }); ๐ช ์ดํ๋ถํฐ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ๋ก ์ด๋ ํ ์์ฒญ์ ํ ๋ ์๋์ ์ผ๋ก ํค๋์ ์ฟ ํค๊ฐ ๋ด๊ฒจ์ ธ์ ์์ฒญ์ ๋ณด๋ด๊ฒ ๋๋ค. (์ธ์ฆ) ๐ ์ฟ ํค์ ๋ฌธ์ ์ ์ฟ ํค๋ ํด๋ผ์ด์ธ..
-
20.09.15_TILTIL 2020. 9. 15. 07:51
EC2 ๋? EC2๋ Amazon Elastic Compute Cloud์ ์ฝ์๋ก ์ฌ์ฉ์์๊ฒ ๊ฐ์ ์ปดํจํฐ๋ฅผ ๋น๋ ค์ฃผ๋ ์๋น์ค์ด๋ค. "์ธ์คํด์ค"๋ผ ๋ถ๋ฅด๋ ํ๋์ ๊ฐ์ ๋จธ์ ์ ์ ๊ณตํ๋ค. ์ฌ๊ธฐ์ ๋งํ๋ ์ธ์คํด์ค๋ ํ๋์ ์ปดํจํฐ์ด๋ค. ๋ด๊ฐ ๋ง์ฝ 3๋์ ์ปดํจํฐ๋ฅผ ๋น๋ฆฌ๊ฒ ๋๋ฉด ๋๋ ์ธ์คํด์ค 3๊ฐ๋ฅผ ๋น๋ฆฌ๊ฒ ๋๋ ๊ฒ์ด๋ค. EC2๋ฅผ ์ด์ฉํ์ฌ ๋ฐฐํฌํ๊ธฐ ์ํด์๋ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ผ ํ๋ค. 1. ๊น ํ์ ๋์ ์ฝ๋๋ฅผ ์ ๋ก๋ํ๋ค. 2. ์๋ฒ๋ฅผ EC2๋ก๋ถํฐ ๋น๋ฆฐ๋ค. (ํ๋์ ์ธ์คํด์ค ๋น๋ฆผ) 3. ๋น๋ฆฐ ์๋ฒ๋ ์ด์์ฒด์ ์ git๋ง ์ค์น๋์ด ์์ผ๋ฏ๋ก npm, node ๋ฑ ํ์ํ ๊ฒ๋ค์ ์ค์นํด์ฃผ์ด์ผ ํ๋ค. 4. ๊น ํ์์ ๋์ ์ฝ๋๋ฅผ ํด๋ก ๋ฐ์์จ๋ค. 4. ๋ณด์์ค์ ์ ํด์ค๋ค. ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ .pem ํค๋ฅผ ๋ฐ๊ฒ ๋๋๋ฐ .pemํค๋ ...
-
20.09.13_TILTIL 2020. 9. 13. 10:46
OAuth๋ ๋ฌด์์ผ๊น? OAuth์ ๋ํด ์ด์ผ๊ธฐ๋ฅผ ํ๊ธฐ ์ํด์๋ 3๋ช ์ ์ฐธ๊ฐ์๊ฐ ํ์ํ๋ค. 1. Resource Owner : ์์์ ์ฃผ์ธ (์ฌ์ฉ์) 2. Client : ์์์ ์ฌ์ฉํ๋ ์ฃผ์ฒด (๋์ ์๋น์ค) 3. Resource Server : ์์์ ๊ฐ์ง๊ณ ์๋ ์๋ฒ (์ฐ๋์ํฌ ์๋น์ค: ์ธ์ฆ๋ํ ์๋น์ค) 3-1 . Resource Server์ Authorization Server๋ก ๋๋ ์ ์๋ค. (์ธ์ฆ๊ณผ ๊ด๋ จ๋ ๋ถ๋ถ์ ๋ด๋นํ๋ ์๋ฒ) ๋์ ์๋น์ค์ facebook๊ณผ ๊ฐ์ ๋ค๋ฅธ ์๋น์ค๋ฅผ ์ฐ๋์ํค๊ธฐ ์ํ ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๋ด๊ฐ ์ง์ user์๊ฒ ํ์ด์ค๋ถ์ user์ id์ password๋ฅผ ์ป๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด user์๊ฒ id์ password๋ฅผ ๋ฐ์์ facebook์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ..
-
20.09.08_TILTIL 2020. 9. 12. 16:58
์ค๋์ MVC ํจํด์ ๊ณต๋ถํ์๋ค. MVC ํจํด์ด๋ ๋ฌด์์ผ๊น? ์ผ๋จ MVC ๋ Model, View, Controller์ ์ฝ์์ด๋ค. ์ํํธ์จ์ด๊ฐ ๋์๊ฐ๋ ํ๋์ ์ค๊ณ ํจํด์ผ๋ก ์ดํดํ๋ฉด ๋๋ค. ๊ทธ๋ผ ์ด์ MVC ๋ ์ด๋ค ์ค๊ณ ํจํด์ผ๊น? MVC ํจํด์์ ๊ฐ์ฅ ์ค์ํ๋ค๊ณ ์๊ฐํ๋ ํค์๋๋ ๋ถ์ ํ๋ผ๊ณ ์๊ฐํ๋ค. MVC ํจํด์ ๊ฐ ์ฝ๋๊ฐ ๊ฐ์์ ์ญํ ๋ง์ ํ๋๋ก ์ค๊ณํ๋ค. Model์ Model์ ์ญํ ๋ง, View๋ View์ ์ญํ ๋ง, Controller๋ Controller์ ์ญํ ๋ง ํ๋๋ก ํ๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ๋ถ์ ์ ํ์์ ๋์ ์ฅ์ ์ ๊ฐ ์ฝ๋๋ค์ด ์๋๋ ์ญํ ๋ง ํ๋ฏ๋ก ์์ธก์ด ์ฝ๊ณ ๊ด๋ฆฌ๊ฐ ์ฝ๋ค๋ ๊ฒ์ด๋ค. ์ผ์ข ์ ์ ๋ฆฌ์ ๋์ด๋ผ๊ณ ์๊ฐํ๋ค. ์์ด์ผ ํ ๊ณณ์ ๊ฐ ๋ฌผ๊ฑด์ด ์๋ ๊ฒ์ด๋ค. ์ด์ ๊ทธ๋ผ Model ์ ์ญํ ์ ๋ฌด..
-
MySQL ๋น๋ฐ๋ฒํธ ์ค์ ์นดํ ๊ณ ๋ฆฌ ์์ 2020. 9. 12. 15:56
1. MySQL์ ๋น๋ฐ๋ฒํธ๋ ํ์ฌ ์ด๊ธฐ๊ฐ์ผ๋ก ์ค์ ๋์ด์๋ค. ์๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ณ ์ํฐ๋ฅผ ์น๋ฉด mysql์ ๋ค์ด๊ฐ ์ ์๋ค. mysql -u root -p 2. ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฐ๊พธ๊ธฐ ์ํด์๋ mysql๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๋ํ์ฌ์ผ ํ๋ค. mysql> USE mysql; 3. mysql๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๋ํ๊ณ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ค๋ค. mysql > alter user 'root'@'localhost' identified with mysql_native_password by '์ ๋น๋ฐ๋ฒํธ'; ์ด๋ ๊ฒ ์ ๋ ฅํด์ฃผ๊ณ ์ ์ฅ์ ํด์ฃผ๋ฉด ๋์ด์ง๋ง ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋์ฌ ์ ์๋ค. ERROR 1819 (HY000): Your password does not satisfy the current policy r..