๊นํ๋ธ๋ฅผ ๋์๋ค๋๋ค๊ฐ ์์ ์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ธํฐ๋ทฐ ์ง๋ฌธ์ด๋ผ๋ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ณธ์ ์ด ์๋ค. ์ฌ์ค ๊ทธ ๋น์์๋ ๊ทธ๋ฅ ์คํ๋ง ๋๋ฌ๋๊ณ ํฐ ๊ด์ฌ์ด ์์์ง๋ง ์ง๊ธ๋ถํฐ ํ๋์ฉ ํ์ด๋ณด๋ ค ํฉ๋๋ค.
๋ฌผ๋ก ๋ง์ ๋ต๋ค์ด ์ด๋ฏธ ์ด ๋ ํฌ์งํ ๋ฆฌ์ ์์ฑ๋์ด ์๊ธด ํ๋ฐ, ์์ฑ๋์ง ์์ ๊ฒ๋ค๋ ์๊ณ ๋ด ๋ต์ด๋ ๋ชจ๋ฒ๋ต์์ ๋น๊ตํ๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ์์ ํ๋ฒ ํ์ด๋ณด๋ ค ํฉ๋๋ค.
๊ธฐ์กด ๋ ํฌ์งํ ๋ฆฌ์๋ ๋ฌธ์ ์ ๋ถ๋ฅ๊ฐ ์๋์ ๊ฐ์ด ๋์ด์์ต๋๋ค.
๋งค์ผ 1๊ฐ์ง์ฉ ๋์๊ฐ๋ฉฐ ํ ๊ฑด๋ฐ, General Questions ํญ๋ชฉ์์ ๋๋ฌด ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ ํ์ง ์์ ๊ฒ์ด๋ค. ๋๋ฌด ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ ์ ์๋ ์ฌ๋๋ง๋ค ๋ต์ด ๋ค๋ฅผ ์ ์๋ ๋ฌธ์ ์ ๋๋ค.
์ด๋ฅผํ ๋ฉด...
What did you learn yesterday/this week? (์ด์ /์ด๋ฒ์ฃผ์ ๋ฌด์์ ๋ฐฐ์ ๋์)
What excites or interests you about coding? (๋ฌด์์ด ๋น์ ์ ์ฝ๋ฉํ๊ณ ์ถ๊ฒ ๋ง๋๋์?)
What is a recent technical challenge you experienced and how did you solve it?(์ต๊ทผ์ ๊ฒช์ ๊ธฐ์ ์ ์ธ ์ด๋ ค์๊ณผ ๊ทธ๊ฒ์ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ์๋ ค์ฃผ์ธ์)
์ด๋ฌํ ๊ฒ๋ค์ ๋ต๋ณํ์ง ์์ต๋๋ค. ์ด๋ฐ ๋ฌธ์ ๋ ๊ทธ๋๊ทธ๋ ๋ต์ด ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
๋์ ๋ต๋ณ์ ๋์ ํ๋ฅ ๋ก ํ๋ฆด ์๋ ์์ผ๋ฉฐ, ์๋๋ฉด ๋ง๊ฒ ๊ฐ๋ค๊ฐ ์ค๊ฐ์ ์ด์ํ ๊ธธ๋ก ๋น ์ง ์๋ ์๋ค. ๋๊ธ์ ์์ ๋ง์ ๋ต์ ์ฌ๋ ค์ฃผ๋ฉด ๋งค์ฐ ๊ณ ๋ง์ธ ๊ฒ ๊ฐ์ต๋๋ค.
cookie
, sessionStorage
, localStorage
์ฌ์ด์ ์ฐจ์ด์ ์ ์ค๋ช
ํ์ธ์.์๋ฌธ : Describe the difference between a cookie, sessionStorage and localStorage.
์ ์ธ ๊ฐ์ง ๊ธฐ์ ์ ๋ชจ๋ ํด๋ผ์ด์ธํธ ์ธก์์ ๊ฐ์ ์ ์ฅํ๋ key-value ์ ์ฅ์ ๋งค์ปค๋์ฆ์ ๋๋ค. ๋ชจ๋ ๋ฌธ์์ด๋ก๋ง ๊ฐ์ ์ ์ฅํ ์ ์์ต๋๋ค.
์ํฉ์ ๋ฐ๋ผ 3๊ฐ์ง ์ค ์ ํธ๋๋ ์ ์ฅ์๊ฐ ๋ฌ๋ผ์ง ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๋ ์ด์ฉ์์ ๊ธฐ๊ธฐ ๋ฑ์ ๋ฐ๋ผ ์ฌ์ฉํด์ผ ํ ์ ์ฅ์๊ฐ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฒ ์ฌ์ด๋ ๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒฝ์ฐ์๋ DB๋ XML, text, CSV์ ๊ฐ์ ๊ฒ์ ์ด์ฉํฉ๋๋ค.
๋ฐ๋ฉด์ localStorage
, sessionStorage
, cookie
๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ ์ ์ฅ์ ์๋ฃจ์
์
๋๋ค. session data
๋ ์ฌ์ฉ์๊ฐ ์ง์ ์ปจํธ๋กคํ๋ ์๋ฒ ๋ด์ ์ ์ฅ๋ฉ๋๋ค.
๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ธ์ ์คํ ๋ฆฌ์ง๋ ๋น๊ต์ ์๋ก์ด API์ ์ํฉ๋๋ค. ๊ทธ๋์ ์ง์ํ์ง ์๋ ์๋ ๋ธ๋ผ์ฐ์ ๋ค๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ ์ฅ์๋ ์๋นํ ๋น์ทํฉ๋๋ค. ๋น์ทํ API๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค. ๋ค๋ง, ๋ฐ์ดํฐ ์ง์์ฑ ์ ์ธก๋ฉด์์๋ ์ฝ๊ฐ ๋ค๋ฆ ๋๋ค.
์ธ์ ์คํ ๋ฆฌ์ง๋ ๋ธ๋ผ์ฐ์ ์ธ์ ์ด ์ ์ง๋๋ ๋์๋ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ์๋ก์ด ํญ์ผ๋ก ๊ฐ๊ฑฐ๋ ์๋์ฐ๋ฅผ ๋ซ์์ ๋ ๋ฐ์ดํฐ๋ ์ง์์ง๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง, ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจ ํ ๋์๋ ์ ์ง๋ฉ๋๋ค.
๋ง์ผ, ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํด๋ ๋ฐ์ดํฐ๊ฐ ๊ณ์ ์ ์ง๋๊ธธ ๋ฐ๋๋ค๋ฉด ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ฅผ ์ฐ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ์ญ์ ํ ๋๊น์ง ์ ์ง๋ฉ๋๋ค.
๋ค๋ง ํ๊ฐ์ง ์์๋์ด์ผ ํ ๊ฒ์ ์ฌ์ฉ์๊ฐ ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ์ธ์ ์คํ ๋ฆฌ์ง๋ ๋ง์๋๋ก ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ์ง์ฐ๊ณ ๋ณ์กฐํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ์ธ์ ์คํ ๋ฆฌ์ง์ ์ ์ฅํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ ์ ์ฅ์์ ์ ์ฅ์ฉ๋์ ๋๋ต 2.5mb~5mb์ ๋๋ก ๋ณด๋ฉด ๋ฉ๋๋ค๋ง, ๊ฐ๋ ๋ธ๋ผ์ฐ์ ๋ ๊ธฐ๊ธฐ๋ณ๋ก ์์ดํ๊ธฐ๋ ํฉ๋๋ค.
์ฟ ํค๋ ๋ง๋ฃ ๊ธฐํ์ด๋ ํน์ฑ์ด ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์๋๊ตฌ ์ฝ์ ์ฐฝ์ document.cookie๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์น๋ฉด ์ฟ ํค ์ ๋ณด๋ฅผ ๋ณผ ์ ์์ต๋๋ค. (HTTP only flag๋ก ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ธ ์ ์๊ฒ ๋ง์๋ ์ฟ ํค๋ ๋์ค์ง ์์ต๋๋ค.) ์ฟ ํค์๋ 4kb์ ์ฉ๋ ์ ํ์ด ์๊ณ , ์ฟ ํค๊ฐ ์ ์ฅ๋๋ฉด ๋งค ์๋ฒ ์์ฒญ๋ง๋ค ์๋ฒ๋ก ์ฟ ํค๊ฐ ๊ฐ์ด ์ ์ก๋ฉ๋๋ค.
์ ๋ ์ ์ฅ์์ ๋ฐ์ดํฐ๋ ์๋ฒ๋ก ์๋ ์ ์ก๋์ง ์์ต๋๋ค.
๋ง์ผ SSL์ ์ฌ์ฉํ์ง ์๊ณ ์๋ค๋ฉด, ์ฟ ํค ์ ๋ณด๋ ์ ์ก ๋์ค ํ์ทจ๋นํ ์๋ ์์ต๋๋ค. ํนํ ๊ณต์ฉ ์์ดํ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ๊ทธ๋ ์ต๋๋ค. ๊ธ์ ์ ์ธ ๋ถ๋ถ์ ๋ณด์๋ฉด, ์ฟ ํค๋ XSS(Cross Site Scripting) ์ธ์ ์ ๊ณผ ๊ฐ์ ๋ณด์ ์ํ์ ๋ํ ๋ฐฉ์ด๋ฐฉ๋ฒ์ด ์๊ธด ํฉ๋๋ค. HTTP only flag๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ํ ์ฟ ํค์ ๋ฐธ๋ฅ์ ๋ํ ์ ๊ทผ์ ๋ง์์ค ๊ฒ์ ๋๋ค. ์ฌ์ฉ์์ ๋ก๊ทธ์ธ ์ ๋ณด์ ๊ฐ์ ํ ํฐ์ ๋ด๊ณ ์๋ ์ธ์ฆ ์ฟ ํค์๊ฒ ์ด๋ฌํ ํน์ฑ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ง์ผ ํด๋น ํ ํฐ์ด ํ์ทจ๋นํ๊ณ ๋๊ตฐ๊ฐ ๋์ผํ ํ ํฐ์ ์ฌ์ฉํ๋ฉด ๊ทธ ํ ํฐ์ ์ฌ์ฉํ๋ ์ฌ์ฉ์์ ๋ชจ๋ ๊ถํ์ ๊ฐ์ง ์ ์์ต๋๋ค.
๊ธฐ๋ฅ์ ๊ด์ ์ผ๋ก ๋ดค์ ๋, ์ฟ ํค, ์ธ์
์คํ ๋ฆฌ์ง, ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ๋ชจ๋ ๋ฌธ์์ด
์ ์ ์ฅํ ์ ์๊ฒ ํด์ค๋๋ค. ์๋ฌต์ ์ผ๋ก ์ด๋ ํ ๊ฐ์ผ๋ก ๋ณํ๋ ์ ์๋ ๋ฌธ์์ด๋ ๋ฌผ๋ก ๊ฐ๋ฅํ์ง๋ง, ์ค๋ธ์ ํธ๋ ๋ฐฐ์ด๊ณผ ๊ฐ์ ๊ฐ์ ์ง์ ๋ฃ์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๊ธธ ์ํ๋ค๋ฉด ์ผ๋จ JSON๊ณผ ๊ฐ์ ์ง๋ ฌํ๊ฐ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ํ์์ผ๋ก ๋ฌธ์์ด์ ์ ์ฅํ๊ณ ์ฝ์ ํ์ ํ์ฑ์ ํด์ฃผ์ด์ผ ํ ๊ฒ์
๋๋ค.
๋ก์ปฌ ์คํ ๋ฆฌ์ง, ์ธ์ ์คํ ๋ฆฌ์ง, ์ฟ ํค๋ ๋ชจ๋ "same-origin" ๊ท์น์ ์ํฅ์ ๋ฐ์ต๋๋ค. ์ด ๋ง์ ๋ธ๋ผ์ฐ์ ๊ฐ ๋๋ฉ์ธ๋ง๋ค ๋ค๋ฅด๊ฒ ๊ด๋ฆฌํ๋ค๋ ๋ป์ ๋๋ค.
cookie | localStorage | sessionStorage | |
---|---|---|---|
์์ฑ์ | ํด๋ผ์ด์ธํธ๋ ์๋ฒ. ์๋ฒ๋ Set-Cookie ํค๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค | ํด๋ผ์ด์ธํธ | ํด๋ผ์ด์ธํธ |
๋ง๋ฃ | ์๋์ผ๋ก ์ค์ | ์๊ตฌ์ | ํญ์ ๋ซ์ ๋ |
๋ธ๋ผ์ฐ์ ์ธ์ ์ ์ฒด์์ ์ง์ | ๋ง๋ฃ ์ค์ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค๋ฆ | O | X |
๋ชจ๋ HTTP ์์ฒญ๊ณผ ํจ๊ป ์๋ฒ๋ก ๋ณด๋ | ์ฟ ํค๋ Cookie ํค๋๋ฅผ ํตํด ์๋ ์ ์ก๋จ | X | X |
์ฉ๋ (๋๋ฉ์ธ๋น) | 4kb | 5MB | 5MB |
์ ๊ทผ์ฑ | ๋ชจ๋ ์๋์ฐ | ๋ชจ๋ ์๋์ฐ | ๊ฐ์ ํญ |
https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API
https://www.zerocho.com/category/HTML&DOM/post/5918515b1ed39f00182d3048
https://stackoverflow.com/questions/19867599/what-is-the-difference-between-localstorage-sessionstorage-session-and-cookies
https://github.com/yangshun/front-end-interview-handbook/blob/master/contents/en/html-questions.md