2025. 5. 9. 13:56ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€ 8์ฃผ์ฐจ WIL

๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ๋‚ด์šฉ์„ ๋ณด์‹œ๋ ค๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ•ด์ฃผ์„ธ์š”.

C์–ธ์–ด๋กœ ํŒŒ์‹ฑํ•˜๊ธฐ
IT/๊ธฐํƒ€2025. 5. 7. 16:40C์–ธ์–ด๋กœ ํŒŒ์‹ฑํ•˜๊ธฐ

์ด๋ฒˆ ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€ 8์ฃผ์ฐจ์—์„œ web proxy lab ๊ณผ์ œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ C์–ธ์–ด๋กœ HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ํŒŒ์‹ฑํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•œ ์ค„์ด๋ฉด ๋๋‚  ์ž‘์—…๋“ค์ด C์—์„œ๋Š” ์™œ ์ด๋ฆฌ ์–ด๋ ต๊ณ , ๋ฒ„๊ทธ๋Š” ์™œ ์ด๋ฆฌ ์ž์ฃผ ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ์ ˆ์‹คํžˆ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์•„๋งˆ ๋งŽ์€ ๋ถ„๋“ค์ด ๋น„์Šทํ•œ ๊ฒฝํ—˜์„ ํ•˜์…จ๊ฑฐ๋‚˜, ์•ž์œผ๋กœ ๊ฒช๊ฒŒ ๋˜์‹œ๋ฆฌ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ C์–ธ์–ด์—์„œ์˜ ํŒŒ์‹ฑ ์ž‘์—…์ด ์™œ ์œ ๋… ๊นŒ๋‹ค๋กœ์šด์ง€, ๊ทธ๋ฆฌ๊ณ  ์ด ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ—ค์ณ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์„์ง€์— ๋Œ€ํ•œ ์ œ ๊ฒฝํ—˜๊ณผ ํŒ์„ ๊ณต์œ ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.C์–ธ์–ด ํŒŒ์‹ฑ, ์™œ ์ด๋ ‡๊ฒŒ ์–ด๋ ค์šด ๊ฑธ๊นŒ์š”?'๋งจ์†์œผ๋กœ ์ ˆ๋ฒฝ ํƒ€๊ธฐ' - ๋‚ฎ์€ ์ˆ˜์ค€์˜ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ: C๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ง์ ‘ ๊ณต๊ฐ„์„ ๋‚ด๊ณ , ๊ทธ ๊ณต๊ฐ„์„ ์ฐธ์กฐ, ์—ฐ์‚ฐ, ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์ „๋ถ€์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ง์ ‘ ํ•œ๋‹ค๋Š” ๊ทธ ์ž์ฒด๊ฐ€ ๊ฐ•๋ ฅํ•˜์ง€๋งŒ, ์ด..

์›น ํ”„๋ก์‹œ ๋žฉ: ๋‹ค๋œ ์บ์‹œ์— ํ•ด์‹œ ๋ผ์–น๊ธฐ (djb2 ํ•ด์‹œ + ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)
IT/๊ธฐํƒ€2025. 5. 6. 11:46์›น ํ”„๋ก์‹œ ๋žฉ: ๋‹ค๋œ ์บ์‹œ์— ํ•ด์‹œ ๋ผ์–น๊ธฐ (djb2 ํ•ด์‹œ + ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)

