๋ฐ˜์‘ํ˜•

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JS] ๋‚˜๋จธ์ง€ ๊ตฌํ•˜๊ธฐ

Problem Description ์ •์ˆ˜ num1, num2๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, num1๋ฅผ num2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. Restrictions 0 num1%num2 Reference: https://school.programmers.co.kr/learn/courses/30/le..

[Angular] DeprecationWarning: Access to process.binding('http_parser') is deprecated ์—๋Ÿฌ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” DeprecationWarning: Access to process.binding('http_parser') is deprecated ์—๋Ÿฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. My Case ์ฝ”๋“œ ํ™•์ธํ•  ์ผ์ด ์ƒ๊ฒจ ๊ฐ„๋งŒ์— ์•ต๊ทค๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ์‹คํ–‰์‹œํ‚ค์ž๋งˆ์ž ์—๋Ÿฌ ๋ฐœ์ƒ.. ๐Ÿคง DeprecationWarning: Access to process.binding('http_parser') is deprecated How to solve the problem ํ•ด๋‹น ์—๋Ÿฌ๋ฅผ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ ๋…ธ๋“œ ๋ฒ„์ „์„ ๋ฐ”๊ฟ”๋ณด๋ฉด ์ž‘๋™ํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ์žˆ์–ด์„œ ๋…ธ๋“œ ๋ฒ„์ „์„ ๋‚ด๋ ค๋ดค๋”๋‹ˆ ์•ต๊ทค๋Ÿฌ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ž˜ ์‹คํ–‰๋˜๋”๋ผ๊ณ ์š” ๐Ÿค˜ ํ˜น์‹œ ํ•ด๋‹น ์—๋Ÿฌ๋ฅผ ๋ณด์‹ ๋‹ค๋ฉด ๋…ธ๋“œ ๋ฒ„์ „์„ ๋ฐ”๊ฟ”๋ณด์„ธ์š” :D https://s..

Framework/Angular 2023.08.24

[TypeScript] ์ œ๋„ค๋ฆญ ์ปดํฌ๋„ŒํŠธ (generic component) ์ •์˜ ๋ฐ ์‚ฌ์šฉ๋ฐฉ๋ฒ•

์ด ๊ธ€์€ ์›๊ธ€์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. Definition TypeScript Generics๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. generics๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์žฅ๊ธฐ์ ์œผ๋กœ ํ™•์žฅ๊ฐ€๋Šฅํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์œ ์—ฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•ด์ค๋‹ˆ๋‹ค. Example # Props interface Props { renderItem: (item: T) => React.ReactNode; keyExtractor: (item: T) => string; data: T[]; } data: ์ œ๋„ค๋ฆญ ํƒ€์ž… T๋ฅผ ๋ฐ›์„ ๋ฐฐ์—ด ์š”์†Œ renderItem: ํƒ€์ž… T์˜ react ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ keyExtractor: ํ‚ค๋ฅผ ์ถ”์ถœํ•˜๋Š” ํ•จ์ˆ˜ # Component ์ •์˜ const GenericList = ({ data,..

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

Work ๋ฆฌ๋‰ด์–ผ ์›น ํ”„๋กœ์ ํŠธ ํ™”๋ฉด ๊ฐœ๋ฐœ ๊ธฐ์กด ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋˜ ์›น ์‚ฌ์ดํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•ด๋‹น ๋‚ด์šฉ์œผ๋กœ ์ƒˆ ์›น ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ ํ•ด๋‹น ์ž‘์—…์„ ์™ธ์ฃผ ์ž‘์—…์œผ๋กœ ์ง„ํ–‰ํ•˜๋ ค ํ–ˆ์œผ๋‚˜, ์œ ์ง€๋ณด์ง€๋ณด์ˆ˜์™€ ๋น„์šฉ ์ธก๋ฉด์—์„œ ์ง์ ‘ ๊ฐœ๋ฐœํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์ฒ˜์Œ์œผ๋กœ ๋ฆฌ์•กํŠธ material UI ํ…œํ”Œ๋ฆฟ์„ ๊ตฌ๋งคํ•ด์„œ ํ•ด๋‹น ํ…œํ”Œ๋ฆฟ ๊ธฐ๋ฐ˜์œผ๋กœ ํ™”๋ฉด์„ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ์œผ๋กœ ํ™”๋ฉด ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ๋„ ์˜ค๋žœ๋งŒ์ด์˜€๊ณ , mui ๋ฅผ ์‚ฌ์šฉํ•œ ํ…œํ”Œ๋ฆฟ๋„ ์ฒ˜์Œ์ด์˜€์Šต๋‹ˆ๋‹ค. mui๋Š” ์ผ์ „ ํšŒ์‚ฌ ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๋ฉฐ ์ตํ˜”๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ๊ฐ€๋Šฅํ–ˆ์ง€๋งŒ, ์˜คํžˆ๋ ค ํ…œํ”Œ๋ฆฟ์˜ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต ํ…œํ”Œ๋ฆฟ ๊ตฌ๋งคํ•˜๋ฉด, ์ฝ”๋“œ๊ฐ€ ์—‰๋ง์ธ ๊ฒฝ์šฐ๋„ ๋งŽ๋‹ค๊ณ  ํ•˜๋˜๋ฐ ์ด ํ…œํ”Œ๋ฆฟ์€ ์ฝ”๋“œ๊ฐ€ ์ž˜ ์งœ์—ฌ์ ธ ์žˆ์–ด ์˜คํžˆ๋ ค ๋ฐฐ์šธ ์ˆ˜ ์žˆ..

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

