์ค์ ํ์ด์ง์ ๋๋ฝ ๋ ์น์
:
๋ชจ๋ ํด๋ ์ ์ธ์ฆ์ ์น์
์ด ํ ์๊ฐ ์ ๋ ์ ์ ์ฌ๋ผ์ก์ต๋๋ค. ์ฒ์์๋ ์ ๊ธฐ๋ฅ์ ํ์ํ๊ธฐ ์์ํ์ ๋์์์ต๋๋ค.
"์ํ ์ง๋"์๋์ ๋ ๋ง์ ๊ฒ์ด ์์์ ์๋ ์์ง๋ง ํ์คํ์ง ์์ต๋๋ค.
๊ด๋ จ์ด์์ ์ ์์ต๋๋ค. ๋ฐ์ ํ ์ธ์ฆ์๊ฐ ์๋ํ์ง ์๋๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค. ํ์ํ ๋ชจ๋ ๊ณผ์ ๋ฅผ ์๋ฃํ์ง๋ ์์์ง๋ง ๋ชจ๋ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ ๋ชจ๋ ํ์ ํ๋ก์ ํธ (์ฝ๋ ํ)๋ฅผ ์ ์ถํ์ต๋๋ค.
์ค์ ํ์ด์ง๋ก ๋์ ๊ฐ๊ธฐ ์ ์ ์ ๊ฐ ๋ง์ง๋ง์ผ๋ก ํ ์ผ์ ๋ชจ๋ JavaScript ๋ฌธ์ ์ ๋ํ ์๋ฃจ์ ์ ์ ์ถ ํ ๊ฒ์ ๋๋ค.
๋๋ฝ ๋ ์ฝํ
์ธ ๊ฐ์๋ react-empty: 364
, react-empty: 381
๋ฐ react-empty: 382
๊ฐ์ ํญ๋ชฉ์ด ์์ต๋๋ค.
https://www.freecodecamp.org/settings
@QuincyLarson @Bouncey ์ ๊ณ ๋ฌธ์ ๊ฐ ๋ง์ ์ฌ์ฉ์์๊ฒ ์ํฅ์ ๋ฏธ์น๋ ๊ฒ์ฒ๋ผ ์ฐ์ ์์๊ฐ ๋ ์ ์์ต๋๋ค.
@ johnkennedy9147 ๋ณด๊ณ
JavaScript ์ฝ์์ ํ์ธํ์ญ์์ค. ๊ฑฐ๊ธฐ์ ์ค๋ฅ๊ฐ ์์ต๋๊น?
๋ด ์ปดํจํฐ์์ ์ด๊ฒ์ ์ฌํ ํ ์ ์์ต๋๋ค.
@quincylarson ๋๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋๋ ์ด์ ์ ์ฌ์ฉ ์ธ์ฆ์ ์์ญ์ ๋ณผ ์ ์์์ง๋ง ์ง๊ธ์ ๋๋ฝ๋์์ต๋๋ค. Javascript ์ฝ์์ ์ด๋ฌํ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.
์ค์ ๋ก ํฌ๋กฌ์ ํตํด ์์ ํ ๋น ์ค์ ํ์ด์ง์ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ํ ํ์ด์ง๊ฐ ํ์ด์ด ํญ์ค์์๋ก๋ ๋ ๋ ๋ฒํผ (๊ฐ์ธ ์ ๋ณด ์ค์ ๋ณ๊ฒฝ, ํ ๋ง ๋ณ๊ฒฝ ๋ฑ)์ ํ ๊ธ ํ ์ ์์ต๋๋ค.
@QuincyLarson ์๋
ํ์ธ์, ์ฝ์์ TypeError: can't convert null to object JSAlgoAndDSForm.jsx:59:31
ํ์๋ฉ๋๋ค. ์ธ์ฆ์๋ฅผ ์๋ํ๊ณ ์ฒญ๊ตฌํ๊ธฐ ์ํด ์๋ฃจ์
์ ์ ์ถ ํ ํ ๋ฌธ์ ๊ฐ ์์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ Javascript ์๊ณ ๋ฆฌ์ฆ ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ ์น์
์ ๋ ๋๋งํ๋ ํจ์๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด๊ฒ์ด ์๋ชป๋ ์ง์๋ผ๋ฉด ์ฌ๊ณผ๋๋ฆฝ๋๋ค (๋ฐ์์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค)
์ด ์ค์ JSAlgoAndDSForm.jsx ํ์ผ์ ๋ฌธ์ ๋ก ๋ณด์ ๋๋ค.
const completeCount = Object.values(jsProjects)
.filter(challengeInfo => Object.keys(challengeInfo).length !== 0)
.length;
๋ค๋ฅธ ์๊ฐ์ ์คํํ ๋ ๋ ๊ฐ์ง ๋ค๋ฅธ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์๋ ์ด๊ฒ์ ์ป์์ต๋๋ค : https://gist.github.com/johnkennedy9147/abdf3491d0257d3d36ad3715f3749591
๋์ค์ ์ด๊ฒ์ ์ป์ผ์ญ์์ค : https://gist.github.com/johnkennedy9147/d9cd26099dd99e424034b9399eae3f12
๋ ๊ฐ์ง ๋ค๋ฅธ ์ค๋ฅ ์ฌ์ด์์ ์น์ ์ ๊ณผ์ ์ค ํ๋๋ฅผ ์๋ฃํ์ต๋๋ค. ๋ช ๊ฐ์ง๋ฅผ ๋ ์๋ฃํด๋ ์ค๋ฅ๊ฐ ๋ค์ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค.
์ปค๋ฆฌํ๋ผ ๋งต์๋ ์๋ฃ๋ ํ๋ก์ ํธ๊ฐ ํ์๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ๊ทธ๋ค์๊ฒ ๋์์์ ๋ด ์ฝ๋๋ฅผ ์ ์ฅํ์ง ๋ชปํ์ต๋๋ค.
๋ชจ๋ ๋ค์ ์ ์ถํ๊ณ ์ค์ ์ผ๋ก ๋์๊ฐ์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋์์ผ๋ฉฐ ์ฝ๋๊ฐ ์ ์ฅ๋์ง ์์์ต๋๋ค.
๋ฐฉ๋ฌธ ํ์ด์ง ์ผ
๊ทธ๋์ ์ด๊ฒ๋ค ์ฌ์ด์ ๋จ์ ์ด ์์ต๋๋ค. (5 ๊ฐ์ ๋ฐ์ ํ ์น ๋์์ธ ํ๋ก์ ํธ๋ฅผ ์ ์ถ ํ์ผ๋ฏ๋ก 5 ๊ฐ์ JS ํ๋ก์ ํธ์์๋ 10 ๊ฐ๊ฐ ํ์๋์ด์ผํฉ๋๋ค)
์ฑ๋ฆฐ์ง ์๋ฃจ์ ์ ์ ์ฅํ์ง ์๋๋ค๋ ์ด์ผ๊ธฐ๊ฐ์์์ต๋๋ค. JS ํ๋ก์ ํธ๊ฐ ๊ฐ์ ํ์์ผ๋ก๋์ด์์ด ์ฐ์ฐํ ์ํฅ์ ๋ฐ์์ต๋๊น?
์ ์๊ฐ์๋ JavaScript ์๊ณ ๋ฆฌ์ฆ ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํ ์ต์ข ํ๋ก์ ํธ๋ฅผ ์๋ฃ ํ ํ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๊ฒ์ ๋๋ค.
๊ธ์ ๋ฑ๋ก๊ธฐ๋ฅผ ๋ง์น๊ธฐ ์ ์ ๋ชจ๋ ๊ฒ์ ๋ณผ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค. ์ด์ ์ต์ข ํ๋ก์ ํธ๋ฅผ ์๋ฃ ํ์ผ๋ฏ๋ก ์ธ์ฆ์๋ฅผ ์์ฒญํ ์์๋ ์ต์ ์ด ์์ต๋๋ค. ๋๋๋ก ํ์ด์ง๊ฐ ์ ํ๋ก๋๋์ง ์์ต๋๋ค.
@ChristianBeach ๊ฐ ์์ธ์ด๋ฅผ ์ฐ๋ ๋์ ๋๊ธ์ ๋ฌ์์ต๋๋ค. CSP ์ค๋ฅ๋ ๋ณด์์ง๋ง ๊ฐํ์ ์ผ๋ก ๋ง์ด ๋ฌธ์ ์ ๊ด๋ จ์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์กฐ๊ธ๋ณด๊ณ ๊ทธ๊ฒ์ด ์ด๋ค ์ํฅ์ ๋ฏธ์น๋์ง ๋ณด๋ ค๊ณ ํ์ต๋๋ค. ํ ๊ธ๋์ง ์๋ ๋ฒํผ์ ์๋ก์ด ๊ฒ์ด์ง๋ง ์ง๊ธ์ ๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ด ๋ฐ์ดํฐ๋ฅผ ๋ค์ด๋ก๋ํ๋ฉด ๋ชจ๋ JS ์ฑ๋ฆฐ์ง ๋ฐ cert ํ๋ก์ ํธ๋ ์๋ฃจ์
๋ฐ challengeType์ null
๋จ, ํด๋น ํค๊ฐ ๋๋ฝ ๋ ๋ก๋ง ์ซ์๋ ์ ์ธ๋ฉ๋๋ค.
ํ๋ฌธ ๋์ ์ ์
completedDate | 1527701862838
-- | --
id | "aaa48de84e1ecc7c742e1124"
solution | null
challengeType | null
์ค์ ํ์ด์ง ์ธ์ ๋ด ์ธ์ฆ์๋ฅผ ์์ฒญํ ์์๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? ํ์ฌ๋ ์ธ์ฆ์๋ฅผ ์์ฒญํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์๋ํ์ง ์๋ ๋ฒํผ์์ด ๋ฌธ์ ์ ๊ด๋ จ์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด ์ค์ ๊ณ์ (ํ ์คํธ์ ์ฌ์ฉํ๋ ๊ณ์ ์ด ์๋)์ ๋ก๊ทธ์ธํ๋ฉด ๋ชจ๋ ff์ chrome์์ ์ ์๋ํฉ๋๋ค. ํ ์คํธ๋ฅผ ์ํด ์ฌ์ฉํ๋ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํ๋ฉด ๋ง์ง๋ง js ํ๋ก์ ํธ๋ฅผ ์ ์ถ ํ ์ดํ๋ก ์๋ํ์ง ์์ต๋๋ค. ๋ํ ํด๋น ๊ณ์ ์์ ๊ฐํ์ ์ผ๋ก ๋น ์ค์ ํ๋ฉด์ด ๋ํ๋๋ ๊ฒ ๊ฐ์ผ๋ฏ๋ก ๋ชจ๋ ์ฐ๊ฒฐ๋์ด ์๋ค๊ณ ์๊ฐํ์ญ์์ค.
@ johnkennedy9147 ๋ค๋ฅธ ์ฌ๋์ด์ด ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ
์ด๊ฒ์ JS ํ๋ก์ ํธ๊ฐ ์ฑ๋ฆฐ์ง ์ ํ 5 ์ธ ๋ฐ๋ฉด ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ์ ํ 3 ๋๋ 4์ ๊ด๋ จ์ด์์ ์ ์์ต๋๋ค.
๊ด๋ จ์ด ์๋์ง ํ์คํ์ง ์์ง๋ง firefox์์ ๋ก๊ทธ์ธํ์ ๋ ๋ ์ด์ ์ปค๋ฆฌํ๋ผ์ ๋ณผ ์ ์์ผ๋ฉฐ ๋ฒํผ์ด ๋ฐ์ํ์ง ์์ต๋๋ค. ๋ํ ๋ด๊ฐ https://learn.freecodecamp.org/ ํ์ด์ง (๋ก๊ทธ์ธ ๋ฒํผ ํ์)์์์ ๋ ๋ก๊ทธ์ธํ์ง ์์ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ค์ ํ์ด์ง๋ก ๋์ ๊ฐ๋ฉด ์ฌ์ ํ ๋ก๊ทธ์ธ ์ํ๋ผ๊ณ ํ์๋ฉ๋๋ค.
ํฌ๋กฌ์์๋ ์ ์๋ํฉ๋๋ค.
๋๋ ๋๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ ๋ฐ์ดํธ ์งํ ์ค์ ํ์ด์ง์์ ๋ค์ํ ์ธ์ฆ์์ ๋งํฌ๋ฅผ ๋ชจ๋ ๋ณผ ์์์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ ํ์ด์ง๋ ์ด์ ์์ ํ ๊นจ์ ธ์ ์๋ฌด๊ฒ๋ ์ ์ฅ๋์ง ์๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ถํ ์ ์์ผ๋ฉฐ ๋ด ์ด๋ฆ๊ณผ ๋์ ๋ฑ์ ์ ๋ ฅ ํ ์ ์์ต๋๋ค. ์ธ์ฆ์ ๋ฐ ๋์ ์ ๋ํ ๊ฐ์๋ ์์ ํ ๋๋ฝ๋์ด ๊ธฐ๋ณธ ์ ๋ณด์ ์๋ช ๋ ํ์ ์ ์ง ๊ณ์ฝ, ๊ณ์ ์ฌ์ค์ ๋ฐ ์ญ์ ๋ง ๋ณผ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ๋ด ์ ์ฒด ์ค์ ํ์ด์ง์ ๋๋ค.
๋ด ๋ฐ์คํฌํฑ๊ณผ ๋ ธํธ๋ถ ๋ชจ๋ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ (Chrome ๋ฐ Edge ์ต์ ๋ฒ์ )์์ ๋ฌธ์ ๊ฐ ๋จ์ ์์ผ๋ฉฐ ๋ชจ๋ฐ์ผ์์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ด ์ค์ ํ์ด์ง์๋ ์ด์ ๋ค์ ์์ ๋ง ์์ต๋๋ค.
์ฌ์ฉ์ ์ด๋ฆ / ์ด๋ฆ / ์์น / ์ฌ์ง / ์ ๋ณด
๊ฐ์ธ ์ ๋ณด ์ค์ (๋ชจ๋ ๊ณต๊ฐ๋ก ์ค์ ๋จ)
๋ชจ๋ ๋ฐ์ดํฐ ๋ค์ด๋ก๋
์ด๋ฉ์ผ ์ค์
์ธํฐ๋ท ์กด์ฌ
ํฌํธํด๋ฆฌ์ค ์ค์
ํ์
์ ์ง ์ ์ฑ
์ํ ์์ญ (๊ณ์ ์ฌ์ค์ / ์ญ์ )
ํฌํธํด๋ฆฌ์ค ํญ๋ชฉ์ ์ถ๊ฐ ํ ํ ๋ฌธ์ ๊ฐ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋๋ ์์ ํ ๊ฐ์ ๋ฌธ์ ๊ฐ์๋ ๊ฒ ๊ฐ์ต๋๋ค. Google ํฌ๋กฌ ์ฝ์ :
์ฌ๊ธฐ์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ค์ ์ ์ธ์ฆ์ ์น์ ์ด ์์ต๋๋ค.
์ค์ ๋ก ์ค๋ฅ๋ 59 ํ์ JSAlgoAndDSFomr.jsx ํ์ ์์ต๋๋ค.
const completeCount = Object.values(jsProjects) .filter(challengeInfo => Object.keys(challengeInfo).length !== 0).length;
๋ฌธ์ ๋ challengeInfo๊ฐ ์ ์๋์ง ์์๋ค๋ ๊ฒ์ ๋๋ค.
๋ ๋ง์ ํ ์คํธ๋ฅผ ์ํด ์ ๊ณ์ ์ ์ค์ ํ์ต๋๋ค. ํ๋์ ์๋ฐ ์คํฌ๋ฆฝํธ ํ๋ก์ ํธ ๋ง ์๋ฃํ์ฌ ๋ฌธ์ ๋ฅผ ์ฌํํ์ต๋๋ค.
์ทจํ ์ ์ฒด ๋จ๊ณ :
์ ์ด๋ฉ์ผ ์ฃผ์๋ก ๊ฐ์
TOS ๋ฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ํ์ด์ง ํ์ฉ (์ด๋ฉ์ผ ํ์ธ ์ ํจ QL : smile :)
freeCodeCamp๋ฅผ ๊ณ์ํ๋ ค๋ฉด ํด๋ฆญํ์ต๋๋ค.
ํด๋ฆญ ํ ์ค์
ํ์ธ์ ๋ฒํผ์ ํ ๊ธ ํ ์ ์์ผ๋ฉฐ ํด๋น ์ธ์ฆ์ ์น์
์ด ์์ต๋๋ค.
์ปค๋ฆฌํ๋ผ์ ๊ฐ๋ค
ํ๋ฌธ ๋์ ์๋ฃ
ํ
์คํธ ์คํ
์ ์ถ์ ํด๋ฆญํ๊ณ ๋ค์ ๋์ ์ผ๋ก ๊ณ์
ํด๋ฆญ ํ ์ค์
์น์
์ด ๋๋ฝ๋๊ณ (๋๋ถ๋ถ) ๋ฒํผ์ด ์๋ํ์ง ์์
๋ค์ ์ฌํญ์ด ๋์ผํ ๋ฌธ์ ์ ๊ด๋ จ์ด ์๋์ง ํ์คํ์ง ์์ง๋ง ์ค์ ํ์ด์ง์์ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
@ shahsank3t ๊ฐ์ฌํฉ๋๋ค, ๋๋ ๊ทธ๊ฒ์ ๋์น ์ฑ์ง ๋ชปํ์ต๋๋ค.
์ด ๋ฌธ์ ์ ์ถ๊ฐ ์ฆ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
ํค๋ฅผ ๋๋ฅผ ๋๋ง๋ค ๊ทธ๋ฆฌ๊ณ ์ ์ฅ์ ํด๋ฆญ ํ ๋๋ง๋ค ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
@ shahsank3t ๋น FCC ํฌํธํด๋ฆฌ์ค ํ๋ก์ ํธ๋ฅผ ์ถ๊ฐํ๋ ค๊ณ ํ
ํ๋์ ์๋ฌด๊ฒ๋ ์ ๋ ฅ ํ ์ ์์ผ๋ฉฐ ํค๋ฅผ ๋๋ฅผ ๋๋ง๋ค
"completedChallenges"์ ๊ฐ์ ๊ฒ์ ์ป๊ธฐ ์ํด ์ฐํธ ๋ฐฐ๋ฌ๋ถ์ ๊ฐ์ ๊ฒ์ ํตํด ๋ชจ๋ธ์ ๋ํ API ํธ์ถ์ ์ํํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
ํธ์ง : ์ฐพ์์ต๋๋ค / api / users / get-public-profile? username = {username}
๊ทธ ๊ฐ์น๊ฐ ๋ฌด์์ธ์ง, ๋๋ ์ฝ๊ฐ ํ๊ณ ์ด๊ฒ์ด ๋์์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ ์๋์ง ์์ ๋๋ null์ ๊ฐ์ฒด ์ค๋ฅ๋ก ๋ณํ ํ ์ ์์ต๋๋ค.
JSAlgoAndDSForm.jsx์ jsProjects ๋ณ์๋ ํ์ JS ํ๋ก์ ํธ๊ฐ์๋ ๊ฐ์ฒด๋ฅผ ํ์ํ์ง๋ง ๊ฐ์ฒด๊ฐ์๋ ๋์ ๊ฐ ํค์ null ๋๋ ์ ์๋์ง ์์์ด ์์ต๋๋ค. null / ์ ์๋์ง ์์ ์ฉ์ด๋ฅผ ๋น ๋ณ์๋ก ๋ฐ๊พธ๋ฉด ๋๋ฝ ๋ ์น์ ์ด ๋ํ๋ฉ๋๋ค. .
์ด ๋ฐ์ดํฐ๋ cert ์ค์ ์์ prop, jsProjects๋ก ์ ๋ฌ๋๋ฉฐ userProjects [superBlock]๊ณผ ๊ฐ์ต๋๋ค.
claimCert = {claimCert}
hardGoTo = {hardGoTo}
isCertClaimed = {isCertClaimed}
jsProjects = {userProjects [superBlock]}
key = {superBlock}
projectBlockName = {projectBlockName}
superBlock = {superBlock}
์ฌ์ฉ์ ์ด๋ฆ = {์ฌ์ฉ์ ์ด๋ฆ}
/>
๋ํ ์์ฑ ๋ JS ํ๋ก์ ํธ์๋ ์๋ฃจ์ ์ ํ์ ํ ์์๋ ์ต์ ์ด ์๋ค๋ ๊ฒ๋ ์์ ์ฐจ๋ฆฝ๋๋ค. ๊ด๋ จ ์ฌ๋ถ์ ๊ด๊ณ์์ด Idk.
OH, ๊ทธ๋ฆฌ๊ณ ๋ณ์๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๋ด ์ธ์ฆ์๋ฅผ ์์ฒญํ๋ ๋ฒํผ์ด ์๋ํ์ง ์์ต๋๋ค. '(
๊ทธ ๋์ ๋๊ตฐ๊ฐ๊ฐ / services / API ์๋ ํฌ์ธํธ๋ฅผ ์๊ณ ์ ์ง ์ ์ฑ ์ ์๋์ผ๋ก ์๋ฝํ๊ณ ์ธ์ฆ์๋ฅผ ์์ฒญํฉ๋๊น? ATM์ ์ฐพ๊ณ ์์ต๋๋ค.
ํธ์ง : ํ์
์ ์ง ์ ์ฑ
์ ์๋ฝํ๊ธฐ์ํ cURL
ํธ์ง 2 : ์ด cURL๋ก ๋ด JS ์ธ์ฆ์๋ฅผ ์์ฒญํ๋๋ก ๊ด๋ฆฌ ๋จ
์ฌ๊ธฐ์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋๋ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ ์ปดํจํฐ๋ฅผ ์๋ํ์ง๋ง ์๋ฌด ์์ฉ์ด ์์ต๋๋ค.
๋ฌธ์ ๊ฐ ์ฑ๋ฆฐ์ง ์ ํ ๋ฐ / ๋๋ ์๋ฃจ์ ํ๋๋ฅผ ์ฑ์ฐ์ง ์์์ ๋ฐ์ํ๋ค๋ ์ถ๊ฐ ํ์ธ.
๋ด ์ค์ ํ๋กํ์์ 5 ๊ฐ์ JS ํ๋ก์ ํธ ์ค 3 ๊ฐ๋ฅผ ์๋ฃํ์ผ๋ฉฐ ์ค์ ํ์ด์ง์ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค. ๋ด ๋ฐ์ดํฐ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ completeChallenges
์น์
์ ์ ํ 5๊ฐ ์์ผ๋ฉฐ ์๋
์ ์๋ฃ ํ ์ ์ฅ๋ ์๋ฃจ์
์ด ํ์๋ฉ๋๋ค. (์ด ํ๋๊ฐ null์ด๊ณ ํ๋ก์ ํธ๊ฐ ๋ฆด๋ฆฌ์ค ํ ์๋ฃ๋ ๋ด ํ
์คํธ ID์ ๋น๊ต)
ํ๋ฌธ ์ :
completedDate | 1498431974938
id | "aaa48de84e1ecc7c742e1124"
solution | "\nfunction palindrome(stโฆnpalindrome(\"eye\");\n"
challengeType | 5
ํธ์ ๋ด์ ๊ฐ๊ธฐ
์ ๋ฆด๋ฆฌ์ค ์ดํ 5 ๊ฐ์ JS ํ๋ก์ ํธ ์ค ํ๋๋ฅผ ์๋ฃํ๋ ์ฌ๋์ ๋๊ตฌ๋์ด ๋ฌธ์ ๋ฅผ ๊ฒฝํํ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ์ฐ์ ๋ฌธ์ ๊ฐ ๋ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ฌธ์ ๋ก ์ธํด ์ค์ ํ์ด์ง์ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ด ์ค๋จ๋ฉ๋๋ค.
@ johnkennedy9147 ์ถ๊ฐ ์ ๋ณด์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. @raisedadead ๋ ์ค์ด๋ฉฐ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. :)
๋ค์ ํ ๋ฒ ํ ์คํธ ํ ์ ์๋ค๋ฉด @ johnkennedy9147 . ๋ฐฉ๊ธ ์์ ์ฌํญ์ ๋ฐฐํฌํ์ต๋๋ค.
@raisedadead ์ค์ ํ์ด์ง๊ฐ ์ฌ์ ํ ์์
@Xivik ์ DevTools์ ์ฝ์๊ณผ ์ค์ ํ์ด์ง์ ์คํฌ๋ฆฐ ์ท์ผ๋ก ์ ๋ฅผ ๋์ ์ค ์ ์์ต๋๋ค. ๋๋ ๋น ๋ฅธ ์ฑํ ์ ์ํด https://gitter.im/raisedadead ์ ์์ต๋๋ค.
CDN์ด ์ ์ ๋์ ์ด์ ์ฝ๋๋ฅผ ์บ์ํ๊ธฐ ๋๋ฌธ์ ์ต์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ ธ ์ค๋ ค๋ฉด ํ๋ ์๋ก ๊ณ ์นจ ( Ctrl + F5
๋๋ Cmd + Shift + R
)์ ์ํํด์ผ ํ ์ ์์ต๋๋ค.
์ต์ ์ ๋ณด:
ํฝ์ค๊ฐ ์ ๋๋ก ์๋ํ๋ ค๋ฉด ๋จผ์ ํ์ต์ ๋ชจ๋ ์ฑ๋ฆฐ์ง๋ฅผ ์๋ฃํด์ผํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ผ๋ถ ํญ๋ชฉ์ด ์๋์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ๋ฉ๋๋ค.
๋ฌธ์ ๋ ์ฌ์ ํ ์ง์๋ฉ๋๋ค. ์์พํ๊ณ ๋ ๋ค๋ฅธ ๋์ ์ ์๋ฃํ์ต๋๋ค.
๋ค์์ ์ฝ์ ์ค๋ฅ์ ๊ทธ๋ฆผ์ ๋๋ค.
@raisedadead ํด๊ฒฐํ๊ธฐ ์ํด ๋ชจ๋ JS ๊ณผ์ ๋ฅผ ๋ค์ ์ ์ถํด์ผํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ํ์ง๋ง ์
๋ฐ์ดํธ ๋น์ผ (5 ์ 30 ์ผ) ๋ฅผ ์๋ฃ ํ ์์ด๋์ ํํด ๋ค์ ์ ์ถํ๋ฉด ๊ด์ฐฎ ์์ด์.
๋๋ฐ! @ johnkennedy9147 ์ฐ๋ฆฌ๋ ๊ณง ์ด๊ฒ์ ํผํ๊ธฐ ์ํด ๋ง์ด๊ทธ๋ ์ด์ ์ ์คํํ ๊ฒ์ ๋๋ค. ์ ๋ฐ์ดํธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
@Peritract , ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๊ฒ์ ์ฐพ๊ณ ์์ต๋๋ค.
@Peritract ๋๋ ๋น์ ์ด ์ ์ ๊ฐ์ ์๋๋ฆฌ์ค์ ์ง๋ฉดํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. 5 JS ๊ณผ์ ๋ฅผ ๋ค์ ์ ์ถํ๊ณ ํด๊ฒฐ๋๋์ง ํ์ธํ ์ ์์ต๋๋ค.
ํธ์ ๋ด์ ๊ฐ๊ธฐ ์ด์ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ ๋ณด์ ๋๋ค.
๋ด ์ค๋ฅ๋ ์์ ๊ฒ์ ๋ ์คํฌ๋ฆฐ ์ท๊ณผ ๋์ผํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด ๋ชจ๋ ์๋ฃจ์ ์ ์ ์ฅ ํ ๊ฒฝ์ฐ์๋ง : D ํด๋น ๋ถ๋ถ์ ์ป์ผ๋ฉด ๊ด์ฐฎ์ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค. ์ด์จ๋ ๋ด๊ฐ ๋ฐฐ์ด ์๋ก์ด ๊ฒ๋ค๋ก ๋ ์ ํ ์ ์๋์ง ํ์ธํ๊ธฐ ์ํด ์ ๋ฐ์ดํธ ํ ๋์ ์ ๋ค์ํ๊ณ ์ถ์์ต๋๋ค. (๊ณ ์ ๋์๋ค๊ณ ๊ฐ์ ) ๋ ธ๋ ฅํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
ํ์ธ ๋จ-ํ์ฌ ์๋ฃจ์ ์ ์ ์ฅ ํ ๊ฒฝ์ฐ ๋ค์ ์ ๋ ฅํ๋ฉด JS ์ธ์ฆ์๊ฐ ์์ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ ์ฅํ์ง ์์๋ค๋ฉด ๋ค์ ๋๋๋ฆด ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ค์ ํ์ด์ง์์ ๋ค์ด๋ก๋ ํ ์ฌ์ฉ์ ๋ฐ์ดํฐ์๋ ์๋ฃจ์ ์ด ํฌํจ๋์ด ์์ง ์์ผ๋ฉฐ ๊ณต๊ฐ ํ๋กํ์ ๋งํฌ์๋ ์๋ฃจ์ ์ด ํฌํจ๋์ด ์์ง ์์ต๋๋ค.
์, ๋ชจ๋ JS ํ๋ก์ ํธ๋ฅผ (๋ค์ ์์ฑํ๊ณ ) ๋ค์ ์ ์ถํ๋ฉด ์ค์ ํ์ด์ง์ ๋ชจ๋ ์ธ์ฆ์ ์น์ ์ด ๋ค์ ํ์๋ฉ๋๋ค. ๋๋ ๊ฐ ํ๋ก์ ํธ๋ฅผ ํ์ธํ๊ณ ์์๋๋ฐ ๋ง์ง๋ง ํ๋ก์ ํธ๊ฐ ์ฌ๋ผ๊ฐ ๋๊น์ง ์๋ฌด๊ฒ๋ ๋ฐ๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฒ์ด ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค. (์ฒ์ ๋ ๊ฐ๋ ๋งค์ฐ ๋น ๋ฅด๋ฉฐ, ๋ง์ง๋ง ์ธ ๊ฐ๋ ์กฐ์งํ๋์ด ์๋ค๋ฉด ๊ทธ๋ ๊ฒ ๋์์ง ์์ต๋๋ค. ์ด๊ฒ์ด ์ฌ์ฉํ๋ ๋จ์ด๋ผ๋ฉด ์ต์ ์ ์๋๋ฆฌ์ค์์๋ ๊ทธ๋ ๊ฒ ๋์์ง ์์ต๋๋ค. ์ด๋ ์ชฝ์ด๋ ์ถ๊ฐ ์ฐ์ต์ํ์ญ์์ค!)
๋๋ถ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํ ์์ ๋ฐ @ johnkennedy9147์ ๋ํ @raisedadead!
์ ๋ฐ์ดํธ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ํ ํ๋ก์ ํธ๋ฅผ ๋ค์ ์ ์ถํ ํ์๊ฐ ์๋๋ก ๋ง์ด๊ทธ๋ ์ด์ ์ ์คํํ ๊ฒ์ ๋๋ค. ์ด ๋จ๊ณ์๋ ๊ณํ๋ ์ ์ง ๋ณด์ ์ค๋จ ์๊ฐ์ด ํ์ํ๋ฏ๋ก ๋ค์ ์ ์ถํด์ผํ๋ ๋ถํธ ํจ์ด ๋น๋ถ๊ฐ ๋จ์์์ ๊ฒ์ ๋๋ค.
ํํธ @ freeCodeCamp / moderators๋ ๋์ผํ ๋ฌธ์ ์ ์ง๋ฉด ํ ์ฌ์ฉ์๋ฅผ ์์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์๋ดํ๋๋ก ์์ฒญ๋ฉ๋๋ค.
"๋๋ ๋๊ธ"์ ํผํ๊ธฐ ์ํด ๊ณต๋ ์์ ์์ ๋ค์ ์ด๊ณ ์ ๊ธด ๋ํ. ๊ณํ๋ DevOps๋ก ํด๊ฒฐ๋ฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค์ ๋ฐ๋ณตํ๋ ค๋ฉด :
CDN์ด ์ ์ ๋์ ์ด์ ์ฝ๋๋ฅผ ์บ์ํ๊ธฐ ๋๋ฌธ์ ์ต์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ ธ ์ค๋ ค๋ฉด ํ๋ ์๋ก ๊ณ ์นจ (Ctrl + F5 ๋๋ Cmd + Shift + R)์ ์ํํด์ผ ํ ์ ์์ต๋๋ค.
ํฝ์ค๊ฐ ์ ๋๋ก ์๋ํ๋ ค๋ฉด ๋จผ์ ํ์ต์ ๋ชจ๋ ์ฑ๋ฆฐ์ง๋ฅผ ์๋ฃํด์ผํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ผ๋ถ ํญ๋ชฉ์ด ์๋์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ๋ฉ๋๋ค.
ํด๊ฒฐํ๋ ค๋ฉด ๋ชจ๋ JS ์ฑ๋ฆฐ์ง๋ฅผ ๋ค์ ์ ์ถํด์ผํ์ต๋๋ค. ํ์ง๋ง
์ ๋ฐ์ดํธ๋น์ผ (5 ์ 30 ์ผ)๋ฅผ์๋ฃ ํ ์์ด๋์ ํํด ๋ค์ ์ ์ถํ๋ฉด ๊ด์ฐฎ ์์ด์.
~ @ johnkennedy9147
์ ์ถํด์ผ ํ ๊ณผ์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Palindrome Checker
Roman Numeral Converter
Caesars Cipher
Telephone Number Validator
Cash Register
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ ๋ง์ ํ ์คํธ๋ฅผ ์ํด ์ ๊ณ์ ์ ์ค์ ํ์ต๋๋ค. ํ๋์ ์๋ฐ ์คํฌ๋ฆฝํธ ํ๋ก์ ํธ ๋ง ์๋ฃํ์ฌ ๋ฌธ์ ๋ฅผ ์ฌํํ์ต๋๋ค.
์ทจํ ์ ์ฒด ๋จ๊ณ :
์ ์ด๋ฉ์ผ ์ฃผ์๋ก ๊ฐ์
TOS ๋ฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ํ์ด์ง ํ์ฉ (์ด๋ฉ์ผ ํ์ธ ์ ํจ QL : smile :)
freeCodeCamp๋ฅผ ๊ณ์ํ๋ ค๋ฉด ํด๋ฆญํ์ต๋๋ค.
ํด๋ฆญ ํ ์ค์
ํ์ธ์ ๋ฒํผ์ ํ ๊ธ ํ ์ ์์ผ๋ฉฐ ํด๋น ์ธ์ฆ์ ์น์ ์ด ์์ต๋๋ค.
์ปค๋ฆฌํ๋ผ์ ๊ฐ๋ค
ํ๋ฌธ ๋์ ์๋ฃ
ํ ์คํธ ์คํ
์ ์ถ์ ํด๋ฆญํ๊ณ ๋ค์ ๋์ ์ผ๋ก ๊ณ์
ํด๋ฆญ ํ ์ค์
์น์ ์ด ๋๋ฝ๋๊ณ (๋๋ถ๋ถ) ๋ฒํผ์ด ์๋ํ์ง ์์