๋ฐ˜์‘ํ˜•

Programming 76

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

์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 4.1 ๋ณ€์ˆ˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์™œ ํ•„์š”ํ•œ๊ฐ€? ์ปดํ“จํ„ฐ๋Š” CPU๋ฅผ ์‚ฌ์šฉํ•ด ์—ฐ์‚ฐํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์–ตํ•œ๋‹ค. ๋ณ€์ˆ˜๋Š” ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ™•๋ณดํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์ž์ฒด ๋˜๋Š” ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์ž์ฒด ๋˜๋Š” ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ™์ธ ์ด๋ฆ„์„ ๋งํ•ฉ๋‹ˆ๋‹ค. 4.2 ์‹๋ณ„์ž ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์‹๋ณ„์ž๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์‹๋ณ„์ž๋Š” ์–ด๋–ค ๊ฐ’์„ ๊ตฌ๋ณ„ํ•ด์„œ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์‹๋ณ„์ž๋Š” ๊ฐ’์ด ์•„๋‹ˆ๋ผ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ๋ฉ”๋กœ์ด ์ฃผ์†Œ์— ๋ถ™์ธ ์ด๋ฆ„์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํ‹€๋ž˜์Šค ๋“ฑ์˜ ์ด๋ฆ„์€ ๋ชจ๋‘ ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค. 4.3 ๋ณ€์ˆ˜ ์„ ์–ธ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ ์„ ์–ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์„ ์–ธ ์‹œ์—๋Š” var, let, c..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 03์žฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ์‹คํ–‰ ๋ฐฉ๋ฒ•

์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 3.1 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ํ™˜๊ฒฝ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ Node.js ํ™˜๊ฒฝ, ๊ทธ๋ฆฌ๊ณ  VSCode๋ฅผ ํ™œ์šฉํ•ด ๋ธŒ๋ผ์šฐ์ €๋‚˜ Node.js ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ด…์‹œ๋‹ค. 3.2 ์›น ๋ธŒ๋ผ์šฐ์ € ์—ฌ๊ธฐ์„œ๋Š” ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. 3.2.1. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋Š” ์›น ๊ฐœ๋ฐœ์— ์œ ์šฉํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. - Elements : ๋กœ๋”ฉ๋œ ์›นํŽ˜์ด์ง€์˜ DOM๊ณผ CSS๋ฅผ ํŽธ์ง‘ํ•ด์„œ ๋ Œ๋”๋ง๋œ ๋ทฐ๋ฅผ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ์Œ - Console : ๋กœ๋”ฉ๋œ ์›น ํŽ˜์ด์ง€์˜ ์—๋Ÿฌ๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ console.log ๋ฉ”์„œ๋“œ์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ - Sources : ๋กœ๋”ฉ๋œ ์›น ํŽ˜์ด์ง€์˜ js ์ฝ”๋“œ๋ฅผ ๋””๋ฒ„๊น… ํ•  ์ˆ˜ ์žˆ์Œ - Ne..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ 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

