Freecodecamp: ๋งŽ์€ ์•ผ์˜ ์ž๋“ค์—๊ฒŒ ์—ฐ์†์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋ถ€์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 04์›” 06์ผ  ยท  39์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: freeCodeCamp/freeCodeCamp

๋‚ด๊ฐ€๋ฐ›๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ถˆ๋งŒ ์ค‘ ํ•˜๋‚˜ (์ง€์› ์ด๋ฉ”์ผ ๋‹ด๋‹น์ž๋กœ์„œ)๋Š” ์—ฐ์† ๊ธฐ๋ก์ด ์ •ํ™•ํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋Œ€ ๋•Œ๋ฌธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์•„๋งˆ๋„ ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๊ณ ์ด ์ฝ”๋“œ๋ฅผ ๊ฐ•ํ™”ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž์› ๋ด‰์‚ฌ์ž?

help wanted bug

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

์ฒ˜์Œ์œผ๋กœ ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์—ฌ๋ฅผํ–ˆ์ง€๋งŒ ๋‚ด๊ฐ€ ๊ทธ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์šฐ๋ฆฌ๊ฐ€ ๋งŽ์€ ๋ถˆ๋งŒ์„ ๋ฐ›๊ณ ์žˆ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

@QuincyLarson ๋‚˜๋Š” ๋„์›€์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค

@sorlovsky ๊ต‰์žฅํ•ฉ๋‹ˆ๋‹ค! ์šฐ๋ฆฌ๋Š” ๋‹น์‹ ์˜ ๋„์›€์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค! ๋‹ค์–‘ํ•œ ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. 99.9 %์˜ ์‹œ๊ฐ„ ๋™์•ˆ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ƒํ™ฉ์ด ์žˆ๊ณ  ์ด์œ ๋ฅผ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ์กฐ๊ธˆ ์‚ดํŽด ๋ณด์•˜๊ณ  ๋‹ค๋ฅธ ํ™œ๋™ (ํ”„๋กœ์ ํŠธ ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜)์ด ์•„๋‹Œ ํ˜„์žฌ ์ฑŒ๋ฆฐ์ง€ ์—ฐ์†์„ ๊ณ„์‚ฐํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค๋กœ ์ธํ•ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ ์–ธ๊ธ‰ ํ•œ ์‹œ๊ฐ„๋Œ€ ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ์กฐ์‚ฌํ•˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๊ด€์‹ฌ์„ ๊ฐ€์ง€์ง€ ์•Š์œผ๋ฉด PR์ด ๊ฐ€๋Šฅํ•œ์ง€ ์‚ดํŽด๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์—ฌ๊ธฐ์— ๋ญ”๊ฐ€ ๋น ์กŒ๋‹ค๋ฉด ๋ˆ„๊ตฐ๊ฐ€ ์•Œ๋ ค์ฃผ์„ธ์š”.

const daysBetween = 1.5; const daysBetween = 2๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ํ•จ์ˆ˜์˜ ๋…ผ๋ฆฌ๋Š” ํ•ญ์ƒ daysBetween๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ daysBetween๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์ง€ ์•Š๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์–ด๋Š ๋‚  ์˜ค์ „ 12:00:00๋ถ€ํ„ฐ ๋‹ค์Œ ๋‚  ์˜คํ›„ 11:59:59๊นŒ์ง€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋Œ€ ๋กœ์ง๋„ ๋ชจ๋‘ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

daysBetween์„ 2๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋‘ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์ค‘๋‹จ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ด๋Š” ๊ณ ์น  ์ˆ˜ ์žˆ์ง€๋งŒ ๋จผ์ € ํ…Œ์ŠคํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์กฐ๊ธˆ ๋ฐฐ์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค.

๋Œ€์ฒด ์˜ต์…˜์€ daysBetween์„ 1.99๋กœ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•˜๋„๋กํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ 7 ๋ถ„ 12 ์ดˆ๊นŒ์ง€ ์—ฐ์†์„ ๋†“์น  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

@donofriov ์ œ๋ฐœ ๊ฐ€์„œ ์™œ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

@donofriov ๋Š” ๋ถ„์„์— ๊ฐ์‚ฌ ๋“œ๋ฆฌ๋ฉฐ, ์ด์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋Š” ์†Œ์‹์„ ๋“ฃ๊ฒŒ๋˜์–ด https://github.com/freeCodeCamp/freeCodeCamp/issues/7468 (์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์ƒํƒœ์™€ ๊ด€๋ จ์ด ์žˆ์Œ)

๋„์›€์ด ํ•„์š”ํ•˜๋ฉด ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์—ฐ๋ฝํ•˜์‹ญ์‹œ์˜ค.

๋จผ์ € ํ…Œ์ŠคํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์กฐ๊ธˆ ๋ฐฐ์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ๋Š”
https://github.com/freeCodeCamp/freeCodeCamp/blob/staging/server/utils/user-stats.test.js

์ด๊ฒƒ์€ ํ‰์†Œ๋ณด๋‹ค ์•ฝ๊ฐ„ ๋ณต์žกํ•œ ๊ตฌ์กฐํ™”์ž…๋‹ˆ๋‹ค. ๋ญ”๊ฐ€ ์•Œ์•„ ๋‚ด์•ผํ•œ๋‹ค๋ฉด ๋‚ด๊ฐ€์žˆ์„ ๊ฒŒ.

ํ–‰๋ณตํ•œ ํ•ด๊ฒฐ!

