Freecodecamp: ์„ค์ • ํŽ˜์ด์ง€์—์„œ ๋ˆ„๋ฝ ๋œ ์„น์…˜

์— ๋งŒ๋“  2018๋…„ 05์›” 30์ผ  ยท  43์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: freeCodeCamp/freeCodeCamp

๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์žฌํ˜„ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์„ค์ • ํŽ˜์ด์ง€์— ๋ˆ„๋ฝ ๋œ ์„น์…˜ :
๋ชจ๋“  ํด๋ ˆ์ž„ ์ธ์ฆ์„œ ์„น์…˜์ด ํ•œ ์‹œ๊ฐ„ ์ •๋„ ์ „์— ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ƒˆ ๊ธฐ๋Šฅ์„ ํƒ์ƒ‰ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
"์œ„ํ—˜ ์ง€๋Œ€"์•„๋ž˜์— ๋” ๋งŽ์€ ๊ฒƒ์ด ์žˆ์—ˆ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ด€๋ จ์ด์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜์‘ ํ˜• ์ธ์ฆ์„œ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ฃผ์žฅํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋ชจ๋“  ๊ณผ์ œ๋ฅผ ์™„๋ฃŒํ•˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๋ชจ๋“  ํ•„์ˆ˜ ํ”„๋กœ์ ํŠธ (์ฝ”๋“œ ํŽœ)๋ฅผ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ค์ • ํŽ˜์ด์ง€๋กœ ๋Œ์•„ ๊ฐ€๊ธฐ ์ „์— ์ œ๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ ํ•œ ์ผ์€ ๋ชจ๋“  JavaScript ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์„ ์ œ์ถœ ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ˆ„๋ฝ ๋œ ์ฝ˜ํ…์ธ ๊ฐ€์žˆ๋Š” react-empty: 364 , react-empty: 381 ๋ฐ react-empty: 382 ๊ฐ™์€ ํ•ญ๋ชฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€์žˆ๋Š” ํŽ˜์ด์ง€์— ๋งํฌ ์ถ”๊ฐ€

https://www.freecodecamp.org/settings

๋ธŒ๋ผ์šฐ์ € ๋ฐ ์šด์˜ ์ฒด์ œ์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

  • ๋ธŒ๋ผ์šฐ์ € ์ด๋ฆ„ : Firefox 60.0.1 ๋ฐ Chrome 66.0.3359.181
  • ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „ :
  • ์šด์˜ ์ฒด์ œ : Win 7

๊ฐ€๋Šฅํ•˜๋ฉด ์—ฌ๊ธฐ์— ์Šคํฌ๋ฆฐ ์ƒท์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

image

image

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋” ๋งŽ์€ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ƒˆ ๊ณ„์ •์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ์ ํŠธ ๋งŒ ์™„๋ฃŒํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ทจํ•œ ์ „์ฒด ๋‹จ๊ณ„ :
์ƒˆ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ ๊ฐ€์ž…
TOS ๋ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ํŽ˜์ด์ง€ ํ—ˆ์šฉ (์ด๋ฉ”์ผ ํ™•์ธ ์•ˆ ํ•จ QL : smile :)
freeCodeCamp๋ฅผ ๊ณ„์†ํ•˜๋ ค๋ฉด ํด๋ฆญํ–ˆ์Šต๋‹ˆ๋‹ค.
ํด๋ฆญ ํ•œ ์„ค์ •
ํ™•์ธ์€ ๋ฒ„ํŠผ์„ ํ† ๊ธ€ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•ด๋‹น ์ธ์ฆ์„œ ์„น์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ปค๋ฆฌํ˜๋Ÿผ์— ๊ฐ”๋‹ค
ํšŒ๋ฌธ ๋„์ „ ์™„๋ฃŒ
ํ…Œ์ŠคํŠธ ์‹คํ–‰
์ œ์ถœ์„ ํด๋ฆญํ•˜๊ณ  ๋‹ค์Œ ๋„์ „์œผ๋กœ ๊ณ„์†
ํด๋ฆญ ํ•œ ์„ค์ •
์„น์…˜์ด ๋ˆ„๋ฝ๋˜๊ณ  (๋Œ€๋ถ€๋ถ„) ๋ฒ„ํŠผ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

