๋ฐ˜์‘ํ˜•

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 293

[React] react + typescript + Chart.js Multi-Axis ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์•ž์„  ํฌ์ŠคํŒ…์—์„œ Multi type chart๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ดค๋Š”๋ฐ์š”, ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Chart.js์—์„œ Multi-Axis ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Multi-Axis ์€ ๋ฐ์ดํ„ฐ์˜ ๋‹จ์œ„ ์ฐจ์ด๊ฐ€ ์ปค์„œ ํ•œ๊บผ๋ฒˆ์— ํ‘œํ˜„ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. How to do ์ œ ๊ฒฝ์šฐ series1, series2 ๋‘ ๋ฐ์ดํ„ฐ์— ์ƒ์‘๋˜๋Š” y์ถ•์„ ์˜ค๋ฅธ์ชฝ๊ณผ ์™ผ์ชฝ์— ํ‘œ์‹œํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์ถ•์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— yAxisID ์†์„ฑ์„ ํ™œ์šฉํ•˜์—ฌ a, b ๋‘๊ฐœ๋ฅผ ์ง€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„ options์—์„œ ํ•ด๋‹น yAxisID๋ฅผ ์‚ฌ์šฉํ•ด position์„ right, left๋กœ ์„ค์ •ํ•ด์คฌ์Šต๋‹ˆ๋‹ค. const series1: number[] = [] const series2: number[]..

Framework/React 2023.07.25

[React] react + typescript ์—์„œ multitype ๋ฉ€ํ‹ฐํƒ€์ž… Chart.js ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” react + typescript ์—์„œ Chart.js ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to do ์ œ ์ผ€์ด์Šค์˜ ๊ฒฝ์šฐ ๋ง‰๋Œ€(bar) ๊ทธ๋ž˜ํ”„์™€ ์„ (line) ๊ทธ๋ž˜ํ”„๋ฅผ ํ•จ๊ป˜ ๊ทธ๋ ค์ฃผ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋จผ์ € MutiTypeChart ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. # MutiTypeChart Component props๋กœ data, height, options ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐํƒ€์ž… ์ฐจํŠธ๋ฅผ ์œ„ํ•ด์„œ๋Š” Chart Component ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. import React from 'react' import { BarController, BarElement, CategoryScale, Chart as ChartJS, ChartData, ChartOptions,..

Framework/React 2023.07.17