@donofriov ์˜ˆ-๊ทธ๊ฒƒ์ด ๊ณ ์น  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค. daysBetween ๋ฅผ 2๋กœ ์˜ฌ๋ฆฌ๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ํ†ต๊ณผํ•˜๋„๋กํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ž˜๋ฆฐ ๋‹ค์–‘ํ•œ ์ฝ”๋„ˆ ์ผ€์ด์Šค๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค (์ค„๋ฌด๋Šฌ์™€ ๊ด€๋ จ๋œ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ).

์‹œ๊ฐ„๊ณผ ๊ด€์‹ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ช‡ ๋‹ฌ ๋™์•ˆ ์ค‘์š”ํ•œ ๋ฌธ์ œ์˜€์œผ๋ฉฐ ๋งŽ์€ ๋ถˆ๋งŒ์˜ ์›์ธ์ด๋˜์—ˆ์œผ๋ฏ€๋กœ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ์—„์ฒญ๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค. :)

๋ฌธ์ œ๋Š” streak ์˜ ๊ณ„์‚ฐ์ด ์‹œ๊ฐ„๋Œ€์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•œ ์‹œ๊ฐ„๋Œ€์—์„œ 3 ๊ฐœ์˜ ์ œ์ถœ๋ฌผ์ด [Aug 5, Aug 6, Aug 7] ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‹œ๊ฐ„๋Œ€์—์„œ๋Š” ๋™์ผํ•œ ์ œ์ถœ์ด [Aug 5, Aug 5, Aug 6] ์—์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์บ˜๋ฆฐ๋” ํžˆํŠธ ๋งต์€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‹œ๊ฐ„๋Œ€์— ์ข…์†๋˜๋ฉฐ ํžˆํŠธ ๋งต์€ ํ•ญ์ƒ ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŽ˜์ด์ง€๋ฅผ ๋ณด๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ streaks ๊ฐ€ ํžˆํŠธ ๋งต๊ณผ ์ผ์น˜ํ•˜๋„๋กํ•˜๋ ค๋ฉด ๊ณ„์‚ฐ์— ํด๋ผ์ด์–ธํŠธ์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ @LenaBarinova ๊ฐ€ 2016 ๋…„ 1 ์›”์— # 6333์œผ๋กœ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์„ ๋•Œ ํ•œ ์ผ์ž…๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ ์ฑŒ๋ฆฐ์ง€๊ฐ€ ์ œ์ถœ ๋  ๋•Œ๋งˆ๋‹ค ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ๋ณด๋‚ด๋„๋กํ•˜๋Š” ๊ฒƒ์ด ์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์‹œ๊ฐ„๋Œ€๋ฅผ ์ €์žฅํ•˜๊ณ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค„๋ฌด๋Šฌ๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 2017 ๋…„ 1 ์›”์— ์ฑŒ๋ฆฐ์ง€ ์ œ์ถœ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝ ํ•œ ๋Œ€๊ทœ๋ชจ ๋ฆฌํŒฉํ† ๋ง์ด ์žˆ์—ˆ๊ณ  ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค . ์„œ๋ฒ„ ์ธก ๋กœ์ง์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์กด์žฌํ•˜๋ฉฐ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋” ์ด์ƒ ์‹œ๊ฐ„๋Œ€๋ฅผ ์ „์†กํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

@Motardo ์กฐ์‚ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. @LenaBarinova ์˜ ์ˆ˜์ • ์‚ฌํ•ญ์ด ๋‹ค์‹œ ์ž‘๋™ํ•˜๋„๋ก ๊ด€์‹ฌ์„ ๊ฐ–๊ณ  ์ˆ˜์ • ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

@QuincyLarson ๋‹ค์‹œ ํ•œ ๋ฒˆ๋ณด๊ณ  ์ž๊ณ  ๋‚˜๋ฉด ์—ฌ๊ธฐ ๋‚ด ์ƒ๊ฐ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋žœ A
์ด์ „ ์†”๋ฃจ์…˜์ด ์ด์ƒ์ ์ด์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ํ”„๋กœํ•„์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ณด๋ ค๋ฉด ๋กœ๊ทธ์ธํ•ด์•ผํ•˜๋ฉฐ ๋‹ค๋ฅธ ์‹œ๊ฐ„๋Œ€์—์„œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ํ”„๋กœํ•„์„ ๋ณผ ๋•Œ ์—ฌ์ „ํžˆ ๋ถˆ์ผ์น˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ”Œ๋žœ B (๊ฐ„๋‹จํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๋ฉฐ ์ข‹์€ ์ž„์‹œ ์ˆ˜์ •)
๋” ๊ฐ„๋‹จํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ์†”๋ฃจ์…˜์€ ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ํ”„๋กœํ•„์„๋ณด๊ธฐ์œ„ํ•œ ์š”์ฒญ๊ณผ ํ•จ๊ป˜ ํด๋ผ์ด์–ธํŠธ ์‹œ๊ฐ„๋Œ€๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋ฉฐ, ์„œ๋ฒ„๋Š” ํ•ด๋‹น ์‹œ๊ฐ„๋Œ€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ–‰์ง„์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ๊ทธ์ธํ–ˆ๋Š”์ง€ ๋˜๋Š” ๋ˆ„๊ตฌ์˜ ํ”„๋กœํ•„์„ ๋ณด์•˜๋Š”์ง€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ค„๋ฌด๋Šฌ์™€ ๋‹ฌ๋ ฅ์€ ํ•ญ์ƒ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.

