์ ์ฒด ๊ธ
-
๐ค ์ธ์ (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..
-
๐ React ๊ณต๋ถํ๊ธฐ | Life cycle Method, setState๋ฆฌ์กํธ 2020. 8. 23. 14:24
๋ผ์ดํ ์ฌ์ดํด์ด๋? ์ธ๊ฐ์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๋๋๋ค๋ฉด ๋ฐฐ์์ ํ์๊ฐ ์๊ธธ ๋, ์ธ์์์ ํฐ ์ฌ๊ฑด์ ๋ง๋ฌ์ ๋, ์ฃฝ์ ๋๋ก ๋๋ ์ ์์ ๊ฒ ๊ฐ๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฆฌ์กํธ์์๋ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๋๋ ๋ณผ ์ ์๋ค. ๋ผ์ดํ ์ฌ์ดํด์ ์ด 3๋จ๊ณ๋ก ์ ์ํ ์ ์๋ค. 1. Mounting (์์ฑ) mounting์ ๋ฆฌ์กํธ์์ ๋ฌด์ธ๊ฐ๊ฐ consturctor์์์ ์์ฑ๋ ๋์ด๋ค(ํ๋ฉด์ ๋ฌด์ธ๊ฐ๊ฐ ๋ ๋๋ง ๋์์ ๋). mounting ๋จ๊ณ์์๋ props๋ state๋ฅผ ๋ณ๊ฒฝํด์๋ ์๋๋ค. 2. Updating (์ ๋ฐ์ดํธ) updating์ ์ด๋ค ๊ฒ์ด ์์ ๋ ๋๋ฅผ ๋งํ๋ค. ์๋ฅผ ๋ค์ด ์๋ก์ด props๋ฅผ ๋ฐ์ ๋, setState()๋ฅผ ์คํํ ๋๊ฐ ์ด ๋จ๊ณ์ ํด๋น๋๋ค. 3. Unmounting (์ญ์ ) unmounting์ ์ปดํฌ๋ํธ๊ฐ ์ญ์ ๋ ๋..
-
๐ ๋๊ธฐ์ ๋น๋๊ธฐ | Promises, callbacks, async/await์๋ฐ์คํฌ๋ฆฝํธ 2020. 8. 10. 22:48
๋๊ธฐ(Synchronous) vs ๋น๋๊ธฐ(Asynchronous) ์นดํ ์ ์์ด๋ผ๊ณ ์๊ฐํด๋ณด์. ์๋์๊ฒ ๋ณต์ญ์ ์์ด์คํฐ๋ฅผ ์ฃผ๋ฌธ๋ฐ์๋ค. ๊ทธ๋ผ ์๋์ ๊ฐ์ด 6 ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ์๋์๊ฒ ์ ๊ณตํ ์ ์๋ค. 1. ์ฃผ๋ฌธ๋ฐ๊ธฐ -> 2์ด ์์ 2. ๋ณต์ญ์ํฐ ํ์ฐ๋๋ฅผ ์ปต์ ๋ฃ๋๋ค(1 ์คํผ) -> 2์ด ์์ 3. ๋ฐ๋ปํ ๋ฌผ์ ์กฐ๊ธ ๋ถ๊ณ , ํ์ฐ๋๋ฅผ ๋ น์ฌ์ค๋ค. -> 5์ด ์์ 4. ํ์ฐ๋๊ฐ ๋ น์๋ค๋ฉด, ์ผ์์ ๋ฃ๊ณ ์ฐจ๊ฐ๊ฒ ์ ์ด์ค๋ค. -> 3์ด ์์ 5. ๋ฌผ์ ์ ๋น๋ ๋ฃ์ด์ฃผ๊ณ ์์ด์ค๋ค. -> 2์ด ์์ 6. ์๋์๊ฒ ์ ๊ณตํ๋ค. -> 2์ด ์์ ๋๊ธฐ์ ์คํ(synchronous system) ์ ํ๋์ ํ ์คํฌ ์คํ์ด ์๋ฃ๋ ๋๊น์ง ๋ค๋ฅธ ํ ์คํฌ๋ค์ ๋ธ๋กํน(์์ ์ค๋จ) ๋๋ ๋ฐฉ์์ด๋ค. 1๋ช ์ ์๋์๊ฒ ์๋ฃ๋ฅผ ์ ๊ณตํ๊ธฐ ์ ๊น์ง ๋ค๋ฅธ ์๋์ ..