๋ชฉ๋กProgramming (101)

๐Ÿ“ ์ ์–ด์„œ ๋จธ๋ฆฟ์†์œผ๋กœ

ํ† ์Šค ์ง๋ฌด ๋ฉด์ ‘ ํšŒ๊ณ  - ๊ฒฐ๊ณผ๋Š” ํƒˆ๋ฝ ์ž…๋‹ˆ๋‹ค.

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

Programming/IT 2026. 3. 25. 00:34
[Java] ๊ธˆ์œต๊ถŒ ๊ฐœ๋ฐœ์ž๊ฐ€ 'StringBuffer'๋ฅผ ๋ฐ”๋ผ๋ณด๋Š” ์‹œ์„ : ๊ด€์„ฑ์„ ๋„˜์–ด ์˜๋„๊ฐ€ ๋‹ด๊ธด ์ฝ”๋“œ๋กœ

๊ธˆ์œต๊ถŒ์—์„œ IT ๊ฐœ๋ฐœ์ž๋กœ ์ผํ•˜๋ฉด์„œ ํ˜„์žฅ์—์„œ '๋ ˆ๊ฑฐ์‹œ(Legacy)'๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์˜ค๋ž˜๋œ ์ฝ”๋“œ๋ฅผ ์ž์ฃผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.์ €๋Š” ์ด๋Ÿฐ ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํžˆ ๋ ˆ๊ฑฐ์‹œ('์˜ค๋ž˜๋œ ์ฝ”๋“œ'๋‚˜ '๊ธฐ์ˆ  ๋ถ€์ฑ„')๋ผ๊ณ  ๋งํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋“ค์€ ์‹ญ์ˆ˜ ๋…„๊ฐ„ ์ˆ˜์ฒœ๋งŒ ๊ฑด์˜ ๊ฑฐ๋ž˜๋ฅผ ๋ฒ„ํ…จ๋‚ธ '์‚ด์•„๋‚จ์€ ์ฝ”๋“œ'์ด์ž, ๋‹น์‹œ์˜ ์น˜์—ดํ•œ ๊ณ ๋ฏผ์ด ๋‹ด๊ธด '์„ ๋ฐฐ๋“ค์˜ ์œ ์‚ฐ'์ž…๋‹ˆ๋‹ค.๊ธˆ์œต๊ถŒ์˜ ํŠน์„ฑ์ƒ 'ํ˜์‹ ์ ์ธ ์„ฑ๋Šฅ'๋ณด๋‹ค '๋‹จ ํ•˜๋‚˜์˜ ์˜ค๋ฅ˜๋„ ์—†๋Š” ์•ˆ์ „'์ด 1์ˆœ์œ„์˜€์„ ํ…Œ๋‹ˆ๊นŒ์š”. ํ•˜์ง€๋งŒ ์ตœ๊ทผ ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ๋‚˜ ๊ณตํ†ต ๋ชจ๋“ˆ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ๋„ ๋ฌด์˜์‹์ ์œผ๋กœ StringBuffer๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ์Šต์„ ๋ณด๋ฉฐ, ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ž‘์€ ๋ฌผ์Œํ‘œ๋ฅผ ๋˜์ง€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ ์•ˆ์ „์„ ์œ„ํ•ด StringBuffer๋ฅผ ์“ฐ๋Š” ๊ฑธ๊นŒ, ์•„๋‹ˆ๋ฉด ๊ด€์Šต์ ์œผ๋กœ ์“ฐ๊ณ  ์žˆ๋Š” ๊ฑธ๊นŒ?"1. 10๋…„ ์ „์˜ ์ •๋‹ต์ด ..

Programming/Java, Kotlin 2026. 1. 26. 21:45
๐Ÿšฉ [2ํŽธ] Jekins / vite ๋นŒ๋“œ ์ค‘ OOM ํ•ด๊ฒฐ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์†๋„ ๊ฐœ์„ ํ•˜๊ธฐ

