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

์ „์ฒด ๊ธ€106

ํŒŒ์ด์ฌ ํŠœํ”Œ์˜ ๋ชจ๋“  ๊ฒƒ ๋“ค์–ด๊ฐ€๋ฉฐ ํŠœํ”Œ์„ ๋‹ค๋ฃจ๊ธฐ ์ „ ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ(list)์˜ ๋ชจ๋“  ๊ฒƒ ํฌ์ŠคํŒ…์„ ๋ณด์‹œ๋ฉด ๋”์šฑ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ํŠœํ”Œ์€ ๊ฐ’์˜ ์ƒ์„ฑ, ์‚ญ์ œ, ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ ๋งŒ ์ œ์™ธํ•˜๋ฉด ๋ฆฌ์ŠคํŠธ์™€ ์™„์ „ํžˆ ๋™์ผํ•˜๋ฏ€๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ๋งŒ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŠœํ”Œ ๋‹ค๋ฃจ๊ธฐ # ์ธ๋ฑ์‹ฑ t = (1, 2, 'a', 'b') t[0] # 1 t[3] # 'b' # ์Šฌ๋ผ์ด์‹ฑ t[1:] # (2, 'a', 'b') p = (3, 4) # ๋”ํ•˜๊ธฐ t + p # (1, 2, 'a', 'b', 3, 4) # ๊ณฑํ•˜๊ธฐ p * 3 # (3, 4, 3, 4, 3, 4) # ๊ธธ์ด ๊ตฌํ•˜๊ธฐ len(t) # 4 # ํŠน์ • ๊ฐ’ ํฌํ•จ ์—ฌ๋ถ€ if 1 in t: print("1 is in the t") # ํŠน์ • ๊ฐ’ ํ™•์ธ t.count(1) # 1(1๊ฐœ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—) # ๊ด„ํ˜ธ ์ƒ๋žต .. 2023. 12. 3.
ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ(list)์˜ ๋ชจ๋“  ๊ฒƒ ๋ฆฌ์ŠคํŠธ(list) ๋ฆฌ์ŠคํŠธ๋Š” ์ธ๋ฑ์Šค ๋ฐฉ์‹์˜ ์ˆœ์ฐจ ๋ฐฐ์—ด ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์ผ๋ ฌ๋กœ(linear) ๋ฐฐ์น˜๊ฐ€ ๋˜๋ฉฐ ๋ฆฌ์ŠคํŠธ ๋‚ด ์š”์†Œ๋ฅผ ๋ณ€๊ฒฝ(mutable)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ ๋‚ด ์—ฌ๋Ÿฌ ํƒ€์ž…(type)์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šฌ๋ผ์ด์‹ฑ a = [1,2,3,4,5] a[0:2] # [1,2] -> [0:2]๋ฉด ์ธ๋ฑ์Šค 0๋ถ€ํ„ฐ 1๊นŒ์ง€(2๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Œ) a[a:2] # [1,2] a[2:] # [3,4,5] ์—ฐ์‚ฐ a = [1,2,3] b = [5,6,7] a+b # [1,2,3,5,6,7] a*3 # [1,2,3,1,2,3,1,2,3] -> ๋ฆฌ์ŠคํŠธ ๋ฐ˜๋ณต len(a) # 3 -> ๋ฆฌ์ŠคํŠธ ๊ธธ์ด del a[1] # [1,3] -> ํŠน์ดํ•œ ์ ์€ delํ•จ์ˆ˜์ธ๋ฐ ์„ ์–ธ๋ฐฉ์‹์œผ๋กœ ์“ฐ๋„ค.. ํ•จ์ˆ˜ ์š”์†Œ ์ถ”๊ฐ€(ap.. 2023. 12. 2.
ํŒŒ์ด์ฌ ๋ฌธ์ž์—ด(string)์˜ ๋ชจ๋“  ๊ฒƒ ๋ฌธ์ž์—ด์€ Immutable ํŒŒ์ด์ฌ์—์„œ ๋ฌธ์ž์—ด์€ immutable์ž…๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•˜๋ฉด ๋ฌธ์ž์—ด ์ž๋ฃŒํ˜•์€ ๊ทธ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•œ๋ฒˆ ๋ฌธ์ž์—ด์ด ํ• ๋‹น๋˜๋ฉด ์š”์†Œ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๊ณ , ์น˜ํ™˜์˜ ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด a = 'All you need is love' ๋ผ๊ณ  ํ–ˆ์„ ๋•Œ 'All you need is love'๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ๋ฐ•์ œ(?)๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— a[0] = 'B' ์™€ ๊ฐ™์€ ๋™์ž‘์€ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. b = 'B' + a[1:] ๋กœ ์ฒซ ๊ธ€์ž 'A'๋ฅผ 'B'๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์€ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค๋Š” ์ ๋งŒ ๊ธฐ์–ตํ•ด์ฃผ์„ธ์š”! ์ธ๋ฑ์‹ฑ a = "Life is too short" a[3] # 'e' a[-1] # 't' a[3] = 'f' # ์—๋Ÿฌ, ๋ฌธ์ž์—ด์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Œ ์Šฌ๋ผ์ด์‹ฑ a = ".. 2023. 12. 1.
ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ”„๋ ˆ์ž„ ํ• ๋‹น ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์™€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)์™€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•(Paging) ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์•ž์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์˜ ๊ธฐ๋ณธ์ ์ธ ์›๋ฆฌ์™€ ์™ธ๋ถ€ ๋‹จํŽธํ™”์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ƒ๊ฐํ•˜ ground90.tistory.com ์š”๊ตฌ ํŽ˜์ด์ง• ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํฐ ํ”„๋กœ์„ธ์Šค๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๋Š” ํ•œ์ •๋˜์–ด ์žˆ๊ณ  ์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์ด ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํŽ˜์ด์ง€ ๊ต์ฒด๋Š” ํŽ˜์ด์ง€ ์ธ/์•„์›ƒ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹คํ–‰.. 2023. 11. 11.
๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)์™€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•(Paging) ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์•ž์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์˜ ๊ธฐ๋ณธ์ ์ธ ์›๋ฆฌ์™€ ์™ธ๋ถ€ ๋‹จํŽธํ™”์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ƒ๊ฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์€ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์— ํ”„๋กœ์„ธ์Šค๋“ค์ด ์—ฐ์†์ ์œผ๋กœ ๋ฐฐ์น˜๋˜๋Š” ์ƒํ™ฉ์ด์ฃ . ํ•˜์ง€๋งŒ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ground90.tistory.com ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ๋ž€? ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ๊ธฐ์–ต์žฅ์น˜(RAM)์˜ ํ™•์žฅ๋œ ํ˜•ํƒœ๋กœ, ์‹ค์ œ ๋ฌผ๋ฆฌ์ ์ธ RAM๋ณด๋‹ค ํฐ ์šฉ๋Ÿ‰์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ์—๋„ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ฃผ๋กœ ์šด์˜ ์ฒด์ œ์—์„œ ๊ด€๋ฆฌ๋˜๋ฉฐ, ์ฃผ๊ธฐ์–ต์žฅ.. 2023. 11. 7.
์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ƒ๊ฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์€ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์— ํ”„๋กœ์„ธ์Šค๋“ค์ด ์—ฐ์†์ ์œผ๋กœ ๋ฐฐ์น˜๋˜๋Š” ์ƒํ™ฉ์ด์ฃ . ํ•˜์ง€๋งŒ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์—๋Š” ์—ฌ๋Ÿฌ ๋ฌธ์ œ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์€ ๋ฐ”๋กœ ์ด์–ด์„œ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ํ”„๋กœ์„ธ์Šค๋“ค ์ค‘์—๋Š” ํ˜„์žฌ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๋“ค์„ ์ž„์‹œ๋กœ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜ ์ผ๋ถ€๋กœ ์ซ“์•„๋‚ด๊ณ , ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ธด ๋นˆ ๊ณต๊ฐ„์— ์ƒˆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•˜์—ฌ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ์Šค์™€ํ•‘(Swapping)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ณด์กฐ๊ธฐ์–ต ์žฅ์น˜์— ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•˜๋Š” ์ผ๋ถ€ ์˜์—ญ์„ ์Šค์™‘ ์˜์—ญ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ.. 2023. 11. 6.