Skip to content

Latest commit

ย 

History

History
290 lines (206 loc) ยท 18.4 KB

README.md

File metadata and controls

290 lines (206 loc) ยท 18.4 KB

re-collect-client

๐Ÿ“ Recollect

< Recollect : re + collect >

recollect : ๊ธฐ์–ตํ•ด๋‚ด๋‹ค, "๋ชจ์•„์„œ + ๋‹ค์‹œ๋ณด๋‹ค"

๋Š˜์–ด๋งŒ๊ฐ€๋Š” ์ˆ˜๋งŽ์€ ๋ถ๋งˆํฌ, ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค๊ณ  ๋งŒ๋“  ๋ถ๋งˆํฌ ํด๋”๋“ค...

ํ˜น์‹œ ์ฝ์ง€ ์•Š์€ ๋ถ๋งˆํฌ๋“ค์ด ์Œ“์—ฌ๋งŒ ๊ฐ€๊ณ  ์žˆ์ง„ ์•Š์œผ์‹ ๊ฐ€์š”?

๊ฑฑ์ •ํ•˜์ง€๋งˆ์„ธ์š”. ๋น„์Šทํ•œ ์ฃผ์ œ์˜ ๋ถ๋งˆํฌ๋ฅผ ์ฝœ๋ ‰์…˜์— ๋‹ด์•„ ๊ฐ„์งํ•˜์„ธ์š”.

์ฝ์ง€ ์•Š์€ ๋ถ๋งˆํฌ๋“ค์€ ์•Œ๋ฆผ์„ ํ†ตํ•ด Recollectํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

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

๐Ÿ“Ž ๋ฐฐํฌ๋งํฌ /QR

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2021-07-16 แ„‹แ…ฉแ„’แ…ฎ 11 51 29
https://recollect.today/

๐Ÿ›  ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ  ์Šคํƒ

แ„€แ…ตแ„‰แ…ฎแ†ฏแ„‰แ…ณแ„แ…ขแ†จ_recollect

๐Ÿ› Architecture

Client-Side flow chart [static]

image

Server-Side flow chart

แ„‰แ…ฅแ„‡แ…ฅแ„‰แ…กแ„‹แ…ตแ„ƒแ…ณแ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ง

์ฃผ์š”๊ธฐ๋Šฅ๋ณ„ ์‹œ์—ฐ GIF

ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ, ๋กœ๊ทธ์•„์›ƒ
ํšŒ์›๊ฐ€์ž…
๋กœ๊ทธ์ธ
๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
๋กœ๊ทธ์•„์›ƒ

๋žœ๋”ฉ ํŽ˜์ด์ง€
์Šคํฌ๋กค ์• ๋‹ˆ๋ฉ”์ด์…˜, ์Šคํฌ๋กค ํˆฌ ํƒ‘
๋ฐ˜์‘ํ˜• ๋ทฐํฌํŠธ

์ฝœ๋ ‰ํŠธ ํŽ˜์ด์ง€ (๋ถ๋งˆํฌ ํŽ˜์ด์ง€)
๋ถ๋งˆํฌ ์ถ”๊ฐ€
๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ
๋ถ๋งˆํฌ ์ˆ˜์ •
๋ถ๋งˆํฌ ์‚ญ์ œ
์นดํ…Œ๊ณ ๋ฆฌ ์ˆ˜์ •
์นดํ…Œ๊ณ ๋ฆฌ ์‚ญ์ œ
๋ถ๋งˆํฌ ๋งํฌ๋กœ ์ด๋™
๋ฐ˜์‘ํ˜• ๋ทฐํฌํŠธ, ๋ถ๋งˆํฌ ํ•˜๋‹จํŒ์—…
์ฝ์ง€์•Š์€ ๋ถ๋งˆํฌ recollect
๋ถ๋งˆํฌ ๊ฒ€์ƒ‰

ํ”„๋กœํ•„ ํŽ˜์ด์ง€
์œ ์ €๋„ค์ž„ ๋ณ€๊ฒฝ, ์ง์žฅ์ •๋ณด, ๊นƒํ—ˆ๋ธŒ์ฃผ์†Œ ๋ณ€๊ฒฝ, my favorite recollect ํ™•์ธ
๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ ํŒ์—…
ํšŒ์› ํƒˆํ‡ด ํŒ์—…
๋ฐ˜์‘ํ˜• ๋ทฐํฌํŠธ

