๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 293

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 02์žฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€?

์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 2.1 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํƒ„์ƒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 1996๋…„ 3์›” ๋„ท์Šค์ผ€์ดํ”„ ์›น ๋ธŒ๋ผ์šฐ์ €์— ํƒ‘์žฌ๋˜์—ˆ๊ณ , ์ด๋ฆ„์ด ๋ฐ”๋€Œ์–ด ์ตœ์ข…์ ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2.2 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œ์ค€ํ™” ๊ฒฝ์Ÿ์œผ๋กœ ์ธํ•ด ๋ธŒ๋ผ์šฐ์ €์— ๋”ฐ๋ผ ์›น ํŽ˜์ด์ง€๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ, ์›นํŒจ์ด์ง€๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ๋งค์šฐ ์–ด๋ ค์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ‘œ์ค€ํ™”๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•„์š”์„ฑ์ด ๋Œ€๋‘๋˜๊ณ  ํ‘œ์ค€ํ™”๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2.3 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒ์ง•์˜ ์—ญ์‚ฌ ๋ Œ๋”๋ง์ด๋ž€? HTML, CSS, JS๋กœ ์ž‘์„ฑ๋œ ๋ฌธ์„œ๋ฅผ ํ•ด์„ํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €์— ์‹œ๊ฐ์ ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ HTML๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ • (SSR: Ser..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 01์žฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 1.1 ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€? - ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ์ปดํ“จํ„ฐ์—๊ฒŒ ์‹คํ–‰์„ ์š”๊ตฌํ•˜๋Š” ์ผ์ข…์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. - ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์šฐ์„ ๋˜์–ด์•ผ ํ•˜๋ฉฐ ๋ณต์žกํ•จ์„ ๋‹จ์ˆœํ•˜๊ฒŒ ๋ถ„ํ•ดํ•˜๊ณ  ์ž๋ฃŒ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ๊ตฌ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - ์ปดํ“จํŒ… ์‚ฌ๊ณ ๊ฐ€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. - ์ˆ˜์น˜ํ™” ํ•ด์„œ ์ •์˜ํ•˜๋Š” ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. 1.2 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด ์ปดํ“จํ„ฐ์—๊ฒŒ ์‹คํ–‰์„ ์š”๊ตฌํ•˜๋Š” ์ผ์ข…์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๊ตฌ๋ฌธ๊ณผ ์˜๋ฏธ์˜ ์กฐํ•ฉ์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. 1.3 ๊ตฌ๋ฌธ๊ณผ ์˜๋ฏธ ๋ฌธ๋ฒ•(Syntax)์— ๋งž๋Š” ๋ฌธ์žฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์€ ๋ฌผ๋ก  ์˜๋ฏธ(semantics)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ์–ธ์–ด์˜ ์—ญํ• ์„ ์ถฉ์‹คํžˆ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[Kotlin] lateinit๋ž€?

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ์ฝ”ํ‹€๋ฆฐ์˜ lateinit ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. lateinit ์ฝ”ํ‹€๋ฆฐ์—์„œ "lateinit"๋Š” ๋ง ๊ทธ๋Œ€๋กœ late + init์ด ํ•ฉ์ณ์ง„ ๋œป์œผ๋กœ ๋‚˜์ค‘ ์ดˆ๊ธฐํ™”๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์ง€์—ฐ ์ดˆ๊ธฐํ™” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Use ์ผ๋ฐ˜์ ์œผ๋กœ ํด๋ž˜์Šค๋‚˜ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ ์ฆ‰์‹œ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๊ณ , ๋‚˜์ค‘์— ์ดˆ๊ธฐํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Condition ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์ผ ๋•Œ๋งŒ lateinit๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” non-null ํƒ€์ž…์ด์–ด์•ผ ํ•˜๋ฉฐ, primitive type์ด๋‚˜ String ๋“ฑ์˜ ํด๋ž˜์Šค ํƒ€์ž… ๋“ฑ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์ฆ‰์‹œ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ์ดˆ๊ธฐํ™”๋˜๊ธฐ ์ „์— ์‚ฌ์šฉํ•˜๋ฉด ..

Programming/Kotlin 2023.05.10

[React] return ์‹œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•˜๋‚˜๋กœ ๊ฐ์‹ธ๋Š” ์ด์œ  (+JSX ๋ฌธ๋ฒ•)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” React ์—์„œ return ์‹œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•˜๋‚˜๋กœ ๊ฐ์‹ธ๋Š” ์ด์œ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Why? React์—์„œ JSX๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด HTML๊ณผ ์œ ์‚ฌํ•œ ๊ตฌ๋ฌธ์œผ๋กœ JavaScript๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. JSX๋Š” JavaScript ํ‘œํ˜„์‹์ด๋ฏ€๋กœ, ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์˜ ๋ฐ˜ํ™˜ ๊ฐ’์œผ๋กœ ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด๋Ÿฌํ•œ ์š”์†Œ๋“ค์„ ํ•˜๋‚˜์˜ ๋ฃจํŠธ ์š”์†Œ๋กœ ๋ฌถ์–ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. React์˜ ๊ฐ€์ƒ DOM(virtual DOM)์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹จ์ผ ๋ฃจํŠธ ๋…ธ๋“œ๋งŒ์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด React๋Š” ์š”์†Œ๋“ค์„ ๋‹จ์ผ ๋ฃจํŠธ ๋…ธ๋“œ๋กœ ๊ผญ ๋ฌถ์–ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. Method React์—์„œ ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์€, ์—ฌ๋Ÿฌ ์š”์†Œ๋“ค์„ ๋˜๋Š” ์™€ ๊ฐ™์€ ๋…ธ๋“œ๋กœ ๋ฌถ์–ด์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค...

Framework/React 2023.05.09

[React] Material-UI (mui) theme.spacing(1) ๋‹จ์œ„ ์˜๋ฏธ + ํ”ฝ์…€

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์— MUI ๊ธฐ๋ฐ˜ ํšŒ์‚ฌ ํ™ˆํŽ˜์ด์ง€ ๊ฐœ๋ฐœ ์—…๋ฌด๋ฅผ ์ง€์›ํ•˜์—ฌ ๋งก๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. mui ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋งŽ์ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. theme.spacing(1) ์ฒ˜์Œ์—๋Š” 2px์ธ๊ฐ€ ์‹ถ์—ˆ๋Š”๋ฐ, 2px์ด ์•„๋‹ˆ๋”๋ผ๊ณ ์š”. theme.spacing(2) ์˜๋ฏธ Material-UI (mui) ์—์„œ 1์€ theme.spacing(1)๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต theme.spacing()์€ ํ…Œ๋งˆ ์„ค์ •์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ, ๊ธฐ๋ณธ์ ์œผ๋กœ 8px์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 1์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 8px์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, 2๋Š” 16px, 3์€ 24px, ... ์™€ ๊ฐ™์ด 8px ๊ฐ„๊ฒฉ์œผ๋กœ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํ”ฝ์…€ ์ปค์Šคํ…€์ด ๋ถˆ๊ฐ€๋Šฅํ•œ๊ฐ€? ์ปค์Šคํ…€๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. createTheme() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...

Framework/React 2023.05.08

[Next.js] Next์˜ Link์™€ MUI(Material-UI)์˜ Link ์ฐจ์ด

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” Next์˜ Link์™€ MUI(Material-UI)์˜ Link ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Next์˜ Link์™€ MUI(Material-UI)์˜ Link Next.js + React + MUI ์กฐํ•ฉ์œผ๋กœ ๊ฐœ๋ฐœ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„๋“ค์ด ๊ฝค ์žˆ์œผ์‹ค ํ…๋ฐ์š”, ๊ฐœ๋ฐœํ•˜๋‹ค๋ณด๋ฉด Link ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฑฐ์˜ ํ•„์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Next.js์™€ MUI ์—๋Š” ๊ณตํ†ต์œผ๋กœ Link ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋“ค์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต ์ž๋™ IDE ํˆด์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ import ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ์š”, ๊ผญ ํ™•์ธํ•˜๊ณ  import๋ฅผ ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. Next.js์˜ Link์™€ MUI(Material-UI)์˜ Link๋Š” ๋ชฉ์ ์ด ๋‹ค๋ฅธ ์š”์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Why? Next.js์˜ Link ์ปดํฌ๋„ŒํŠธ Next.js์˜ Link ๋Š”..

Framework/Next.js 2023.05.03

[Node.js] npm ๊ณผ npx ์˜ ์ฐจ์ด์ 

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” npm๊ณผ npx์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. next.js ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ด๊ฒƒ์ €๊ฒƒ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๋ฉด์„œ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ์š”, npm๊ณผ npx์˜ ์ฐจ์ด์ ์ด ๊ถ๊ธˆํ•ด์ง€๋”๋ผ๊ณ ์š”. npx create-next-app@latest --typescript NPM, NPX npm๊ณผ npx๋Š” ๋ชจ๋‘ Node.js ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € (NPM)์—์„œ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. NPM npm์€ Node.js ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜, ๊ด€๋ฆฌ ๋ฐ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. npm์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋Š” Node.js ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“ˆ๋“ค์ž…๋‹ˆ๋‹ค. NPX(execute npm package binaries) npm ํŒจํ‚ค์ง€๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ..

์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž์˜ 2023๋…„ 4์›” ํšŒ๊ณ 

Work ๊ธฐ์กด ์„œ๋น„์Šค ์•ˆ๋‚ด ํŒ์—… ์ถ”๊ฐ€ 4์›” ๋‹ฌ์—๋Š” ๊ธฐ์กด ์šด์˜ ์ค‘์ด์˜€๋˜ ๊ธฐ์กด ์›น์•ฑ ์„œ๋น„์Šค์— ํŒ์—… ์•ˆ๋‚ด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. svg ํŒŒ์ผ ์ „์ฒด๋ฅผ ์ „๋‹ฌ ๋ฐ›์•„ ํ•ด๋‹น ์š”์†Œ๋“ค์— ํด๋ฆญ ์ด๋ฒคํŠธ, ์„ธ์…˜ ์ž‘์—…(์˜ค๋Š˜ ํ•˜๋ฃจ๋™์•ˆ ๋ณด์ง€ ์•Š๊ธฐ ๋“ฑ)์„ ์ถ”๊ฐ€ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ ํฐ์ผ ๊ฒฝ์šฐ google play store๋กœ, ์•„์ดํฐ์ผ ๊ฒฝ์šฐ app store๋กœ ๋งํฌ๋ฅผ ์—ฐ๊ฒฐํ•ด์คฌ์Šต๋‹ˆ๋‹ค. ํšŒ์‚ฌ ์ž…์‚ฌ ์ดˆ๋ฐ˜์—๋„ ๋น„์Šทํ•œ ํ…Œ์Šคํฌ๋ฅผ ๋ฐ›์€ ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ์š”, ๊ทธ ๋‹น์‹œ์—๋Š” ํŒ์—… ๋•Œ๋ฌธ์— ๊ฑฐ์˜ 2์ฃผ์ผ ๋„˜๊ฒŒ ๊ณ ์ƒํ–ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ์ž ๊น ํ–ˆ๋˜ ๊ธฐ์–ต์œผ๋กœ ์ด๋ฒˆ์—๋Š” ์†์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์—ˆ์–ด์š”. ๋ฆฌ๋‰ด์–ผ ์„œ๋น„์Šค ์˜คํ”ˆ ๊ณต์‹์ ์œผ๋กœ ์ด๋ฒˆ๋‹ฌ์— ๋ฆฌ๋‰ด์–ผ ์„œ๋น„์Šค๊ฐ€ ์˜คํ”ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์—…๋ฐ์ดํŠธ ๊ด€๋ จํ•˜์—ฌ ์ด๊ณณ์ €๊ณณ์—์„œ ๋‰ด์Šค๊ธฐ์‚ฌ๊ฐ€ ๋‚˜๊ฐ”๋Š”๋ฐ ์‹ ๊ธฐํ–ˆ์–ด์š”. ์ œ๊ฐ€ ์ง์ ‘ ๋งŒ๋“  ์„œ๋น„์Šค..

[OPIc] ์˜คํ”ฝ IH ๋ฐ›์€ ํ›„๊ธฐ

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋Š˜์€ ์ €๋ฒˆ์ฃผ์— ๋ดค๋˜ ์˜คํ”ฝ ์‹œํ—˜ ์ ์ˆ˜๊ฐ€ ๋ฐœํ‘œ๋˜๋Š” ๋‚ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚œ์ด๋„๋Š” 6-6๋กœ ์„ค์ •ํ–ˆ๊ณ , ์ž์„ธํ•œ ๋ฌธ์ œ ์œ ํ˜•์€ ์œ„ ํฌ์ŠคํŒ…์—์„œ ์ฐธ๊ณ ํ•ด์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. Result ์˜ˆ์ƒ ์ ์ˆ˜์ธ IH๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค ๐Ÿฅฒ AL์„ ๋ฐ›๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ์•„์‰ฝ๋„ค์š”. ๋‹ค์Œ์ฃผ์— ํ•œ๋ฒˆ ๋” ์˜คํ”ฝ ์‹œํ—˜์„ ๋„์ „ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์ฃผ์—๋Š” ๋” ํ–ฅ์ƒ๋œ ์ ์ˆ˜๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ธธ ๋ฐ”๋ผ๋ฉฐ, ๊ณต๋ถ€๋ฅผ ํ•˜๋Ÿฌ ๊ฐ€๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ต‍๐Ÿ’ซ ๐Ÿ˜ต‍๐Ÿ’ซ ~~

English/OPIc 2023.04.30

[React] recharts chart ๋„“์ด 100% ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• (+ typescript)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ €๋Š” recharts chart ์ฐจํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฐจํŠธ์˜ ๋„“์ด๋ฅผ ํ™”๋ฉด 100%์— ๋งž์ถฐ์„œ ๋ฟŒ๋ ค์ฃผ๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ์š”. width ๊ฐ’์„ 100%๋กœ ์„ค์ •ํ•˜์ž ๋‹ค์Œ์˜ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. TS2322: Type 'string' is not assignable to type 'number'. import {NextPage} from "next"; import React from 'react'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend } from 'recharts'; const data = [ { name: 'Jan', uv: 4000, pv: 2400, amt: 2400, }, { name: 'Feb'..

Framework/React 2023.04.29
๋ฐ˜์‘ํ˜•