๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€210

4. CPU Scheduling ์ง€๋‚œ ๋ฒˆ์— ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œ์ผœ ํ๊ฐ„์˜ ์ด๋™์„ ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง์ด๋ผ๊ณ  ํ–ˆ๋‹ค.CPU ์Šค์ผ€์ค„๋ง์€ ์ด ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง๊ณผ๋Š” ๊ตฌ๋ถ„๋œ๋‹ค.ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง ์•ˆ์—์„œ๋„ ๋ฐœ์ƒ ๋นˆ๋„์— ๋”ฐ๋ผ Long-term, Short-term, Medium-term ์Šค์ผ€์ค„๋ง์œผ๋กœ ๋‚˜๋‰˜๋Š”๋ฐ ๊ทธ ์ค‘์— Short-term Scheduling์ด CPU Scheduling์— ํ•ด๋‹นํ•œ๋‹ค. Histogram of CPU-burst TimesI/O bound job์€ ์นด์นด์˜คํ†ก๊ณผ ๊ฐ™์€ ๋ฉ”์‹ ์ €๋‚˜, hwp ํ”„๋กœ๊ทธ๋žจ ๊ฐ™์ด ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ์„ ํ•ด์•ผ๋งŒ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ๋งํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— I/O๊ฐ€ ๋งค์šฐ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•œ๋‹ค. ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์ด ๋“ค์–ด์˜ค๋ฉด ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋˜ ๋‹ค์Œ ์ž…๋ ฅ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์ž‘์ด ๊ณ„์† ๋ฐ˜๋ณต๋œ๋‹ค. ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ CPU๋ฅผ ์žก์•˜.. 2023. 3. 24.
3. Processes and Threads Process ํ”„๋กœ์„ธ์Šค์˜ ๋…ผ๋ฆฌ์  ์ •์˜๋Š” "์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ" ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์‹ค์ฒด๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด์„œ ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๋“ค์„ ๋‹ด๊ณ  ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค. Branch๋‚˜ Jump์— ์˜ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์ด sequentialํ•˜๊ฒŒ ์ˆ˜ํ–‰๋˜๋Š” ํŒจํ„ด์ด ๋ฐ”๋€” ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ๋ธŒ๋žœ์น˜๋‚˜ ์ ํ”„๊ฐ€ ์—†๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค. ํ”„๋กœ์„ธ์Šค ์•ˆ์—๋Š” ์–ด๋–ค ๋‚ด์šฉ๋“ค์ด ๋‹ด๊ฒจ ์žˆ์„๊นŒ? Text Section: ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋Š” ์˜์—ญ Stack Section: Function Call๊ณผ Context Switch๋ฅผ ์œ„ํ•œ ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ - Function Call: ํ•จ์ˆ˜๊ฐ€ ์ค‘์ฒฉ๋˜์–ด ํ˜ธ์ถœ๋˜๊ฒŒ ๋œ๋‹ค๋ฉด, Aํ•จ์ˆ˜์—์„œ B๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  Bํ•จ์ˆ˜์—์„œ Cํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž. return ์ฃผ์†Œ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ƒ๊ฐํ•ด๋ณด๋ฉด, Cํ•จ.. 2023. 3. 23.
2. Operating System Overview (2) Operating System "Service" ๋ฆฌ๋ˆ…์Šค์—์„œ ๋กœ๊ทธ์ธ์„ ํ•œ ๋‹ค์Œ์— ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ๋‹ค๋ฉด? ์˜ˆ๋ฅผ ๋“ค์–ด, ls๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ์ณค๋‹ค. ls๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ทธ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŒ๋“ค์–ด์ ธ์•ผ ํ•˜๊ณ , ๊ทธ ํ”„๋กœ๊ทธ๋žจ์„ ํ”„๋กœ์„ธ์Šค์— ๋‹ด์•„์„œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค์•ผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ls๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด ์ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŒ๋“ค์–ด์ ธ์•ผ ํ•˜๋Š”๋ฐ, ๋ˆ„๊ฐ€ ๋งŒ๋“œ๋Š” ๊ฒƒ์ผ๊นŒ. ์‚ฌ๋žŒ์ด ์‹คํ–‰์‹œํ‚จ ๊ฒƒ์€ ๋งž์ง€๋งŒ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ๋žŒ์ด ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ls๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด ์–ด๋–ค ์ผ์ด ๋ฒŒ์–ด์งˆ๊นŒ. ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ์„œ๋น„์Šค๋ฅผ OS๊ฐ€ ์ œ๊ณตํ•˜๋Š”๋ฐ, ํ•ด๋‹น ์„œ๋น„์Šค๋Š” System Call์„ ํ†ตํ•ด ์ œ๊ณต์ด ๋œ๋‹ค. ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ์„œ๋น„์Šค๋Š” fork()๋ผ๋Š” System Call์„ ํ†ตํ•ด ์‚ฌ์šฉ.. 2023. 3. 23.
2. Operating System Overview (1) ์ง€๋‚œ ์‹œ๊ฐ„๊นŒ์ง€ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ๋ฐฐ์› ๊ณ , ์˜ค๋Š˜์€ OS์— ๋Œ€ํ•œ ๊ฐœ๊ด„์ ์ธ ๋‚ด์šฉ์„ ๋‹ค๋ฃฐ ๊ฒƒ์ด๋‹ค. Operating System Structure์šด์˜์ฒด์ œ์˜ ๊ตฌ์กฐ Multiprogramming needed for efficiencyCPU๊ฐ€ ๋ถˆํ•„์š”ํ•œ ๋Œ€๊ธฐ๋ฅผ ํ•˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ OS๊ฐ€ ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋„๋ก ๊ด€๋ฆฌ๋ฅผ ํ•ด์•ผํ•œ๋‹ค.ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋งŒ์œผ๋กœ๋Š” CPU๊ฐ€ ํ•ญ์ƒ ๋ฐ”์˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜๋Š” ์—†๋‹ค.=> I/O๋กœ ์ธํ•ด ์–ด์ฉ” ์ˆ˜ ์—†์ด ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„์ด ๋ฐœ์ƒํ•จ.๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€์•ผ ํ•˜๋Š”๋ฐ, ๊ทธ๋Ÿฌ๊ธฐ์—๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•˜๋‹ค.๊ทธ๋ž˜์„œ ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด์„œ๋Š” Virtual memory๊ธฐ๋Šฅ์ด ์ง€์›๋˜์–ด์•ผ ํ•œ๋‹ค.ํ”„๋กœ์„ธ์„œ Management ์ž…์žฅ์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„.. 2023. 3. 22.
1. Computer System Overview (2) Memory Hierarchy์ปดํ“จํ„ฐ ์•ˆ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์˜ ๊ณ„์ธต๊ตฌ์กฐ์ปดํ“จํ„ฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ €์žฅ๊ณต๊ฐ„์€ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋‹ค.์œ„๋กœ ์˜ฌ๋ผ๊ฐˆ์ˆ˜๋ก ์†๋„๋Š” ๋น ๋ฅด์ง€๋งŒ ์šฉ๋Ÿ‰์€ ์ค„์–ด๋“ค๊ณ  ๋น„ํŠธ๋‹น ๊ฐ€๊ฒฉ์€ ๋น„์‹ธ์ง„๋‹ค.=> ์ ‘๊ทผ ํšŸ์ˆ˜๊ฐ€ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅธ ์ €์žฅ ์žฅ์น˜์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ„์ธต ๊ตฌ์กฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ํšจ๊ณผ๋ฅผ ๋ฐœํœ˜ํ• ๊นŒ?CPU๊ฐ€ ์ผ์„ ํ•  ๋•Œ ์ ‘๊ทผํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ฉด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ท ์ผํ•˜๊ฒŒ ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ  ๋˜๋Š” ๋ชจ๋“  ๋ช…๋ น์–ด๋ฅผ ๊ท ์ผํ•˜๊ฒŒ ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ  ํŠน์ • ๋ฐ์ดํ„ฐ๋‚˜ ํŠน์ • ๋ช…๋ น์–ด๋“ค์ด ๋” ๋นˆ๋ฒˆํ•˜๊ฒŒ ์ ‘๊ทผ์ด ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.์ด๊ฑธ ์ฐธ์กฐ ์ง€์—ญ์„ฑ(Locality of reference) ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Loop๋ฌธ ์•ˆ์— ์žˆ๋Š” ๋ช…๋ น์–ด๋“ค์€ ์ˆ˜ํ–‰์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ๊ทธ๋Ÿฐ๋ฐ Loop๊ฐ€ ์•„๋‹Œ ๋ช…๋ น์–ด๋Š” ํ•œ ๋ฒˆ ์ˆ˜ํ–‰๋˜๊ณ  .. 2023. 3. 20.
1. Computer System Overview (1) ์šด์˜ ์ฒด์ œ๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹์„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ Components๋“ค Processor(CPU) Main Memory => ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ์ด์ง€๋งŒ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ ๊ธฐ์–ต์žฅ์น˜๋กœ ์‚ฌ์šฉ๋œ๋‹ค. System bus => CPU, ๋ฉ”๋ชจ๋ฆฌ, I/O ๋ชจ๋“ˆ๋“ค์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ํ†ต๋กœ ์—ญํ• ์„ ํ•œ๋‹ค. I/O modules => ์ž…์ถœ๋ ฅ ์žฅ์น˜ Register (๋ ˆ์ง€์Šคํ„ฐ) ํ”„๋กœ์„ธ์„œ(CPU)์•ˆ์—๋Š” ๋ ˆ์ง€์Šคํ„ฐ๋ผ๋Š” ๋งค์šฐ ์ž‘๊ณ  ๋น ๋ฅธ ์ €์žฅ์žฅ์น˜๊ฐ€ ์žˆ๋‹ค. ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ข…๋ฅ˜๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. 1. Register for 'data' I/O ( ๋ฐ์ดํ„ฐ ์ž…์ถœ๋ ฅ์„ ์œ„ํ•œ ๋ ˆ์ง€์Šคํ„ฐ ) ๋”๋ณด๊ธฐ Memory address register(MAR) : CPU๊ฐ€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ฌ ๋•Œ ์–ด๋Š .. 2023. 3. 20.
SQLD ์‹œํ—˜ ํ›„๊ธฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ•์˜์—์„œ ๋ฐฐ์šด ๋‚ด์šฉ๋“ค์„ ๊ทธ๋Œ€๋กœ ๋‘๊ธฐ์—๋Š” ์•„๊น๊ณ , ๊นŒ๋จน๊ธฐ ์ „์— ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ธฐ์–ตํ•˜๊ณ ์ž 3/19์ผ์— ์˜ˆ์ •๋˜์–ด ์žˆ๋Š” SQLD ์‹œํ—˜์„ ์‹ ์ฒญํ–ˆ๋‹ค. ์‹ ์ฒญํ–ˆ์„ ๋‹น์‹œ์—๋Š” ๋Œ€๋žต 3์ฃผ์ •๋„ ๋‚จ์•„์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฝค ์—ฌ์œ ๋กญ๊ฒŒ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 3์ผ ๊ณต๋ถ€ํ•˜๊ณ  ํ•ฉ๊ฒฉํ–ˆ๋‹ค๋Š” ํ›„๊ธฐ๋“ค๋„ ๋ดค์ง€๋งŒ, ๋ฏธ๋ฆฌ ๊ณต๋ถ€ํ•ด์„œ ๋‚˜์  ๊ฒŒ ์—†๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ 3์ฃผ ์ „๋ถ€ํ„ฐ ๊ทธ๋ƒฅ ์ชผ๊ธˆ์”ฉ ๊ณต๋ถ€ํ–ˆ๋‹ค. ํ•™๊ต์—์„œ ํ•œ ๋ฒˆ ๋ฐฐ์› ์œผ๋‹ˆ๊นŒ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„ ์ค„ ์•Œ์•˜๋Š”๋ฐ, ๋ฐฐ์šฐ์ง€ ์•Š๋Š” ๋‚ด์šฉ๋“ค์ด ๊ฝค ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜๋„ 0์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค๋Š” ๋‚˜์•˜์„ ๊ฒƒ์ด๋ž€ ์ƒ๊ฐ์ด๋‹ค. ์ผ๋‹จ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ ์ธํ„ฐ๋„ท์—์„œ ํ•ฉ๊ฒฉ ํ›„๊ธฐ ๊ธ€๋“ค์„ ์ฝ์–ด๋ณด์•˜๋‹ค. ๋จผ์ € ์š”์•ฝ๋ณธ์œผ๋กœ ์ด๋ก  ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  SQL ๋…ธ๋žญ์ด ์ฑ…๋งŒ ํ’€์–ด๋ด๋„ ์ถฉ๋ถ„ํ•˜๋‹ค๋Š” ์˜๊ฒฌ์ด ๋งŽ์•„์„œ ์ด๋ก  ์ฑ…์€ ๋”ฐ๋กœ ์‚ฌ์ง€ ์•Š์•˜๋‹ค. ๋Œ€์‹  yurimac๋‹˜.. 2023. 3. 19.
์ฒซ ๊ทผ๋กœ ์ถœ๊ทผ ์–ผ๋งˆ ์ „ ํ•™๊ต ๋„์„œ๊ด€์— ๊ฐ€๋Š” ๊ธธ์— ์–ด๋–ค ๋ฒˆํ˜ธ๋กœ ์ „ํ™”๊ฐ€ ๊ฑธ๋ ค์™”๋‹ค. ํ‰์†Œ์— ๋ชจ๋ฅด๋Š” ๋ฒˆํ˜ธ๋กœ ์ „ํ™”๊ฐ€ ์˜ค๋ฉด ์ž˜ ์•ˆ ๋ฐ›์ง€๋งŒ ๊ทธ๋‚ ๋”ฐ๋ผ ๋ญ”๊ฐ€ ๋ฐ›์•„์•ผ ํ•  ๊ฒƒ ๊ฐ™์•„์„œ ๋ฐ›์•˜๋‹ค. ๊ทธ๋žฌ๋”๋‹ˆ, ์ด๋ฒˆ์— HIT ๊ธ€๋กœ๋ฒŒ ๊ธฐ์—…๊ฐ€ ์„ผํ„ฐ์—์„œ ๊ทผ๋กœ ์žฅํ•™์ƒ์œผ๋กœ ์ผํ•  ์ƒ๊ฐ์ด ์žˆ๋ƒ๊ณ  ๋ฌผ์œผ์…จ๋‹ค. ์—ฅ? ๋‚˜๋Š” ์—ฌ๊ธฐ์— ์ง€์›์„ ํ•œ ์ ๋„ ์—†๋Š”๋ฐ ๊ฐ‘์ž๊ธฐ ๊ทผ๋กœ ์žฅํ•™์ƒ์„ ์‹œ์ผœ์ค€๋‹ค๋‹ˆ ๋‚˜๋Š” ์™„์ „ ๊ฐ์‚ฌํ–ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋‚˜๋Š” ๊ทผ๋กœ ์žฅํ•™์ƒ์ด ๋˜์—ˆ๊ณ , ์˜ค๋Š˜์ด ๊ฐœ๊ฐ•์ด์ž ์ฒซ ์ถœ๊ทผ์ด์—ˆ๋‹ค. 8์‹œ ๋ฐ˜๊นŒ์ง€ ์ถœ๊ทผ์„ ํ•ด์•ผํ–ˆ๊ธฐ์—, 7์‹œ์— ๊ฒจ์šฐ ๊ฒจ์šฐ ๋ˆˆ์„ ๋–ด๋‹ค. ๋ฐฉํ•™ ๋™์•ˆ์—” ๊ณ„์† 9์‹œ ๋„˜์–ด์„œ ์ผ์–ด๋‚ฌ๋”๋‹ˆ 7์‹œ์— ๋ˆˆ์„ ๋œจ๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค. 8์‹œ ๋ฐ˜๊นŒ์ง€ ๊ฐ€๋ ค๋ฉด 8์‹œ์—” ์ง‘์—์„œ ๋‚˜๊ฐ€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋‘˜๋Ÿฌ ์ค€๋น„ํ–ˆ๋‹ค. ์•„์นจ๋ฐฅ์€ ๊ฐ€๋Š” ๊ธธ์— ํŽธ์˜์ ์— ๋“ค๋Ÿฌ ๋นต ํ•˜๋‚˜๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค. ์•„์นจ์ด๋ผ ๋ฐฐ๊ฐ€ ๋งŽ์ด๋Š” ์•ˆ ๊ณ ํŒŒ์„œ ์ด .. 2023. 3. 3.
autoprefixer ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ ์„œ๋ฒ„๋“ค์—์„œ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ(F12)๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ ์šฉ๋œ css๋ฅผ ๋ณด๋ฉด ์ค„์ด ๊ทธ์–ด์ ธ ์žˆ๋Š” ์†์„ฑ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ํ˜„์žฌ ๋‚ด๊ฐ€ ๋ณด๊ณ  ์žˆ๋Š” ํ™”๋ฉด์— ํ•ด๋‹น ์†์„ฑ์ด ์ ์šฉ์ด ๋˜์ง€ ์•Š๊ณ  ์žˆ๋‹ค๋Š” ๋œป์ธ๋ฐ, ๊ทธ๋Ÿผ ์™œ ์ž‘์„ฑ์„ ํ•ด๋‘์—ˆ์„๊นŒ?? ๊ฐ’์ด -webkit-box์™€ -ms-flexbox ํ•ด๋‹น ์†์„ฑ๋“ค์€ ์ผ์ข…์˜ ์Šคํƒ€์ผ ๋ณดํ—˜์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ์Šคํƒ€์ผ์ด ๊ตฌํ˜• ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์„ ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋•Œ๋ฅผ ๋Œ€๋น„ํ•ด์„œ ๋ฏธ๋ฆฌ ๋ณดํ—˜์„ ๋“ค์–ด๋‘๋Š” ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ ํŠน์ • ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด autoprefixer๊ฐ€ ์ž๋™์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๋ณ€ํ™˜์„ ํ•ด์ค€๋‹ค. ์–ด๋–ป๊ฒŒ ์ ์šฉํ• ๊นŒ?? ์ผ๋‹จ npm i -D postcss autoprefixer ๋ช…๋ น์„ ํ†ตํ•ด postcss, autoprefixer ํŒจํ‚ค์ง€๋ฅผ ๊ฐœ๋ฐœ .. 2023. 2. 14.