
โ ๋ฐ์ ์๋ฌ ํ๋ก์ ํธ ์งํ์ค, 'react-nice-avatar'๋ฅผ ํ์ฉํด๋ณด๋ ค ํ๋ค. https://www.npmjs.com/package/react-nice-avatar react-nice-avatar react library for generating avatar. Latest version: 1.3.1, last published: 3 months ago. Start using react-nice-avatar in your project by running `npm i react-nice-avatar`. There are no other projects in the npm registry using react-nice-avatar. www.npmjs.com ๋ก์ปฌ์์๋ ์๋ฌด ์๋ฌ์์ด ์ ๋๋๋ฐ ๋ฐฐํฌ..

- ์๋ณ์ ๋ค์ด๋ฐ ๊ท์น์ ๋ฐ๋ฅด์ง ์๋ ์ด๋ฆ์๋ ๋ฐ๋์ ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. var person = { firstName: 'Ung-mo', // ์๋ณ์ ๋ค์ด๋ฐ ๊ท์น์ ์ค์ํ๋ ํ๋กํผํฐ ํค 'last-name': 'Lee' // ์๋ณ์ ๋ค์ด๋ฐ ๊ท์น์ ์ค์ํ์ง ์๋ ํ๋กํผํฐ ํค } console.log(person) // { firstName: 'Ung-mo', last-name: 'Lee' } var person = { firstName: 'Ung-mo', last-name: 'Lee' // SyntaxError: Unexpected token - } - ๋ฌธ์์ด ๋๋ ๋ฌธ์์ด๋ก ํ๊ฐํ ์ ์๋ ํํ์์ ์ฌ์ฉํด ํ๋กํผํฐ ํค๋ฅผ ๋์ ์ผ๋ก ์์ฑํ ์๋ ์๋ ๊ฒฝ์ฐ์๋ ํ๋กํผํฐ ํค๋ก ์ฌ์ฉํ ํํ์์ ๋๊ดํธ([.....

- ๋ช ์์ ํ์ ๋ณํ var x = 10; // ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ํ์ ์บ์คํ ํ๋ค. var str = x.toString(); console.log(typeof str, str); // string 10 // x ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๊ฒ์ ์๋๋ค. console.log(typeof x, x); // number 10 - ์๋ฌต์ ํ์ ๋ณํ var x = 10; // ๋ฌธ์์ด ์ฐ๊ฒฐ ์ฐ์ฐ์๋ ์ซ์ ํ์ x์ ๊ฐ์ ๋ฐํ์ผ๋ก ์๋ก์ด ๋ฌธ์์ด์ ์์ฑํ๋ค. var str = x + ''; console.log(typeof str, str); // string 10 // x ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๊ฒ์ ์๋๋ค. console.log(typeof x, x); // number 10 ์ฐธ๊ณ ์๋ฃ: http://www.yes24.com/..

- ํ๋ฉด ์ผ์ชฝ ์ฌ์ด๋๋ฐ์์ 'Realtime Database'๋ฅผ ํด๋ฆญํ์ฌ '์ค์๊ฐ ๋ฐ์ดํฐ ๋ฒ ์ด์ค' ํ์ด์ง๋ก ๋์ด์จ๋ค. - ์๋ ๋๋ฒ์งธ ์ค 'https://shoppy-......' ์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๋ฉด '+'์ ์ฐ๋ ๊ธฐํต ์์ด์ฝ์ด ํ์ฑํ ๋๋๋ฐ '+'๋ฅผ ๋๋ฅด๊ณ ์๋์ ๊ฐ์ด 'ํค'์ '๊ฐ'์ ์ ๋ ฅํ๊ณ ์ถ๊ฐ ๋ฒํผ์ ํด๋ฆญํ๋ค. - ์ด๋, ๋ก๊ทธ์ธ ํ์ ๋, ์ ์ ์ ์ ๋ณด๋ฅผ console๋ก ์ฐ์ด๋ณด๋ฉด ํ์ธํ ์ ์๋ 'uid'๊ฐ์ ๋ณต์ฌํ์ฌ '๊ฐ'์ ๋ถ์ฌ๋ฃ๊ธฐ ํ๋ค. - '์ค์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์ ์ ์ฅ๋ ๊ด๋ฆฌ์ ๊ถํ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ํ์ ์ฝ๋ (์ด๊ธฐํ ์ฝ๋) - ์๋์ ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ ๋ด ํ๋ก์ ํธ์ ๋ถ์ฌ๋ฃ๊ธฐ ํ๋ค. - firebase docs > build > Realtime Database > Web > Read and ..

- 'ํ๋ก์ ํธ ์ถ๊ฐ'๋ฅผ ๋๋ฅธ๋ค. - ํ๋ก์ ํธ ์ด๋ฆ์ ์ ๋ ฅํ๋ฉด '๊ณ์' ๋ฒํผ์ด ํ์ฑํ ๋๋ค. - ๊ณ์ ์ ์ ํํ๋ฉด 'ํ๋ก์ ํธ ๋ง๋ค๊ธฐ' ๋ฒํผ์ด ํ์ฑํ ๋๋ค. - '๊ณ์' ๋ฒํผ์ ํด๋ฆญํ์ฌ ํ๋ก์ ํธ ์์ฑ์ ์๋ฃํ๋ค. - '์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ๊ด๋ฆฌ (Authentication)' ํด๋ฆญ - '์ฌ์ฉ ์ค์ '์ ํด๋ฆญํ์ฌ 'ํ๋ก์ ํธ์ ๊ณต๊ฐ์ฉ ์ด๋ฆ'๊ณผ 'ํ๋ก์ ํธ ์ง์ ์ด๋ฉ์ผ' ์ค์ ํ '์ ์ฅ' ๋ฒํผ์ ํด๋ฆญํ๋ค. - Realtime Database ์ถ๊ฐ - '๋ฏธ๊ตญ, ๋ฒจ๊ธฐ์, ์ฑ๊ฐํฌ๋ฅด' ์ค, ๋ด ๋๋ผ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋๋ผ๋ฅผ ์ ํํ๋ค. ํ๊ตญ์ ๊ฒฝ์ฐ, ์ฑ๊ฐํฌ๋ฅด ์ ํ. - ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ๋๊ฐ ์ฝ์ ์ ์๊ณ , ๋๊ฐ ์ธ ์ ์๋์ง ๊ท์น(?) ์ค์ . ์ผ๋จ ํ ์คํธ ๋ชจ๋๋ก ์์ - JSON ๊ฐ์ฒด ์ฒ๋ผ ๋ฐ์ดํฐ๊ฐ ์ ๋ถ ๋ค์ด์ค๋ ๊ฒ์ ๋ณผ ์ ์์. ..

Q. ํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค๊ฐ ๋ฉํ ๋๊ป์ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ํด์ฃผ์ จ๋๋ฐ addEventListener๋ฅผ ์์ฑํ๊ณ removeEventListener๋ฅผ ํด์ฃผ๋ผ๊ณ ํ์ จ๋๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ๋๋ฌธ์ด๋ผ๊ณ ํ์ จ๋๋ฐ ๊ทธ๋ ๊ฒ ํฐ ์ฐจ์ด๊ฐ ์๋์? A. ํ์ด์ง๋ DOM์ ์์ ๋๊ฐ๋๊ฑฐ๋ฉด ์๊ด์๊ณ SPAํน์ฑ์ด๋ผ์ ํด์ฃผ๋๊ฒ ์ข๋ค. ๋์ถฉ SPA๋ ํ์ด์ง๋ฅผ ๋๊ฐ์ง ์๊ธฐ๋๋ฌธ์ ์ด๋ฒคํธ๋ฆฌ์ค๋๊ฐ ์์ด๊ฒ๋ผ์ ๋ ํ๊ฐ์ง ์ด๋ฒคํธ๋ง ์คํ์ํค๋ฉด ๋๋๋ฐ ๋ค๋ฅธ ์ด๋ฒคํธ๋ฆฌ์ค๋๊ฐ ํญ์ฃฝ๋์ดํ๋ฉด์ ๋๋ฅํ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์๋ค. dom๊ณผ event listener๊ฐ ์ํธ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ ์ญ์ ํด์ฃผ์ง ์์ผ๋ฉด ์ํธ ์ฐธ์กฐ๋ก reference count๊ฐ 0์ด ๋์ง ์์์ ์๊ตฌํ ๋จ๋ ๋ฌธ์ ๊ฐ ์๋ค. addEventListenr(name, function)์ ํธ์ถํ๋ฉด ์์คํ ๋ด..

๋ฐฉ๋ฒ 01. Date๊ฐ์ฒด์ ms ์๊ฐ์ ์ด์ฉํ์ฌ ์์ฑํ๋ค. const id = new Date() ๋ฐฉ๋ฒ 02. uuid ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ // uuid ์ค์น npm install uuid // 01. import {v4 as uuidv4} from 'uuid'; uuidv4(); // '9b1deb4d-3sd5-sdf2-asdf2cvbwe.....' // 02. import {v4: uuidv4} = require('uuid'); uuidv4(); // '9b1deb4d-3sd5-sdf2-asdf2cvbwe.....'

var num = 2; var kind; if (num > 0) { kind = "์์"; } else if (num 0) kind = "์์"; else if (num 0 ? "์์"..

var x = 2; var result = x % 2 ? 'ํ์' : '์ง์'; console.log(result); // ์ง์ x % 2๊ฐ true๋ฉด ์ฝ๋ก (:) ์์ ๋ ๋ฒ์งธ ํผ์ฐ์ฐ์์ธ 'ํ์'๋ฐํ, false๋ฉด ์ฝ๋ก (:)๋ค์ ์ธ ๋ฒ์งธ ํผ์ฐ์ฐ์ '์ง์' ๋ฐํ 2 % 2๋ 0์ด๊ณ 0์ false๋ก ์๋ฌต์ ํ์ ๋ณํ๋๋ค. // ์กฐ๊ฑด๋ฌธ(if...else)์ ์ฌ์ฉํด๋ ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์ ํํ์๊ณผ ์ ์ฌํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค. var x = 2, result; // 2 % 2๋ 0์ด๊ณ 0์ false๋ก ์๋ฌต์ ํ์ ๋ณํ๋๋ค. if(x % 2) result = 'ํ์'; else result = '์ง์'; console.log(result); // ์ง์ var x = 10; var result = if (x % 2) ..

โถ api key๋ฅผ ์จ๊ธฐ๊ธฐ ์ํ ์ฉ๋ (์์ค์ฝ๋์์ ์จ๊ธฐ๊ธฐ - ๋ณด์์ฉ) โถ FE์์ ์ฝ๋๊ฐ ์ ๋ถ ๋ ธ์ถ์ด ๋๊ธฐ ๋๋ฌธ์ api key๋ฅผ ์จ๊ธฐ๋ ๊ฒ์ BE ๊ฐ๋ฐ์์๊ฒ ์์ฒญํด์ผ ํ๋ค. ํ์ผ๋ช : startProject.sh - ์ -ํ๊บผ๋ฒ์ ์ค์นํ๋ ๋ฐฉ๋ฒ - ํ์ ์์ ์์ฃผ ์ฐ์ด์ง๋ ์์. npm init -y // npm ์ด๊ธฐํ npm i -D parcel vercel // parcel, vercel(์๋ฒ๋ฆฌ์ค ํจ์๋ฅผ ์๋์ํค๊ธฐ ์ํจ)์ ๊ฐ๋ฐ์์กด์ฑ(devDependencies)๋ก ์ค์น mkdir src // ํด๋ ๋ง๋ค๊ธฐ touch src/main.js touch index.html // Window ์ฌ์ฉ์๋ touch ๋์ echo root ๊ฒฝ๋ก์ vercel.json ํ์ผ์ ์์ฑํ๋ค. // vercel.json..