๋ชจ๋“  43 ๋Œ“๊ธ€

@QuincyLarson @Bouncey ์‹ ๊ณ  ๋ฌธ์ œ๊ฐ€ ๋งŽ์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ johnkennedy9147 ๋ณด๊ณ 

JavaScript ์ฝ˜์†”์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๊ฑฐ๊ธฐ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์ด๊ฒƒ์„ ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@quincylarson ๋˜‘๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋„ ์ด์ „์— ์‚ฌ์šฉ ์ธ์ฆ์„œ ์˜์—ญ์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์ง€๊ธˆ์€ ๋ˆ„๋ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Javascript ์ฝ˜์†”์— ์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

image

์‹ค์ œ๋กœ ํฌ๋กฌ์„ ํ†ตํ•ด ์™„์ „ํžˆ ๋นˆ ์„ค์ • ํŽ˜์ด์ง€์™€ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
image

๋˜ํ•œ ํŽ˜์ด์ง€๊ฐ€ ํŒŒ์ด์–ด ํญ์Šค์—์„œ๋กœ๋“œ ๋  ๋•Œ ๋ฒ„ํŠผ (๊ฐœ์ธ ์ •๋ณด ์„ค์ • ๋ณ€๊ฒฝ, ํ…Œ๋งˆ ๋ณ€๊ฒฝ ๋“ฑ)์„ ํ† ๊ธ€ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@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

๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์˜ค๋ฅ˜ ์‚ฌ์ด์—์„œ ์„น์…˜์˜ ๊ณผ์ œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€๋ฅผ ๋” ์™„๋ฃŒํ•ด๋„ ์˜ค๋ฅ˜๊ฐ€ ๋‹ค์‹œ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ปค๋ฆฌํ˜๋Ÿผ ๋งต์—๋Š” ์™„๋ฃŒ๋œ ํ”„๋กœ์ ํŠธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
image
๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋“ค์—๊ฒŒ ๋Œ์•„์™€์„œ ๋‚ด ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋‘ ๋‹ค์‹œ ์ œ์ถœํ•˜๊ณ  ์„ค์ •์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์œผ๋ฉฐ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋ฐฉ๋ฌธ ํŽ˜์ด์ง€ ์‡ผ
image
๊ทธ๋ž˜์„œ ์ด๊ฒƒ๋“ค ์‚ฌ์ด์— ๋‹จ์ ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. (5 ๊ฐœ์˜ ๋ฐ˜์‘ ํ˜• ์›น ๋””์ž์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ œ์ถœ ํ–ˆ์œผ๋ฏ€๋กœ 5 ๊ฐœ์˜ JS ํ”„๋กœ์ ํŠธ์—์„œ๋Š” 10 ๊ฐœ๊ฐ€ ํ‘œ์‹œ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค)

์ฑŒ๋ฆฐ์ง€ ์†”๋ฃจ์…˜์„ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. JS ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ๋˜์–ด์žˆ์–ด ์šฐ์—ฐํžˆ ์˜ํ–ฅ์„ ๋ฐ›์•˜์Šต๋‹ˆ๊นŒ?

์ œ ์ƒ๊ฐ์—๋Š” JavaScript ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ตœ์ข… ํ”„๋กœ์ ํŠธ๋ฅผ ์™„๋ฃŒ ํ•œ ํ›„์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

image

๊ธˆ์ „ ๋“ฑ๋ก๊ธฐ๋ฅผ ๋งˆ์น˜๊ธฐ ์ „์— ๋ชจ๋“  ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ตœ์ข… ํ”„๋กœ์ ํŠธ๋ฅผ ์™„๋ฃŒ ํ–ˆ์œผ๋ฏ€๋กœ ์ธ์ฆ์„œ๋ฅผ ์š”์ฒญํ•  ์ˆ˜์žˆ๋Š” ์˜ต์…˜์ด ์—†์Šต๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ ํŽ˜์ด์ง€๊ฐ€ ์ „ํ˜€๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@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 ํฌ๋กฌ ์ฝ˜์†” :
fcc-issue