๊ณ„ํš C (๋ณต์žกํ•œ ๋ฆฌํŒฉํ„ฐ๋ง, ๊ฐ€๋Šฅํ•œ ํ–ฅํ›„ ๋กœ๋“œ๋งต)
์•„๋งˆ๋„ ๊ฐ€์žฅ ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์€ ์„œ๋ฒ„์—์„œ ์ค„๋ฌด๋Šฌ๋ฅผ ์ „ํ˜€ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์›์‹œ ํƒ€์ž„ ์Šคํƒฌํ”„๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ „์†กํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ ํƒ€์ž„ ์Šคํƒฌํ”„๊ฐ€ ์†ํ•˜๋Š” ์š”์ผ๊ณผ ํ–‰์ง„์ด ํ˜„์ง€ ์‹œ๊ฐ„๋Œ€๋ฅผ ๊ธฐ์ค€์œผ๋กœํ•˜๋Š” ๊ธฐ๊ฐ„์„ ๊ฒฐ์ •ํ•˜๋„๋กํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ์บ˜๋ฆฐ๋” ํžˆํŠธ ๋งต ๋ฐ์ดํ„ฐ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์ด๋ฏ€๋กœ ํ•ญ์ƒ ์ผ๊ด€์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” react์™€ rxjs๋ฅผ ์ฒ˜์Œ ์ ‘ํ–ˆ์œผ๋ฉฐ Plan C๊ฐ€ ๋‚ด ๊นŠ์ด๋ฅผ ๋ฒ—์–ด๋‚ฌ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ Plan B์— ๋Œ€ํ•œ ํŒจ์น˜๋ฅผ ๋งŒ๋“ค๊ฒŒ๋˜์–ด ๊ธฐ์˜๊ณ  ๋‹ค๋ฅธ ์•„์ด๋””์–ด์™€ ์ œ์•ˆ์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@Motardo ์ €๋Š” ํ”Œ๋žœ C๊ฐ€ ๊ฐ€์žฅ ํ•ฉ๋ฆฌ์ ์ด๋ผ๋Š” ๋ฐ ํ™•์‹คํžˆ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ธ€์„ ๊ฒŒ์‹œ ํ•œ ์ง€ 15 ์ผ์ด ์ง€๋‚ฌ๋Š”๋ฐ React์™€ RXJS๋กœ ๋งŽ์ด ๊ฐœ์„  ๋˜์—ˆ๋‚˜์š”? ์ด๊ฒƒ์€ ํด๋ผ์ด์–ธํŠธ ์ธก ์Šคํฌ๋ฆฝํŒ… ๋Šฅ๋ ฅ์˜ ํ•œ๊ณ„๋ฅผ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋Œ์–ด ์˜ฌ๋ฆฌ๋Š” ์ข‹์€ ๋„์ „์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๐Ÿ˜‰

์•ˆ๋…•ํ•˜์„ธ์š”. # 16071

์ œ๊ฐ€ ํ•œ:
๋จผ์ € 1.5 daysBetween ๋Œ€์‹  24 hoursBetween์„ ์‚ฌ์šฉํ•˜๋„๋ก ์—ฐ์† ๊ณ„์‚ฐ์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด์ „ ํƒ€์ž„ ์Šคํƒฌํ”„์™€ ํ˜„์žฌ ํƒ€์ž„ ์Šคํƒฌํ”„์˜ startOf ( 'day') ์‹œ๊ฐ„ ์ฐจ์ด๋ฅผ ๊ฐ€์ ธ์™€ hoursBetween๊ณผ ๋น„๊ตํ•˜์—ฌ ์ง€๋‚œ ํ•˜๋ฃจ๊ฐ€ ์•„๋‹Œ ์ง€๋‚œ 24 ์‹œ๊ฐ„ ๋™์•ˆ ์™„๋ฃŒ๋œ ์ž‘์—…์„ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. (๋™์ผํ•˜๊ฒŒ ๋“ค๋ฆฌ์ง€๋งŒ ์‹œ๋„ํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค)

์•„๋งˆ๋„ ๋” ๋‚˜์€ ์ˆ˜์ •์€ ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •์—์„œ ์ž์‹ ์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ํ•ด๋‹น ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์‚ฐ / ์„ค์ •๋˜๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํŽธ์ง‘ : ๋ˆ„๊ตฌ๋“ ์ง€ ๋‹ค๋ฅธ ์ผ๋ จ์˜ ํ–‰์ด์žˆ๋Š” localhost์—์„œ ๋”๋ฏธ ๊ณ„์ •์„ ์‚ฌ์šฉ / ์ƒ์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

ํŽธ์ง‘ :์ด ๋ชจ๋“  ๊ฒƒ์„ ์‹ ๊ฒฝ ์“ฐ์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

๋” ๊นŠ์ด ํŒŒํ—ค ์น˜๋ ค๊ณ  ์‹œ๋„ํ•œ ๊ฒฐ๊ณผ ํžˆํŠธ ๋งต๊ณผ ์ค„๋ฌด๋Šฌ ์‚ฌ์ด์˜ ๋ถˆ์ผ์น˜๊ฐ€ ํžˆํŠธ ๋งต์œผ๋กœ ์ธํ•œ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/wa0x6e/cal-heatmap/issues/122

