๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’๊ณต๋ถ€/ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ์ฝ”์Šค11

[ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ์ฝ”์Šค] 3์ฃผ์ฐจ - ๊ณผ์ œ4 โœ์•Œ๊ฒŒ๋œ ๊ฒƒ๊ณผ ๋Š๋‚€์  ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—๋„ ์„ค๊ณ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค CSS์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด CSS์—์„œ (์ผ์ • ๊ธ€์ž ์ˆ˜ ์ด์ƒ์ด๋ฉด ์ž๋ฅด๊ณ  ... ๋ถ™์ด๊ธฐ = ellipsis) ์ปดํฌ๋„ŒํŠธ ๋‚ด ๋ณ€์ˆ˜ ์œ„์น˜ ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง, ์‚ผํ•ญ์—ฐ์‚ฐ์ž ๊ทธ๋งŒ ์‚ฌ๋ž‘ํ•˜์ž lodash์˜ uniqBy ๋ฆฌ๋•์Šค ํˆดํ‚ท Redux DevTools ์žŠ์ง€๋ง์ž ํ”„๋ก ํŠธ์—”๋“œ ํด๋ฆฐ์ฝ”๋“œ ๐Ÿ”ฅ๊ทธ๋ž˜์„œ ํ•ด๋ณด๋Š” ์ •๋ฆฌ 1. ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—๋„ ์„ค๊ณ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ž๋ฐ”๋กœ ํ”„๋กœ์ ํŠธ ํ•  ๋•Œ๋„ ์„ค๊ณ„๊ฐ€ ๊ฑฐ์˜ ๊ฐœ๋ฐœ์ด๋ž‘ ๋งž๋จน๊ฒŒ ๊ฑธ๋ ธ์—ˆ๋Š”๋ฐ ํฌ๊ฒŒ ๋‹ค๋ฅผ๋ฆฌ๊ฐ€ ์—†๊ฒ ์ง€..! ์˜ˆ๋ฅผ๋“ค๋ฉด ์ €๋ฒˆ ๊ณผ์ œ ๋ฆฌ๋ทฐ์ธ๋ฐ, ์‚ฌ์šฉ์ž ๋“ฑ๊ธ‰์ด ์žˆ์–ด์„œ ๊ฐ ๋“ฑ๊ธ‰๋ณ„๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ์‹œํŒ์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ์— ์œ„์™€ ๊ฐ™์ด access(์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€)๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์ ์–ด์ฃผ์ง€ ์•Š๊ณ  ํ•ด๋‹น ์œ ์ €์˜ ๊ถŒํ•œ level๋งŒ ์ „๋‹ฌํ•œ ํ›„ ๊ทธ์— ๋”ฐ๋ฅธ ์ ‘๊ทผ .. 2021. 8. 11.
[ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ์ฝ”์Šค] 2์ฃผ์ฐจ -๊ณผ์ œ3(2) โœ์•Œ๊ฒŒ๋œ ๊ฒƒ๊ณผ ๋Š๋‚€์  forwardRef styled component๋ฅผ importํ•  ๋•Œ ๋‚ด๊ฐ€ ํ•œ ์‹ค์ˆ˜ - Circular dependency ์ƒ์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค๋Š” ๊ฒƒ์€ - const์™€ Object.freeze ๋‚˜๋ฌด๋ง๊ณ  ์ˆฒ์„๋ณด๋Š” ์ฝ”๋“œ๋ฅผ ์งœ๊ณ ์‹ถ๋‹ค netlify์—์„œ ๋ฐฐํฌํ•˜๊ธฐ (treat warning as errors) - CI=false npm run build ๐Ÿ”ฅ๊ทธ๋ž˜์„œ ํ•ด๋ณด๋Š” ์ •๋ฆฌ 1. forwardRef ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ์— ์žˆ๋Š” ์—˜๋ฆฌ๋จผํŠธ์— ์ ‘๊ทผํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋ฒˆ์— ํšŒ์›๊ฐ€์ž…์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ, ์ œ๋Œ€๋กœ ์ž…๋ ฅ ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์— toast๋ฅผ ๋„์šฐ๋ฉด์„œ ํ•ด๋‹น input์— focus๋ฅผ ์ฃผ๋Š” ์ž‘์—…์„ ํ•˜๋Š”๋ฐ, ์ฃผ์†Œ ์ž…๋ ฅํ•˜๋Š” ์นธ์ด ์ปดํฌ๋„ŒํŠธ๋กœ ๋“ค์–ด์™€์žˆ์–ด์„œ... focus๋ฅผ ์–ด๋–ป๊ฒŒ ์ฃผ์ฃ ? ~๊ณ ๋ฏผ์˜ ์‹œ์ž‘~ (1) ์ƒ์œ„ ์ปดํฌ๋„Œ.. 2021. 8. 8.
[ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ์ฝ”์Šค] 2์ฃผ์ฐจ -๊ณผ์ œ3(1) ์ด๋ฒˆ ๊ณผ์ œ๋Š” ์ผ์ฃผ์ผ ๊ฝ‰์ฑ„์šด ๊ณผ์ œ! ๊ทธ๋ž˜์„œ ์ˆ˜์š”์ผ์— ์ œ์ถœํ•˜๋Š”๊ฑด ์ค‘๊ฐ„ ์ ๊ฒ€(?) ๋Š๋‚Œ์ด๋‹ค โœ์•Œ๊ฒŒ๋œ ๊ฒƒ๊ณผ ๋Š๋‚€์  ํ™˜๊ฒฝ์„ค์ •์€ ์–ธ์ œ ํ•ด๋„ ์–ด๋ ต๋‹ค ํŒŒ์ผ์„ ์ชผ๊ฐœ๊ธฐ ์ƒํƒœ๊ด€๋ฆฌ๊ฐ€ ๊ทธ๋Ÿฐ ๋ง์ด์—ˆ๊ตฐ์š”? merge์™€ rebase์˜ ์ฐจ์ด styled-component์™€ ์–ธ์ œ ์นœํ•ด์ง€๋‚˜์š”? ์• ์ž์ผ๊ณผ ์Šคํฌ๋Ÿผ ์ปจ๋ฒค์…˜...? ๐Ÿ”ฅ๊ทธ๋ž˜์„œ ํ•ด๋ณด๋Š” ์ •๋ฆฌ 1. ํ™˜๊ฒฝ์„ค์ •์€ ์–ธ์ œ ํ•ด๋„ ์–ด๋ ต๋‹ค ์ด๋ฒˆ์— ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•ด์„œ ๊ณต์œ ํ•˜๋Š”๋ฐ ์ € ํ‘ธ์‹œํ–‡์Šด๋‹น~ ํ•˜๊ณ  ๋‚˜๋‹ˆ๊นŒ ๋ช‡๊ฐœ ๋บด๋จน์–ด์„œ ์ ์–ด๋‘”๋‹ค๐Ÿ˜”..... ๊นŒ๋จน๊ธฐ ์‰ฌ์šด ๋ชฉ๋ก npm install prettier eslint-plugin-prettier eslint-config-prettier -D (prettier, eslint) npm install styled-components.macro (styled-compon.. 2021. 8. 4.
[ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ์ฝ”์Šค] 1์ฃผ์ฐจ -๊ณผ์ œ2 โœ์•Œ๊ฒŒ๋œ ๊ฒƒ๋“ค API๊ฐ€ ํ•ญ์ƒ ์ฃผ์–ด์งˆ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ๋ง๊ธฐ ๊นƒ ๋ธŒ๋žœ์น˜์˜ ํšจ๊ณผ์ ์ธ ์‚ฌ์šฉ๋ฒ•! (master์—์„œ ํƒˆ์ถœํ•˜๊ธฐ) ๋ฆฌ์•กํŠธ๋Š” FontAwesomeIcon์„ import ํ•ด์•ผ ํ•ด (feat. npm install์˜ ํ•จ์ •) ํšจ์œจ์ ์ธ ์ƒ์ˆ˜ ๊ด€๋ฆฌ๋ฒ• ์–ด๋ฆด์ ๋ถ€ํ„ฐ ๋‚œ ๋ ˆ๊ณ ๋ฅผ ๋ชปํ–ˆ์–ด ์•„์ง์€ ์–ด๋ ค์šด styled-components ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ ๋„ˆ์–ด๋Š” ์ •๋ง ๐Ÿ”ฅ๊ทธ๋ž˜์„œ ํ•ด๋ณด๋Š” ์ •๋ฆฌ 1. API๊ฐ€ ํ•ญ์ƒ ์ฃผ์–ด์งˆ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ๋ง๊ธฐ UI ๊ตฌ์„ฑ์— ํ•„์š”ํ•œ ๋ฐฑ์—”๋“œ API๊ฐ€ ์ค€๋น„๋˜์ง€ ์•Š์•˜์„ ๋•Œ, ์ƒ˜ํ”Œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ž‘์—… ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ (mock data) public/data ํด๋” ์•ˆ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์‚ฌ์šฉํ•˜๋Š” component ํŒŒ์ผ๊ณผ ๊ฐ™์€ level์— ์œ„์น˜ ์‹œํ‚จ ํ›„ import ํ•ด๋„ ๋จ ๐Ÿ’ก์ž ๊น!.. 2021. 8. 1.
[ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ์ฝ”์Šค] 1์ฃผ์ฐจ -๊ณผ์ œ1 โœ์•Œ๊ฒŒ๋œ ๊ฒƒ๋“ค (so many) styled-components jsconfig.json ์ถ”๊ฐ€ํ•˜์—ฌ ๋ชจ๋“ˆ์„ ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ์ž„ํฌํŠธ Intersection Observer [ { isIntersecting } ] dl, dt, dd README์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” Markdown Badges netlify๋กœ ๋ฐฐํฌํ•˜๊ธฐ ์™œ?์˜ ์†Œ์ค‘ํ•จ feat. ์Šต๊ด€ ๋ฒ„๋ฆฌ๊ธฐ ๐Ÿ”ฅ๊ทธ๋ž˜์„œ ํ•ด๋ณด๋Š” ์ •๋ฆฌ 1. styled-components css in js ๋ฐฉ์‹์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง ๋  ๋•Œ ์Šคํƒ€์ผ ์ •๋ณด๋ฅผ ์ฝ๋Š”๋‹ค๊ณ  ํ•œ๋‹ค. but ๊ทธ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง ๋  ๋•Œ ๋งˆ๋‹ค(!) ์Šคํƒ€์ผ์ •๋ณด๋„ ๊ฐ€์ ธ์˜ด → ๋™์ ์ธ ์ด๋ฒคํŠธ๊ฐ€ ์•„์ฃผ ๋งŽ์€ ์‚ฌ์ดํŠธ๋ผ๋ฉด ์ปดํฌ๋„ŒํŠธ ์ „ํ™˜์ด ๋งŽ์„ ํ…๋ฐ ๊ทธ๋Ÿฌ๋ฉด ๋ Œ๋”๋ง์ด ๋„ˆ๋ฌด ๋งŽ์•„์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๊ธฐ๋„ ํ•˜๋‹ค. ๊ทธ๋ž˜๋„ ํด๋ž˜์Šค๋ช…์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ƒ๊ฐํ•˜์ง€ ์•Š.. 2021. 7. 28.