๋ฐํ์์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๊ตฌ๋๋๋ ํ๊ฒฝ์ ์๋ฏธ์ด๋ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๋์ํ ์ ์๋ ํ๋ก๊ทธ๋จJavascript ๋ฐํ์๋ธ๋ผ์ฐ์ Node.js์ฆ, ๋ฐํ์์ด๋ ํ๋ก๊ทธ๋๋ฐ์ด ๋์๊ฐ๋ ํ๊ฒฝ, Node๋ Javascript ๋ฐํ์NVM์ Node Version Manager์
1)์๋ํ ๋๋ก ๋์ํ๋๊ฐ 2)๊ฒฐํจ์ด๋ ๋ฌธ์ ๊ฐ ์๋๊ฐ 3)์ฝ๊ธฐ ์ฝ๊ณ , ์ ์ง ๋ฐ ํ์ฅํ๊ธฐ ์ฉ์ดํ๊ฐTesting ToolEnd to end testIntegration testUnit testJest๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์์ฑํ ์ฝ๋๋ฅผ ํ ์คํธ ํ๊ธฐ ์ํ ํ๋ ์์ํฌ์๊ธฐ์ด์ ์ธ ์ฌ์ฉ
var ํค์๋์์ ๊ฐ๋ฅlet, const ํค์๋์ ๊ฒฝ์ฐ์๋ 'ReferenceError' ๊ฐ ๋ฐ์ํจ์์ Prameter์ ๊ธฐ๋ณธ๊ฐ์ ์ค ์ ์์arguments์ ๊ฐ์ด ์ ์ฌ๋ฐฐ์ด์ด ์๋ ๋ฐฐ์ดํํ(\* ๋ฐฐ์ด ๋ฉ์๋ ํ์ฉ๊ฐ๋ฅ)
OOP(Object Oriented Programming)๋ '๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ' ์ด๋ผ๊ณ ํ๋ฉฐ ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ ๋์์ธ์ ์ฒ ํ(๋๋ ํจ๋ฌ๋ค์) ์ค ํ๋์OOP์์๋ ๊ฐ์ฒด๋ฅผ ์ค์ฌ์ผ๋ก ํ๋ก๊ทธ๋๋ฐ์ด ์ด๋ฃจ์ด๋ฉฐ, ์ฌ๋์ด ์ธ๊ณ๋ฅผ ๋ณด๊ณ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ํ๋ด๋ธ ๋ฐฉ๋ฒ๋ก ์OOP๋ ๊ตฌ์ฑ์ผ
์คํ(stack)์ด๋ ์๋ฃ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ํ ๊ณณ์์๋ง ์ด๋ฃจ์ด์ง๋ ํํ์ ์๋ฃ๊ตฌ์กฐ์คํ์ ํํํ๋ ๋ํ์ ์ธ ์๋ก๋ ํ๋ง๊ธ์ค๋ผ๊ณ ํ ์ ์๋๋ฐ ์์ ์๋ ๊ณผ์๋ฅผ ๋จผ์ ๋จน์ด์ผ๋ง ์๋์ ์๋ ๊ณผ์๋ฅผ ๊บผ๋ผ ์ ์์์ด๋ฅผ FILO(First In Last Out)์ด๋ผ๊ณ ํ๋ฉฐ ์๋ฐ์ค
์ค์นํ๋์ Javascript ํ๋กํ ํ์ ์ดํดํ๊ธฐ๋ฅผ ๋ฐํ์ผ๋ก ์ฌ๊ตฌ์ฑํ์์ต๋๋ค.Link์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๋กํ ํ์ ๊ธฐ๋ฐ์ ์ธ์ด๋ผ๊ณ ๋ถ๋ฆผ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด์งํฅ์ธ์ด์ด์ง๋ง ๊ฐ์ฒด์งํฅ์ธ์ด์์ ์ค์ํ ํด๋์ค(Class)๋ผ๋ ๊ฐ๋ ์ด ์์๋์ ํ๋กํ ํ์ (Prototype)์ด๋ผ๋ ๊ฒ์ด ์กด์ฌ
'Linked List' ๋ ๊ฐ ๋ ธ๋๊ฐ ๋ฐ์ดํฐ์ ํฌ์ธํฐ๋ฅผ ๊ฐ์ง๊ณ ํ ์ค๋ก ์ฐ๊ฒฐ๋์ด ์๋ ํํ์ ์๋ฃ๊ตฌ์กฐ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List)๋ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๋ ๋ ธ๋๋ค์ด ์ฐ๊ฒฐ๋์ด ์๊ณ , ๋ ธ๋์ ํฌ์ธํฐ๊ฐ ๋ค์์ด๋ ์ด์ ์ ๋ ธ๋์์ ์ฐ๊ฒฐ์ ๋ด๋นํจ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๋ ธ๋์ ์ค๊ฐ์ ์์
ํจ์์ ํ๋ผ๋ฏธํฐ์์ ์ฌ์ฉ
๋ณต์ก๋ ๋ถ์์ด๋, ์๊ณ ๋ฆฌ์ฆ์ด ๋ฌธ์ ํด๊ฒฐ์ ์ํ ์๊ฐ๊ณผ ๊ณต๊ฐ์ ์ด๋๋ ์ฐจ์งํ๋์ง๋ฅผ ๋ถ์ํจ๋ณต์ก๋ ๋ถ์์ ์ค์์ฑ: ์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ํจ์ธ์ ์ธ์ง ์ ์ ์์ํ๋ก๊ทธ๋๋ฐ ์ธํฐ๋ทฐ์์ ์ค์์ฑ์ด ๊ฐ์กฐ๋๊ณ ์์๋ชจ๋ ์ซ์ ๋น๊ต: n2 => O(nยฒ)๊ฐ์ฅ ํฐ ์์ ์์์๋ฅผ ํ์ธํ์ฌ ๋น๊ต:
1. Subclassing prototype: ๋ชจ๋ธ์ ์ฒญ์ฌ์ง์ ๋ง๋ค ๋ ์ฐ๋ original form constructor: ์ธ์คํด์ค๊ฐ ์ด๊ธฐํ๋ ๋ ์คํํ๋ ์์ฑ์ ํจ์ this: ํจ์๊ฐ ์คํ๋ ๋, scope๋ง๋ค ์์ฑ๋๋ ๊ณ ์ ํ ์คํ ์ปจํ ์คํธ new
์ฐธ๊ณ ์๋ฃ https://poiemaweb.com/js-prototype#42-%EC%83%9D%EC%84%B1%EC%9E%90-%ED%95%A8%EC%88%98%EB%A1%9C-%EC%83%9D%EC%84%B1%EB%90%9C-%EA%B0%9D%EC%B2%B4%EC%9D%98-%ED%94%84%EB%A1%9C%ED%86%A0%ED%83%80%EC%9E%...
N-Queens๋ ์ฒด์ค์ Queens์ ํน์ฑ์ ์ด์ฉํ์ฌ ๋ฐฑํธ๋ํน ๊ฐ๋ ์ ํ์ตํ๋๋ฐ ์ด์ฉ๋๋ ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.๋ฌธ์ ์ ๋ชฉํ๋ n \* n ํฌ๊ธฐ์ ์ฒด์คํ์์ ๊ฐ๊ฐ์ Queen์ด ์๋ก๋ฅผ ๊ณต๊ฒฉํ์ง ์๋ ์์น์ ๋ง์ ์์น์ํค๋ ๊ฒ์ด๋ค.์ด๋ฌํ Queen์ ํน์ฑ์ ์ด์ฉํ์ฌ ํ์ด
์ปดํจํฐ๋ 2์ง์๋ง ์ดํดํ ์ ์์๊ทธ๋ฌ๋ฉด ์ด๋ป๊ฒ ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ์ปดํจํฐ๋ ์ดํดํ ์ ์๋๊ฐ ๊ทธ๊ฒ์ ๋ธ๋ผ์ฐ์ ๋๋ถ์ด๋ค. ์น๋ธ๋ผ์ฐ์ ๋HTML๋ก ์์ฑ๋ ์นํ์ด์ง๋ฅผ ๋ณผ ์ ์๋๋ก ํด์ฃผ๋ ์์ฉ ์ํํธ์จ์ด๋ค.(ํฌ๋กฌ, IE ๋ฑ)๋ธ๋ผ์ฐ์ ์ฌ์ฉ์๊ฐ ์ ํํ ์์์ ์๋ฒ์๊ฒ ์์ฒญํ์ฌ
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ์ ์ผ๋ก ์คํ๋๋ ๋คํธ์ํฌ ์์ฒญ์ด ์ฝ์คํ์ ๋ธ๋กํนํ๊ธฐ ๋๋ฌธ์ ๋ธ๋ผ์ฐ์ ๋ ๋ค๋ฅธ ์ผ์ ๋์์ ํ ์ ์์์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํ ํด๊ฒฐ์ฑ ์ผ๋ก ๋น๋๊ธฐ ์ฝ๋ฐฑ์ ์ด์ฉSetTimeout() ํจ์์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ฝ ์คํ์์ ์ฌ๋ผ์ก๋ค๊ฐ ์ฝ ์คํ์ด ๋น์ด์ง๋ฉด ๋ค
JSX๋? Javascript XML ๋ด์ฅํ XML์ด๋ผ HTML๊ณผ ์ ์ฌํ๊ฒ ์ ์๋ ๊ตฌ๋ฌธ์ ์ฌ์ฉ JavaScript ์ธ์ด์ ํ์ฅ JSX๋ ๋ง์ ๊ฐ๋ฐ์์๊ฒ ์น์ํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ, ์์(๊ตฌ์ฑ์์)์ ๋ ๋๋ง ๊ตฌ์กฐ๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํจ ๊ตฌ์ฑ์์๋ ์์ํ JavaScrip
Promises์๋ก ์คํ๋ฆฐํธํ์ผ์ ๋ด์ฉ์ ์ฝ์ด์ ๊ทธ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ๋ค๋ฅธ ๊ณณ์ http์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๋ค๋ฅธ ํ์ผ์ ๊ธฐ๋กํ๋ ์คํ๋ฆฐํธArticle Collectorpair ์คํ๋ฆฐํธ์ํ๋ ๋ธ๋ก๊ทธ ๊ธ์ ๊ธ์ด์์ ํ์ผ์ ์ ์ฅํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ์คํ๋ฆฐํธ๋ชฉํPromise
์๋ฐ์คํฌ๋ฆฝํธ ๋ํ์ ๋น๋๊ธฐ ๋ก์ง: http์ ์์ฒญ/์๋ต, ํ์ผ์ ์ฝ๊ณ ์ฐ๋ ํ์ผ ์ /์ถ๋ ฅ ๋ฑ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌ๋๋ ์์ ๋ค์ ํ๋ฆ์ ์์ธกํ๊ธฐ ์ด๋ ค์ => ์์ธกํ๊ธฐ ์ฌ์ด ํ๋ฆ์ผ๋ก ๋ง๋๋๊ฒ ๋น๋๊ธฐ ์ฒ๋ฆฌ! (์ฝ๋ฐฑ, ํ๋ก๋ฏธ์ค, ์์ด์ฑํฌ ์ด์จ์)์คํ๋ฆฐํธ ํด๋์ example ๊ฐ๋จํ ์
Query๋ฌธ ์ฌ์ฉ์คํค๋ง ์ค๊ณ์ ๋ ๋์ ๋ฐฉํฅ์ฑ ์ฐพ๊ธฐSQL: Structure Query Language(๊ตฌ์กฐํ ๋ Query ์ธ์ด)Query: ์ง์ญํ๋ฉด ์ง์๋ฌธ ์ด๋ผ๋ ์๋ฏธ์ ์ฅ๋์ด ์๋ ์ ๋ณด๋ฅผ ํํฐํ๊ธฐ ์ํ ์ง๋ฌธ๊ฒฐ๊ตญ SQL์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ๋ฐ์ดํฐ๋ฒ ์ด
์๋น์ค๋ฅผ ๋ง๋ค ๋ ๊ฐ์ฅ ๋จผ์ ํด์ผํ๋ ์ผ์ ์ด๋ค ๋ฐ์ดํฐ๊ฐ ํ์ํ์ง ํ์ ํ๊ณ ๋ฐ์ดํฐ ๊ฐ์ ์๊ด๊ด๊ณ๋ฅผ ์ ์ํ๋ ๊ฒ์ด ์ค์ํ๋ค.์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฒญ์ฌ์ง์ด๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ฐ๊ฐ์ ํ ์ด๋ธ์ด ์๊ณ ๊ทธ ์์ ์ด๋ค์ ํ๋๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ด๋ค์ ๊ฐ์ ๋ ์ฝ๋๋ผ๊ณ ํ๋ค.๊ด๊ณ
Object-Relational Mapping์ค๋ธ์ ํธ <-> ORM <-> Relational DatabaseORM์ ์ด์ฉํ์ฌ ๊ฐ์ฒด์ ํํ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด๋ฅผ ์ฝ์ , ์์ ๋ฑ์ด ๊ฐ๋ฅํ๋ค.์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ํํ๋ ์๋ก ๋ค๋ฅด๊ธฐ ๋๋ฌธ
ํด๋ผ์ด์ธํธ์์ ์๋ฒ์ ์ ๋ณด์์ฒญ ํ๋ค๊ณ ์๋ฒ๊ฐ ์๋ฌด๋ฐ ํ์ธ ์์ด ๋ฐ์ดํฐ๋ฅผ ๊ฑด๋ด์ฃผ๋ฉด ๋ณด์์์ ์ด์๊ฐ ์์ ๊ฒ์ด๋ค.๊ทธ๋์ ํด๋ผ์ธํธ๊ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ฐ์ด ๋ฃ์ด์ ์๋ฒ์ ์์ฒญํ๋ฉด ์๋ฒ๋ ๋๋น์๊ฒ ์์ฒญ๋ฐ์ดํฐ์ ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ธํด์ ์ ์์ ์ผ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฑด๋ด์ฃผ๋ ๋ฐฉ์์ด ํ์ํ๋ค.ํ์ง๋ง
Hooks๋ Sequelize๊ฐ ์คํ๋๊ธฐ ์ ํ์ ํธ์ถ๋๋ ํจ์์ด๋ค. ์๋ฅผ ๋ค์ด ํญ์ ๋ชจ๋ธ์ ์ ์ฅํ๊ธฐ ์ ์ ๊ฐ์ ์ค์ ํ๊ณ ์ถ๋ค๋ฉด beforeUpdate hook๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.Note: ์ธ์คํด์ค์๋ Hook๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ค์ง ๋ชจ๋ธ์์ ์ฌ์ฉ๋๋ค.Hooks ์คํผ๋ ์ด
๋ฆฌ์กํธ๋ก ๋ง๋ ํด๋ผ์ด์ธํธ๋ฅผ webpack์ ์ด์ฉํ ์ ์ ์ธ ํ์ผ๋ก ๋ง๋ ๋ค.๋ฆฌ์กํธ๋ ๋ค์ ์ปค๋งจ๋๋ฅผ ์ด์ฉํ์ฌ ๋ง๋ค ์ ์๋ค.AWS Management Console์์ s3 ์๋น์ค๋ก ์ ์ํ ๋ค ๋ฒํท์ ๋ง๋ ๋ค.๋ง๋ ๋ฒํท์ ์์ฑ์์ ์ ์ ์น์ฌ์ดํธ ํธ์คํ ์ค์ ๊ถํ์์ ํผ๋ธ๋ฆญ ์์ธ
๋ถ๋ฆฌ๋ ์์ ์์ญ์ด๋ฉฐ ์ฌ๋ณธ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ข์(์๋ณธ์ ์ํฅ์ด ์์)๊ฐ๊ฐ์ ๋ธ๋์น๋ ๋ ๋ฆฝ๋ ์์ ์์ญ์ฌ๋ฌ๋ช ์ด ํ๋์ ํ๋ก์ ํธ๋ฅผ ์์ ํ ๋, ํ๋์ ์ฝ๋๋ก ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.๊ฐ์ ์์ ์ ๋ธ๋์น์์ ์๋ก์๊ฒ ์ํฅ์ ์ฃผ์ง ์๊ณ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ ์ ์๋ค.์๋ก์ด ๊ฒ์ ์๋ํด
function ์ปดํฌ๋ํธ๋ ๋ญ๊ฐ๋ฅผ ๋ฆฌํดํ๊ณ ์คํฌ๋ฆฐ์ ํ์๋์ง๋ง class ์ปดํฌ๋ํธ๋ react ์ปดํฌ๋ํธ๋ก๋ถํฐ ํ์ฅ๋๊ณ ์คํฌ๋ฆฐ์ ํ์๋๋ค.react๋ ์๋์ ์ผ๋ก class ์ปดํฌ๋ํธ์ ๋ ๋ ๋ฉ์๋๋ฅผ ์คํ๋๋ค.ํด๋์ค ์ปดํฌ๋ํธ๋ฅผ ์ฐ๋ ์ด์ ๋ state๋ฅผ ์ฐ๊ธฐ ์ํด์๋ค.stat
TR;DR require()๋ module.export๋ฅผ ๋ฐํํ๋ค. exports๋ module.exports๋ฅผ referํ๊ณ ์์ผ๋ฉฐ, shortcut์ ๋ถ๊ณผํ๋ค. Q1. exports๋ก x๋ฅผ 30์ผ๋ก ์ฌํ ๋นํ๊ธฐ ๋๋ฌธ์ require()๋ 30์ ๋ฐํํ๊ฒ ๋๋ค.
ํด๋ก์ (closure)๋, ์ธ๋ถ ํจ์์ ์ ๊ทผํ ์ ์๋ ๋ด๋ถ ํจ์ ํน์ ์ด๋ฌํ ์๋ฆฌ๋ฅผ ์ผ์ปซ๋ ์ฉ์ด์ธ๋ฐ ์ค์ฝํ์ ๋ฐ๋ผ์ ๋ด๋ถํจ์์ ๋ฒ์์์๋ ์ธ๋ถ ํจ์ ๋ฒ์์ ์๋ ๋ณ์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ์ง๋ง ๊ทธ ๋ฐ๋๋ ์คํ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฐ๋ ์ด๋ค.ํน์ง์ผ๋ก๋ ์ธ๋ถํจ์๋ ์ธ๋ถํจ์์ ์ง์ญ๋ณ์๋ฅผ
JavaScript์์ this๋ ๋ฌด์์ธ๊ฐ? this๋ ํจ์๋ฅผ ์คํํ ๋ ๊ทธ ์คํ context๋ฅผ ์ค๋ช ํ๋ ํ์ฌ ์คํ ๋ฌธ๋งฅ์ด๋ค. this๋ ํฌ๊ฒ ์๋์ ๊ฐ์ด ๋ค์ฏ๊ฐ์ง์ ์ข ๋ฅ๋ก ๊ตฌ๋ถํ ์ ์๋ค. ์ฒซ ๋ฒ์งธ์ ๋ ๋ฒ์งธ๋ ์ ์ฌํ ๊ฐ๋ ์ด๋ฏ๋ก ๊ฐ์ด ๋ฌถ๋๋ก ํ๊ฒ ๋ค. ์ ์ญ ์ค์ฝํ์
JavaScript์ '๊ฐ๋ค'์๋ '=='์ '===' ๋ ์ข ๋ฅ๊ฐ ์๋ค. ๋๋ฑ ์ฐ์ฐ์ '==' > ๋๋ฑ ์ฐ์ฐ์๋ ๋ ํผ์ฐ์ฐ์์ ์๋ฃํ์ด ๊ฐ์ง ์์ ๊ฒฝ์ฐ ๊ฐ์์ง๋๋ก ๋ณํํ ํ, ์๊ฒฉ ๋น๊ต๋ฅผ ์ํํฉ๋๋ค. ํผ์ฐ์ฐ์๊ฐ ๋ชจ๋ ๊ฐ์ฒด๋ผ๋ฉด, JavaScript๋ ๋ด๋ถ ์ฐธ์กฐ๋ฅผ ๋ณด๊ณ , ๋ ๋ค ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ์๋์ง ํ๋ณํฉ๋๋ค. ์ถ์ฒ: MDN | ์ข์ฐ์ ํ์ ...
var๋ ๋ณ์์ ์ฌํ ๋น์ ํ์ฉํ์ง๋ง, let์ ํ์ฉํ์ง ์๋๋ค.์๋์ ์์ ์ฝ๋๋ฅผ ํตํด ์กฐ๊ธ ๋ ์์ธํ ํ์ธํด ๋ณด๋ฉด...'b'๊ฐ ์ด๋ฏธ ์ ์ธ๋์ด ์๋ค๊ณ ๋ฌธ๋ฒ์๋ฌ๋ฅผ ๋ณด์ฌ์ค๋ค. ๐ ๋ฐ๋ผ์ let์ ์ฌ์ฉํ๋ ํธ์ด ๊ฐ์ ์ด๋ฆ์ ๋ณ์๋ฅผ ๋ฌด์ฌ์ฝ ์ฌ์ฉํด ๋ฒ๋ฆฐ๋ค๋๊ฐ, ๋ณ์๊ฐ ์์ ์ธ
ํจ์ ํธ์ถ๊ณผ ๊ด๋ จํ์ฌ ์ง๊ธ๊น์ง ์์ฃผ ์ฐ์ด์ง๋ ์์์ง๋ง, ๋ฐ๋์ ์์์ผ ํ ๊ฐ๋ ์ด ์๋ค. ๋ฐ๋ก call / apply / bind์ ์ด์ฉํ ํจ์ ํธ์ถ ๋ฐฉ๋ฒ์ด๋ค.์๋ฐ์คํฌ๋ฆฝํธ์์ ํจ์๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์๋ ๋จผ์ , ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ๋น๋ฒํ ์ฌ์ฉ๋๋ ํจ์ ๋ค์ ()๋ฅผ ๋ถ์ฌ ํธ์ถํ๋
์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ฐ์ฒด ๋ณต์ฌ๋ ์์ ๋ณต์ฌ(Shallow Copy)์ ๊น์ ๋ณต์ฌ(Deep Copy)๋ก ๋๋๋ค.spread ๋ฐฉ์์ด๋ Object.assign ๋ฑ์ผ๋ก ๊ฐ์ฒด๊ฐ ์ง๋ ํค, ๋ฐธ๋ฅ๋ง์ ์๊ฒ ๋ณต์ฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์๋ณธ ๊ฐ์ฒด์ ๋ค๋ฅธ ์ฃผ์๋ฅผ ๋ฐ๋ผ๋ณด๊ธฐ ๋๋ฌธ์ ๊ฐ์ด ๋ณ๋๋ ๋
null, undefined๋ ๋ ๋ค ๋ณ์์ ๊ฐ์ด ์๋ ๊ฒ์ ๋ํ๋ด์ง๋ง, ๋์ ์๋ฏธ๋ ๊ฝค ๋ค๋ฅด๋ค.null์ NULL์ ์ฌ๋ณผ์ด๋ฉฐ, ์๋๋ฅผ ๊ฐ๊ณ ๋ณ์์ null์ ํ ๋นํ์ฌ ๊ฐ์ด ์๋ค๋ ๊ฒ์ ๋ํ๋ธ๋ค. null์ด ํ ๋น๋ ๋ณ์์ ํ์ ์ ํ์ธํด ๋ณด๋ฉด object์ธ๊ฑธ ํ์ธํ ์
ํจ์์ ํํ๋ฅผ ๊ฐ๊ณ ์์ง๋ง, ํน์ ํ ์ด๋ฆ์ ๊ฐ๊ณ ์์ง ์๋ ํจ์์ด๋ค.ํจ์๋ฅผ ๋ง๋๋ ์ผ๋ฐ์ ์ ๋ฐฉ์์ผ๋ก ์ต๋ช ํจ์์ ๋ค๋ฅด๊ฒ ํน์ ํ ์ด๋ฆ์ ๊ฐ๊ณ ์๋ ํจ์์ด๋ค.๊ฐ์ฅ ํฐ ์ฐจ์ด๋ก๋ ํธ์ถ ์์์ ์ฐจ์ด๋ฅผ ๋งํ ์ ์๋ค. ์๋ฅผ ๋ค์ด 'foo' ๋ผ๋ ํจ์๋ฅผ ๋จผ์ ํธ์ถํ๊ณ ๋ ๋ค์ fo
๋ธ๋ผ์ฐ์ ์ ์ ๋ณด๋ฅผ ์ ์ฅํ ์ ์๋ ์๋ ์ธ ๋ฐฉ์์ ์ฐจ์ด์ ์ ๋ํด์ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ๊ณ ์ ํ๋ค.CookielocalStoragesessionStorageCookie์ ์ฉ๋์ 4KB๋ก ๋ค๋ฅธ ๋ ๋ฐฉ์์ ๋นํด ๊ต์ฅํ ์ ๋ค. ๊ทธ๋ฆฌ๊ณ HTTP ์์ฒญ์ผ๋ก ํค๋์ ๋ด์ ๋ธ๋ผ์ฐ์ ์์ ์๋ฒ
๋ฆฌํ์คํธ ์, ํด๋ผ์ด์ธํธ ์ธก์์ ๋ชจ๋ ๋ ๋๋ง์ ํ๋ค. (CSR)๋ฆฌํ์คํธ ์, ์๋ฒ ์ธก์์ ์ต์ํ์ ๋ ๋๋ง์ ํ๊ณ (ํผ์คํธ ๋ทฐ), ๊ทธ ์ดํ์๋ ํด๋ผ์ด์ธํธ์์ ๋ ๋๋งํ๋ค. (SSR + CSR)JS์ ๋น๋ ์์ ์๋ฒ ์ธก์์ ์ต์ํ์ ๋ ๋๋ง์ ํ๊ณ ์ ์ ํ์ผ์ ์์ฑํ ํ, ๋ฆฌํ
์ค๋ฆฌ์ง(origin) ์ด๋ผ๋ ๋จ์ด๊ฐ ๊ดํ CORS๋ฅผ ์ดํดํ๋๋ฐ ๋ฐฉํด๊ฐ ๋๋ ๋๋์ด ๋ค๊ธฐ์ ๊ฐ๋จํ ์ ๋ฆฌํ๊ณ ์ ํ๋ค. ์ค๋ฆฌ์ง๊ณผ ๋น์ทํ ๊ฐ๋ ์ผ๋ก๋ ๋๋ฉ์ธ(domain)์ด ์๋ค. ๋ ์ฌ์ด์ ๊ตฌ์ฒด์ ์ธ ์๋ก๋ ์๋์ ๊ฐ๋ค.๋๋ฉ์ธ(domain): naver.com์ค๋ฆฌ์ง(origin
์ ํธ์ ์ด์ด CORS์ ๋ํด ์กฐ๊ธ ๋ ์์๋ณด๊ณ ์ ํ๋ค.๋จผ์ , ํด๋ผ์ด์ธํธ ์ธก์์๋ ํน๋ณํ ํ ๊ฒ ์๋ค. ๋ณ๋์ ์ค๋ฆฌ์ง์ผ๋ก์ ์์ฒญ์ ์๋์ ๊ฐ์ด 'Origin' ์ด๋ผ๋ ํ๋๋ฅผ ์ถ๊ฐํ๋ฉด ๋๋ค.Fetch API์์๋ 'cors mode'์ ์ค์ ํ ํ์๊ฐ ์๋ค.๋ค์, ์๋ฒ ์ธก์
CSRF๋ ํฌ๋ก์ค ์ฌ์ดํธ ๋ฆฌํ์คํธ ๋ณ์กฐ๋ผ๊ณ ํ๋ฉฐ, ํ ๋ฌธ์ฅ์ผ๋ก ์ ๋ฆฌํ๋ฉด '์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ์ธ ์์ ์ด ์๋ํ์ง ์์ ์ฒ๋ฆฌ๊ฐ ์คํ๋๋ ์ทจ์ฝ์ฑ ๋๋ ๊ณต๊ฒฉ์๋ฒ' ์ด๋ผ๊ณ ํ ์ ์๋ค.์ฆ, ์ฌ์ฉ์๊ฐ ์์ ์ ์์ง์๋ ๋ฌด๊ดํ๊ฒ ๊ณต๊ฒฉ์์ ์๋ํ ํ์๋ฅผ ํน์ ์น์ฌ์ดํธ์ ์์ฒญํ๊ฒ ํ๋
๋จผ์ , XSS๋ '์ ์ ๊ฐ ์น ํ์ด์ง์ ์ ์ํ๋ ๊ฒ์ผ๋ก ์ฌ๋ฐ๋ฅด์ง ์์ ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋๋ ์ทจ์ฝ์ ๋๋ ๊ณต๊ฒฉ๋ฐฉ๋ฒ' ์ ๋งํ๋ค.์ฌ์ดํธ ๊ฐ ์คํฌ๋ฆฝํ ์ผ๋ก ์น ์ฑ์์ ๋ง์ด ๋ํ๋๋ ์ทจ์ฝ์ ์ ํ๋์ด๋ฉฐ, ์น ์ฌ์ดํธ์ ๊ด๋ฆฌ์๊ฐ ์๋ ์ผ๋ฐ ์ ์ ๊ฐ ์น ํ์ด์ง์ ์ ์ฑ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํ ์
๋จผ์ , ๊ฐ๋จํ ์ ๋ฆฌํ์๋ฉด MVC๋ Model, View, Controller์ ์ฝ์๋ก ๊ฐ๊ฐ์ ์ญํ ์ ๋๋์ด์ ์ฝ๋ฉ์ ํ๋ ๋ชจ๋ธ(ํจํด)์ด๋ค.MVC ๊ฐ๊ฐ์ ์ญํ ์ ์๋์ ๊ฐ๋ค.Model: ์์คํ ์ ๋น์ฆ๋์ค ๋ก์ง์ ๋ด๋นํ๋ค.View: ํ๋ฉด์ ํ์, ์ ๋ ฅ ๋ฑ์ ์ฒ๋ฆฌ๋ฅผ ํ๋ค.C
๋จ์ผ ํ์ด์ง๋ก ๊ตฌ์ฑ๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋งํ๋ค. SPA๋ ํ๋ฉด์ด๋ ์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์ฌ์ด๋์์ HTML์ผ๋ก ์ ๋ฌ๋ฐ์ง ์๊ณ (์๋ฒ์ฌ์ด๋ ๋ ๋๋ง X), ํ์ํ ๋ฐ์ดํฐ๋ง ์๋ฒ๋ก๋ถํฐ JSON์ผ๋ก ์ ๋ฌ ๋ฐ์ ๋์ ์ผ๋ก ๋ ๋๋งํ๋ค.๊ธฐ์กด ์ดํ๋ฆฌ์ผ์ด์ ์ ํ๋ฉด์ด๋ ์์ ํ๋ฉด ์ด๋์
AJAX๋ ๋น๋๊ธฐ ์๋ฐ์คํฌ๋ฆฝํธ์ XML (Asynchronous JavaScript And XML)์ ๋งํฉ๋๋ค. ๊ฐ๋จํ ๋งํ๋ฉด, ์๋ฒ์ ํต์ ํ๊ธฐ ์ํด XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ์ถ์ฒ: https://developer.mozill
Ajax์ ๋น๋๊ธฐ ํต์ ์ ๊ตฌํํ๊ธฐ ์ํด ํ์ํ ๊ธฐ์ ๋ค์ ๊ฐ๋จํ ์ ๋ฆฌํ๊ณ ์ ํ๋ค.XMLHttpRequestJavaScriptDOMXMLAjax ๋น๋๊ธฐ ํต์ ์ ์ํด์๋ ์ ๋ค ๊ฐ์ง์ ๊ธฐ์ ๋ค์ ์ด์ฉํด์ผ ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค.XMLHttpRequest(XHR) ๊ฐ์ฒด๋ ์๋ฒ์ ์ํธ์
CSS๋ฅผ ๊ณต๋ถํ๋ ์ค์ Sass๋ผ๋ ๊ฒ์ ์๊ฒ๋์ด, ์ฌ์ฉ์ ์์ ๊ฐ๋ ์ ์ผ๋ก ๊ณต๋ถํด ๋ณผ๋ ค๊ณ ํ๋ค.Sass๋ 'Syntactically Awesome StyleSheet' ์ ์ฝ์์ด๋ค. ์ง์ญํ์๋ฉด '๊ตฌ๋ฌธ์ ์ผ๋ก ์ฉ๋ ์คํ์ผ์ํธ' ๋ผ๊ณ ํ๋ค.์ด๋ฆ์ด ๋ฉ์์ด์ Sass์ ๋ํด ์กฐ
๋จผ์ , CSS์์ ํฐํธ ์ฌ์ด์ฆ๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๊ฐ ์กด์ฌํ๋ค.์ ๋์น: 10px์ด๋ผ๋ฉด ๋ฌด์กฐ๊ฑด 10px์๋์น: ๋ถ๋ชจ ์์์ ์ฌ์ด์ฆ์ ์ํด ๊ฐ๋ณpx๋ ํฐํธ ์ฌ์ด์ฆ์ ์ ๋์น๋ฅผ ์ค์ ํ๋ ๋จ์์ด๋ค.em์ ๋ถ๋ชจ ์์์ ํฐํธ ์ฌ์ด์ฆ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ค.em๊ณผ ๊ฐ์ด ๋ถ๋ชจ
ํ์ฅ์๋ ํ์ผ์ ์ข ๋ฅ๋ฅผ ์๋ณํ๊ธฐ ์ํ ๋ฌธ์์ด์ด๋ค. ์ด๋ฏธ์ง๋ ํ ์คํธ๋ฅผ ์ ์ฅํ์ ๋, ํ์ผ๋ช ์ ์ฐ์ธก์ ํ์๋๋ '.jpeg'๋ '.txt' ๋ฑ์ ๋ฌธ์์ด์ด ๊ทธ๊ฒ์ด๋ค.์ด ํ์ฅ์์ ๋ฐ๋ผ ํ์ผ์ ์ด ์ ์๋ ์ดํ๋ฆฌ์ผ์ด์ ์ด ๋ฌ๋ผ์ง๋ค. ์๋ฅผ ๋ค์ด '.xlsx'๋ ์์ , '.doc'๋
์์ ์ด์ด ์ด๋ฏธ์ง ํ์ผ ํ์ฅ์์ ํน์ง์ ์์๋ณด๊ณ , ํน์ง์ ๋ฐ๋ผ ์น์์ ์ด๋ป๊ฒ ์ฌ์ฉํด์ผ ํ๋์ง์ ๊ฐ๋จํ ์์๋ณด๋๋ก ํ๊ฒ ๋ค.๊ฐ ์ด๋ฏธ์ง ํ์ผ ํ์ฅ์๋ค์ ์ฌ์ฉ๋น๋๋ JPEG์ PNG๊ฐ ๊ฐ์ฅ ๋ง์ด ์ด์ฉ๋๋ค๊ณ ํ๋ค. ๊ทธ๋ฌ๋ฉด ๊ฐ ํ์ฅ์๋ณ๋ก ์ด๋ค ํน์ง๋ค์ด ์๋์ง ์๋์ ํ๋ก ์ ๋ฆฌํ์
์ ๋์ฝ๋(Unicode)๋ ์ ์ธ๊ณ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ปดํจํฐ์์ ์ผ๊ด๋๊ฒ ํํํ๊ณ ๋ค๋ฃฐ ์ ์๋๋ก ์ค๊ณ๋ ์ฐ์ ํ์ค์ด๋ฉฐ, ์ ๋์ฝ๋ ํํ(Unicode Consortium)๊ฐ ์ ์ ํ๋ค. ์ด ํ์ค์๋ ISO 10646 ๋ฌธ์ ์งํฉ, ๋ฌธ์ ์ธ์ฝ๋ฉ, ๋ฌธ์ ์ ๋ณด ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ฌธ์๋ค
์์์ ์์คํค ์ฝ๋์ ์ ๋ ์ฝ๋์ ๋ํด ๊ณต๋ถํ๋ ์ค ์ด๋์ ๊ฐ ์์ฃผ ๋ณธ UTF-8์ ๋ํด ๊ถ๊ธ์ฆ์ด ์๊ฒจ ์กฐ๊ธ ๋ ์์๋ณด์๋ค.UTF-8์ ์ ๋์ฝ๋์ ์ฌ๋ฌ ๋ฐฉ์ ์ค ํ๋์ด๋ค. UTF-8 ์ธ์๋ 16, 32 ๋ฑ์ด ์กด์ฌํ๋ค.UTF-8์ ํ๋์ ๋ฌธ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด 1๋ฐ์ดํธ์์
์ง๊ธ๊น์ง ๋ ๋ฒ์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๋ชจ๋ ๋ฐฑ์๋ ์์ฃผ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ์๋ค. ์๋ํ๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ๋ ์ฌํญ์ ๋ด๊ฐ ๊ตฌ์ถํ ์๋ฒ๊ฐ ์ ๋๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ๋๋ฌด ์ฌ๋ฐ์๊ธฐ ๋๋ฌธ์ด๋ค.ํ์ง๋ง ์น ์๋ฒ๋ผ๋๊ฒ ๋จ์ํ '์ ์ ๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ๋ฐ์์ํค๋ ์ด๋ฒคํธ๋ฅผ ํด
์น์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์์ฒญ/์๋ต ํ๋ก์ธ์ค๋ฅผ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ๊ฒ์ด HTTP๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ด๋ค. ๊ทธ๋์ ์ค๋์ HTTP์ ๋ํด ๊ณต๋ถํด ๋ณด๊ณ ์ ํ๋ค. HTTP ๋? HTTP๋ 'HyperText Transfer Protocol'์ ์ฝ์์ด๋ฉฐ, ํ๊ตญ์ด๋ก๋ ์ด๋ณธ๋ฌธ์ ์ก๊ท
์์ HTTP์ ๋ํด ๊ณต๋ถํ์๋๋ฐ ๊ทธ ์์๋ก https://naver.com๊ณผ ๊ฐ์ด 'URL'์ ์ธ๊ธํ์๋ค. ๊ทธ๋์ URL์ ๋ํด ๊ฐ๋ ์ ํ๋ฆฝํ๊ธฐ ์ํด ์ ๋ฆฌํ๋๋ก ํ๊ฒ ๋ค.URL์ 'Uniform Resource Locator'์ ์ค์๋ง๋ก ์ธํฐ๋ท ์์ ์ฝํ ์ธ ๋ฅผ
HTTP ๋ฉ์๋๋ ํด๋ผ์ด์ธํธ๊ฐ ํ๊ณ ์ถ์ ์ฒ๋ฆฌ๋ฅผ ์๋ฒ์๊ฒ ์ ํ๋ ์ญํ ์ ํ๋ค.๋ฉ์๋๋ ์ด 8๊ฐ๊ฐ ์กด์ฌํ๋ฉฐ ์๋์ ๊ฐ๋ค.GET: ์๋ฒ๋ก ๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ทจ๋POST: ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ, ์์ฑ ๋ฑPUT: ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐฑ์ , ์์ฑ ๋ฑDELETE: ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ H
์น ๊ฐ๋ฐ์ ์์ด์ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฌธ์ ๊ฐ ์์ ๋, ์๋ฒ์์ ํด๋ผ์ด์ธํธ์๊ฒ ์ด๋ค ์๋ฌ ์๋ต์ ๋ณด์ฌ์ค ๊ฒ์ธ์ง๋ ๋งค์ฐ ์ค์ํ ๋ถ๋ถ์ด๋ผ๊ณ ์๊ฐํ๋ค.๊ทธ๋์ ์๋ฌ์ฒ๋ฆฌ์ ๊ด๋ จํ์ฌ ์กฐ์ฌํ๋ ์ค ๋ฐ๊ฒฌํ qiita์ 'WebAPIใงใจใฉใผใใฉใ่กจ็พใในใ๏ผ15ใฎใตใผใในใ่ชฟๆปใใฆใฟใ'์
๊ฐ ์๋น์ค๋ค์ API๊ฐ ์ ๊ณตํ๊ณ ์๋ ์ ๋ณด๋ฅผ ํ์ ์ ๋ฆฌํ์๋ค.์ด๋ฒ์ ์กฐ์ฌํ ๋ฒ์์์๋ ๋ชจ๋ ์๋น์ค๊ฐ ์ฌ๋์ด ์ฝ๊ณ ์ดํดํ ์ ์๋ ํ์์ ๋ฉ์ธ์ง๋ฅผ ๋ฐ๋์ ์๋ฌ์ ํฌํจ์ํค๊ณ ์์๋ค.์๋ฌ ์ฝ๋๋ ํ๋ก๊ทธ๋จ์ด ๊ทธ ์๋ฌ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ฝ๋๋ก int ๋๋ string์ด์๋ค. ๋ํ ์๋ฌ
๊ทธ ๋์ Node๋ฅผ ์ด์ฉํ์ฌ ์น ์๋ฒ๋ฅผ ๊ตฌ์ถํ ๋, npm์ ๊ณต์ ๋์ด ์๋ ๋ง์ ๋ชจ๋๋ค์ ๋ฐ์์ ์ธ๋ ค๋ฉด ๋น์ฐํ(?) require๋ฅผ ํตํด ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ค ๋ผ๊ณ ๋ง์ฐํ ์๊ฐํ๊ณ ์์๋ค.๊ทธ๋์ require๋ ๋ญ์ง import๋ ๋ญ์ง ๊ถ๊ธ์ฆ์ด ์๊ฒจ, ๋จผ์ Requi
React๋ฅผ ๊ณต๋ถํ๋ค ๋ณด๋ฉด Hooks๋ผ๋ ๋ง์ ์์ฃผ ์ ํ๊ฒ ๋๋ค. ๊ทธ๋์ Hooks์ ๋ํด ๊ณต๋ถํด ๋ณด๊ณ ์ ํ๋ค. React Hook๋? React Hook์ React 16.8 ๋ฒ์ ์์ ์๋กญ๊ฒ ์ถ๊ฐ๋ ๋ฆฌ์กํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ๋ฐฉ๋ฒ์ด๋ค. ๊ธฐ์กด์ ํด๋์ค๋ฅผ ํตํด ์ปดํฌ๋ํธ์ state๋ฅผ ๊ด๋ฆฌํ์๋๋ฐ, Hook๋ฅผ ํตํด ํจ์ํ ์ปดํฌ๋ํธ์์๋ ์คํ ์ดํธ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ...
์์ useState(), useEffect()์ ๋ํด ์์๋ณด์๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ ๋ Hook์ ์ด์ฉํ์ฌ ์ธํ์ฐฝ์ ๋ฌธ์์ด์ ์ ๋ ฅํ๊ณ ๋ฒํผ์ ๋๋ฅด๋ฉด ํ์ดํ์ด ๋ณ๊ฒฝ๋๋ Custom Hook์ ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ๋ค. ์ฐธ๊ณ ๋ก ๋ ธ๋ง๋์ฝ๋์ '์ค์ ํ ๋ฆฌ์กํธ Hooks 10๊ฐ' ๊ฐ์๋ฅผ ๋ณด๊ณ ์ฐธ๊ณ ํ์๋ค. ์์ค์ฝ๋ ๋จผ์ , Custom Hook์ ๋ฐ๋ก ๋ง๋ค...
๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์น์ผ๋ก ์งํํ๋ฉด์ ๋ฆฌ์กํธ ์ฑ์ ๋ผ์ฐํ ์ด ํ์ํ ์ํฉ์ด ์์ด react-router-dom ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐ๋ก ์ค์นํ์ฌ ์ฌ์ฉํ๊ณ ์๋ค.react-router-dom์ ์ฌ์ฉํ๋ฉด ๋น ์ง ์ ์๋ history์ ๋ํด ์ ๋ฆฌํ๊ณ ์ ํ๋ค.๋ฆฌ์กํธ์์ ํ์ด์ง๋ฅผ ์ด๋ํ
WDMA ํ๋ก์ ํธ์์ ๋ฆฌ์กํธ๋ฅผ ์งํํ๋ฉด์, ๊ฐ ์ปดํฌ๋ํธ๋ง๋ค ์ํ๋ฅผ ๊ด๋ฆฌํ์ง ์๊ณ Redux(๋ฆฌ๋์ค)๋ฅผ ์ด์ฉํ ์ผ์์ ์ํ๊ด๋ฆฌ ์ฒด๊ณ๋ฅผ ๊ตฌ์ํ์๋ค. ๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ด๋ฒ์ด ์ฒ์์ด๋ฏ๋ก ๋ฆฌ๋์ค์ ์ฉ์ด์ ๊ธฐ์ด์ ์ธ ๊ฐ๋ ์ ๋จผ์ ์ ๋ฆฌํ๊ณ ์ ํ๋ค.๋ฆฌ๋์ค๋ ๋ฆฌ์กํธ๋ง์ ์ํ ์ํ
HTML์ ๋ธ๋ผ์ฐ์ ์ ํ์ํ ๋, ํฌ๊ฒ 2๋จ๊ณ๋ก ๋๋๋ค๊ฐ HTML์ ์์๋ฅผ ํ์ฑํ๊ณ , ๊ฐ ์์๊ฐ ์ฐจ์งํ๋ ๊ณต๊ฐ ์ฐ์ถํ๊ธฐ (Reflow)์ฐ์ถํ ๊ณต๊ฐ์ ์์์ ๋ด์ฉ์ ๊ทธ๋ฆฌ๊ธฐ (Repaint)Reflow๋ ๋ธ๋ผ์ฐ์ ์ ํ์์ ํด์ผํ๋ ์์์ ๋ฐฐ์น๊ฐ ๋ฐ๋๋ ๋ฑ์ ์ด์ ๋ก ๋ฐ์ํ๋ค
Semantic Element๋? Semantic์ ์ฌ์ ์ ์ผ๋ก '์๋ฏธ๋ก ์ ' ์ด๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ๊ณ ์๋ค. ๊ทธ๋์ Semactic Element๋ ๋ชฉ์ ์ ๋ฐ๋ผ ์ด๋ค ํน๋ณํ ์๋ฏธ๊ฐ ๋ถ์ฌ๋ ์๋ฆฌ๋จผํธ ์์ ์ ์ ์๋ค. HTML5์์๋ ๋ค์ํ ์๋งจํฑ ์๋ฆฌ๋จผํธ๋ฅผ ์ฌ์ฉํ ์ ์๋
HTML5์ ์ฃผ์ Semantic Tag HTML ํ์ด์ง์ ๋ ์ด์์ ๊ตฌ์ฑํ๋ ์ฃผ์ ์๋งจํฑ ํ๊ทธ์ ๋ํด ์ ๋ฆฌํ๊ณ ์ ํ๋ค. 1. article > https://developer.mozilla.org/ko/docs/Web/HTML/Element/article ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐ๋ถ ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ๊ตฌ์ฒด์ ์ผ๋ก๋ ๋ธ๋ก๊ทธ๋ ๋ด์ค์ ๊ธฐ์ฌ ๊ฐ์ ํํธ๋ฅผ ๋ํ๋ธ๋ค. ๊ทธ ์์ฒด๋ง์ผ...
IFNULL(A, B)๋ฅผ ์ด์ฉํ์ฌ A๊ฐ NULL์ด๋ฉด B๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํจ ์ฟผ๋ฆฌ๋ฌธ ์ถ์ฒ https://programmers.co.kr/learn/courses/30/lessons/59410
COUNT()๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋ ๊ฒฐ๊ณผ๊ฐ์ ๊ฐฏ์๋ฅผ ์นด์ดํ ํจ ์ฟผ๋ฆฌ๋ฌธ ์ถ์ฒ https://programmers.co.kr/learn/courses/30/lessons/59410
grapql์ REST API์ ๋นํจ์จ์ ์ธ fetching์ ํด๊ฒฐํ๊ณ ์ ๋ง๋ค์ด์ง API Query Language(์ง์์ด) ์ด๋ค. > GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a ...
Interface์ Type๋ ์ฌ์ฉ์์ ์์ด์ ๋ฎ์ ์ ์ด ๋ง์ ์ ๋ฆฌํ๊ณ ์ ํ๋ค. ์์ ๋ฐฉ๋ฒ Interface์ Type ๋ ๋ค ์์ํ ์ ์์ง๋ง ๋ฐฉ์์ด ์กฐ๊ธ ๋ค๋ฅด๋ค. Interface Type Interface๊ฐ Type์ ์์ ์ฐธ๊ณ ์๋ฃ https://typescript-kr.github.io/ https://stackoverflow.com/qu...
๋ฆฌ์กํธ์ ๊ทธ๋ํํ์์ ์ด์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๋ฐฐ์ด ๋ด ์์๋ค์ ๋ฐ๋ณต์ ์ผ๋ก ํ์นญ์ ํ ๋๊ฐ ์๋ค.์ด ๋, ์กฐ๊ธ ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํ๋ค๊ฐ Promise.all์ ์ด์ฉํ์ฌ ๋ฐ๋ณต์ ์ผ๋ก ํ์นญํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด ๋ดค๋ค.Promise.all() ๋ฉ์๋๋ ์ํ ๊ฐ๋ฅํ ๊ฐ์ฒด
์๋ ๊ธ์ 'ใใพใใใ ใใฉGitใๅบๆฌใใๅใใใใใใพใจใใฆใฟใ'์ ๋ฒ์ญํ์ฌ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.์ถ์ฒ: https://qiita.com/gold-kou/items/7f6a3b46e2781b0dd4a0Git is a free and open source distrib
์๋ ๊ธ์ 'ใใพใใใ ใใฉGitใๅบๆฌใใๅใใใใใใพใจใใฆใฟใ'์ ๋ฒ์ญํ์ฌ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.์ถ์ฒ: https://qiita.com/gold-kou/items/7f6a3b46e2781b0dd4a0HEAD์ ์์น๋ฅผ ๋ณ๊ฒฝ3์ข ๋ฅ์ ์ต์ (--soft, --mixed,
์ถ๋ ฅํ๊ธฐ ์ํด print() ํจ์ ์ฌ์ฉํ์ด์ฌ์ ๋ธ๋ก ์ค์ฝํ๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ค๊ดํธ๊ฐ ์๋ ๋์ด์ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ์ด์ฌ์ ์์ ํ ๊ฐ์ฒด ์งํฅ์ ์ด๊ณ ์ ์ ํ์ ์ ์ธ์ด๊ฐ ์๋๋ณ์๋ฅผ ๋ช ๋ฐฑํ๊ฒ ํ ํ์๊ฐ ์์๋ชจ๋ ๋ณ์๋ ๊ฐ์ฒด์ซ์ ํ์ ์ ๊ฒฝ์ฐ integers์ floating point n
๊ฒฐ์ = ๋น๊ต + ์ ํ๋น๊ต๊ฐ ์ฝ์ง ์์ ๋ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ธฐ ์ด๋ ค์๋น๊ต๋ฅผ ๊ธฐ๊ณ์๊ฒ ํ์ต์์ผ ๊ฒฐ์ ํ๊ธฐ ์ฝ๊ฒ ๋์์ฃผ๋ ๊ฒ์ํฑ์ ๊นจ๋ฌด๋ ์ต๊ด์ ๊ณ ์น๊ณ ์ถ์ ๋, ์ํฑ์ ๊บ ๋ฌด๋ ์ฌ์ง๊ณผ ๊นจ๋ฌผ์ง ์๋ ์ฌ์ง์ ํ์ต์์ผ ์๋ ค์ฃผ๋๊ฑด ์ด๋จ๊น?teachablemachine.withgoogle