์ฝ”๋…ธ๋ฐฉ๊ตฌ๋ฏธ์™€

์ฝ”๋…ธ๋ฐฉ๊ตฌ๋ฏธ์™€

2023๋…„ 6์›” 2์ผ

๐Ÿ“– Konobangumiwa #

github: https://github.com/min-96/_konobangumiwa
site: http://konobangumiwa.wiki

1๏ธโƒฃ ์‹œ์ž‘ ์ „ #

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

์ด์ „ ํ”„๋กœ์ ํŠธ๋ณด๋‹ค ๋ณด์™„ํ• ์  #

  • react router : ์ด์ „ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋ฏผ๊ทœ๋‹˜์ด ํ”„๋กœ์ ํŠธ์˜ ์ดˆ๊ธฐ์„ค์ •์„ ์ง„ํ–‰ํ•˜์…จ๊ธฐ ๋•Œ๋ฌธ์— ๋ผ์šฐํ„ฐ๋ฅผ ์จ๋ณธ์ ์ด ์—†์—ˆ๋‹ค.
  • Atomic ํŒจํ„ด : ํŒจํ„ด์ด Organism, Molecule ๋‘์ข…๋ฅ˜๋กœ๋งŒ ๊ตฌํ˜„ํ–ˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ œ๋Œ€๋กœ ์ƒค์šฉํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.
  • CSS ํŒŒ์ผ ๋ถ„๋ฆฌ : tailwind๋ฅผ ์‚ฌ์šฉํ•ด์„œ className์ด ๊ธธ์—ˆ๊ณ , ์ค‘๋ณต๋˜๋Š” className ๋„ ์žˆ์—ˆ์ง€๋งŒ ๊ฐ๊ฐ ์ ์–ด๋†”์„œ ๋ณด๊ธฐ ์–ด๋ ค์› ๋‹ค.
  • ์ปดํฌ๋„ŒํŠธ ์žฌํ™œ์šฉ : ๋ถ„๋ฅ˜๋งŒ Molecule ์ด์˜€๊ณ , Atom ๋‹จ์œ„์˜ ์ปดํฌ๋„ŒํŠธ๋Š” ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์žฌํ™œ์šฉ์ด ๊ฑฐ์˜ ์—†๋‹ค์‹œํ”ผ ํ–ˆ๋‹ค.
  • ์ธํ”„๋ผ ํ™˜๊ฒฝ์„ค์ • : 42์—์„œ ๊ฑฐ์˜ ๋งˆ์ง€๋ง‰์— ๋ฐฐ์šด๊ฒŒ ๋„์ปค ์ปดํฌ์ฆˆ์ธ๋ฐ, ํ™œ์šฉํ•ด๋ณธ์ ์ด ์—†์—ˆ๋‹ค.
  • ๊นƒ ํ˜‘์—… ๋ฐฉ์‹ : ์ด์ „ ํ”„๋กœ์ ํŠธ์—์„œ ์•„์‰ฝ์ง„ ์•Š์•˜๋Š”๋ฐ, ์™œ ๊ทธ๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๊นƒ์„ ์‚ฌ์šฉํ–ˆ๋Š”์ง€๋„ ๊ถ๊ธˆํ•˜๊ณ , ์ข€๋” ๊นƒ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ํ•˜๊ณ ์‹ถ์—ˆ๋‹ค.

2๏ธโƒฃ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ #

์ œ๋ชฉ์—์„œ ๋ˆˆ์น˜์ฑ˜์„์ง€๋„ ๋ชจ๋ฅด์ง€๋งŒ, ์ด ํ”„๋กœ์ ํŠธ๋Š” ์‹ญ๋•๋“ค์„ ์œ„ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ”„๋กœ์ ํŠธ์ด๋‹ค.
์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹œ์ž‘ ์ „์— ์ฝ”๋…ธ๋ฐฉ๊ตฌ๋ฏธ์™€ ๊ณ ๋ž€๋…ธ์Šคํฐ์‚ฐ๋…ธ๋ฐ ์˜ค์ฟ ๋ฆฌ์‹œ๋งˆ์Šค? ๋ผ๊ณ  ๋‚˜์˜ค๋Š” ์Œ์„ฑ ์ค‘ ์ฝ”๋…ธ๋ฐฉ๊ตฌ๋ฏธ์™€๋ฅผ ๋”ฐ์™€์„œ ์ด๋ฆ„์„ ์ง€์—ˆ๋‹ค.