[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 ํŒจํ‚ค์ง€๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ..

[TypeScript] Error: Redundant double negation. no-extra-boolean-cast ์˜ค๋ฅ˜ ์›์ธ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ ์ค‘ ๋‹ค์Œ์˜ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Error: Redundant double negation. no-extra-boolean-cast {text} Why ์œ„ ์—๋Ÿฌ๋Š” ESLint์˜ no-extra-boolean-cast ๊ทœ์น™์œผ๋กœ, ๋ถˆํ•„์š”ํ•œ ๋ถˆ๋ฆฌ์–ธ ์บ์ŠคํŠธ(๋ถˆ๋ฆฐ ๊ฐ’์„ ๊ฐ•์ œ๋กœ ์บ์ŠคํŒ…ํ•˜๋Š” ๊ฒƒ)๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์น™์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ !!visible์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ถˆ๋ฆฐ ๊ฐ’์„ ๊ฐ•์ œ๋กœ ์บ์ŠคํŒ…ํ•˜๊ณ  ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด์ค‘ ๋ถ€์ • ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์ด ๋  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. How to solve ๋”ฐ๋ผ์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ด์ค‘ ๋ถ€์ • ์—ฐ์‚ฐ์ž๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ESLint ์—๋Ÿฌ๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. visible ์ž์ฒด๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {text}

[TypeScript] Could not find a declaration file for module ์˜ค๋ฅ˜ ์›์ธ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ ์ค‘ ๋‹ค์Œ์˜ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Could not find a declaration file for module Why? ์ด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ์—ฐ๊ฒฐ๋œ declaration file ์ด ์—†๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ์•ˆ์— ๋ชจ๋“ˆ์ด๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ „ํ˜•์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. declaration file(.d.ts)๋Š” ๋ชจ๋“ˆ์ด๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ types, functions ๋ฐ ๊ธฐํƒ€ ์†์„ฑ์„ ์„ค๋ช…ํ•˜๊ณ  ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ฝ”๋“œ์—์„œ ์ด๋“ค์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„ค์น˜๋œ ํŠน์ • ๋ชจ๋“ˆ/๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ type ์ •์˜๊ฐ€ ์—†์–ด ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์—์„œ ์ดํ•ดํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋‹ค์Œ์˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. How to solve the problem ์ด ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”..

[Kotlin] Text '..' could not be parsed: Unable to obtain LocalDate from TemporalAccessor ์˜ค๋ฅ˜ ์›์ธ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ฝ”ํ‹€๋ฆฐ ์ŠคํŠธ๋ง์„ ์ฝ”ํ‹€๋ฆฐ ๋‚ ์งœ๋กœ ๋ณ€ํ™˜ํ•˜๋˜ ๋„์ค‘ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. import java.math.BigDecimal import java.math.RoundingMode import java.time.LocalDate import java.time.LocalDateTime import java.time.format.DateTimeFormatter import java.util.* fun main(args: Array) { val input = "2301" val formatter = DateTimeFormatter.ofPattern("yyMM", Locale.KOREA) val date = LocalDate.parse(input, formatter).minusYears..

Programming/Kotlin 2023.03.30

[CSS] ๊ธด ๋‹จ์–ด ์ฒ˜๋ฆฌ ์‹œ ์ค„๋ฐ”๊ฟˆ ๊ธฐ์ค€ ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• (๋‹จ์–ด ๊ธฐ์ค€ / ํ•œ ๊ธ€์ž ๊ธฐ์ค€)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” CSS์—์„œ ๊ธด๋‹จ์–ด ์ฒ˜๋ฆฌ ์‹œ ์ค„๋ฐ”๊ฟˆ ๋‹จ์–ด ๊ธฐ์ค€์„ ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ์•„๋ž˜์˜ html์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. {item.desc} ์ฒ˜์Œ์— ์ œ๊ฐ€ ์ ์šฉํ•œ CSS๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‹จ์–ด ๋’ค์— elispsis ์ฒ˜๋ฆฌ๋Š” ๋˜์—ˆ์ง€๋งŒ, ์ค„๋ฐ”๊ฟˆ ์ฒ˜๋ฆฌ๊ฐ€ ์ œ๋Œ€๋กœ ์•ˆ๋˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. > p { margin-bottom: 8rem; font-size: 10rem; line-height: 1.3; overflow: hidden; white-space: normal; text-overflow: ellipsis; display: -webkit-box; } ๋”ฐ๋ผ์„œ ์ €๋Š” word-break๋ผ๋Š” ์†์„ฑ์„ ์ด์šฉํ•˜์—ฌ break-all ๋กœ ์ง€์ •ํ•ด์คฌ์Šต๋‹ˆ..

Programming/CSS 2023.03.30
๋ฐ˜์‘ํ˜•