@kennethlumalicay ํ”„๋ŸฐํŠธ ์—”๋“œ๋ฅผ ์ ์  ๋” ์ •์ ์œผ๋กœ ํ˜ธ์ŠคํŒ… ํ•  ๊ณ„ํš์ด๋ฏ€๋กœ ์„œ๋ฒ„ ์ธก ๋กœ์ง์„ ํ”„๋ŸฐํŠธ ์—”๋“œ์™€

@raisedadead ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ๊ฐ„๋Œ€๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ด๊ฒƒ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค ์ค‘ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด VPN์„ ์‚ฌ์šฉํ•˜๊ณ  ์—ฌํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€ ์‹œ๊ฐ„๋Œ€๋ฅผ ๋ณ€๊ฒฝํ•ด๋„ ์—ฐ์†์ด ๊นจ์ง€์ง€ ์•Š๋„๋ก ์ถฉ๋ถ„ํ•œ ์–ดํฌ๋˜์Šค๋ฅผ ๊ตฌ์ถ• ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ 36 ์‹œ๊ฐ„ ์ด๋‚ด์˜ ํ•œ ์—ฐ์†์„ ์œ ์ง€ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@QuincyLarson ์ œ๊ฐ€ ํ‹€๋ ธ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ 36 ์‹œ๊ฐ„ ๋‚ด์— ์—ฐ์† ๊ธฐ๋ก์„ ์œ ์ง€ํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Afaik prepUniqueDays๋Š” 24 ์‹œ๊ฐ„, 48 ์‹œ๊ฐ„ ๋“ฑ์˜ ํƒ€์ž„ ์Šคํƒฌํ”„ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  1.5 ์ผ์ธ betweenDays์™€ ๋น„๊ตํ•˜์ง€๋งŒ ๊ณ ์œ  ํ•œ ๋‚ ์งœ ๊ฐ’์˜ ์ฐจ์ด๋Š” integers (1,2, ... n) ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ–‰์ง„ ๊ณ„์‚ฐ์— ์‚ฌ์šฉ๋˜๋Š” ์†Œ์ˆ˜๊ฐ€ ์‹ค์ œ๋กœ ์—†์Šต๋‹ˆ๋‹ค.

req.user.timezone์€ ์–ด๋–ป๊ฒŒ ์–ป์Šต๋‹ˆ๊นŒ? ๋”๋ฏธ์—๋Š” ์†์„ฑ์œผ๋กœ ์‹œ๊ฐ„๋Œ€๊ฐ€ ์—†์œผ๋ฏ€๋กœ const timezone = user && user.timezone ? user.timezone : 'UTC'; ํ•ญ์ƒ ๊ธฐ๋ณธ์ ์œผ๋กœ UTC๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์œ„์น˜์— ๋”ฐ๋ผ ์„ค์ •ํ•ฉ๋‹ˆ๊นŒ?

user.timezone์ด์žˆ๋Š” ๊ฒฝ์šฐ ์ค„๋ฌด๋Šฌ๋Š” user.timezone๊ณผ ์ผ์น˜ํ•˜์ง€๋งŒ ํžˆํŠธ ๋งต์€ ํ•ญ์ƒ ํด๋ผ์ด์–ธํŠธ์˜ ์‹œ๊ฐ„๋Œ€์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ์„ค์ •์˜ ๋‹ค์–‘ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค

์‚ฌ์šฉ์ž์˜ ์‹œ๊ฐ„๋Œ€๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์‹œ๊ฐ„๋Œ€์™€ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ

  • ์ค„๋ฌด๋Šฌ์™€ ํžˆํŠธ ๋งต์€ ๋ชจ๋‘ ์ •ํ™•ํ•˜๊ณ  ์ผ๊ด€์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž์˜ ์‹œ๊ฐ„๋Œ€๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์‹œ๊ฐ„๋Œ€์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ (์˜ˆ : VPN, ์ž˜๋ชป๋œ ์œ„์น˜ / ์‹œ๊ฐ„๋Œ€ ์„ค์ •)

  • user.timezone์—์„œ๋Š” ์ค„๋ฌด๋Šฌ๊ฐ€ ์ •ํ™•ํ•˜์ง€๋งŒ ํžˆํŠธ ๋งต์€ ์ •ํ™•ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

user.timezone์ด ์ •์˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ (์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์œ„์น˜ / ์‹œ๊ฐ„๋Œ€๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ)

  • ํ–‰์ง„์€ ์ •ํ™•ํ•˜์ง€ ์•Š์ง€๋งŒ VPN์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ•œ ํด๋ผ์ด์–ธํŠธ์˜ ์‹œ๊ฐ„๋Œ€์— ํžˆํŠธ ๋งต์ด ์—ฌ์ „ํžˆ ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ•  ์ˆ˜์žˆ๋Š” ์ผ์€ UTC๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ํด๋ผ์ด์–ธํŠธ์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํžˆํŠธ ๋งต๊ณผ ์ผ์น˜์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

_PS : ์ œ๊ฐ€ ํ‹€๋ ธ์„ ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ๋ถ€๋‹ด์—†์ด ๊ณ ์ณ์ฃผ์„ธ์š” ._