์—ฌ๊ธฐ์—๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์ •์— ์ธ์ฆ์„œ ์„น์…˜์ด ์—†์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์˜ค๋ฅ˜๋Š” 59 ํ–‰์˜ JSAlgoAndDSFomr.jsx ํ–‰์— ์žˆ์Šต๋‹ˆ๋‹ค.
const completeCount = Object.values(jsProjects) .filter(challengeInfo => Object.keys(challengeInfo).length !== 0).length;

๋ฌธ์ œ๋Š” challengeInfo๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ƒˆ ๊ณ„์ •์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ์ ํŠธ ๋งŒ ์™„๋ฃŒํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ทจํ•œ ์ „์ฒด ๋‹จ๊ณ„ :
์ƒˆ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ ๊ฐ€์ž…
TOS ๋ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ํŽ˜์ด์ง€ ํ—ˆ์šฉ (์ด๋ฉ”์ผ ํ™•์ธ ์•ˆ ํ•จ QL : smile :)
freeCodeCamp๋ฅผ ๊ณ„์†ํ•˜๋ ค๋ฉด ํด๋ฆญํ–ˆ์Šต๋‹ˆ๋‹ค.
ํด๋ฆญ ํ•œ ์„ค์ •
ํ™•์ธ์€ ๋ฒ„ํŠผ์„ ํ† ๊ธ€ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•ด๋‹น ์ธ์ฆ์„œ ์„น์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ปค๋ฆฌํ˜๋Ÿผ์— ๊ฐ”๋‹ค
ํšŒ๋ฌธ ๋„์ „ ์™„๋ฃŒ
ํ…Œ์ŠคํŠธ ์‹คํ–‰
์ œ์ถœ์„ ํด๋ฆญํ•˜๊ณ  ๋‹ค์Œ ๋„์ „์œผ๋กœ ๊ณ„์†
ํด๋ฆญ ํ•œ ์„ค์ •
์„น์…˜์ด ๋ˆ„๋ฝ๋˜๊ณ  (๋Œ€๋ถ€๋ถ„) ๋ฒ„ํŠผ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

๋‹ค์Œ ์‚ฌํ•ญ์ด ๋™์ผํ•œ ๋ฌธ์ œ์™€ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ์„ค์ • ํŽ˜์ด์ง€์—์„œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  1. "Your Internet Presence"์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ €์žฅํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ํ‚ค๋ฅผ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค "ReactCompositeComponent.js : 742 Uncaught TypeError : Cannot read property '_currentElement'of null" ์˜ค๋ฅ˜๊ฐ€ ์ฝ˜์†”์—์„œ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

image

  1. "ํ•™์—… ์ •์ง ์ •์ฑ…"์— ๋™์˜ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. "๋™์˜"๋ฅผ ํด๋ฆญํ•ด๋„ ์•„๋ฌด ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์œผ๋ฉฐ ์ฝ˜์†” ์˜ค๋ฅ˜๋‚˜ API๊ฐ€ ์ ์ค‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋ฆญ ์ด๋ฒคํŠธ๊ฐ€์—†๋Š” ์ผ๋ฐ˜ ๋ฒ„ํŠผ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

@ shahsank3t ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋ˆˆ์น˜ ์ฑ„์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด ๋ฌธ์ œ์˜ ์ถ”๊ฐ€ ์ฆ์ƒ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
ํ‚ค๋ฅผ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ๊ทธ๋ฆฌ๊ณ  ์ €์žฅ์„ ํด๋ฆญ ํ•  ๋•Œ๋งˆ๋‹ค ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@ shahsank3t ๋น„ FCC ํฌํŠธํด๋ฆฌ์˜ค ํ”„๋กœ์ ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ• 