ํŒ€์›์†Œ๊ฐœ #

๐Ÿ” minyong(28 ์—ฌ, ์‹ญ๋•, ๊ฐœ๋ฐœ์ž, ๋ฏธํ•„): https://minyong.info

๊ธฐ์ˆ ์Šคํƒ #




๊ธฐ๋Šฅ #

  1. ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฆฌ์ŠคํŠธ
  2. ๊ต์ง‘ํ•ฉ ์žฅ๋ฅด๊ฒ€์ƒ‰
  3. ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ‰๊ฐ€ ๋ฐ ์ฝ”๋ฉ˜ํŠธ์ž‘์„ฑ + ์œ„์‹œ๋ฆฌ์ŠคํŠธ
  4. ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜๋ฅผ ์ด์šฉํ•œ ๊ฒ€์ƒ‰๊ธฐ๋Šฅ
  5. ์œ ์ €๋ณ„ ํ‰๊ฐ€ํ•จ ๋ฆฌ์ŠคํŠธ, ์œ„์‹œ๋ฆฌ์ŠคํŠธ, ์ทจํ–ฅ๋ถ„์„
  6. ๊ตฌ๊ธ€ OAuth ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ #

๋Œ€๋งŒ ์—ฌํ–‰๊ฐ”๋‹ค๊ฐ€ ๋Œ์•„์™€์„œ ํ•˜๋ฃจ ์‰ฌ๊ณ  ์‹œ์ž‘ํ–ˆ๋‹ค.
์ฒซ๋ฒˆ์งธ ์ปค๋ฐ‹์€ 5์›” 11์ผ์ด๋ฉฐ AWS๋กœ ๋ฐฐํฌ๋Š” 6์›” 4์ผ ์™„๋ฃŒ๋๋‹ค.
์ด๋ฏธ ๋ฆฌ์•กํŠธ๋ฅผ ์•Œ๊ณ ์žˆ๋Š” ์ƒํ™ฉ์ด๋ผ ์ƒ๊ฐ๋ณด๋‹ค ์งง์€ 3์ฃผ์ •๋„์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋Š”๋ฐ, ์™„์„ฑ๋„๊ฐ€ ๋†’๊ฒŒ ๋‚˜์˜จ๊ฒƒ ๊ฐ™์•„ ๋งŒ์กฑ์Šค๋Ÿฝ๋‹ค.

  • ๊ฐœ๋ฐœ ๋ฐ API ์—ฐ๊ฒฐ(2.5w) : 5์›” 11์ผ ~ 5์›” 28์ผ
  • ๋ฒ„๊ทธ ์ˆ˜์ •(0.5w) : 5์›” 26์ผ ~ 5์›” 29์ผ
  • ์ธํ”„๋ผ ๊ตฌ์ถ•(1d) : 5์›” 19์ผ
  • AWS ๋ฐฐํฌ(1d) : 6์›” 4์ผ

3๏ธโƒฃ ์™„์„ฑํ’ˆ ๋ฐ ํ›„๊ธฐ #

ํ™ˆ #

์ฒ˜์Œ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งก๊ฒŒ๋์„๋• ๋ฐฑ์—”๋“œ ๋Œ€์ถฉ ์นด๋“œ ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ fetchํ•ด์™€์„œ API์˜ ํ‘œ์‹œ ์ •๋„๋งŒ ์ง„ํ–‰ํ•˜๋ ค๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ ์‹ถ์€ ๋งˆ์Œ์ด ๋ˆˆ๊ผฝ๋งŒํผ๋„ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด์˜€๋Š”๋ฐ ๋งˆ์Œ์„ ๊ณ ์ณ๋จน์€ ๊ณ„๊ธฐ๋Š” ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ”์˜ ์ฝ”๋…ธ๋ฐฉ๊ตฌ๋ฏธ์™€ ๋ผ๋Š” ๋กœ๊ณ ๋ฅผ ์ฐพ๊ณ ๋‚˜์„œ๋ถ€ํ„ฐ์˜€๋‹ค.