@ Kenneth-LJS ๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์—ฌ๋ถ„์˜ 12 ์‹œ๊ฐ„์˜ ์—ฌ์œ ๋ฅผ ํ—ˆ์šฉํ–ˆ๋‹ค๋Š” ์ธ์ƒ์„ ๋ฐ›์•˜์ง€๋งŒ ๊ทธ๊ฒƒ์€ ๋ฐ”๋€Œ์—ˆ์„์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ์ฝ”๋“œ๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด ๋ณด์…จ๋‹ค๋ฉด ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ฒฐํ•ฉ๋˜๋Š”์ง€ ์ดํ•ด ํ•˜์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค์™€ ๊ด€๋ จํ•˜์—ฌ ๋‹ฌ๋ ฅ์ด ์•ฝ๊ฐ„ ์ƒ์‡„ ๋˜์–ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ์ด ์‚ฌ์‹ค์„ ์•Œ์•„ ์ฐจ ๋ฆฌ๊ฑฐ๋‚˜ ๋ถˆ๋งŒ์„ ์ œ๊ธฐ ํ•œ ์บ ํ”„ ์ฐธ๊ฐ€์ž๋Š” ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ์•ผ์˜ ์ž๋“ค์€ ๊ทธ๋‹ค์ง€ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ–‰์ง„์ด ๊นจ์ง€๋Š” ๊ฒƒ์€ ๊ดœ์ฐฎ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.์ด ๋•Œ๋ฌธ์— ๋งŽ์€ ์บ ํ”„ ์ฐธ๊ฐ€์ž๋“ค์ด์ด ๋ฒ„๊ทธ์— ๋Œ€ํ•ด ๋ถˆํ‰ํ•˜๋Š” ๊ธ€์„ ์ผ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ œ ์ฃผ์žฅ์€ ์‹œ๊ฐ„๋Œ€๋ฅผ ์•Œ์•„ ๋‚ด๊ณ  ๋™๊ธฐํ™”ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค, ์šฐ๋ฆฌ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ฏธ๊ตญ์ธ์ด ์‚ฌ๋Š” EST์— ์‹œ๊ฐ„์„ ์ •๊ทœํ™”ํ•˜๊ณ  ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์‹ค์ˆ˜๋กœ ์ข…๋ฃŒ ํ•  ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด 12 ~ 24 ์‹œ๊ฐ„์˜ ์—ฌ์œ ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌํ–‰ ํ•  ๋•Œ ํ–‰์ง„.

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š”์ด ๊ฒŒ์‹œ๋ฌผ ์— @QuincyLarson ๋Œ“๊ธ€์„ ๋ณด์•˜ ๊ธฐ ๋•Œ๋ฌธ์— ๊ธ€์„ ์”๋‹ˆ๋‹ค.

์ €๋Š” ์ƒˆ๋กœ์šด ์บ ํ•‘์นด์ด๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™œ๋™์— ๋Œ€ํ•ด "5 ์ผ ์—ฐ์†"์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
Jan18-5 ๊ฐœ ํ•ญ๋ชฉ
Jan19-24 items
Jan20-16 items
Jan21-2 ๊ฐœ ํ•ญ๋ชฉ
Jan22-7 items
fcc

์œ„์˜ ๋‚ด์šฉ์„ ์ฝ์–ด ๋ณด๋ฉด "๋‹ฌ๋ ฅ ์™„๋ฃŒ"๋‚ ์งœ๊ฐ€ ์ƒ์‡„ ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜์ง€๋งŒ ๋‚ด ์—ฐ์† ๊ธฐ๋ก์€ ํ•˜๋ฃจ ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

===
์ฐธ๊ณ  ์‚ฌํ•ญ-๋ฉ‹์ง„ ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ฝ”๋”ฉ์„ ๋ฐฐ์šฐ๋ ค๋Š” ๋‚˜์˜ ๋‹ค์„ฏ ๋ฒˆ์งธ ์‹œ๋„์ด์ง€๋งŒ,์ด ํ”„๋กœ๊ทธ๋žจ์ด ์ €๋ฅผ ํ˜น๋…ํ•˜๊ฒŒ ํ•ด์ค„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค!

@kennethlumalicay ์ด๊ฒƒ ์ข€ ๋ด์ฃผ์„ธ์š”. @ApeCogs ์˜ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์›์ธ์ด ๋ฌด์—‡์ธ์ง€

@ApeCogs 1 ์›” 21 ์ผ๊ณผ 22 ์ผ์— ๊ฐ ๋„์ „์„ ํ•œ ์‹œ๊ฐ„์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? (๋Œ€๋žต์ ์ธ ์ถ”์ •์น˜๊นŒ์ง€) ๊ท€ํ•˜์˜ ์‹œ๊ฐ„๋Œ€๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋˜ํ•œ VPN์„ ์‚ฌ์šฉํ•˜์‹ญ๋‹ˆ๊นŒ?

@kennethlumalicay -1 ์›” 21

๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต 22:00 CST-24:00 CST ๊ฒฝ์— ๋„์ „ ํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ผ์š”์ผ 19:00 CST-20:00 CST ๊ฒฝ์— ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์„ ๋•Œ ์—ฐ์† ๊ธฐ๋ก์„ ์žƒ์—ˆ์ง€๋งŒ. ์ด๊ฒƒ์€ ๋˜ํ•œ ์ผ๋ฐ˜์ ์œผ๋กœ ์•ฝ 7-8 ์ผ ์—ฐ์† ์ผ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. VPN์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋„์›€์ด ํ•„์š”ํ•œ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

screenshot-2018-1-24 learn to code with free online courses programming projects and interview preparation for developer

@ApeCogs ๋”๋ฏธ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ์žฌํ˜„ ํ•  ์ˆ˜์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํƒ€์ž„ ์Šคํƒฌํ”„ :