๋ฐ์ดํ„ฐ๊ฐ€ ์•Œ๋ ค์ค€ ํ•ด๊ฒฐ์ฑ…: '๋บ„์…ˆ'์˜ ๊ธฐ์ˆ ๊ณผ ์˜์‚ฌ๊ฒฐ์ • ๊ณผ์ • [1ํŽธ]์—์„œ ์šฐ๋ฆฌ๋Š” ์ž์ฒด ๊ตฌ์ถ•ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ํ†ตํ•ด, ๋นŒ๋“œ ์ค‘ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํญ๋ฐœํ•˜๋Š” ์›์ธ์ด ๊ณผ๋„ํ•˜๊ฒŒ ๋ณต์žกํ•œ Chunking ์„ค์ •'๊ณผ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋นŒ๋“œ๋˜๋Š” ๋ชจ๋“ˆ์ด ์žˆ์Œ์„ ๋ฐ์ดํ„ฐ๋กœ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์›์ธ์„ ์•Œ์•˜๋‹ค๊ณ  ํ•ด์„œ ๋ฌด์ž‘์ • ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๊ธฐ์กด ์ฝ”๋“œ์˜ ์˜๋„๋ฅผ ํŒŒ์•…ํ•˜๋ฉฐ ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐœ์„ ํ•˜๋Š” ๊ณผ์ •๊ณผ, ์‹ค์ œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๋Š” ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ •์„ ๋‹ด์•˜์Šต๋‹ˆ๋‹ค.1. ์ฒซ ๋ฒˆ์งธ ๋‚œ๊ด€: manualChunks, ๊ณผ์—ฐ ์ค„์—ฌ๋„ ๋˜๋Š”๊ฐ€?๊ฐ€์žฅ ํฐ ๋ฉ”๋ชจ๋ฆฌ ๋ณ‘๋ชฉ์ง€์ ์€ vite.config.js์˜ manualChunks ์„ค์ •์ด์—ˆ์Šต๋‹ˆ๋‹ค.๋งŽ์€ if-else ๋ฌธ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์ž˜๊ฒŒ ์ชผ๊ฐœ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.๐Ÿค” ๊ณ ๋ฏผ: "์ด ์ฝ”๋“œ๋Š” ์ด์œ ๊ฐ€ ์žˆ์–ด์„œ ์กด์žฌํ•˜์ง€ ์•Š์„๊นŒ..

Programming/DevOps 2026. 1. 5. 23:16
๐Ÿš€ [1ํŽธ] Jekins / vite ๋นŒ๋“œ ์ค‘ OOM ํ•ด๊ฒฐ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์†๋„ ๊ฐœ์„ ํ•˜๊ธฐ

ํ์‡„๋ง ํ™˜๊ฒฝ์—์„œ OOM ์žก๊ธฐ: "๋„๊ตฌ"๊ฐ€ ์—†์œผ๋ฉด ๋งŒ๋“ค์–ด ์“ด๋‹ค. ๋“ค์–ด๊ฐ€๋ฉฐ์ตœ๊ทผ ์ €ํฌ ํŒ€์ด ์šด์˜ํ•˜๋Š” ๋Œ€๊ณ ๊ฐ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์ค‘, JavaScript heap out of memory (OOM) ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.๋‹น์žฅ ๊ธ‰ํ•œ ๋ถˆ์„ ๋„๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๋Ÿ‰์„ ๋Š˜๋ฆฌ๋Š” ์กฐ์น˜๋ฅผ ์ทจํ–ˆ์ง€๋งŒ, ์ด๋Š” ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค."๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋Š˜๋ ค์„œ ํ•ด๊ฒฐ"ํ•˜๋Š” ๋ฐฉ์‹์€ ์–ธ์  ๊ฐ€ ์ž„๊ณ„์น˜๋ฅผ ๋„˜์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ์žฌ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๋” ํฐ ๋ฌธ์ œ๋Š” "์ •ํ™•ํžˆ ์–ด๋””์„œ, ์™œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํŠ€๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค"๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. "๊ด€์ธกํ•  ์ˆ˜ ์—†์œผ๋ฉด, ๊ฐœ์„ ํ•  ์ˆ˜ ์—†๋‹ค."๊ธˆ์œต๊ถŒ์ด๋ผ๋Š” ํŠน์ˆ˜ํ•œ ํ™˜๊ฒฝ(ํ์‡„๋ง) ํƒ“์— Prometheus๋‚˜ Grafana ๊ฐ™์€ ์ข‹์€ ์‹œ๊ฐํ™” ๋„๊ตฌ๋ฅผ ์“ธ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.๋˜ํ•œ, ๊ฒฝ๋Ÿ‰์„ฑ๊ณผ ์ฆ‰์‹œ์„ฑ์ด ์ค‘์š”ํ•œ ์‹œ์ ์—์„œ ํ•ด๋‹น ๋„๊ตฌ๋ฅผ ๋ฐ˜์ž…ํ•˜๋Š” ๊ฒƒ์€ ๋ฐฐ๋ณด๋‹ค..

