TIL

[TIL] 20210907

lado 2021. 9. 8. 03:32

๐ŸŽฏ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๊ฒƒ

  • [๋ฐฐํฌ] EC2, AWS s3 + cloudfront, github pages, Firebase, Netlify, Vercel
    • SPA์ธ ๊ฒฝ์šฐ, root url ์ด์™ธ์˜ ๋ชจ๋“  url์—์„œ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ–ˆ์„ ๋•Œ ํ•ด๋‹น url์—์„œ index.html์„ ์ฐพ์„ ์ˆ˜ ์—†์–ด 404 ์˜ค๋ฅ˜๊ฐ€ ๋œฌ๋‹ค. ๋ฐฐํฌํ•  ๋•Œ๋Š” ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ชจ๋“  url์—์„œ index.html๋กœ ๊ฒฝ๋กœ๋ฅผ ๋Œ๋ ค์ฃผ๋Š” ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
    • github pages์˜ ๊ฒฝ์šฐ, '์œ ์ €๋„ค์ž„.github.io/๋ ˆํฌ์ด๋ฆ„' ์‹์œผ๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ์†Œ์Šค ํŒŒ์ผ ๋‚ด ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ '/๋ ˆํฌ์ด๋ฆ„/src/main.js'๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์žก์•„์ค˜์•ผ ์ •์ƒ ์‹คํ–‰๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
    • Netlify์™€ Vercel์€ ๋น„์Šทํ•˜์ง€๋งŒ Netlify๋Š” ํ•œ๊ตญ ์„œ๋ฒ„๊ฐ€ ์—†์–ด์„œ ์ข€ ๋А๋ฆฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

 

  • [JavaScript] ๋ฒ„ํŠผ์œผ๋กœ ๋žœ๋ค ๋ฐฐ๊ฒฝ์ƒ‰ ์ง€์ •ํ•˜๋Š” UI ์ œ์ž‘
    • Hex Color Code๋Š” 16์ง„์ˆ˜๋กœ ์ด๋ค„์ ธ ์žˆ๊ณ  ์ตœ๋Œ€๊ฐ’์€ ffffff์ด๋‹ค. ์ด๋ฅผ 10์ง„์ˆ˜๋กœ ๋ฐ”๊พธ๋ฉด 16777215์ด ๋œ๋‹ค. Math.random() API๋กœ ์ตœ๋Œ€๊ฐ’์ด 16777215์ธ ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑํ•œ ๋’ค 16์ง„์ˆ˜๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋žœ๋ค Hex Color Code๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
    • ์ด ๋•Œ, Hex Color Code๋Š” ๋ฌด์กฐ๊ฑด 6์ž๋ฆฌ๋กœ ์ด๋ค„์ ธ ์žˆ์–ด์•ผ ์ƒ‰์ƒ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋œ 16์ง„์ˆ˜๊ฐ€ 6์ž๋ฆฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ๋ฐฉ์–ด์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ค˜์•ผ ํ•œ๋‹ค. ๋žœ๋ค ์ƒ์„ฑ๋œ ์ฝ”๋“œ์˜ length๊ฐ€ 6๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ, "0".repeat(6 - randomCode.length)๋กœ 0์„ ์ฑ„์›Œ ๋„ฃ์—ˆ๋‹ค.
    • ์• ์ดˆ์— 6์ž๋ฆฌ๋ณด๋‹ค ์ž‘์€ ์ˆ˜๊ฐ€ ๋งŒ๋“ค์–ด์ง€์ง€ ์•Š๋„๋ก 16์ง„์ˆ˜์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” digit ์ค‘ ๋žœ๋ค์œผ๋กœ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ 6์ž๋ฆฌ์— ์ฐจ๊ณก ์ฐจ๊ณก ๋„ฃ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋žœ๋ค Hex Color Code๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

  • [์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ] ๋ฌธ์ž์—ด
    • ์ธํ”„๋Ÿฐ JavaScript ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ฐ•์˜ ์ค‘ ๋ฌธ์ž์—ด ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค.
    • indexOf(), ์ •๊ทœํ‘œํ˜„์‹, replace(), reduce(), flatMap()์„ ์ด์šฉํ–ˆ๋‹ค.

 


๐Ÿ“š ๋” ๊ณต๋ถ€ํ•ด์•ผ ํ•  ๊ฒƒ

  • ํ”„๋กœ์ ํŠธ ๋ฆฌํŒฉํ† ๋ง ํ›„์— ์ง์ ‘ ๋ฐฐํฌํ•ด๋ณด๊ธฐ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ž์—ด ์••์ถ• ๋ฌธ์ œ ํ’€๊ธฐ [๋งํฌ]

 