Wed Jan 24 2018 22:30:00 GMT-0500 (Eastern Standard Time)
Wed Jan 24 2018 23:30:00 GMT-0500 (Eastern Standard Time)
Thu Jan 25 2018 09:05:00 GMT-0500 (Eastern Standard Time)
Thu Jan 25 2018 09:12:00 GMT-0500 (Eastern Standard Time)
Thu Jan 25 2018 09:20:00 GMT-0500 (Eastern Standard Time)
Thu Jan 25 2018 09:30:00 GMT-0500 (Eastern Standard Time)
Thu Jan 25 2018 09:39:00 GMT-0500 (Eastern Standard Time)
Thu Jan 25 2018 09:40:00 GMT-0500 (Eastern Standard Time)
Thu Jan 25 2018 09:43:00 GMT-0500 (Eastern Standard Time)

21๊ณผ 22 ๋Œ€์‹  24์™€ 25๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ "์˜ค๋Š˜"๊ณผ "์–ด์ œ"๋ฅผ ์žฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ:

ape

@mriel ๋‹น์‹ ๋„ ํ˜„์žฌ ์—ฐ์Šน์„ ์žƒ์—ˆ์Šต๋‹ˆ๊นŒ? ํžˆํŠธ ๋งต๊ณผ ์ค„๋ฌด๋Šฌ๊ฐ€ ํฌํ•จ ๋œ ๋” ํฐ ์Šคํฌ๋ฆฐ ์ƒท์„ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ง„ํ–‰์ค‘์ธ ํ† ๋ก ์œผ๋กœ ์ธํ•ด ์žฌ๊ฐœ

@kennethlumalicay ๋Š” ๋‚ด ์Šคํฌ๋ฆฐ ์ƒท์ž…๋‹ˆ๋‹ค.

screenshot-2018-1-25 learn to code with free online courses programming projects and interview preparation for developer

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ด์ „ ํ–‰์ง„์€ 7-8 ์ผ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๋‚  ๋ฐค์— 18:00 CST-22:00 CST ์‚ฌ์ด์— ํ•œ ๋ ˆ์Šจ์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‚ ์—๋Š” ํ˜„์žฌ ํ–‰์ง„์ด 1 ์ผ์ด๋ผ๊ณ  ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ํ˜„์žฌ ํ–‰์ง„, ์š”์ผ, ์‹œ๊ฐ„ ๋ฐ ์–ด๋–ค ๋„์ „์— ๋Œ€ํ•œ ๋กœ๊ทธ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋Š” ๋‹น์‹ ์ด 20 ์ผ์— ๋ญ”๊ฐ€๋ฅผํ–ˆ๋‹ค๊ณ  ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.
mriel

ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์—๋Š” 20์— ์•„๋ฌด๊ฒƒ๋„ ์—†์Šต๋‹ˆ๋‹ค.
mriel-2

๋”ฐ๋ผ์„œ ํƒ€์ž„ ์Šคํƒฌํ”„๊ฐ€ ์ž˜๋ชป๋œ ์‹œ๊ฐ„๋Œ€๋กœ ํ‘œ์‹œ๋˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

    // timezone of signed-in account
    // to show all date related components
    // using signed-in account's timezone
    // not of the profile she is viewing
    const timezone = user && user.timezone ?
      user.timezone :
      'EST';

๋”ฐ๋ผ์„œ ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๋Š” null์ด๋˜๊ณ  ์‹œ๊ฐ„๋Œ€๋Š” 'EST'๊ฐ€๋ฉ๋‹ˆ๋‹ค.
๋กœ๊ทธ์ธ ํ•œ ๊ฒฝ์šฐ์—๋„ ๋‚ด ๋กœ์ปฌ DB์˜ ๋”๋ฏธ ๋ฐ์ดํ„ฐ์— ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— user.timezone ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. fcc์˜ db๊ฐ€ ๋‹ค๋ฅด์ง€๋งŒ ์—ฌ์ „ํžˆ ์ž˜๋ชป๋œ ์‹œ๊ฐ„๋Œ€๋ฅผ ์–ป๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Idk๋Š” ์—ฌ์ „ํžˆ 'EST'๋ฅผ ์–ป๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ์ด๊ฒƒ์ด ํ•ญ์ƒ ๊ธฐ๋ณธ์ ์œผ๋กœ 'EST'๋กœ ์ด๋™ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

~ ๊ทธ๋ž˜์„œ 'EST'๋ฅผ moment.tz.guess () ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๊ฐ€๋Šฅํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. ~

๋ฐฉ๊ธˆ ๋„์ „ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ์ƒํƒœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
2018 ๋…„ 1 ์›” 25 ์ผ 20:41 PM CST ์—ญ๋ฐฉํ–ฅ ์–ด๋ ˆ์ด (.reverse ํฌํ•จ)
screen shot 2018-01-25 at 8 46 08 pm
screen shot 2018-01-25 at 8 44 21 pm

์ง€๋‚œ์ฃผ ๋™์•ˆ ๋„์ „์ด ๊ธฐ๋ก๋˜๋Š” ๋ฐฉ์‹์„ ๊ด€์ฐฐํ–ˆ๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ ๋„์ „ ๋‚ ์งœ์™€ ์—ฐ์†์ด UTC๋กœ ์ง„ํ–‰๋˜๊ณ  ํžˆํŠธ ๋งต์ด EST๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ €์™€ CST์˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ๋ชจ๋“  ๋ถ€๋ถ„์—์„œ ๊ฐ™์€ ๋‚  ๊ณ„์‚ฐ ๋˜๋ ค๋ฉด ์˜คํ›„ 6์‹œ ์ด์ „์— ์ฑŒ๋ฆฐ์ง€๋ฅผํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด๋Š ๋‚  ์•„์นจ์— ๋„์ „ํ•˜๊ณ  ๋‹ค์Œ ๋‚  ์ €๋…์— ๋„์ „ํ•˜๋ฉด ์ž‘๋ณ„ ์ธ์‚ฌ๋ฅผํ•ฉ๋‹ˆ๋‹ค.