์ต์Šคํ”Œ๋กœ์–ด ํŽ˜์ด์ง€
ํŽ˜์ด์ง€ ์ง„์ž…
๋ฐ˜์‘ํ˜• ๋ทฐํฌํŠธ

์ด๋ฉ”์ผ ์•Œ๋ฆผ
์ฝ์ง€ ์•Š์€ ๋ถ๋งˆํฌ recollect
๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ ์ธ์ฆ๋ฒˆํ˜ธ

๐ŸŒ ์šฐ๋ฆฌ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค

์ด๋ฆ„(๊นƒํ—™๋งํฌ) Position & Role
๊น€์‹œ์œค ๐Ÿ’ป Front-end, ๐ŸŒŸ Team leader
๊น€์ง€์šฐ ๐Ÿ’ป Front-end, โฐ Time Manager
๋ฐ•์œ ๋นˆ ๐Ÿ’ป Back-end, ๐Ÿ“ Record Manager
์ด์„์ค€ ๐Ÿ’ป Front-end, ๐Ÿ—ฃ Communication Manager

ํ”„๋กœ์ ํŠธ ํšŒ๊ณ 

๊น€์‹œ์œค
Q. React-Slick ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ ์ด์œ 
A. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์ต์Šคํ”Œ๋กœ์–ด ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉฐ ์–‘์˜† ํ™”์‚ดํ‘œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉฐ ํŽผ์ณ์ง„ ์นด๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ผ€๋Ÿฌ์…€์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ๊ตฌํ˜„์„ ์œ„ํ•ด ๊ตฌ๊ธ€๋ง ํ•ด๋ณธ ๊ฒฐ๊ณผ ์ง์ ‘ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๊ณผ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํฌ๊ฒŒ ์–ด๋ ค์›Œ๋ณด์ด์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์— ์ง์ ‘๊ตฌํ˜„์„ ์‹œ๋„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์Šฌ๋ผ์ด๋“œ๋ฅผ ๋‹ด์„ ์ปจํ…์ธ ๋ฅผ ๋งŒ๋“ค๊ณ , ํด๋ฆญ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ• ๋•Œ๋งˆ๋‹ค ์ปจํ…์ธ ์˜ margin-left์— ๊ฐ’์„ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์„œ ๋…ธ์ถœ๋˜๋Š” ์นด๋“œ๋ฅผ ์ด๋™์‹œ์ผœ์คฌ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ transformX์†์„ฑ์„ ์ ์šฉํ•˜์—ฌ ์นด๋“œ๊ฐ€ ๋” ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์ด๋™๋˜๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ width๊ฐ’์— ๋”ฐ๋ฅธ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์—์„œ ์–ด๋ ค์›€์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ํ™”๋ฉด ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋…ธ์ถœ๋˜๋Š” ์นด๋“œ์˜ ์ˆ˜๋ฅผ ์กฐ์ •ํ•˜๊ณ  margin-left์†์„ฑ์— ์ ์šฉ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋‹ค๋ณด๋‹ˆ ๋™ํ•˜๋Š”๊ฒŒ ๋ถ€๋“œ๋Ÿฝ์ง€ ์•Š์•˜๊ณ , ์บ๋Ÿฌ์…€์ด ๋งŽ์•„๊ฑฐ๋‚˜ ์• ๋งคํ•œ ํฌ๊ธฐ์˜ ๊ฒฝ์šฐ์—๋Š” ์ขŒ์šฐ ๋Œ€์นญ์ด ๋งž์งˆ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋™์•ˆ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์€ ๋งŽ์€๋ฐ, ์บ๋Ÿฌ์…€ ๊ตฌํ˜„์—์„œ๋งŒ ์‹œ๊ฐ„์ด ๋งŽ์ด์ง€์ฒด๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํž˜์„ ๋นŒ๋ ค๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.