Work ๊ธฐ์กด ์›น์•ฑ ๋ธ”๋กํ‚น ํŒ์—… ์ถ”๊ฐ€ ๊ธฐ์กด ์šด์˜๋˜๋˜ ์›น์•ฑ ์„œ๋น„์Šค ๋ธ”๋กํ‚น์„ ์ ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋‰ด์–ผ ์›น์•ฑ ๊ธฐํƒ€ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์‹œ ๋ฐœ์ƒํ•˜๋Š” warning ์ˆ˜์ •๊ณผ ๊ธฐํƒ€ ํ”ผ๋“œ๋ฐฑ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ์šด์˜ ์„œ๋น„์Šค ๋‚ด๋ถ€ ๋ชจ๋‹ˆํ„ฐ๋ง ์šด์˜์„œ๋น„์Šค ๊ด€๋ จํ•˜์—ฌ ์ผ์ • ์ง€ํ‘œ ๊ธฐ๋Šฅ์„ ์ˆ˜์ • ๋“ฑ ์šด์˜์—…๋ฌด๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ๊ธฐํš์„œ ๋ฆฌ๋ทฐ ๋‚ด๋ถ€ ์ง์›๋ถ„๊ณผ ๊ณ ๊ฐ์‚ฌ๋ถ„๋“ค์ด ์‚ฌ์šฉํ•  ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ๊ด€๋ จ ๊ธฐํš์„œ ๋ฆฌ๋ทฐ๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ์ƒํ™ฉ ํ™•์‹คํžˆ ํŒ€์žฅ๋‹˜์ด ํ‡ด์‚ฌํ•˜์‹œ๊ณ , ํŒ€์žฅ๋‹˜ ์—†์ด ์กฐ์ง์ด ์šด์˜๋˜๋‹ˆ ๋นˆ์ž๋ฆฌ๋„ ํฌ๊ฒŒ ๋Š๊ปด์ ธ์„œ ๊ทธ๋Ÿฐ์ง€ ์ด๋ฒˆ๋‹ฌ์€ ๋ญ”๊ฐ€ ์–ด์ˆ˜์„ ํ–ˆ๋„ค์š”.. ๐Ÿ˜ฅ

LC_CTYPE: cannot change locale (UTF-8) ์—๋Ÿฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” LC_CTYPE: cannot change locale (UTF-8) ์—๋Ÿฌ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์ €๋Š” SSH ์ ‘์† ์ค‘ ์•„๋ž˜์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. line 19: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory How to solve the problem ์ €๋Š” zsh ์‰˜์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— .zshrc์— ์•„๋ž˜์˜ ๋‚ด์šฉ์„ ๋„ฃ์–ด ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. bash ์‰˜์„ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์ด์‹œ๋ผ๋ฉด .bash_profile์„ ์ˆ˜์ •ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 locale ๋ช…๋ น์–ด๋กœ ..

[React.js] Warning: validateDOMNesting(...): <tr> cannot appear as a child of <table> ์—๋Ÿฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro์•ˆ๋…•ํ•˜์„ธ์š”. ๋ฆฌ์•กํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋„์ค‘ Warning: validateDOMNesting(...): cannot appear as a child of ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. How to solve the problem์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋‹ˆ tbody ํƒœ๊ทธ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์ฝ”๋“œ๋กœ ์ˆ˜์ •ํ•œ ๊ฒฐ๊ณผ ์—๋Ÿฌ๊ฐ€ ๋”์ด์ƒ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

Framework/React 2023.08.18

[Intellij] commit ๋ ‰ ๊ฑธ๋ฆด ๋•Œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ธํ…”๋ฆฌ์ œ์ด์—์„œ commit ์‹œ ๋ ‰๊ฑธ๋ฆด ๋•Œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to do Preferences > Version Control > Commit ๋ฉ”๋‰ด์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ Analyze code, Check TODO ๋“ฑ์ด ์„ค์ •๋˜์–ด ์žˆ์œผ์‹  ๋ถ„๋“ค์€ ํ•ด์ œํ•˜์‹œ๋ฉด commit ๋ ‰์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

[Chart.js] line ์ฐจํŠธ border line ๊ตต๊ฒŒ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Chart.js์—์„œ line ์ฐจํŠธ border line ๊ตต๊ฒŒ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. How to do const options: ChartOptions = { // other options elements: { line: { borderWidth: 2, }, }, // other options }; borderWidth ์ˆซ์ž๋ฅผ ํฌ๊ฒŒ ์ง€์ •ํ•  ์ˆ˜๋ก border line ๊ตต๊ธฐ๊ฐ€ ๊ตต์–ด์ง‘๋‹ˆ๋‹ค :)

Library 2023.08.11
๋ฐ˜์‘ํ˜•