์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด ํ•™์Šต ํ”„๋กœ๊ทธ๋žจ์€ ์—ฐ์† ์ •๋ณด ์˜†์— ์นด์šดํŠธ ๋‹ค์šด์ด ๋ช‡ ์‹œ๊ฐ„ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค. "์ˆ˜์—…์„ ์™„๋ฃŒํ•˜๋ ค๋ฉด ... ์—ฐ์† ์œ ์ง€"๋ผ๋Š” ๋ฉ”๋ชจ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ์šฉ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ผ๊ด€๋œ ์‹œ๊ฐ„์„ ์–ป๋Š” ๊ฒƒ์ด ์—ฐ์† ๋ฌธ์ œ์˜ ์ตœ์šฐ์„  ์ˆœ์œ„๋ผ๊ณ  ๋ถ€๋ฅด๊ณ  ์‹ถ์ง€๋งŒ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํ•˜๋ฃจ์˜ ๋งˆ๊ฐ์ผ์„ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด ์—ฌํ–‰์„ ์œ„ํ•ด TZ๋ฅผ ์กฐ์ •ํ•˜๊ฑฐ๋‚˜ ์œ ์˜ˆ ์‹œ๊ฐ„์„ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์œ ์šฉ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋†€๋ผ์šด 100DaysOfCode Challange๋ฅผ ์“ธ๋ชจ ์—†๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฒ„๊ทธ


๋‚ด ํ”„๋กœํ•„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://www.freecodecamp.org/dardandmr

๋‚ด 69 Days of Streak๊ฐ€ ์ด์œ ์—†์ด ๊นจ์กŒ์Šต๋‹ˆ๋‹ค.

@QuincyLarson ์ œ๋ฐœ ํ˜•,์ด๊ฒŒ ์žˆ์Šต๋‹ˆ๊นŒ ?!
24:00 ์ดํ›„์— ์ž‘์—…์„ 2 ์‹œ๊ฐ„ ๋™์•ˆ ์ œ์ถœํ–ˆ๋Š”๋ฐ, FCC์˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด์ด ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š์€ ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ๊ฐ€๋Šฅํ•œ ์ผ์ด๋”๋ผ๋„ ์‹œ๊ฐ„๋Œ€ ์˜ค๋ฅ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
image

์ •๋ง ์‹ค๋ง ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.์ด 100DaysOfCode Challange์— ๋™๊ธฐ๋ฅผ ๋ถ€์—ฌ ๋ฐ›์•˜๊ณ  ๋ชจ๋“  ํ”„๋ŸฐํŠธ ์—”๋“œ ํ”„๋กœ์ ํŠธ์™€ ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒƒ์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ŸฐํŠธ ์—”๋“œ ์ธ์ฆ์„œ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜์žˆ๋Š” ๊ณ ๊ธ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด 4 ๊ฐœ ๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ํ–‰์ง„์„ ๊ณ„์†ํ•˜๊ธฐ ์œ„ํ•ด ...

์Šคํฌ๋ฆฐ ์ƒท

image
image

100DaysOfCode Challange, ๊ทธ๋Ÿฌํ•œ ๋ฒ„๊ทธ๊ฐ€ ๊ณ„์†๋˜๋ฉด ์šฐ๋ฆฌ์˜ ์‚ฌ๊ธฐ๋ฅผ ๋ง์น ๋ฟ์ž…๋‹ˆ๋‹ค.

@ JohnnyCheung1989 ๋ฒ„๊ทธ๊ฐ€ ๋‚ด ํ–‰์ง„์„ ๋ง์นœ ์ดํ›„๋กœ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค.
image

๋น„๋””์˜ค ์ฑŒ๋ฆฐ์ง€๋Š” ์—ฐ์† ๊ธฐ๋ก์— ํฌํ•จ๋˜์ง€ ์•Š์ง€๋งŒ ํžˆํŠธ ๋งต์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ €๋Š” ํŠนํžˆ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ์˜ ์ดˆ๋ณด์ž์ž…๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์˜ค๋ฒ„ ํ—ค๋“œ๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ์ƒ์„ฑํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค ...ํ•˜์ง€๋งŒ ํžˆํŠธ ๋งต์ด ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์† ํžˆํŠธ ๋งต์ด ๋…น์ƒ‰์œผ๋กœ ์น ํ•ด์ง„ ๋‚ ์— ๋Œ€ํ•œ ํžˆํŠธ ๋งต์„ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€์„œ ํšŒ์ƒ‰ ๊ฐ„๊ฒฉ์„ ํ™•์ธํ•˜๊ณ  ๋ฐ˜ํ™˜ ํ•  ์ˆ˜์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์š”์†Œ๊ฐ€ '#cccc'์ธ์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฐ’. ๊ทธ๋ ‡๋‹ค๋ฉด ์—ฐ์† ์ค‘๋‹จ
๋ชจ๋“  ํ˜„์žฌ ์—ฐ์† ๋…ผ๋ฆฌ ์‹œ๊ฐ„๋Œ€์™€ ์ˆ˜ํ•™์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๊ณ  ์š”์†Œ์˜ ์ƒ‰์ƒ์— ๋Œ€ํ•ด ์–ด๋–ค ์‹ ์œผ๋กœ๋“  ํžˆํŠธ ๋งต์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
๋งŒ์•ฝ ! ํšŒ์ƒ‰ ์ค„๋ฌด๋Šฌ ++ ํšŒ์ƒ‰ ์ค„๋ฌด๋Šฌ๊ฐ€ ์žˆ์œผ๋ฉด ๊ฐ€์žฅ ๊ธด ์ค„๋ฌด๋Šฌ๋ณด๋‹ค ๊ธด ์ค„๋ฌด๋Šฌ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ด๊ฒƒ์ด ์ด์ „์— ์ œ๊ธฐ ๋˜์—ˆ๋‹ค๋ฉด ์šฉ์„œํ•˜์‹ญ์‹œ์˜ค.