ํ‚ค์›Œ๋“œ: djb2 ํ•ด์‹œ, ํ•ด์‹œโ€ฏ+โ€ฏ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(LRU), Readerโ€‘Writer Lock, MAX_CACHE_SIZE, MAX_OBJECT_SIZE1. ์™œ ๋ณ„๋„์˜ ์บ์‹œ๊ฐ€ ํ•„์š”ํ•œ๊ฐ€?ํ”„๋ก์‹œ ์„œ๋ฒ„์—์„œ ์ธ๋ฉ”๋ชจ๋ฆฌ ์บ์‹ฑ์ด๋ž€? ๋™์ผ ๊ฐ์ฒด ์žฌ์š”์ฒญ ์‹œ, ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.์ €ํฌ ์ด๋ฒˆ 8์ฃผ์ฐจ ์›น ํ”„๋ก์‹œ ๋žฉ์˜ ์บ์‹ฑ ๋ถ€๋ถ„์˜ ์š”๊ตฌ์กฐ๊ฑด์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.์ธ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋‹ค์ค‘ ์ฝ๊ธฐ, ๋‹จ์ผ ์“ฐ๊ธฐ ๋ณด์žฅ → ์‚ฌ์‹ค์ƒ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๊ตฌํ˜„์ด ๊ฐ•์ œLRU ์ •์ฑ…์œผ๋กœ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ (๋˜๋Š” ์ง€์ •๋œ ์šฉ๋Ÿ‰์„ ๋งž์ถœ ๋•Œ๊นŒ์ง€) ๊ฐ์ฒด ์ž๋™ ํ‡ด์ถœ์ œ ๊ฐœ์ธ์ ์œผ๋กœ ๋ชฉํ‘œํ•˜์˜€๋˜ ์ถ”๊ฐ€ ์กฐ๊ฑด์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทœ๋ชจ๊ฐ€ ์ปค์ ธ๋„ ๋น ๋ฅธ ์‘๋‹ต์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด O(1) ํƒ์ƒ‰์‘๋‹ต ํ—ค๋”๊นŒ์ง€ ํ†ต์งธ๋กœ ์บ์‹œ (์žฌ์ „์†ก ์‹œ ์™„์ „ ๋™์ผํ•œ ์‘๋‹ต ๊ฐ€๋Šฅํ•˜๋„๋ก)์ผ๋ฐ˜์ ..

Ubuntu 18.04 ๋“ฑ ๊ตฌ๋ฒ„์ „์—์„œ Visual Studio Code ์—ฐ๋™ ๋ถˆ๊ฐ€ ํ˜„์ƒ ํ•ด๊ฒฐํ•˜๊ธฐ (VM, ์‹ค์ œ OSํŽธ)
IT/DevOps2025. 4. 29. 23:30Ubuntu 18.04 ๋“ฑ ๊ตฌ๋ฒ„์ „์—์„œ Visual Studio Code ์—ฐ๋™ ๋ถˆ๊ฐ€ ํ˜„์ƒ ํ•ด๊ฒฐํ•˜๊ธฐ (VM, ์‹ค์ œ OSํŽธ)

์ปจํ…Œ์ด๋„ˆ (WSL, Docker, LXC ๋“ฑ)์˜ ๊ฒฝ์šฐ ๊ฐ€๊ธ‰์  ์ด ํฌ์ŠคํŠธ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ์šฉํ•˜์„ธ์š”.AMD64 (x86-64) ์ด์™ธ์˜ ์•„ํ‚คํ…์ฒ˜์˜ ๊ฒฝ์šฐ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.VS Code Server๊ฐ€ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๋™์ž‘์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋Š” ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.Could not establish connection to "(Server Name)":The remote host does not meet the prerequisites for running VS Code Server.์›๊ฒฉ ํ˜ธ์ŠคํŠธ๊ฐ€ VS Code Server๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ•„์ˆ˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ถฉ์กฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.์ธํŠธ๋กœ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ๋Š” Remote - SSH, WSL, Docker ์ปจํ…Œ์ด๋„ˆ ๋“ฑ์œผ๋กœ์˜ ํŽธ๋ฆฌํ•œ ์—ฐ๋™ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต..

