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

Lect & Tip133

1678. Goal Parser Interpretation leetcode javascript ํ•ด์„ ๋ฐ ํ’€์ด 1678. Goal Parser Interpretation leetcode javascript ํ•ด์„ ๋ฐ ํ’€์ด LeetCode ๋ฌธ์ œ ํ•ด์„ LeetCode์˜ "1678. Goal Parser Interpretation" ๋ฌธ์ œ๋Š” ๋ฌธ์ž์—ด ํ•ด์„๊ณผ ๊ด€๋ จ๋œ ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ํฅ๋ฏธ๋กœ์šด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ํŒจํ„ด์„ ์‹๋ณ„ํ•˜๊ณ , ๊ทธ ํŒจํ„ด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ์„ค๋ช… ์ด ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์€ 'G', '()' ๋ฐ '(al)'์˜ ์„ธ ๊ฐ€์ง€ ํŒจํ„ด์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ 'G'๋Š” ๊ทธ๋Œ€๋กœ 'G'๋กœ ํ‘œํ˜„๋˜๊ณ , '()'๋Š” 'o'๋กœ, ๊ทธ๋ฆฌ๊ณ  '(al)'์€ 'al'๋กœ ๋ณ€ํ™˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์— ๋”ฐ๋ผ ํ•ด๋‹น ๊ทœ์น™์„ ์ ์šฉํ•ด ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ด ๋ฌธ์ œ์˜ ๋ชฉํ‘œ.. 2023. 11. 20.
๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ v5 ์—์„œ ๋ฐ”๋€ ์  react query v5 react query v5 ๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ v5์˜ ์ฃผ์š” ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ v5์—์„œ๋Š” ๋งŽ์€ ์ค‘์š”ํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด react query v5 ๋ณ€ํ™”๋“ค์€ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๋ณด๋‹ค ๋ช…ํ™•ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ ์ž‘์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ผ ๊ฐ์ฒด ์‹œ๊ทธ๋‹ˆ์ฒ˜ ์ง€์›: ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” useQuery์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋“ค์ด TypeScript์—์„œ ๋‹ค์–‘ํ•œ ์˜ค๋ฒ„๋กœ๋”ฉ์„ ์ง€์›ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ v5์—์„œ๋Š” ๊ฐ์ฒด ํ˜•์‹๋งŒ์„ ์ง€์›ํ•˜์—ฌ, ๋”์šฑ ๊ฐ„๊ฒฐํ•˜๊ณ  ๋ช…ํ™•ํ•œ ์ฝ”๋“œ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹คใ€7ใ€‘. queryClient.getQueryData ๋ฐ queryClient.getQueryState ๋ณ€๊ฒฝ: ์ด์ œ ์ด ํ•จ์ˆ˜๋“ค์€ queryKey๋งŒ์„ ์ธ์ž๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ด๋Š” API์˜ ์ผ๊ด€์„ฑ์„ ๋†’์ด๊ณ , ์‚ฌ์šฉ์˜ ๋‹จ์ˆœํ™”๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹คใ€8ใ€‘ใ€9ใ€‘.. 2023. 11. 13.
์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด JS ์†Œ์ˆ˜ ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋งŒ๋“ค๊ธฐ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด: ์ˆ˜ํ•™๊ณผ ์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ์˜ ์ค‘์š”์„ฑ ์ˆ˜ํ•™๊ณผ ๊ณ ๋Œ€ ์—ญ์‚ฌ์—์„œ์˜ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋Š” ๊ณ ๋Œ€ ๊ทธ๋ฆฌ์Šค ์ˆ˜ํ•™์ž ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค๊ฐ€ ๋ฐœ๊ฒฌํ•œ ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์ •ํ•ด์ง„ ๋ฒ”์œ„ ์•ˆ์˜ ๋ชจ๋“  ์†Œ์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด, 2๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๊ทธ ๋ฐฐ์ˆ˜๋ฅผ ์ง€์›Œ๋‚˜๊ฐ€๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 2์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ง€์šฐ๊ณ , ๋‹ค์Œ์œผ๋กœ ๋‚จ์€ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜์ธ 3์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ง€์›๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด ๊ฒฐ๊ตญ ๋‚จ๋Š” ์ˆ˜๋“ค์ด ๋ฐ”๋กœ ์†Œ์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹จ์ˆœํ•จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋งค์šฐ ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์†Œ์ˆ˜๋Š” ์ˆ˜ํ•™์˜ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์•”ํ˜ธํ•™์—์„œ๋„ ๋งค์šฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ํšจ์œจ์ ์œผ๋กœ ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์€ ๊ณ ๋Œ€๋ถ€ํ„ฐ ํ˜„๋Œ€์— ์ด๋ฅด.. 2023. 11. 10.
css,html ์ด์˜๊ฒŒ ์ •๋ฆฌ ์‚ฌ์ดํŠธ c style,json,js javascript beautifier Tabifier css, html ์ด์˜๊ฒŒ ์ •๋ฆฌ ์‚ฌ์ดํŠธ c style, json, js javascript beautifier Tabifier ์›น์‚ฌ์ดํŠธ ์†Œ๊ฐœ ์›น ๊ฐœ๋ฐœ ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์—…์—์„œ ๊ฐ€๋…์„ฑ ์ข‹๊ณ  ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌ๋œ ์ฝ”๋“œ๋Š” ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์˜ ๊ธฐ๋ณธ ์†Œ์–‘ ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, ์ด๋ฅผ ๋•๋Š” ๋‹ค์–‘ํ•œ ์˜จ๋ผ์ธ ๋„๊ตฌ๋“ค์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” HTML, CSS, JavaScript, C์–ธ์–ด ์Šคํƒ€์ผ, JSON, SQL ๋“ฑ ๋‹ค์–‘ํ•œ ์–ธ์–ด์˜ ์ฝ”๋“œ๋ฅผ ์•„๋ฆ„๋‹ต๊ฒŒ ์ •๋ฆฌํ•ด ์ฃผ๋Š” ์œ ์šฉํ•œ ์›น์‚ฌ์ดํŠธ๋“ค์„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ ๊ทผ๋ฐ, vscode๋“ , ์ดํด๋ฆฝ์Šค๋“  IDE์‚ฌ์šฉํ•˜๋ฉด ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ๋ทฐํ‹ฐํŒŒ์ด์–ด ์ง€์›ํ•˜๋Š”๋ฐ ์ด๋Ÿฐ ์‚ฌ์ดํŠธ ์™œ ํ•„์š”ํ•จ? ์ด๋ผ๊ณ  ๋ฌด์„ ์‹ ๋‹ค๋ฉด... ๋‚ด ์ปด์ด ์•„๋‹Œ ๋ฐ์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฉ”๋ชจ์žฅ์—์„œ ์ฝ”๋“œ ์งœ์„œ ๋ง‰ FBIํ•ดํ‚นํ•˜.. 2023. 11. 8.
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ”์ธ๋”ฉ: ํ™œ์šฉ๊ณผ ์ฃผ์˜์  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ”์ธ๋”ฉ: ํ™œ์šฉ๊ณผ ์ฃผ์˜์  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฐ”์ธ๋”ฉ(binding)์ด๋ž€, ํŠน์ • ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋‚˜ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋˜๋Š” this์˜ ๊ฐ’์„ ๊ณ ์ •ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” this๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด๊ฐ€ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํŠน์„ฑ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. this์˜ ๋™์ ์ธ ํŠน์„ฑ์€ ์œ ์šฉํ•  ๋•Œ๋„ ์žˆ์ง€๋งŒ, ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ์— ๋ฐ”์ธ๋”ฉ์„ ํ†ตํ•ด ์•ˆ์ •์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ”์ธ๋”ฉ์˜ ํ•„์š”์„ฑ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœ๋˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ this ๊ฐ’์ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฉ”์„œ๋“œ๋กœ ํ˜ธ์ถœ๋  ๋•Œ๋Š” this๊ฐ€ ๊ทธ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค์ง€๋งŒ, ์ผ๋ฐ˜ ํ•จ์ˆ˜๋กœ ํ˜ธ์ถœ๋  ๋•Œ๋Š” this๊ฐ€ ์ „์—ญ ๊ฐ์ฒด(๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” window, Node.js์—์„œ๋Š” global)๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฑฐ๋‚˜ un.. 2023. 11. 7.
๋ฆฌ์•กํŠธ ํด๋” ๊ตฌ์กฐ React JS Folder Structure RJSFS ๋ฆฌ์•กํŠธ ํด๋” ๊ตฌ์กฐ React JS Folder Structure RJSFS ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—, ์ฒด๊ณ„์ ์ด๊ณ  ํšจ์œจ์ ์ธ ํด๋” ๊ตฌ์กฐ๋ฅผ ์„ธ์šฐ๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ์˜ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๊ณ , ํŒ€์› ๊ฐ„์˜ ํ˜‘์—…์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋ฉฐ, ํ”„๋กœ์ ํŠธ์˜ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ํด๋” ๊ตฌ์กฐ์— ๋Œ€ํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ๊ณผ ํŒ์„ ์ œ๊ณตํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ์— ๋”ฐ๋ฅธ ๊ตฌ์กฐํ™” ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ, ๋ณต์žกํ•œ ํด๋” ๊ตฌ์กฐ๋ณด๋‹ค๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ๋ช…ํ™•ํ•œ ๊ตฌ์กฐ๊ฐ€ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ปดํฌ๋„ŒํŠธ์™€ ๊ด€๋ จ ํŒŒ์ผ๋“ค์„ ๊ธฐ๋Šฅ๋ณ„๋กœ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. src components Header Header.js Header.css Footer Footer.js Footer.css p.. 2023. 10. 27.