Programming/DevOps 2025. 12. 22. 23:10
[๊ฐ•์—ฐ ํšŒ๊ณ ๋ก] ๋™ํ˜•์•”ํ˜ธํ™”์™€ ์Šคํ…Œ์ด๋ธ” ์ฝ”์ธ

์ตœ๊ทผ ๋งŽ์€ ํ™”๋‘๊ฐ€ ๋˜๊ณ  ์žˆ๋Š” ์Šคํ…Œ์ด๋ธ” ์ฝ”์ธ์— ๋Œ€ํ•œ ์ข‹์€ ๊ฐ•์—ฐ์„ ๋“ฃ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์Šคํ…Œ์ด๋ธ” ์ฝ”์ธ ๋ฟ์•„๋‹ˆ๋ผ ํ˜„์žฌ์˜ ๊ธˆ์œต ์‹œ์Šคํ…œ์˜ ํ•œ๊ณ„๋ฅผ ์ง€์ ํ•˜๋ฉด ์ฝ”์ธ์ด ๋‚˜์˜ค๊ฒŒ๋œ ๋ฐฐ๊ฒฝ๊ณผ ์ƒํƒœ๊ณ„์˜ ๊ตฌ์„ฑ, ๋ฐ˜๋Œ€๋กœ ์ฝ”์ธ์˜ ๊ธˆ์œต ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐ”๋กœ ์ด์šฉ๋˜๊ธฐ ์–ด๋ ค์šด ํ•œ๊ณ„๋ฅผ ์•”ํ˜ธํ•™ ๊ด€์ ์—์„œ ๋ฐ”๋ผ๋ณด๊ณ  ์ด ํ•œ๊ณ„๋ฅผ ๊นฐ ์ˆ˜ ์žˆ๋Š” ๋™ํ˜•์•”ํ˜ธ์— ๋Œ€ํ•œ ์—ฐ์„ค๊นŒ์ง€ ๊ธˆ์œต๊ณผ IT ๊ธฐ์ˆ ์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์•„์ฃผ ์œ ์ตํ•œ ๊ฐ•์—ฐ์ด์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๊ธ€์„ ์ •๋ฆฌํ•˜๊ณ  ๊ณต์œ  ํ•ฉ๋‹ˆ๋‹ค. 1๋ถ€. ๋™ํ˜•์•”ํ˜ธํ™”๋ž€ ๋ฌด์—‡์ธ๊ฐ€โ€• ๊ธฐ์กด ์•”ํ˜ธ ๋ฐฉ์‹์˜ ํ•œ๊ณ„์™€ ‘๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์ง€ ์•Š๊ณ  ๊ณ„์‚ฐํ•˜๋Š”’ ๊ธฐ์ˆ ์˜ ๋“ฑ์žฅ์ตœ๊ทผ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๋ถ„์•ผ์—์„œ ๊ฐ€์žฅ ํฐ ํ™”๋‘๋Š” **๋™ํ˜•์•”ํ˜ธ(Fully Homomorphic Encryption, FHE)**์ด๋‹ค.์ด ๊ธฐ์ˆ ์€ “๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•œ ์ƒํƒœ ๊ทธ๋Œ€๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค”๋Š” ์ ์—..

Programming/IT 2025. 11. 30. 10:07
[Oracle] ์˜ค๋ผํด ์ฟผ๋ฆฌ ํŠœ๋‹ ํšŒ๊ณ (TOP-N ๋ฐฉ์‹ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ)