React-Slick ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์œ„ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ( ๊ธฐ๋ณธ์š”์†Œ๋“ค์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜์—ฌ ๋””์ž์ธํ•˜๋Š” ์‹œ๊ฐ„์ด ๊ฝค ๊ฑธ๋ ธ์ง€๋งŒ ) ๋ฐ˜์‘ํ˜• ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋”๋ถˆ์–ด ํ™”๋ฉด์— ๋…ธ์ถœ์‹œํ‚ฌ ์นด๋“œ์˜ ์ˆ˜, ํด๋ฆญ์„ ํ• ๋•Œ๋งˆ๋‹ค ๋„˜๊ธธ ์นด๋“œ์˜ ์ˆ˜ ๋“ฑ ๋งŽ์€ ์˜ต์…˜๋“ค์„ ์‰ฝ๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์„œ ํ›จ์”ฌ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋™์ž‘ํ•˜๋Š” ์บ๋Ÿฌ์…€์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊น€์ง€์šฐ
Q. ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์‹ ๊ฒฝ์ผ๋˜ ๋ถ€๋ถ„์€ ๋ฌด์—‡์ธ๊ฐ€์š”? A. ์ฃผ์ œ๋ฅผ ์„ ์ •ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋™์•ˆ ๊ณ„์†ํ•ด์„œ ๊ณ ๋ฏผํ–ˆ๋˜ ๊ฒƒ์€ ์šฐ๋ฆฌ์˜ ์„œ๋น„์Šค๊ฐ€ ์‹ค์ œ๋กœ ์ƒ์šฉํ™”๋˜๊ธฐ์—๋„ ์ข‹์„ ํŽธ๋ฆฌํ•œ ์„œ๋น„์Šค๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ‰์†Œ์— ์‚ฌ์šฉ์ž์˜ ์ž…์žฅ์—์„œ '์ด๋Ÿฐ ์„œ๋น„์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ์ข‹์„ํ…๋ฐ', '์ด๋Ÿฐ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋ฉด ๋” ํŽธ๋ฆฌํ• ํ…๋ฐ'๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ๋“ค์„ ๋– ์˜ฌ๋ ค๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๋‹ค์‹œ๋ณด๊ณ  ์‹ถ์€ ์›น์ปจํ…์ธ ๋‚˜, ์ž์ฃผ ๋“ค์–ด๊ฐ€๋Š” ์‚ฌ์ดํŠธ๋“ค์„ ๋ถ๋งˆํฌํ•ด์•ผ ํ•  ์ผ์ด ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ์ƒ๋‹จ ๋ถ๋งˆํฌํƒญ์— ์ €์žฅํ•˜๊ฑฐ๋‚˜, ๋ฉ”๋ชจ์žฅ์— ๋งํฌ๋ฅผ ๊ฑธ์–ด๋‘๊ฑฐ๋‚˜, ๋ฉ”์„ธ์ง€ ๋‚˜์—๊ฒŒ ๋ณด๋‚ด๊ธฐ ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์จ๋ณด์•˜์ง€๋งŒ, ํฉ์–ด์ง„ ๋ถ๋งˆํฌ๋ฅผ ์ฐพ์•„ ์˜ค๋žœ์‹œ๊ฐ„ ํ—ค๋งค๊ฒŒ ๋˜๋Š” ๋ถˆํŽธํ•จ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ์ €์žฅํ•ด๋‘๊ณ ๋„ ์žŠ์–ด๋ฒ„๋ ค ๋‹ค์‹œ ๋ณด์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.

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

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

์ •ํ•ด์ง„ ์‹œ๊ฐ„๋‚ด์— ๊ธฐํš,๋””์ž์ธ,๊ธฐ๋Šฅ๊ตฌํ˜„์„ ๋ชจ๋‘ ํ•ด์•ผํ•ด์„œ ์•„์ง ๋ถ€์กฑํ•œ ๋ฉด์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ์ €๋ฅผ ๋น„๋กฏํ•œ ํŒ€์›๋“ค ๋ชจ๋‘ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ, ๊ฐœ๋ฐœํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ž…์žฅ์ด ์•„๋‹Œ ์‚ฌ์šฉ์ž์˜ ์ž…์žฅ์—์„œ ํŽธ๋ฆฌํ•œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š” ์ผ์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด ๊ณต๊ฐํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์ ํŠธ๋ฅผ ๋”์šฑ ๊ฐœ์„ ํ•ด๋‚˜๊ฐˆ ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ([email protected] ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹คโ˜บ๏ธ)

Q. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„์ด ๋ฌด์—‡์ธ๊ฐ€์š”?

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

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

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