ํ•„๋“œ์— ์•„๋ฌด๊ฒƒ๋„ ์ž…๋ ฅ ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ํ‚ค๋ฅผ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค

untitled

"completedChallenges"์™€ ๊ฐ™์€ ๊ฒƒ์„ ์–ป๊ธฐ ์œ„ํ•ด ์šฐํŽธ ๋ฐฐ๋‹ฌ๋ถ€์™€ ๊ฐ™์€ ๊ฒƒ์„ ํ†ตํ•ด ๋ชจ๋ธ์— ๋Œ€ํ•œ API ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

ํŽธ์ง‘ : ์ฐพ์•˜์Šต๋‹ˆ๋‹ค / api / users / get-public-profile? username = {username}

๊ทธ ๊ฐ€์น˜๊ฐ€ ๋ฌด์—‡์ธ์ง€, ๋‚˜๋Š” ์•ฝ๊ฐ„ ํŒŒ๊ณ  ์ด๊ฒƒ์ด ๋„์›€์ด๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ •์˜๋˜์ง€ ์•Š์€ ๋˜๋Š” null์„ ๊ฐœ์ฒด ์˜ค๋ฅ˜๋กœ ๋ณ€ํ™˜ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

JSAlgoAndDSForm.jsx์˜ jsProjects ๋ณ€์ˆ˜๋Š” ํ•„์ˆ˜ JS ํ”„๋กœ์ ํŠธ๊ฐ€์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ํ‘œ์‹œํ•˜์ง€๋งŒ ๊ฐ์ฒด๊ฐ€์žˆ๋Š” ๋Œ€์‹  ๊ฐ ํ‚ค์— null ๋˜๋Š” ์ •์˜๋˜์ง€ ์•Š์Œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. null / ์ •์˜๋˜์ง€ ์•Š์€ ์šฉ์–ด๋ฅผ ๋นˆ ๋ณ€์ˆ˜๋กœ ๋ฐ”๊พธ๋ฉด ๋ˆ„๋ฝ ๋œ ์„น์…˜์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. .

screen shot 2018-06-07 at 10 18 30 pm

์ด ๋ฐ์ดํ„ฐ๋Š” cert ์„ค์ •์—์„œ prop, jsProjects๋กœ ์ „๋‹ฌ๋˜๋ฉฐ userProjects [superBlock]๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

challenge = {challengeTitles}
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๋กœ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๋‹ค์‹œ ๋ฐ˜๋ณตํ•˜๋ ค๋ฉด :

  1. CDN์ด ์ž ์‹œ ๋™์•ˆ ์ด์ „ ์ฝ”๋“œ๋ฅผ ์บ์‹œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ€์ ธ ์˜ค๋ ค๋ฉด ํ•˜๋“œ ์ƒˆ๋กœ ๊ณ ์นจ (Ctrl + F5 ๋˜๋Š” Cmd + Shift + R)์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ํ”ฝ์Šค๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋ ค๋ฉด ๋จผ์ € ํ•™์Šต์‹œ ๋ชจ๋“  ์ฑŒ๋ฆฐ์ง€๋ฅผ ์™„๋ฃŒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ถ€ ํ•ญ๋ชฉ์ด ์ž๋™์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋ฉ๋‹ˆ๋‹ค.

  3. ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋ชจ๋“  JS ์ฑŒ๋ฆฐ์ง€๋ฅผ ๋‹ค์‹œ ์ œ์ถœํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—…๋ฐ์ดํŠธ ๋‹น์ผ (5 ์›” 30 ์ผ) ๋ฅผ ์™„๋ฃŒ ํ•œ ์•„์ด๋””์— ํ•œํ•ด ๋‹ค์‹œ ์ œ์ถœํ•˜๋ฉด ๊ดœ์ฐฎ ์•˜์–ด์š”.
    ~ @ johnkennedy9147

  4. ์ œ์ถœํ•ด์•ผ ํ•  ๊ณผ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    Palindrome Checker
    Roman Numeral Converter
    Caesars Cipher
    Telephone Number Validator
    Cash Register
    
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