TOP-N๊ณผ ์ธ๋ฑ์Šค ์Šค์บ”์ด์™œ ๊ทธ๋ ‡๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๊นŒ์ง€ ์‚ฌ๋‚ด์—์„œ ํŽ˜์ด์ง•์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด์„œ ๊ณ ์ „ ๋ฐฉ์‹์˜ ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•œ TOP-N ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.์˜ˆ์‹œSELECT *FROM( SELECT ROWNUM as row_num, T.* FROM ( SELECT * FROM MY_TABLE WHERE :์กฐ๊ฑด ORDER BY :์ธ๋ฑ์Šค_์ปฌ๋Ÿผ ) T WHERE ROWNUM (:pageNum - 1) * :pageCountpageNum: ํŽ˜์ด์ง€ ๋ฒˆํ˜ธpageCount: ํ•œ ํŽ˜์ด์ง€์— ํ‘œ๊ธฐํ•  ์•„์ดํ…œ ์ˆ˜ ์œ„์™€ ๊ฐ™์€ ๊ทœ์น™์— ๋งž๊ฒŒ ์ž‘์„ฑ๋˜์–ด์žˆ๋Š” ํŽ˜์ด์ง•์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋น„์Šค์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ์ฒ˜์Œ์€ ๋‹จ์ˆœํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ๋‹ค.PK์ •๋ ฌ -> ์ธ๋ฑ์Šค ์กด์žฌ -> ์ธ๋ฑ์Šค๋กœ ์ •๋ ฌ ์—†์ด ์ƒ์œ„ N๊ฐœ๋ฅผ ๋จผ์ € ์ฝ์–ด์˜จ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ ๊ฐœ๋ฐœ์„œ๋ฒ„์—์„œ ์ง„ํ–‰ํ•œ ์˜ค๋ผํด์˜ ..

Programming/DB 2025. 11. 15. 21:54
[JS] Promise ํ™œ์šฉ - ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ์˜ํ•œ ๋™์ž‘ ์ง„ํ–‰ / ๋ฏธ์ง„ํ–‰

JS๋ฅผ ํ™œ์šฉํ•˜๋Š” front ์†Œ์Šค์—์„œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ํ†ตํ•ด์„œ ํ•จ์ˆ˜๋ฅผ ๋” ์ง„ํ–‰์‹œํ‚ฌ์ง€ ์ค‘๋‹จํ• ์ง€ ์ •ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ด ์ƒ๊น๋‹ˆ๋‹ค. ๋ชจ๋“  Modal ์ฐฝ์„ ํ†ตํ•ด์„œ callback ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ๊ฐ ํ•จ์ˆ˜์—์„œ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ผ์ด ์—†์ง€๋งŒ, ๋ณต์žกํ•œ ๋น„์ง€๋‹ˆ์Šค ๋กœ์งํ•ด์„œํ•˜๋‚˜์˜ ํ•จ์ˆ˜์—์„œ ์—ฐ์†์ ์œผ๋กœ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์•„ํ•  ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ ์‹ค๋ฌด์—์„œ ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด์ ์ด ์žˆ๋Š”๋ฐ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ ๊ฐ„๋žตํ•œ ๊ธฐ๋ฒ•์„ ์ •๋ฆฌํ•ด ๋ด…๋‹ˆ๋‹ค. ์˜ˆ์‹œ์ฝ”๋“œlet success = '' //resolve๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜let fail = '' //reject๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜const returnPromise = () => { console.log("returnPromise call") return new P..

Programming/JavaScript 2025. 11. 6. 18:37
[ํ•˜์ฝ”ํ…Œ] Day8. ์˜ค๋ฒ„ํ—ค๋“œ ์ค„์ด๊ธฐ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "๊ธฐ๋Šฅ๊ฐœ์„ " ํ’€์ด)

ํ•˜์ฝ”ํ…Œ 8์ผ์ฐจ ๋ฌธ์ œ ์—ญ์‹œ ์Šคํƒ/ํ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.ํ•ด๋‹น ๋ฌธ์ œ์—์„œ๋Š” ํ๋ฅผ ์ด์šฉํ•œ ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ•˜์˜€์œผ๋‚˜ ๋ฐ˜๋“œ์‹œ ์ž๋ฃŒ๊ตฌ์กฐ ํ๋ฅผ ์ด์šฉํ•  ํ•„์š”์—†์ด ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ๋ฐฉ์‹์„ ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด์Šต๋‹ˆ๋‹ค.๋ฌธ์ œ ์„ค๋ช…ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํŒ€์—์„œ๋Š” ๊ธฐ๋Šฅ ๊ฐœ์„  ์ž‘์—…์„ ์ˆ˜ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ๋Šฅ์€ ์ง„๋„๊ฐ€ 100%์ผ ๋•Œ ์„œ๋น„์Šค์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋˜, ๊ฐ ๊ธฐ๋Šฅ์˜ ๊ฐœ๋ฐœ์†๋„๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ๋ณด๋‹ค ๋จผ์ € ๊ฐœ๋ฐœ๋  ์ˆ˜ ์žˆ๊ณ , ์ด๋•Œ ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋  ๋•Œ ํ•จ๊ป˜ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.๋จผ์ € ๋ฐฐํฌ๋˜์–ด์•ผ ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ž‘์—…์˜ ์ง„๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด progresses์™€ ๊ฐ ์ž‘์—…์˜ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด speeds๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ฐ ๋ฐฐํฌ๋งˆ๋‹ค ๋ช‡ ๊ฐœ์˜ ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋˜๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ..