text to svg์—์„œ ์ผ๋ณธ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•œ ์•„๋ฌด ํฐํŠธ๋‚˜ ์ฐพ๋‹ค๊ฐ€ ๋ฐœ๊ฒฌ๋œ๊ฒŒ ์ง€๊ธˆ์˜ ํฐํŠธ์ด๋‹ค. ์กฐ๊ธˆ ์ˆ˜์ •ํ–ˆ๋”๋‹ˆ ์ง„์งœ ์ผ๋ณธํ‹ฑํ•ด์„œ ์„ ํƒํ•˜๊ฒŒ ๋๋‹ค.
ํ™ˆํ™”๋ฉด


๋””ํ…Œ์ผ #

์›๋ž˜๋ผ๋ฉด ํ•˜์ง€ ์•Š์•˜์„ ๊ธฐ๋Šฅ์ด์ง€๋งŒ, ์• ์ •์ด ์ƒ๊ฒจ ๋งŒ๋“ค๊ฒŒ๋œ ๊ธฐ๋Šฅ์ด scrollTop์ผ๋•Œ ๋‚ด๋น„๊ฒŒ์ด์…˜์„ ํˆฌ๋ช…ํ™” ํ•˜๋Š”๊ฒƒ์ด๋‹ค.

๋””ํ…Œ์ผ ํŽ˜์ด์ง€๋งŒ ๋‚ด๋น„๊ฒŒ์ด์…˜ ๊ณต๊ฐ„์˜ ํŒจ๋”ฉ์„ ์—†์• ๊ณ  scroll ์œ„์น˜์—๋”ฐ๋ผ transparent ๊ธฐ๋Šฅ์„ ๋„ฃ์–ด ๊ตฌํ˜„ํ–ˆ๋‹ค.

์˜์™ธ๋กœ ์–ด๋ ค์› ๋˜๊ฒŒ ์• ๋‹ˆ๋ฉ”์ด์…˜์‚ฌ์ง„ ์œ„์น˜ ์กฐ์ ˆ๊ณผ ํ…œํ”Œ๋ฆฟ์„ ์žฌํ™œ์šฉํ•˜๋ฉด์„œ ๋ฐฐ๊ฒฝ์ด๋ฏธ์ง€์™€ ์„ค๋ช…์ด ๋‹ด๊ธด ์นด๋“œ์˜ ์œ„์น˜๊ฐ€ ์ œ ์ž๋ฆฌ๋ฅผ ์ฐพ๋Š”์ผ์ด์˜€๋‹ค. ๊ตฌํ˜„ํ•˜๊ณ ๋‚˜๋‹ˆ ๊ฝค ๊ทธ๋Ÿด๋“ฏํ•ด์ ธ์„œ ๋„ˆ๋ฌด ๋งŒ์กฑ์Šค๋Ÿฌ์šด ๋ถ€๋ถ„์ค‘ ํ•˜๋‚˜์ด๋‹ค.
๋””ํ…Œ์ผ


์„ ํ˜ธํƒœ๊ทธ #

์™“์ฐจํ”ผ๋””์•„์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ํƒœ๊ทธ๋ฅผ ๋žœ๋คํ•œ ์œ„์น˜์— ๋ฟŒ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.
ํŒ€์žฅ๋‹˜์˜ ์š”์ฒญ์œผ๋กœ ์ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋๋Š”๋ฐ, ๊ทธ๋ƒฅ ๋žœ๋คํ•œ ์œ„์น˜์— ๋ฟŒ๋ฆฌ์ž๋‹ˆ ์„œ๋กœ ๊ฒน์ณ์ง€๋Š” ๋ถ€๋ถ„์ด ์ƒ๊ฒผ๋‹ค.

์„ ํ˜ธํƒœ๊ทธ ์ด ๋ถ€๋ถ„์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ• ์ง€ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ฐฐ์› ๋˜ ์ถฉ๋Œ๊ฐ์ง€๊ฐ€ ๋– ์˜ฌ๋ผ ๋น„์Šทํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋๋‹ค.

ํฐํŠธ์‚ฌ์ด์ฆˆ์™€ ๊ธ€์ž์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋Œ€๋žต์ ์ธ ์ถฉ๋Œ ๋ฐ•์Šค๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ๋‹ค๋ฅธ ๊ธ€์ž๋“ค๊ณผ ์ถฉ๋Œํ•˜๋Š” ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด ๋žœ๋ค์ขŒํ‘œ์— ๊ธ€์ž๋ฅผ ํ‘œ์‹œํ•˜๋„๋ก ํ–ˆ๋‹ค.
์ ๋‹นํžˆ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋‹ˆ 10๊ฐœ์˜ ํƒœ๊ทธ๋ฅผ ํ‘œ์‹œํ•˜๋Š”๋ฐ 10~20๋ฒˆ์ •๋„์˜ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋Š”๊ฒƒ ๊ฐ™์•˜๋‹ค.