ํ˜ผ์ž๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฟ์ด์„œ ์ž‘์—…์„ ํ•  ๋•Œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ์ ๋“ค์„ ๊ฒฝํ—˜ํ•˜๋ฉด์„œ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ, ์•Œ์•„๋ณด๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ, ์žฌํ™œ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์˜ ์ค‘์š”์„ฑ์„ ๋Š๋‚„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์„์ค€
Q. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„์ด ๋ฌด์—‡์ธ๊ฐ€์š”? A. ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ์— ๋ฆฌ๋•์Šค์— ๋Œ€ํ•œ ์ง€์‹์„ ์žŠ์–ด์„œ ๋ฆฌ๋•์Šค๋ฅผ ํ†ตํ•œ ์ƒํƒœ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ์–ด๋ ค์šธ ์ค„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ œ๊ฒŒ ๋” ์–ด๋ ค์› ๋˜ ๊ฒƒ์€ ๋ฆฌ์•กํŠธ ํ›…์ž…๋‹ˆ๋‹ค. useEffect๊ฐ€ ์–ด๋–ค ์‹œ๊ธฐ์— ๋™์ž‘ํ•˜๋Š”์ง€ ๊ฐ์ด ์žกํžˆ์ง€ ์•Š์•„์„œ ๋ช‡ ์‹œ๊ฐ„๋™์•ˆ useEffect์— ๋Œ€ํ•ด ์ œ๋Œ€๋กœ ๋‹ค์‹œ ๊ณต๋ถ€ํ–ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋“œ๋ž˜๊ทธ์•ค ๋“œ๋กญ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ useRef๋ผ๋Š” ํ›…์—๋Œ€ํ•ด ์ฒ˜์Œ ์‘์šฉํ•ด๋ณด๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒ์†Œํ•˜๊ณ  ์–ด๋ ค์› ์ง€๋งŒ ๊ณต๋ถ€ํ•ด ์Šต๋“ํ•ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์ด ์ฆ๊ฑฐ์› ์Šต๋‹ˆ๋‹ค.
Q. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ํŠน๋ณ„ํžˆ ์‹ ๊ฒฝ์ผ๋˜ ๋ถ€๋ถ„์ด ์žˆ๋‚˜์š”? A. ๋น„ํšŒ์› ์‚ฌ์šฉ์ž๊ฐ€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ถ๋งˆํฌ ๊ด€๋ฆฌ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ์ฝœ๋ ‰ํŠธํŽ˜์ด์ง€ ๊ฒŒ์ŠคํŠธ๋ชจ๋“œ ๊ธฐ๋Šฅ๊ตฌํ˜„์— ์‹ ๊ฒฝ์„ ๋งŽ์ด ์ผ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ SR๋‹จ๊ณ„์—์„œ ํŒ€์› ๋ชจ๋‘์˜ ์ƒ๊ฐ์ด ์ผ์น˜ํ–ˆ๋˜ ๋ถ€๋ถ„์ด ๋น„ํšŒ์›๋„ ์ €ํฌ ์„œ๋น„์Šค๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋น„ํšŒ์›์ด ์ถ”๊ฐ€ํ•˜๋Š” ๋ถ๋งˆํฌ๋Š” ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด์ง€ ์•Š๊ณ  ๋ฆฌ๋•์Šค ์Šคํ† ์–ด์— ์ €์žฅ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ถ๋งˆํฌ๋ฅผ ์ˆ˜์ •, ์‚ญ์ œํ•  ๋•Œ๋„ ์Šคํ† ์–ด์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ณ  ์ฐพ์•„์„œ ์ˆ˜์ •,์‚ญ์ œ๊ฐ€ ์ด๋ค„์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋งˆ์น˜ sequelize๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์„ ์ œ๊ฐ€ ๋ณต์žกํ•˜๊ฒŒ ์ง์ ‘ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์งˆ ์ˆ˜๋ก ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์•„์กŒ๊ณ  ์• ๋ฅผ ๋จน์—ˆ์ง€๋งŒ ๋งˆ์นจ๋‚ด ๊ตฌํ˜„ํ–ˆ์„ ๋•Œ ๋ฟŒ๋“ฏํ•จ์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค.ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚˜๋”๋ผ๋„ ๋ฆฌํŒฉํ† ๋ง์„ ํ†ตํ•ด์„œ ๊ฒŒ์ŠคํŠธ ๋ชจ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ์ฐพ์•„๋ณด๊ณ  ๊ฐœ์„ ํ•ด ๋‚˜๊ฐˆ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
๋ฐ•์œ ๋นˆ

๐Ÿ—’ Wiki

https://github.com/codestates/re-collect-client/wiki

โš™๏ธ Server repository

https://github.com/codestates/re-collect-server

๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ๋งํฌ์—์„œ ํ™•์ธ

https://codestates.notion.site/9-Collector-Recollect-3fcb48a9a7a8422a8c615619382851b3