Ubuntu 18.04 ๋“ฑ ๊ตฌ๋ฒ„์ „์—์„œ Visual Studio Code ์—ฐ๋™ ๋ถˆ๊ฐ€ ํ˜„์ƒ ํ•ด๊ฒฐํ•˜๊ธฐ (์ปจํ…Œ์ด๋„ˆํŽธ: WSL, ๋„์ปค, LXC ๋“ฑ)
IT/DevOps2025. 4. 28. 17:39Ubuntu 18.04 ๋“ฑ ๊ตฌ๋ฒ„์ „์—์„œ Visual Studio Code ์—ฐ๋™ ๋ถˆ๊ฐ€ ํ˜„์ƒ ํ•ด๊ฒฐํ•˜๊ธฐ (์ปจํ…Œ์ด๋„ˆํŽธ: WSL, ๋„์ปค, LXC ๋“ฑ)

์ปจํ…Œ์ด๋„ˆ (WSL, Docker, LXC ๋“ฑ)๊ฐ€ ์•„๋‹Œ VM์ด๋‚˜ ์‹ค์ œ OS์˜ ๊ฒฝ์šฐ ์ด ํฌ์ŠคํŠธ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.AMD64 (x86-64) ์ด์™ธ์˜ ์•„ํ‚คํ…์ฒ˜์˜ ๊ฒฝ์šฐ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.Could not establish connection to "(Server Name)": The remote host does not meet the prerequisites for running VS Code Server.์›๊ฒฉ ํ˜ธ์ŠคํŠธ๊ฐ€ VS Code Server๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ•„์ˆ˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ถฉ์กฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.์ธํŠธ๋กœ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ๋Š” Remote - SSH, WSL, Docker ์ปจํ…Œ์ด๋„ˆ ๋“ฑ์œผ๋กœ์˜ ํŽธ๋ฆฌํ•œ ์—ฐ๋™ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ 2025๋…„ 3์›” ๋ฆด๋ฆฌ์ฆˆ๋œ 1.99 ๋ฒ„์ „๋ถ€ํ„ฐ๋Š” WSL Ubuntu..

ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€ 6์ฃผ์ฐจ WIL
๋‚˜์˜ ์ด์•ผ๊ธฐ/ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€2025. 4. 24. 19:50ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€ 6์ฃผ์ฐจ WIL

C๋กœ ๊ตฌํ˜„ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์—ฌํƒœ๊ป ์ œ๊ฐ€ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ๋ฅผ ๋ฐฐ์šฐ๊ฒŒ ๋˜๋ฆฌ๋ผ๊ณ ๋Š” ์ƒ๊ฐ์„ ํ•œ ์ ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋”๊ตฌ๋‚˜ C๋กœ ์งœ๋ฆฌ๋ผ๊ณ ๋Š” ์ƒ์ƒ๋„ ๋ชปํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์ œ๊ฒŒ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ๋ž€ ์‹ค์ œ ๋ฆฌ๋ˆ…์Šค, ์ž๋ฐ” ๋“ฑ ํ˜„์—…์—์„œ ์“ฐ์ด๋Š” ๋ณต์žกํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค, ์ •๋„์˜ ํฌ๋„๋ฌด๋ ˆํ•œ ์ด๋ฏธ์ง€๋งŒ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค (์ด๊ฒŒ BST์˜ ์ผ์ข…์ด๋ผ๋Š” ๊ฒƒ๋„ ๋ชฐ๋ž์ง€์š”).๊ทธ๋Ÿฐ๋ฐ ๊ฒฐ๊ตญ ์ด๊ฑธ ๊ณต๋ถ€ํ•˜๊ณ , ๊ตฌํ˜„ํ•˜๊ณ , ํ…Œ์ŠคํŠธ๊นŒ์ง€ ๋๋ƒˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜์™ธ๋กœ ํ• ๋งŒํ–ˆ๋‹ค๋Š” ์ ์—์„œ ์ €๋Š” ๋˜ ๋‹ค์‹œ ๋†€๋ž์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ 6์ฃผ์ฐจ์— ์ €ํฌ ์ •๊ธ€์€ CS:APP ๊ต์žฌ 7,8,9์žฅ, ๊ทธ๋ฆฌ๊ณ  C์–ธ์–ด๋กœ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ €๋ฒˆ ์ฃผ ๋ชฉ์š”์ผ์˜ ์ฐจ์ฃผ๋ฐœ์ œ ์‹œ๊ฐ„์— ์ €ํฌ๊ฐ€ ์ผ์ฃผ์ผ๊ฐ„ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ณผ์ œ๊ฐ€ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ๋ผ๋Š” ๊ฒƒ์„ ๋“ค์—ˆ์„ ๋•Œ, ๊ทธ๋ฆฌ๊ณ  ์ €๊ฒŒ ์–ด๋–ค ๋ฌผ๊ฑด์ธ์ง€ ์›น์„ ํ†ตํ•ด ์ฐพ์•˜์„ ๋•Œ, ์ด๊ฑธ ์ง„์งœ๋กœ ๋‚ด..