ํžˆํŠธ ๋งต์ด ์ •ํ™•ํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ๋ณธ ์ ์ด ์—†์ง€๋งŒ ๋‚ด ํ–‰์ง„์€ ์ž˜ ๋ณด์ž…๋‹ˆ๋‹ค.

์•„๋‹ˆ๋ฉด ์–ด๋–ป๊ฒŒ ๋“  ํžˆํŠธ ๋งต ์ฝ”๋“œ์— ํ”Œ๋ž˜๊ทธ๋ฅผ ๋„ฃ๊ณ  ํ–‰์ง„ ์ถœ๋ ฅ์ด์ด๋ฅผ ํ™•์ธํ•˜๊ณ  ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?

ํ—‰ํ—‰
์ฝ”๋“œ๋ฅผ ๊ฐ„๋‹จํžˆ ์‚ดํŽด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ํžˆํŠธ ๋งต์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋ฏ€๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ์ค‘๋‹จ๋˜๋ฏ€๋กœ ํžˆํŠธ ๋งต ์ฝ”๋“œ๋ฅผ ํŽธ์ง‘ํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์ดˆ๋ก์ƒ‰์„ ์„ธ๋Š” ๊ฒƒ์— ๊ด€ํ•ด์„œ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ฆ‰์‹œ ์ƒ‰์ƒ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฏ€๋กœ ๊ณ„์‚ฐ์„ ์ง€์—ฐํ•˜๋ ค๋ฉด ์ฝœ๋ฐฑ์„ ์ถ”๊ฐ€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

Motardo _ (2017 ๋…„ 9 ์›” 2 ์ผ

https://github.com/freeCodeCamp/freeCodeCamp/issues/17299 ์— ์ฐฌ์„ฑํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ์ข…๊ฒฐ

ํ–‰์ง„ ์นด์šดํ„ฐ์™€ ํžˆํŠธ ๋งต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹œ๊ฐ„๋Œ€๋ฅผ ์•„๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? 15:45 PM KST (UTC +0900)๊นŒ์ง€ ๋„์ „์„ ๋งˆ์ณค์ง€๋งŒ 74 ์ผ ์—ฐ์†์„ ์žƒ์—ˆ์Šต๋‹ˆ๋‹ค. ํ–‰์ง„์€ 1 ์ผ๋งŒ ํ‘œ์‹œ๋˜์ง€๋งŒ ํžˆํŠธ ๋งต์˜ ์˜ค๋Š˜ ์‚ฌ๊ฐํ˜•์€ ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋˜๊ณ  ํƒ€์ž„ ๋ผ์ธ์—๋Š” ์˜ค๋Š˜๋„ ์™„๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ์—ฐ์† ์นด์šดํ„ฐ๋Š” ํ•˜๋‚˜์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด ํžˆํŠธ ๋งต๊ณผ ํƒ€์ž„ ๋ผ์ธ์€ ๋‘ ๋ฒˆ์งธ ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ํ™•์ธํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋งค์ผ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆซ์ž๋ฅผ๋ณด๊ณ  ์นœ๊ตฌ, ๊ฐ€์กฑ ๋ฐ ์ž ์žฌ์  ์ธ ๊ณ ์šฉ์ฃผ์™€ ๊ณต์œ  ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์— ์ž๋ถ€์‹ฌ์„ ๊ฐ–๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ง ์‚ฌ๊ธฐ๋ฅผ ๊บพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ตœ์†Œํ•œ ์—ฐ์† ๊ทœ์น™์„ ์•„๋Š” ๊ฒƒ์ด ์‹ค์ œ๋กœ ์ฝ”๋”ฉ์„ ์ดํ•ดํ•˜๊ณ  ๊ทธ์— ๋”ฐ๋ผ ์กฐ์ •ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž„์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

@sgrayme ์—์„œ ์ธ์šฉ https://github.com/freeCodeCamp/freeCodeCamp/issues/7925#issuecomment -361716788

๋‚˜๋Š” ์ง€๋‚œ์ฃผ ๋™์•ˆ ๋„์ „์ด ์–ด๋–ป๊ฒŒ ๊ธฐ๋ก๋˜๋Š”์ง€ ๊ด€์ฐฐํ–ˆ๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ ๋„์ „ ๋‚ ์งœ์™€ ์—ฐ์†์ด UTC๋กœ ์ง„ํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ณด์•˜๊ณ  ํžˆํŠธ ๋งต์€ EST๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