์ „์ฒด ๊ธ€

์„ฑ์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ธ€์„ ์ž‘์„ฑํ•˜๋ ค๊ณ  ๋…ธ๋ ฅ์ค‘ ์ž…๋‹ˆ๋‹ค
๋“œ๋””์–ด..! LeafyLog ๋ฉ”์ธ ํŽ˜์ด์ง€ ์ฝ”๋”ฉ์„ ์‹œ์ž‘ํ–ˆ๋‹ค. ์œ„๋Š” ์ตœ์ข… ๋””์ž์ธ ์‹œ์•ˆ์ด๋‹ค. ์ฃผ์š” ๊ธฐ์ˆ ์€ next.js์™€ typescript์ด๋‹ค. ๋ฌธ์ œ์ 1 ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์–ด๋ ค์› ๋˜ ์ ์€ next.js์™€ typescript์˜€๋‹ค. ๋‚˜๋Š” TopDown๋ฐฉ์‹์œผ๋กœ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•ด์„œ ์ด๊ฒƒ๋“ค์˜ ๊ฐ•์˜๋ฅผ ๋จผ์ € ํ•™์Šตํ•œ ํ›„ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ๋ณด๋‹ค ์ผ๋‹จ ์ด ๋‘˜๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ดˆ๋ฐ˜๋ถ€ํ„ฐ styled-components๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋“ฑ์˜ ์ž์ž˜ํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๋˜ํ•œ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์“ฐ๋‹ˆ props์„ ๋„˜๊ธธ ๋•Œ๋งˆ๋‹ค ๋ฌด์Šจ ํƒ€์ž…์ธ์ง€ ์ง€์ •ํ•ด์ค˜์•ผ ํ•˜๋‹ˆ ์—ฌ๊ฐ„ ๋ฒˆ๊ฑฐ๋กœ์šด๊ฒŒ ์•„๋‹ˆ์—ˆ๋‹ค. Typescript์— ์žฅ์ ์„ ์–ด๋А์ •๋„ ์•Œ๊ณ  ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋‹น์žฅ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•  ๋•Œ ์‹œ๊ฐ„์ด 2๋ฐฐ๋กœ ๊ฑธ๋ฆฌ๋‹ˆ ์ด๊ฑธ ์™œ ์จ์•ผ ํ•˜๋Š”๊ฐ€..
์ถฉ๋‚จ๋Œ€ sw์•„์นด๋ฐ๋ฏธ์˜ ๊ต์œก์ƒ์œผ๋กœ์„œ ํŒ€ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ nextjs๋ฅผ ์“ฐ๋Š” ๋ฐ ์–ด๋ ค์›€ ์ค‘ ํ•˜๋‚˜๋Š” url์— ์ง์ ‘ https://localhost:3000๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•˜๋ฉด ์ „์ฒด ํŽ˜์ด์ง€์— ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ธ€์„ ์“ฐ๋Š” ์™€์ค‘์— 2๊ฐ€์ง€ ์˜ค๋ฅ˜ ์ค‘ ํ•œ๊ฐ€์ง€ ์˜ค๋ฅ˜๋Š” ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์œ„์™€ ๊ฐ™์ด ํ•ด๊ฒฐํ–ˆ๊ณ , ๋‚˜๋จธ์ง€ ์˜ค๋ฅ˜๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์•„๋‹ˆ๋‹ค.. ์œ„์— ๊ฒƒ๋„ ๋‹ค์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋œฌ๋‹ค. ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์Œ ์ด๋Š” nextjs์—์„œ ssr์„ ํ•  ๋•Œ styled component๊ฐ€ ๋ฐ˜์˜์ด ์•ˆ ๋˜์–ด์„œ ๋ผ๊ณ  ํ•œ๋‹ค. https://tesseractjh.tistory.com/164 [Next.js] Next.js์—์„œ Prop `className` did not match ๊ฒฝ๊ณ ๊ฐ€ ๋œจ๋Š” ์ด์œ  ์ด ๊ธ€์€ Prop `prop..
์ฒ˜์Œ์—๋Š” ์™„์ „ ๋‚˜์ด๋ธŒ ํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งฐ์—ˆ๋‹ค. for i in range(n): for j in range(n): if i==j: continue if len(phone_book[i]) > len(phone_book[j]):continue if phone_book[i] == phone_book[j][0:len(phone_book[i])]: print(phone_book[i]) return False ํ•˜์ง€๋งŒ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(N^2)์ด๋‹ค ๋ณด๋‹ˆ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ ๋–จ์–ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. def solution(phone_book): n = len(phone_book) phone_book.sort() for i in range(1,n): if phone_book[i-1] in phone_book[i] return..
ยท TIL
ํŒŒ์ผ์˜๊ฒฝ๋กœ๊ฐ€ url ์ฃผ์†Œ๊ฐ€ ๋˜๋Š” ๊ธฐ๋Šฅ pages์— ์œ„์™€ ๊ฐ™์ด ๊ตฌ์„ฑ products/1 ์™€ ๊ฐ™์ด ์ ‘๊ทผ ๊ฐ€๋Šฅ Link๋Š” ํด๋ฆญํ–ˆ์„ ๋•Œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ '์ค€๋น„'๋˜๋ฉด ํŽ˜์ด์ง€๊ฐ€ ๋„˜์–ด๊ฐ aํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽ˜์ด์ง€๋ฅผ ์ „๋ถ€ ๋‹ค ์ƒˆ๋กœ ๋ฐ›์•„์˜ด. Link๋กœ ์™ธ๋ถ€ ๋งํฌ ์—ฐ๊ฒฐํ•  ๋•Œ๋Š” aํƒœ๊ทธ ์ฒ˜๋Ÿผ ๋™์ž‘ํ•จ
๋“œ๋””์–ด ์™„์„ฑ๋„ ์žˆ๋Š” ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ์‚ฌ์‹ค, ๋ฉ˜ํ† ๋‹˜์˜ ๋„์›€์ด ์—†์—ˆ์œผ๋ฉด ์‹œ์ž‘ํ•˜์ง€๋„ ์•Š์•˜์„ ํ”„๋กœ์ ํŠธ์ด๋‹ค. ์ด๋ฒˆ ๊ธฐํšŒ์— ๋งŽ์ด ๋ฐฐ์›Œ์•ผ์ง€! ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‚ด๊ฒ ๋„์ „์ ์ธ ๊ณผ์ œ๋ฅผ ์ฃผ์…จ๋‹ค. ํ•œ ๋ฒˆ๋„ ํ”ผ๊ทธ๋งˆ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์ด ์—†๋Š”๋ฐ ํ”ผ๊ทธ๋งˆ๋กœ ์™€์ด์–ด ํ”„๋ ˆ์ž„์„ ์ œ์ž‘ํ•˜๋ผ๋Š” ์ˆ™์ œ์˜€๋‹ค. ๋ง‰๋ง‰ํ–ˆ์ง€๋งŒ ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜๊ณ  ์–ด๋А์ •๋„ ๋งŒ์กฑํ•œ ๊ฒฐ๊ณผ๋ฌผ์ด ๋‚˜์™”๋‹ค. ๊นƒํ—ˆ๋ธŒ ์ž”๋””๋ฐญ์„ ๋ณด๋ฉฐ ๋ฟŒ๋“ฏํ–ˆ๋˜ ๊ฒฝํ—˜ ๋‹ค๋“ค ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ปค๋ฐ‹ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ํ•™์Šต๋“ค์„ ๊ธฐ๋กํ•˜๊ณ  ์ด๋ฅผ ์ž”๋””๋ฐญ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋™๊ธฐ๋ถ€์—ฌ์—๋„ ๋„์›€์ด ๋  ๊ฒƒ๊ณ  ๋ฌด์—‡๋ณด๋‹ค ์ž์‹ ์ด ํ•™์Šตํ•œ ๋‚ด์šฉ๊ณผ ๋ชฉํ‘œ๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์–ด ๋ฉ”ํƒ€์ธ์ง€์—๋„ ๋„์›€์ด ๋  ๊ฒƒ์ด๋‹ค. (์ •์งํ•˜๊ฒŒ ์„ฑ์‹คํžˆ ๊ธฐ๋กํ•œ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์—) ๋ชฉํ‘œ ์„ค์ • ๊ธฐ๋Šฅ๊ณผ ์ง„์ฒ™๋„ ๊ธฐ๋ก ๊ธฐ๋Šฅ ๊ทธ๋ฆฌ๊ณ  ๋ชฉํ‘œ์— ๋Œ€ํ•œ ์ง„์ฒ™๋„์˜ ํผ์„ผํ…Œ์ด์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ. ๊ทธ..
๊ธฐ๋Œ€ํ•˜๋˜ ๋ฉ˜ํ† ๋ง ์ˆ˜์—…์„ ๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์„ค๊ณ„๋ฅผ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ ์–ด๋–ค ์‹์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค๊ณ„ํ• ์ง€ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๊ณ  ๊ธฐ๋ณธ์ ์ธ ํ”ผ๊ทธ๋งˆ ์‚ฌ์šฉ๋ฒ•์„ ์ตํž ์ˆ˜ ์žˆ์—ˆ๋‹ค. 1. ์—ฌ๋Ÿฌ ๋””์ž์ธ ํŒŒ์ผ๋“ค์„ ๋ชจ์•„์„œ ์–ด๋–ค ์ปจ์…‰์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์ง€ ์ •ํ–ˆ๋‹ค. ๋ฉ”์ธ ์ปฌ๋Ÿฌ๋“ค์„ ์ •ํ•˜๊ณ  ๊ธฐ๋ณธ์ ์ธ ํ”ผ๊ทธ๋งˆ ์‚ฌ์šฉ๋ฒ•์„ ์ตํ˜”๋‹ค. 2. ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ •๋ฆฌํ–ˆ๋‹ค. 3. ํ•„์š”ํ•œ ๊ธฐ์ˆ  ์Šคํƒ์„ ์ •๋ฆฌํ–ˆ๋‹ค. 4. ๋ธ”๋กœ๊ทธ ๊ด€๋ จ ํŒ์„ ๋“ค์—ˆ๋Š”๋ฐ ๋งค์šฐ ๋„์›€์ด ๋˜์—ˆ๋‹ค. 4-1. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ์–ด๋ ค์› ๋˜ ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€. 1. webpack ํ˜น์€ CRA ์„ ์จ์„œ ๊ธฐ๋ณธ ์…‹์—…์„ ํ•˜๊ธฐ 2. ํ”ผ๊ทธ๋งˆ๋กœ ๋””์ž์ธ ๋งŒ๋“ค๊ธฐ 3. typescript, recoil, nextjs ๊ธฐ๋ณธ์ ์ธ ๊ณต๋ถ€ ํ•ด๋†“๊ธฐ ์ฒซ์ฃผ์ฐจ์ง€๋งŒ ๋ธ”๋กœ๊ทธ ๊ด€๋ จ ํŒ๋„ ์ฃผ์‹œ๊ณ  ๊ฝค ์•Œ์ฐผ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค. ๊ณผ์ œ๋„ ์—ด์‹ฌํžˆ ํ•˜๊ณ  ์งˆ..
์ •์ƒ์ ์œผ๋กœ ์ฝ”๋”ฉ์„ ํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  Link๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š์•˜๋‹ค. ์ •ํ™•ํžˆ๋Š” url์€ ๋ฐ”๋€Œ๋Š”๋ฐ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š์•˜๋‹ค. ์ด๋ฅผ ์˜์–ด๋กœ ๋ฒˆ์—ญํ•˜์—ฌ ์งˆ๋ฌธํ•œ ๊ฒฐ๊ณผ ์•„๋ž˜์™€ ๊ฐ™์€ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋‘ ์‹œ๊ฐ„์˜ ๊ณ ์ƒ์ด ํ•œ ๋ฒˆ์— ์‚ฌ๋ผ์ง€๊ณ  ๋ง์•˜๋‹ค. ๊ฒฐ๊ตญ index.tsx์— ์žˆ๋Š” Strict Mode๊ฐ€ ๋ฌธ์ œ์˜€๋‹ค.. ์ง€์šฐ๋‹ˆ ์ž˜ ๋™์ž‘ํ•œ๋‹ค.. withRouter()๋ผ๋Š” ํ•ด๊ฒฐ๋ฐฉ๋ฒ•๋„ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋‚˜๋Š” withRouter()๋ฅผ ์ ์šฉํ•˜์ง€๋Š” ์•Š์•˜๋‹ค. https://stackoverflow.com/questions/43351752/react-router-changes-url-but-not-view
๋งˆ๋ฒ•์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋“ค๋จน์ด๋Š” ๊ฑธ ๋ณด๋‹ˆ ์‹ค๋ ฅ์ด ์•„์ง์€ ๋ถ€์กฑํ•˜๋‹ค๋Š” ๋œป์ด๋‹ค. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•˜๋‹ˆ props์„ ์ „๋‹ฌํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์€ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์˜ ์˜ค๋ฅ˜๋ฉ”์„ธ์ง€๋“ค์„ ๋งŽ์ด ๋งŒ๋‚  ์ˆ˜ ์žˆ์—ˆ๋‹ค. Binding element "something" implicity has an any type ๋‚ด๊ฐ€ ๋“ฃ๋Š” ๋ฆฌ์•กํŠธ ๊ฐ•์˜์—์„œ interface๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ๋‚˜๋Š” ๊ทธ๊ฒŒ ์ž˜ ์•ˆ๋˜์–ด์„œ any๋ฅผ ๋ถ™์—ฌ์ค˜์„œ ํ•ด๊ฒฐํ•˜๊ณ  ์žˆ๋‹ค. ๋ฏธ๋ž˜์˜ ๋‚˜์—๊ฒŒ ์งˆ๋ฌธํ•˜๊ณ  ์‹ถ๋‹ค. ๊ตณ์ด ํƒ€์ž…์„ props์— ๋ช…์‹œํ•ด์ค˜์„œ ์–ป๋Š” ํšจ๊ณผ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ ์ด๊ฒƒ์„ ๋Šฅ์ˆ™ํ•˜๊ฒŒ ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€
๊น€ํƒœ์ง„
My Dev History๐Ÿ’ป