Programming/Algorithm 2025. 9. 21. 16:28
[ํ•˜์ฝ”ํ…Œ] Day7. ์•ฝ๊ฐ„๊ณ ๋น„ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์ฃผ์‹๊ฐ€๊ฒฉ" ํ’€์ด)

ํ•˜์ฝ”ํ…Œ(ํ•˜๋ฃจ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ) 2์ฃผ์ฐจ์˜ ๋‘๋ฒˆ์งธ ๋ฌธ์ œ ์ž…๋‹ˆ๋‹ค.์ด๋ฒˆ์ฃผ๋Š” ํšŒ์‚ฌ ์ผ์ •์œผ๋กœ ๋ฌธ์ œํ’€์ด ๋ฐ ๋ธ”๋กœ๊ทธ ๊ธ€ ์ž‘์„ฑ์ด ๋ฒ„๊ฑฐ์›€์ด ์žˆ์—ˆ์–ด์„œ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ๋ชฐ์•„์“ฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋ž˜๋„ ๋งค์ผ ํ•œ ๋ฌธ์ œ์”ฉ ํ’€์ž๊ณ  ๋ชฉํ‘œ๋ฅผ๋‘๋‹ˆ ์ž‘์„ฑ์„ ํฌ๊ธฐํ•˜์ง€๋Š” ์•Š๊ฒŒ๋˜์–ด์„œ ๋„์›€์ด๋˜๋„ค์š”.๋ฌธ์ œ ์„ค๋ช…์ดˆ ๋‹จ์œ„๋กœ ๊ธฐ๋ก๋œ ์ฃผ์‹๊ฐ€๊ฒฉ์ด ๋‹ด๊ธด ๋ฐฐ์—ด prices๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๊ฐ€๊ฒฉ์ด ๋–จ์–ด์ง€์ง€ ์•Š์€ ๊ธฐ๊ฐ„์€ ๋ช‡ ์ดˆ์ธ์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. ์ œํ•œ์‚ฌํ•ญprices์˜ ๊ฐ ๊ฐ€๊ฒฉ์€ 1 ์ด์ƒ 10,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.prices์˜ ๊ธธ์ด๋Š” 2 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆprices return[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…1์ดˆ ์‹œ์ ์˜ โ‚ฉ1์€ ๋๊นŒ์ง€ ๊ฐ€๊ฒฉ์ด ๋–จ์–ด์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.2..

Programming/Algorithm 2025. 9. 21. 13:30
[ํ•˜์ฝ”ํ…Œ] Day6. 2์ฃผ์ฐจ ์‹œ์ž‘ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด")

ํ•˜์ฝ”ํ…Œ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  2์ฃผ์ฐจ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.์›”์š”์ผ์— ํฐ ์ผ์ •์ด ์—†์–ด์„œ ๋ฌด์‚ฌํžˆ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€๋‚œ์ฃผ์—๋Š” ๊ณ„์† ํ•ด์‹œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค๋ฉด, ์ด๋ฒˆ์ฃผ์—๋Š” ์Šคํƒ/ํ ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ฌ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.๋ฌธ์ œ ์„ค๋ช…๋ฐฐ์—ด arr๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ฐฐ์—ด arr์˜ ๊ฐ ์›์†Œ๋Š” ์ˆซ์ž 0๋ถ€ํ„ฐ 9๊นŒ์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ „๋ถ€ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ์ œ๊ฑฐ๋œ ํ›„ ๋‚จ์€ ์ˆ˜๋“ค์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ๋Š” ๋ฐฐ์—ด arr์˜ ์›์†Œ๋“ค์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด,arr = [1, 1, 3, 3, 0, 1, 1] ์ด๋ฉด [1, 3, 0, 1] ์„ return ํ•ฉ๋‹ˆ๋‹ค.arr = [4, 4, 4, 3, 3] ์ด๋ฉด [4, 3] ์„ return ํ•ฉ๋‹ˆ๋‹ค.๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ์ œ๊ฑฐํ•˜..

Programming/Algorithm 2025. 9. 15. 23:10