Pintos ์ž๋ฃŒ ์ทจํ•ฉ
IT/๊ธฐํƒ€2025. 4. 22. 14:48Pintos ์ž๋ฃŒ ์ทจํ•ฉ

๊ณต์‹ ์›น์‚ฌ์ดํŠธhttps://pintos-os.org/ ๊ณต์‹ ๋ฌธ์„œ์ตœ์ดˆ ๋ฆด๋ฆฌ์ฆˆ ๋‹น์‹œ PDF: https://www.scs.stanford.edu/09wi-cs140/pintos/pintos.pdfPPT (SIGCSE2009): https://pintos-os.org/SIGCSE2009-Pintos.pdf ๊ณต์‹ ์‹ค๋Ÿฌ๋ฒ„์Šค์Šคํƒ ํฌ๋“œ ๋Œ€ํ•™ CS 140 (็พ CS 112/212): https://cs140.scs.stanford.edu/์ตœ๊ทผ ๋ฌธ์„œ (Winter 2024 CS 212): https://www.scs.stanford.edu/24wi-cs212/pintos/pintos.html Git ํด๋ก  ์ปค๋งจ๋“œ (w/ ๋ ˆํฌ ์ฃผ์†Œ)git clone git://pintos-os.org/pintos-anon๋˜๋Š”git clone..

๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ (Red-Black Tree)
IT/์ปดํ“จํŒ…์  ์‚ฌ๊ณ 2025. 4. 18. 11:13๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ (Red-Black Tree)

์•„์‰ฝ๊ฒŒ๋„ ์ด Rbt.๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.0. ๋ชฉ์ฐจ๋”๋ณด๊ธฐ1. ๊ฐœ๋… ์ •์˜2. ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ์˜ ๊ทœ์น™ 5๊ฐœ์กฐ3. ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ ์‚ฝ์ž…4. ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ ์‚ญ์ œ5. ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ ๊ฒ€์ƒ‰6. ๊ธฐํƒ€ ํŠน์ง•7. ์ฐธ๊ณ ๋ฌธํ—Œ1. ๊ฐœ๋… ์ •์˜๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ (Red-Black Tree, RBT)๋Š” ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(BST)์˜ ์ผ์ข…์œผ๋กœ, ๋…ธ๋“œ๋งˆ๋‹ค ์ (่ตค)๋˜๋Š” ํ‘(้ป’)์ƒ‰์„ ๋ง์ž…ํ˜€ ๊ท ํ˜•์„ ์œ ์ง€ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฒ€์ƒ‰์ด ์ตœ์•…์˜ ๊ฒฝ์šฐ์—๋„ O(log n)์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ์˜ ๋…ํŠนํ•œ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋กœ NIL ๋…ธ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. RBT์—์„œ ๋ชจ๋“  ๋ฆฌํ”„ ๋…ธ๋“œ๋Š” NIL ๋…ธ๋“œ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํŠธ๋ฆฌ๋‚ด ๋ชจ๋“  ๋ฆฌํ”„๋Š” NULL์ด ์•„๋‹ˆ๋ผ (์ฆ‰, ๊ทธ๋ƒฅ ๋น„์›Œ๋†“๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ) NIL ๋…ธ๋“œ๊ฐ€ ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ..

image