๋งŒ๋“ค๊ณ ๋‚˜์„œ ๋ฟŒ๋“ฏํ–ˆ๋˜ ๊ธฐ๋Šฅ 2๋ฒˆ์ด๋‹ค.


์žฅ๋ฅด๊ฒ€์ƒ‰ #

์ด ๊ธฐ๋Šฅ์€ ๊ฐœ์ธ์ ์œผ๋กœ ๋งŒ๋“ค์–ด๋ณด๊ณ ์‹ถ์—ˆ๋‹ค. ์ „์ฒด ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ๋•Œ๋งˆ๋‹ค ํ•ด๋‹นํ•˜๋Š” ํƒœ๊ทธ์— ๋งž๊ฒŒ ๊ฒ€์ƒ‰๋˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

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

ํƒœ๊ทธ๋„ ๋ˆ„๋ฅผ๋•Œ๋งˆ๋‹ค ๊ฒ€์ƒ‰๋˜๊ณ  ๋‹ค์‹œ ๊ทธ ํƒœ๊ทธ๋ฅผ ๋ˆ„๋ฅด๋ฉด ํƒœ๊ทธ๊ฐ€ ์ง€์›Œ์ง€๊ธฐ๋„ ํ•œ๋‹ค. ํƒœ๊ทธ๋ฅผ ๋žœ๋คํ•œ ์ƒ‰์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ ค ํ–ˆ์ง€๋งŒ, ๊ทธ๋ ‡๊ฒŒ๋˜๋ฉด ๊ฐ™์€ ํƒœ๊ทธ์ง€๋งŒ ๋‹ค์‹œ ๋ˆŒ๋ €์„๋• ๋‹ค๋ฅธ์ƒ‰์ด ๋˜์–ด ์ •์‹ ์—†์–ด๋ณด์˜€๋‹ค.
ํƒœ๊ทธ์ด๋ฆ„์„ ๊ธฐ์ค€์œผ๋กœ 5๊ฐ€์ง€ ์ƒ‰์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ๋‹ค. ์žฅ๋ฅด๊ฒ€์ƒ‰


์ œ๋ชฉ๊ฒ€์ƒ‰ #

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


4๏ธโƒฃ ์ง„์งœํ›„๊ธฐ #

์ƒ๊ฐ๋ณด๋‹ค ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋ช‡๋ฒˆ์ด๋‚˜ ์‹ธ์šฐ๊ฒŒ ๋๊ณ  ํ”„๋กœ์ ํŠธ ์ž์ฒด๊ฐ€ ์—Ž์–ด์งˆ๋ป” ํ•˜๊ธฐ๋„ ํ–ˆ์ง€๋งŒ, ๊ฒฐ๊ตญ ์ด๋ ‡๊ฒŒ ์™„์„ฑํ•ด๋‚ธ๊ฒŒ ๋‹คํ–‰์ด๋ฉด์„œ ์ข€๋” ์„œ๋กœ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๊ฒƒ๊ฐ™์•„ ๋งŒ์กฑ์Šค๋Ÿฌ์šด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‹ค.

๊ธฐ์ˆ ์ ์ธ ๋ถ€๋ถ„์—์„œ๋„ docker-compose๋ฅผ ์ด์šฉํ•ด์„œ ์ธํ”„๋ผ ๊ตฌ์ถ•๋„ ํ•œ๋ฒˆ ํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๊ณ , elasticsearch๋ฅผ ๊ณต๋ถ€ํ•ด๋ณผ ๊ธฐํšŒ๋„ ์ƒ๊ฒผ์œผ๋ฉฐ, AWS์— ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์—์„œ๋„ ์ด๊ฒƒ์ €๊ฒƒ ๋งŒ์ ธ์„œ 9 to 21๋กœ ์„œ๋ฒ„๋ฅผ ์ž‘๋™ํ•˜๊ฒŒ ์Šค์ผ€์ค„ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ๋„ ๋งŽ์€๊ฑธ ๋ฐฐ์šด๊ฒƒ๊ฐ™๋‹ค.

comments powered by Disqus