๐ŸŽ‡ Reflection

  • ๋ฐฐํฌ ๊ฐ•์˜๋ฅผ ๋ณด๊ธด ๋ดค๋Š”๋ฐ ์ง์ ‘ ํ•ด๋ด์•ผ ๊ฐ์„ ์žก์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์ถ”์„ ๋•Œ ๋…ธ์…˜ ํด๋ก ์ฝ”๋”ฉ ํŽ˜์ด์ง€๋ฅผ ์ œ๋Œ€๋กœ ๊ตฌํ˜„ํ•ด์„œ ๋ฐฐํฌ๋ฅผ ์‹œ๋„ํ•ด๋ด์•ผ๊ฒ ๋‹ค. ๋ฌด๋ฃŒ๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๊ฐ€ ๋งŽ์•„์„œ ๋งˆ์Œ๋งŒ ๋จน์œผ๋ฉด ๋ฐฐํฌํ•˜๊ธฐ ์–ด๋ ต์ง€ ์•Š๋‹ค๋Š” ๊ฑธ ์•Œ๊ฒŒ ๋๋‹ค. ๋ฐฐํฌ ์นœํ™”์  ์ธ๊ฐ„์ด ๋˜์–ด์•ผ์ง€... AWS๋„ ๊ถ๊ธˆํ•˜๊ธด ํ•œ๋ฐ ๊ณผ๊ธˆ์ด ๋„ˆ๋ฌด ๋ฌด์„ญ๋‹ค. 
  • ํŒ€์›๋“ค๊ณผ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์Šคํ„ฐ๋””๋ฅผ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋งค์ผ ํ•œ ๋ฌธ์ œ์”ฉ ํ’€๊ณ  ํ’€์ด ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๊ธฐ๋กœ ํ–ˆ๋Š”๋ฐ... ์•ˆ ๊ทธ๋ž˜๋„ ํ•  ๊ฒŒ ๋งŽ์€๋ฐ ์ด๋ž˜๋„ ๋˜๋‚˜ ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ค์ง€๋งŒ ๊ทธ๋ž˜๋„ ์–ธ์  ๊ฐ€๋Š” ํ•ด์•ผ ํ•˜๋Š” ๊ฑฐ๋‹ˆ๊นŒ ๋„์ „ํ•ด๋ณด๋ ค๊ตฌ ํ•œ๋‹ค.
  • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๊ณต๋ถ€ํ•˜๋Š” ๊น€์— ๊ฑฐ์˜ ๋‘ ๋‹ฌ๋งŒ์— ์ธํ”„๋Ÿฐ ์ž์Šค ์ฝ”ํ…Œ ๊ฐ•์˜ ๋ฌธ์ž์—ด ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋ดค๋‹ค. ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋ฐฐ์›Œ๋„ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•  ์ค„ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ... ๋‚˜์•ผ๋‚˜... ๊ฐ•์˜์—์„œ ์„ ์ƒ๋‹˜์€ ์–ด๋–ป๊ฒŒ ํ‘ธ๋Š”์ง€ ๋‚ด์ผ ๋ณผ ๊ฑด๋ฐ, ๋‚ด ์ฝ”๋“œ ๋„ˆ๋ฌด ๋”๋Ÿฌ์šด ๋А๋‚Œ์ด๋‹ค. ๊ทธ๋ž˜๋„ ํ•จ์ˆ˜ํ˜•์„ ๋ฐฐ์šฐ๊ณ  ๋‚˜๋‹ˆ๊นŒ ๊ดœํžˆ ๊ณต์œ  ์ƒํƒœ ๋ณ€์ˆ˜ ์‚ฌ์šฉ์„ ์ง€์–‘ํ•˜๊ณ  ์‹ถ๊ณ ... reduce ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„ํ•ด๋ณด๊ณ  ์‹ถ๊ณ  ๊ทธ๋žฌ๋‹ค.
  • ์œ ํŠœ๋ธŒ ์šฐ์•„ํ•œํ…Œํฌ?์ธ๊ฐ€ ์•”ํŠผ ๊ทธ ๊ณ„์ •์„ ๊ตฌ๋…ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์šฐํ…Œ์ฝ” ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œ ์˜์ƒ์„ ์˜ฌ๋ ค๋’€๊ธธ๋ž˜ ํ•œ๋ฒˆ ๋ด๋ดค๋‹ค. ์ •๋ง ์ธ์ƒ์ ์ด์—ˆ๋˜ ๊ฒŒ ๊ทธ๋ƒฅ ์šฐ๋ฆฌ ์ด๋Ÿฐ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์—ˆ์–ด์š”, ํ•˜๊ณ  ๋๋‚˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์ดํ›„์— ์–ด๋–ป๊ฒŒ ํ”„๋กœ์ ํŠธ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•ด๋‚˜๊ฐ€๊ณ  ์žˆ๋Š”์ง€๋„ ๊ณ„์† ๋ฐœํ‘œ ์˜์ƒ์„ ์˜ฌ๋ฆฌ๋”๋ผ. ํ˜„์žฌ 4์ฐจ๊นŒ์ง€ ์˜ฌ๋ผ์™”๋Š”๋ฐ, ๋‚˜๋„ ํ”„๋กœ์ ํŠธํ•  ๋•Œ ์„ฑ๋Šฅ ๊ฐœ์„  ๊ณ ๋ฏผํ•ด๋ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. 10๋ถ„ ํ…Œ์ฝ”ํ†ก ์˜์ƒ ์ค‘์—์„œ๋„ ์ข‹์€ ๋ฐœํ‘œ๋“ค์ด ๊ฝค ์žˆ์–ด ๋ณด์ธ๋‹ค. ๋ฐœํ‘œ ์Šคํ„ฐ๋”” ์ค€๋น„ํ•  ๋•Œ ์ฐธ๊ณ ํ•ด์•ผ๊ฒ ๋‹ค.

'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[WIL] 6์ฃผ์ฐจ ํšŒ๊ณ   (0) 2021.09.12
[TIL] 20210908  (2) 2021.09.09
[TIL] 20210906  (2) 2021.09.07
[WIL] 5์ฃผ์ฐจ ํšŒ๊ณ   (1) 2021.09.05
[TIL] 20210904  (0) 2021.09.05