[Material UI] Typography variant ์ปค์Šคํ…€ ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” MUI Typography Component ์—์„œ variant ์†์„ฑ์„ ์ปค์Šคํ…€ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. MUI Typography variant Typography ์˜ ๊ธฐ๋ณธ variant ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. h1, h2, h3, h4, h5, h6, subtitle1, subtitle2, body1, body2 ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์™ธ์—๋„ ์ง์ ‘ ์ปค์Šคํ…€ํ•˜์—ฌ variant๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. const theme = createTheme({ components: { MuiTypography: { defaultProps: { variantMapping: { h1: 'h2', h2: 'h2', h3: 'h2', h4: 'h2', h5: 'h2', ..

Framework/React 2023.07.10

[Material UI] Dialog background color ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” MUI์˜ Dialog ์—์„œ background color ๋ฅผ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to do {/* ... your content ... */} ์œ„์™€ ๊ฐ™์ด PaperPorps ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ backgroundColor๋ฅผ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://stackoverflow.com/questions/41158325/how-to-create-material-ui-dialog-with-transparent-background-color

Framework/React 2023.07.10

[Mac] Mac ๋งฅ๋ถ์—์„œ ๋ฌธ์žฅ ํ…์ŠคํŠธ ๋ฐ ๋‹จ์–ด ๋ถ€๋ถ„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ• (๋‹จ์ถ•ํ‚ค)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Mac์—์„œ ๋ฌธ์žฅ ํ…์ŠคํŠธ ๋ฐ ๋‹จ์–ด ๋‹จ์œ„๋กœ ๋ถ€๋ถ„ ์„ ํƒํ•˜๋Š” ๋‹จ์ถ•ํ‚ค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. How to do ํ…์ŠคํŠธ ๋ถ€๋ถ„ ์„ ํƒ Shift + โฌ…๏ธ / โžก๏ธ ๋ฐฉํ–ฅํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด์„œ Shift ๋ฅผ ํ•จ๊ป˜ ๋ˆ„๋ฅด๋ฉด ํ…์ŠคํŠธ๋ฅผ ๋ถ€๋ถ„์ ์œผ๋กœ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์–ด ๋‹จ์œ„๋กœ ํ…์ŠคํŠธ ๋ถ€๋ถ„ ์„ ํƒ Option + Shift + โฌ…๏ธ/โžก๏ธ ๋ฐฉํ–ฅํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด์„œ Option(or Alt)์™€ Shift ๋ฅผ ํ•จ๊ป˜ ๋ˆ„๋ฅด๋ฉด ๋‹จ์–ด ๋‹จ์œ„๋กœ ํ…์ŠคํŠธ๋ฅผ ๋ถ€๋ถ„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ๋‹จ์ถ•ํ‚ค๋ฅผ ์ด์šฉํ•ด Mac์—์„œ ์›ํ•˜๋Š” ํ…์ŠคํŠธ ๋ถ€๋ถ„์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :)

[Mac] Mac ๋งฅ๋ถ์—์„œ ๋ฌธ์žฅ ๋งจ์•ž, ๋งจ๋’ค๋กœ ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Mac ๋งฅ๋ถ์—์„œ ๋ฌธ์žฅ ๋งจ์•ž, ๋งจ๋’ค๋กœ ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. How to do ๋ฌธ์žฅ ๋งจ์•ž ์ด๋™ : Command + โฌ…๏ธ ๋ฌธ์žฅ ๋งจ๋’ค ์ด๋™ : Command + โžก๏ธ ์‰ฝ์ง€๋งŒ ๊ฐ„๋‹จํ•œ ๋‹จ์ถ•ํ‚ค ์‚ฌ์šฉ์œผ๋กœ ์—…๋ฌด ํšจ์œจ์„ฑ์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :)

[Chart.js] Y์ถ• ์ตœ๋Œ€๊ฐ’ ๋™์ ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Chart.js์—์„œ Y์ถ• ์ตœ๋Œ€๊ฐ’์„ ๋™์ ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Case ์šฐ์„  Chart ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ถ€๋ถ„์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. option์— ๋”ฐ๋ผ ํ‘œ์‹œํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅด๊ฒŒ retrun ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋™์ ์œผ๋กœ ๋‹ฌ๋ผ์ง€๋‹ค ๋ณด๋‹ˆ y์ถ• ๋ฒ”์œ„ ์ตœ๋Œ€๊ฐ’๋„ ํ•ด๋‹น datasets์— ๋งž๊ฒŒ ๋‹ค๋ฅด๊ฒŒ ํ‘œ์‹œํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. const getData = (option: string): ChartData['datasets'] => { if (option === 'hourly') { return [ { fill: false, ..., data: [0, 150, 180, 270, 210, 160, 160, 202, 265, 210, 270, 255, 290, 3..

Library 2023.06.28

ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € Yarn Berry ๋ž€? (+ pnp system)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์ƒˆ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ yarn ์—์„œ yarn berry๋ฅผ ๋„์ž…ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” Yarn Berry์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. What is yarn berry? Yarn Berry๋Š” JS ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์ธ Yarn์˜ ๋‹ค์Œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. yarn version 2๋ถ€ํ„ฐ yarn berry๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. What is the difference between yarn and yarn berry? ๊ฐ€์žฅ ๋‹ฌ๋ผ์ง„ ์ ์€ Plug'n'Play (PnP) ์‹œ์Šคํ…œ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PnP ์‹œ์Šคํ…œ์€ node_modules ํด๋”๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ํŒจํ‚ค์ง€์˜ ์ข…์†์„ฑ์„ ํ”„๋กœ์ ํŠธ์˜ ๋‹จ์ผ ๋””๋ ‰ํ† ๋ฆฌ ํŠธ๋ฆฌ์— ์ง์ ‘ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ npm ์ด๋‚˜ yarn version 1์„ ์‚ฌ์šฉํ• ..

[Understanding TypeScript] Section 1. ์‹œ์ž‘ํ•˜๊ธฐ

์ด ๊ธ€์€ udemy์˜ Typescript :๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ค์ „ํ˜• ํ”„๋กœ์ ํŠธ๊นŒ์ง€ with React + NodeJS ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค 1. ํ™˜์˜ pass 2. TypeScript๋ž€ ๋ฌด์—‡์ด๋ฉฐ ์™œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€? ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ superset ์ž…๋‹ˆ๋‹ค. ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด๊ฐ€ ์•„๋‹Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๊ณผ ์žฅ์ ์„ ์ถ”๊ฐ€ํ•˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ JS๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ์ปดํŒŒ์ผ๋Ÿฌ์ž…๋‹ˆ๋‹ค. ํƒ€์ž…์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ € ๋Ÿฐํƒ€์ž„์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ „์— ์ฝ”๋“œ์˜ ์—๋Ÿฌ๋ฅผ ๋ฏธ๋ฆฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์ค‘ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋ฅผ ์ดˆ๊ธฐ์— ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ ) ๋ธŒ๋ผ์šฐ์ €์™€ ๊ฐ™์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. node.js๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. 3..

[Mac] ๋งฅ๋ถ ๋“€์–ผ ๋ชจ๋‹ˆํ„ฐ ๋ฐฉํ–ฅ ์ธ์‹ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ๋งŽ์€ ๋ถ„๋“ค๊ป˜์„œ ๋“€์–ผ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‹คํ…๋ฐ์š”, ์„ ์„ ์—ฐ๊ฒฐํ•  ๋•Œ๋งˆ๋‹ค ๊ฐ€๋” ๋ชจ๋‹ˆํ„ฐ ๋ฐฉํ–ฅ์ด ์ธ์‹์ด ์•ˆ๋ผ์„œ ๋ถˆํŽธํ•œ ๊ฒฝํ—˜๋“ค์ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๋งฅ๋ถ ๋“€์–ผ ๋ชจ๋‹ˆํ„ฐ ๋ฐฉํ–ฅ์„ ์ธ์‹ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to Set 1. ๊ฐ€์žฅ ๋จผ์ € displayplacer๋ฅผ ์„ค์น˜ํ•ด์ค๋‹ˆ๋‹ค. brew tap jakehilborn/jakehilborn && brew install displayplacer 2. ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, ์ œ์ผ ์•„๋ž˜ displayplacer "id:~~~ " ๋ถ€๋ถ„์ด ๋‚˜์˜ค๋Š”๋ฐ์š” ์ด ๋ถ€๋ถ„์„ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. displayplacer list 3. .zshrc ํŒŒ์ผ์„ ์—ด์–ด alias๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. alias display='displayplac..

๋ฐ˜์‘ํ˜•