๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ243 ์ค๋ ๋ sleep์ ํ๊ฒ ๋๋ฉด ์ง์ง ์๋ฌด ์ผ๋ ์ ํ ๊น? ์๋๋ฉด ๋ค๋ฅธ ์ผ์ ํ๊ฒ ๋ ๊น? 7์ ๋ถ๊ฐ์ธ ์ ๊ณ ๋ฌ์ด ๋๋ฉด์ ์ ์ ์ธ๊ธ ๊ณ์ฐ์ ๋ฑ ํํ์ค์ ํต์ ํ์ฌ ์๋ต ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฒ๋ฆฌ ์์ ์ ํ๊ณ , ์ ์ฅ์ ๋ด๋นํ๋ micro server์ CPU ์ฌ์ฉ๋ฅ ์ด ๊ธ์ฆํ์ต๋๋ค. ์ด์ ๋ํด ๋จผ์ ์ค์ผ์ผ ์ ์ ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ์ถํ ๋ฌธ์ ์ ์ ํ์ ํ์ต๋๋ค. ํด๊ฒฐ ์์ ์ ๋ฆฌ๋ทฐ๋ฅผ ๋ถ๋ฌธ์ฅ๋๊ป ๋ฐ์ผ๋ฉด์ CPU ์ฌ์ฉ๋ฅ ์ ๋ฎ์ถ ์ ์๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ์์ ๋ํด ์๊ฐํด์ฃผ์ จ์ต๋๋ค. ๊ทธ์ค Thread Sleep ์ด์ผ๊ธฐ๊ฐ ๋์๊ณ , Thread Sleep ํ๋ฉด ์ง์ง ์๋ฌด ์ผ๋ ์ํ ์ง, ์๋๋ฉด ๋ค๋ฅธ ์ผ์ ํ๊ฒ ๋ ์ง์ ๋ํ ์ง๋ฌธ์ ๋ฐ์์ต๋๋ค.์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ ๋ธ๋ก๊ทธ ๊ธ๋ก ์ ๋ฆฌํ๋ฉด ์ข์ ๊ฑฐ ๊ฐ์์ ์ด๋ฒ ๋ธ๋ก๊ทธ ๊ธ์ ์์ฑํ๊ฒ ๋์ต๋๋ค. ๐คThread.Sleep์ ํธ์ถํ๋ฉด ํ๊ฒ ๋๋ฉด ์ง์ง ์๋ฌด ์ผ๋ ์ ํ ๊น? ์๋๋ฉด ๋ค๋ฅธ ์ผ์.. Computer Science/Operating System 2025. 8. 10. VS CODE ์์ != ๋์ ≠, => ๋์ ⇒, <= ๋์ ≤ ์ฌ์ฉํ๋ ๊ฟํ ์ฝ๋๋ฅผ ์ง๊ด์ ์ผ๋ก ๋ณด๊ธฐ ์ํด์ !=, => ๋์ ์ ≠, ⇒ ์ด๋ฐ ์ํ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.VS CODE ์์๋ ์ด๋ฐ ์ค์ ์ด ์ ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฌ๊ธฐ ์ํด์ VS CODE ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์๋ ํฐํธ๋ ๋ถ๊ฐ๋ฅํด, ํฐํธ๋ฅผ ๋ค์ด๋ฐ๊ณ ํฐํธ์์ ์ ๊ณตํด์ฃผ๋ ๋ฆฌ๊ฐ์ฒ๋ฅผ ์ ์ฉํด์ผํฉ๋๋ค. VS Code์ ๋ฆฌ๊ฐ์ฒ ๊ธฐ๋ฅ์โ "ํฐํธ ์์ฒด์ ํฌํจ๋ ํน์ ๊ธ์ ์กฐํฉ(=๋ฆฌ๊ฐ์ฒ)์ ์ฌ์ฉํด์ ํ์ํ๋ ๊ธฐ๋ฅ"์ ๋๋ค.์ฆ,๋ฆฌ๊ฐ์ฒ๋ "ํฐํธ ๋์์ธ" ์์ ํฌํจ๋ ๊ธฐ๋ฅ์ ๋๋ค.(fontLigatures)๋ฆฌ๊ฐ์ฒ๊ฐ ์๋ ํฐํธ๋ !=์ ์ ๋ ≠๋ก ๋ฐ๊ฟ์ฃผ์ง ์์ต๋๋ค.๋ฐ๋๋ก ๋ฆฌ๊ฐ์ฒ๋ฅผ ์ ์ฉํ๋ ค๋ฉด ํฐํธ ์์ฒด๋ฅผ ๋ฆฌ๊ฐ์ฒ๋ฅผ ์ง์ํ๋ ํฐํธ๋ก ๋ฐ๊ฟ์ผ ํฉ๋๋ค. โจLigatures ์ ์ฉ ์์ ๐ ๊ฐ์ง ์์ ๋น๊ต ์ฐ์ฐ์ ๐ ํ์ดํ ํจ์ ๐ ๋๋ฑ ๋น๊ต ์ฐ์ฐ์์ ํ ๋น ์ฐ์ฐ์.. Tool 2025. 7. 7. DNS record ์ข ๋ฅ์ SOA ๋ ์ฝ๋ ํบ์๋ณด๊ธฐ ๐ฉ๊ฐ์ํ์ฌ์์ ๋งค์ผ ์ฝ์ด ํ๋ ์์ํฌ ํ ์คํธ์ผ์ด์ค๋ฅผ ํ๊ท ํ ์คํธ ์งํ์ค์ ๋๋ค. ํ์ง๋ง ๊ทผ๋์ SOA ๋ ์ฝ๋ ํ ์คํธ์ผ์ด์ค๊ฐ ๋งค๋ฒ ์คํจํ์ต๋๋ค. ์ด์ ๋ DNS ์ SOA ๋ ์ฝ๋์์ ์๋ฆฌ์ผ ๋๋ฒ๊ฐ ๊ณ์ ๋ฌ๋ผ์์์ต๋๋ค. const arry = [ "0.0.0.0", "1.1.1.1", "2.2.2.2", "3.3.3.3"]const dns = new $Dns_Client(arry, 3000);const records = dns.getSoaRecord("dns test url");for (const record of records) { Assert.equal(record.masterName, "ns1.xxx.net."); Assert.equal(record.responsibleName, "host.. Computer Science/Network 2025. 4. 28. C# using ํค์๋๋ก ๋ฆฌ์์ค๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ(+ using ์ ์ธ๊ณผ using ๋ฌธ ์ฌ์ฉ์ ์ฐจ์ด) C#์์๋ ์ธ๋ถ ์์(ํ์ผ, ๋คํธ์ํฌ ์คํธ๋ฆผ, DB ์ฐ๊ฒฐ ๋ฑ)์ ๋ค๋ฃฐ ๋ ๋ฐ๋์ ๋ช ์์ ์ธ ํด์ ๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์๋ ํ์ผ ์ ๊ธ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด C#์ IDisposable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ํด์ ํด์ฃผ๋ using ํค์๋๋ฅผ ์ ๊ณตํฉ๋๋ค.using ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์์ ๊ด๋ฆฌ์ ์ฝ๋์ ์์ ์ฑ ์ธก๋ฉด์์ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. 1๏ธโฃ using ๋ฌธ (using statement) using (var stream = new FileStream("example.txt", FileMode.Open)){ // ํ์ผ์ ์ฝ๊ฑฐ๋ ์} // using ๋ธ๋ก์ด ๋๋๋ฉด stream.Dispose()๊ฐ ์๋.. C# Programming 2025. 4. 25. 2025๋ ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ 1ํ ์ค๊ธฐ ํ๊ธฐ ํ๊ธฐ์ ์ด์ด ๋๋์ด ์ค๊ธฐ ๊ฒฐ๊ณผ๊ฐ ๋ฐํ๋์์ต๋๋ค.๊ฑฑ์ ํ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ ํ ๋ฒ์ ํฉ๊ฒฉํด์ ์ ๋ง ๋คํ์ด๋ผ๋ ๋ง๋ฐ์ ์ ๋์ต๋๋ค.์ด๋ฒ ๊ธ์์๋ ์ค๊ธฐ ์ํ ํ๊ธฐ์ ํจ๊ป ์ค์ ๊ณต๋ถ ๋ฐฉ๋ฒ์ ๊ณต์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค.๐ ์ํ ์ผ์ ๋ฐ ๊ฒฐ๊ณผ์ํ ์ผ์: 2025๋ 4์ 20์ผ (์ผ)ํฉ๊ฒฉ ๋ฐํ: 2025๋ 6์ 16์ผ์ ์: 75์ ๐ ์ํ ์ฒด๊ฐ ๋์ด๋ ๋ฐ ์ถ์ ๊ฒฝํฅ ๐ ๋์ด๋ ์ดํ๊ธฐ์ถ์ ๋นํด ๋์ด๋๊ฐ ์ฒด๊ฐ์ 1.5~2๋ฐฐ ์ด์ ์ด๋ ค์ ์ต๋๋ค.ํนํ ํ๋ก๊ทธ๋๋ฐ ๋ฌธ์ ๊ฐ ์ญ๋๊ธ์ผ๋ก ๊ผฌ์์ ธ์ ์ถ์ ๋์๊ณ , ๋๋ฒ๊น ๋ฅ๋ ฅ์ ๋ฌป๋ ๋ฌธ์ ๋ค์ด ๋ง์์ต๋๋ค.์ฝ๋๊ฐ ๊ฐํ ์์ด ํ ์ค๋ก ์ญ ๋์ค๋ ๊ฒฝ์ฐ๋ ์์๊ณ ,๋นํธ ์ฐ์ฐ, ์ด์ค ํฌ์ธํฐ, ์ฌ๊ท ํธ์ถ, ์ด๋ถ ํ์ ๋ฑ ์ค์ ๊ฐ๊ฐ์ ์๊ตฌํ๋ ๋ฌธ์ ๋ค์ด ์ฃผ๋ฅ์์ต๋๋ค.์๊ธฐ ํํธ๋ ๋ค๋ฅธ ํ์ฐจ์ ๋นํด ์ฌ์ด ํธ์ด์์ง๋ง, ์ฝ.. ETC 2025. 4. 22. .NET (CLR) ํ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ GC (๊ทธ๋ฐ๋ฐ JVM ๊ณผ ๋น๊ต๋ฅผ ๊ณ๋ค์ธ....) NET (CLR) ํ ๋ฉ๋ชจ๋ฆฌ๊ตฌ์กฐ์ GC ์ ๋ํด์ ๊ทธ๋ฆฌ๊ณ JVM ํ๊ณผ GC์์ ์ฐจ์ด์ ์ ํจ๊ป ์ด์ผ๊ธฐ ํด๋ณด๊ฒ ์ต๋๋ค. 1๏ธโฃํ๋ฉ๋ชจ๋ฆฌ ๊ด์ ๐ฆ.NET.NET์ ํ์ ํฌ๊ฒ ์ฃผ์ํ ๋๊ฐ์ง ์์ญ์ผ๋ก ๋๋์ด์ง๋๋ค. SOH(Small Object Heap), LOH(Large Object Heap) ์ด๋ ๊ฒ ๋๊ฐ์ง๊ฐ ์์ต๋๋ค. 1. Small Object Heap(SOH, ์์ ๊ฐ์ฒด ํ) ํฌ๊ธฐ๊ฐ ์์ ๊ฐ์ฒด(85KB ๋ฏธ๋ง)๋ฅผ ์ ์ฅํ๋ ๊ธฐ๋ณธ์ ์ธ ํ ์์ญ์ธ๋(Generation)๋ก ๊ด๋ฆฌ๋ฉ๋๋ค. (Gen 0, Gen 1, Gen 2)SOH ์์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ(GC)๊ฐ ์์ฃผ ์คํ๋ฉ๋๋ค. 2. Large Object Heap(LOH, ๋ํ ๊ฐ์ฒด ํ) 85KB(85,000๋ฐ์ดํธ) ์ด์ ํฌ๊ธฐ์ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋ฉ๋๋ค.Gen 2 ์ธ๋์์๋ง.. C# Programming 2025. 3. 14. 2025๋ 1ํ SQLD ์ํ ํ๊ธฐ ์ฌํด ๋ชฉํ ์ค ํ๋์๋ SQLD(SQL Developer) ์๊ฒฉ์ฆ์ ๋๋์ด ์ทจ๋ํ์ต๋๋ค.5์ผ์ด๋ผ๋ ์งง์ ์ค๋น ๊ธฐ๊ฐ์ด์์ง๋ง ๋ ํ์ผ๋ก ๋์ ํ๊ณ , ๋คํํ ํ ๋ฒ์ ๋ถ์ด์ ํ๊ธฐ๋ฅผ ๋จ๊ฒจ๋ด ๋๋ค.ํนํ ๋น์ ๊ณต์๋ ์ถฉ๋ถํ ๋์ ๊ฐ๋ฅํ ์ํ์ด๋ผ๋ ์ ์์ ์ ์ฒ๋ผ ์ค๋น ์ค์ด์ ๋ถ๋ค๊ป ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค. ๐ SQLD ์ํ ์ ๋ณด์ํ๋ช : SQLD (SQL Developer)์ํ ๊ธฐ๊ด: ํ๊ตญ๋ฐ์ดํฐ์ฐ์ ์งํฅ์์์ ๋น์ฉ: 50,000์์ํ ๋ฐฉ์: ํ๊ธฐ ์ํ / OMR ๋งํน / ์ข ์ด ์ํ์ง์ํ ์๊ฐ: 90๋ถ / ๊ฐ๊ด์ 50๋ฌธํญ (2์ × 50๋ฌธํญ = 100์ ๋ง์ )๐ ์ํ ๊ณผ๋ชฉ ๋ฐ ํฉ๊ฒฉ ๊ธฐ์ค ๊ตฌ๋ถ๊ณผ๋ชฉ๋ช ๋ฌธํญ์๋ฐฐ์ 1๊ณผ๋ชฉ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ดํด10๋ฌธํญ20์ 2๊ณผ๋ชฉSQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ40๋ฌธํญ80์ ์ด์ 60์ ์ด์ + ๊ณผ๋ชฉ๋ณ 40% ์ด์ (1๊ณผ.. ETC 2025. 3. 12. 2025๋ 1ํ ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ํ๊ธฐ ํ๊ธฐ ๐ 2025๋ ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ 1ํ ํ๊ธฐ ํ๊ธฐ (์ค์ ๊ฒฝํ ๊ธฐ๋ฐ ์ ๋ฆฌ)2025๋ 1ํ ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ํ๊ธฐ ์ํ์ ์น๋ฅธ ํ๊ธฐ๋ฅผ ๊ณต์ ํด๋ด ๋๋ค.๊ฐ๋ฐ์๋ก ์ง๋ฌด ์ ํํ๊ธฐ ์ ์ ๋ฐ์ด์คํํ์ ํ์ ์กฐ๊ธฐ์ฌ๋ฅผ ์ค๋นํ๋ ๊ฒฝํ์ด ์์ต๋๋ค. ๊ทธ๋ ๋๋๊ฒ์ด ๊ธฐ์ถ๋ฌธ์ ์ค์ฌ์ผ๋ก ๋บ๋บ์ด ๋๋ฆฌ์์ ๋๋ค.์ฌ์ง์ด ์ฃผ์ด์ง ์๊ฐ๋ 1์ฃผ์ผ์ด์์ต๋๋ค. ํด๊ทผํ๊ณ ๋์ 7์๋ถํฐ ๋ฐค 1์ ์ ๋๊น์ง 8์ผ๊ฐ ๊ณต๋ถํ์์ต๋๋ค. ์ด๋ก ๊ณผ ๊ฐ๋ ๋ฐ์น๋ ์ค์ํ์ง๋ง, ๋จ๊ธฐ๊ฐ์ ์ฑ๊ณผ๋ฅผ ๋ด๊ธฐ ์ํด์ ๊ธฐ์ถ ๋บ๋บ์ด๊ฐ ์ต๊ณ ์ ๋๋ค.๊ทธ์ค์์๋ 3๊ณผ๋ชฉ์ DB ๊ด๋ จ๋ ๋ด์ฉ์ด๊ธฐ์ ์งง์ ์ค๋น ๊ธฐ๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฐ๊ธฐ ์ํด 1,2,4,5 ๊ณผ๋ชฉ์ ๊ฐ๊ฐ ์ดํ์ฉ ๊ณต๋ถํ๊ณ 3๊ณผ๋ชฉ์ ๊ณต๋ถ๋ฅผ ํฌ๊ธฐํ๊ณ ํ์ ์ค๋ ฅ์ผ๋ก ๋ณด์๋ ๋ฐฐํ ์ ํ์์ต๋๋ค.(๊ฒฐ๊ณผ๋ง ๋ณด์๋ฉด ๋คํ์ด ๋ฐฐํ ์ฑ๊ณต์ด์์ง๋ง,,, ๋งค์ฐ ์ํํ์ต๋๋ค... ETC 2025. 2. 18. ์ ์ ์ฃผ๋์ด ๊ฐ๋ฐ์ ๋ฐ์ฃผํ A.K.A ์ค์์ 24๋ ํ๊ณ ๋ก ํ ํด๊ฐ ๊ฐ๊ณ ๋ค์ ์๋ก์ด ํด๊ฐ์ฐพ์ ์ค๊ณ ์๋ค. 25๋ ์ ๊ธฐ๋ค๋ฆฌ๋ฉฐ, ์ง๋ ํ ํด์ธ 24๋ ์ ๋๋์ ๋ณด๋ ค๊ณ ํ๋ค. ์ฐ์ฌ๊ณก์ ์ด ๋ง์๋ ํ ํด์ด๊ธฐ์ ์๋ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ฐฌ ํ๊ณ ๋ก์ด ๋ ๊ฒ ๊ฐ๋ค.๋จผ์ ํ๊ณ ๋ก์ ์์ฑํ๊ธฐ ์ ์, ์๋ ์ ์ด ํ๊ณ ๋ก์ ์ฝ์ด๋ณด์๋ค. ์ผ๋ง๋ ์๋ ์ ๋นํด ๋ ์ฑ์ฅํ๊ณ , ์ผ๋ง๋ ์๋ ์ ๋ค์ง๊ณผ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๋์ง ํ์ธํด ๋ณด๋ ค ํ๋ค. https://programmer-may.tistory.com/185 ์ฃผ๋์ด ๊ฐ๋ฐ์(ํฌ๋ง) ๋ฐ์ฃผํ A.K.A ์ค์์ 23๋ ํ๊ณ ๋ก์ถ์ด ๊ฒจ์ธ๋ฐ๋์ ๋ง๋ฟ์ผ๋ ํํด๋ฅผ ๋๋์๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ์ผํ ๋๊ฐ ์๊ตฌ๋! ๋๋๋ค. 23๋ ์ ๋์๊ฒ ์ ๋ง ํฌ๊ณ ๋ป๊น์ ํํด์ด๋ค. ์ฌ๋ ๋ฐ์ฃผํ์ผ๋ก์ ๊ทธ๋ฆฌ๊ณ , ๊ฐ๋ฐ์ ๋ฐ์ฃผํ์ผ๋ก์๋ ์ ๋ง ์ ๋งprogrammer-may.tistory.com ์๋ ํ.. ETC 2024. 12. 31. Fiddler ์ค์น ๋ฐ HTTPS ํ๋กํ ์ฝ ํจํท ๋ถ์ ์ค์ ํผ๋ค๋ฌ(Fiddler)๋ HTTP ๋ฐ HTTPS ํธ๋ํฝ์ ์บก์ฒํ๊ณ ๋ถ์ํ ์ ์๋ ๊ฐ๋ ฅํ ์น ๋๋ฒ๊น ํ๋ก์(Web Debugging Proxy) ๋๊ตฌ์ ๋๋ค. ์ฃผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๋ฐ ๋๋ฒ๊น ๊ณผ์ ์์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๋คํธ์ํฌ ํต์ ์ ๋ชจ๋ํฐ๋งํ๊ฑฐ๋ ํ ์คํธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ฃผ์ ๊ธฐ๋ฅHTTP/HTTPS ํธ๋ํฝ ์บก์ฒํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ๋ชจ๋ HTTP ๋ฐ HTTPS ์์ฒญ๊ณผ ์๋ต์ ์บก์ฒ.ํธ๋ํฝ ๋ด์ฉ์ ์ค์๊ฐ์ผ๋ก ํ์ธ ๊ฐ๋ฅ.์์ฒญ ๋ฐ ์๋ต ๋ถ์์์ฒญ ํค๋, ๋ณธ๋ฌธ, ์ฟ ํค, ์๋ต ์ฝ๋ ๋ฑ์ ์์ธํ ๋ถ์.JSON, XML, HTML ๋ฑ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ธฐ ์ข๊ฒ ํ์.๋ชจ์ ์์ฒญ ๋ฐ ์๋ต ํ ์คํธ๊ธฐ์กด ์์ฒญ์ ์์ ํ๊ฑฐ๋ ์๋ก์ด ์์ฒญ์ ์์ฑํ์ฌ ์๋ฒ์ ํต์ ํ ์คํธ.Mock ์๋ฒ ์ญํ ์ํ.SSL ๋๋ฒ๊น HTTPS ํธ๋ํฝ์.. Tool 2024. 12. 30. ์ค๋ฌด์์ ์์ฃผ ์ ํ๊ฒ ๋๋ ์ํฐ ํจํด ์ํฐ ํจํด์ํฐํจํด(Anti-Pattern)์ด๋ ์ํํธ์จ์ด ๊ฐ๋ฐ, ์ค๊ณ, ๋๋ ๋ฌธ์ ํด๊ฒฐ์์ ๋นํจ์จ์ ์ด๊ณ ํด๋ก์ด ๊ดํ์ ๋งํฉ๋๋ค. ์ฝ๋๋ฅผ ์์ฑํ ๋, ๋นํจ์จ์ ์ด๊ฑฐ๋ ๋น์์ฐ์ ์ผ ์ ์๋ ๋ฐฉ์๋ค์ ์๋ฏธํฉ๋๋ค. ์ฝ๋๋ฅผ ์์ฑํ ๋น์์๋ ๋ฌธ์ ๊ฐ ์์ด๋ณด์ผ ์ ์์ง๋ง, ์๊ฐ์ด ์ง๋๊ณ ์๊ตฌ ์ฌํญ์ด ๋ฐ๋๋ฉด ์์ ์ด ๋งค์ฐ ์ด๋ ค์์ง ์ ์์ต๋๋ค. ์๋ชป๋ ๋ฐฉ์์ผ๋ก ์์ฑ๋ ์ฝ๋๋ ์คํ ์๋์ ์์คํ ์ ์ฒด ์ฑ๋ฅ์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋ํ์ ์ธ ์ํฐ ํจํด1. Spaghetti Code (์คํ๊ฒํฐ ์ฝ๋) ๊ตฌ์กฐ๊ฐ ์๋ ๋ณต์กํ๊ณ ๋ค์ฝํ ์ฝ๋. ์ดํดํ๊ธฐ ์ด๋ ต๊ณ , ์ ์ง๋ณด์๊ฐ ๊ฑฐ์ ๋ถ๊ฐ๋ฅํ๊ณ ์ฝ๋ ๋ณ๊ฒฝ ์ ์์์น ๋ชปํ ๋ฌธ์ ๋ฐ์์ด ๊ฐ๋ฅํฉ๋๋ค.์์function calculate(value) { if (value > 10) { if (val.. System Design 2024. 12. 26. JavaScript ์ผ๋ฐ ํจ์์ ํ์ดํ ํจ์์ ์ฐจ์ด์ ๋ฌธ๋ฒ ์๋ฐ์คํฌ๋ฆฝํธ์์ ํจ์๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋๊ฐ์ง์ด๋ค. ์ผ๋ฐ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ํ์ดํ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ผ๋ฐ ํจ์function ํค์๋๋ฅผ ์ฌ์ฉํ๋ ์ผ๋ฐ ํจ์๋ ํจ์ ์ ์ธ์๊ณผ ํจ์ ํํ์์ด ์๋ค. ํจ์์ ์ธ์ํจ์ ์ ์ธ์์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ํจ์๋ฅผ ์ ์ธํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ด๋ค.function main() { console.log("Hello")}main() //ํจ์ ํธ์ถ function ํค์๋ ๋ค์ ํ์์ ์ผ๋ก ํจ์ ์ด๋ฆ์ ์ ๊ณ ๋ธ๋ญ ์์ ํจ์ ๋ด์ฉ์ ์ ์ผ๋ฉด ๋๋ค. ํจ์๋ฅผ ํธ์ถํ๊ธฐ ์ํด์ ์ด๋ฆ์ ์ ์ผ๋ฉด ๋๋ค.ํจ์ ์ ์ธ์์ผ๋ก ์์ฑ๋ ์์ฑ๋ ํจ์์ ํน์ง์ ํธ์ด์คํ ์ด ๋๋ค๋ ๊ฒ์ด๋ค. ํธ์ด์คํ ์ด ๋๊ธฐ ๋๋ฌธ์ ํจ์ ์ ์ธ๋ณด๋ค ํธ์ถ์ด ๋จผ์ ๋์ด๋ ์๋ฌ๊ฐ ์๊ธฐ์ง ์๊ณ , ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค. ํธ์ด์คํ ์ด ๋๊ธฐ ๋๋ฌธ์.. JavaScript Programming 2024. 12. 20. ์ด์ 1 2 3 4 ยทยทยท 21 ๋ค์