csnote
๋ฉด์ ์ ์ํ ์ ๊ณต์ง์ CS๋ ธํธ์ ์ ์ฅ์ ๋ฐ ๊ณต์ง์ฌํญ์ ๋๋ค.
- ebook์ ๊ฒฝ์ฐ ํ์ด์ง๋ฒํธ๊ฐ ๋จ๋ง๊ธฐ๋ง๋ค ๋ค๋ฆ ๋๋ค. ํ์ด์ง์ ๊ธฐ์ค์ ์ธ์๋ณธ 1์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ง์์ ๋๋ฆฝ๋๋ค.
- ํ์ฌ 5์๊น์ง ์๋์ ๋ด์ฉ์ด ๋ชจ๋ ๋ฐ์๋์ด์์ต๋๋ค.
- ์ถํ ๋ฐ์๋๋ ์ฌํญ์ [new] ํค์๋๋ฅผ ๋ถ์ ๋๋ค.
์คํ์ ๋ฐ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ ์ฌํญ
1์์๋ ๋ฌ๋ฆฌ ๋ฌ๋ผ์ง ์ ์ด ์์ต๋๋ค. ํด๋น ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฑ๊ธํค ์ฝ๋ ์์ [new]
ch1/2.js ๋งํฌ
ํฉํ ๋ฆฌํจํด ์ฝ๋ ์์ [new]
ch1/5.js ๋งํฌ
ํฉํ ๋ฆฌํจํด ์ฝ๋ ์์ [new]
ch1/6.java ๋งํฌ
143, 148, 150, 182 ํ์ด์ง
before
SDD
after
SSD
17 ํ์ด์ง
before
์ฑ๊ธํคํจํด์ ํ๋์ ํด๋์ค์ ์ค์ง ํ๋์ ์ธ์คํด์ค๋ง ๊ฐ์ง๋ ํจํด์ ๋๋ค. ๋ณดํต ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ๋ชจ๋์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
after
์ฑ๊ธํค ํจํด(singleton pattern)์ ํ๋์ ํด๋์ค์ ์ค์ง ํ๋์ ์ธ์คํด์ค๋ง ๊ฐ์ง๋ ํจํด์ ๋๋ค. ํ๋์ ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ๊ฐ๋ณ์ ์ธ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ์์ง๋ง ๊ทธ๋ ๊ฒ ํ์ง ์๊ณ ํ๋์ ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋จ ํ๋์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ก์ง์ ๋ง๋๋๋ฐ ์ฐ์ด๋ฉฐ ๋ณดํต ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ๋ชจ๋์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
18 ํ์ด์ง
before
์์ ์ฝ๋์์ ๋ณผ ์ ์๋ฏ์ด obj์ obj2๋ ๋ค๋ฅธ ์ธ์คํด์ค๋ฅผ ๊ฐ์ง๋๋ค.
after
์์ ์ฝ๋์์ ๋ณผ ์ ์๋ฏ์ด obj์ obj2๋ ๋ค๋ฅธ ์ธ์คํด์ค๋ฅผ ๊ฐ์ง๋๋ค. ์ด ๋ํ new Object๋ผ๋ ํด๋์ค์์ ๋์จ ๋จ ํ๋์ ์ธ์คํด์ค๋ ์ด๋์ ๋ ์ฑ๊ธํคํจํด์ด๋ผ ๋ณผ ์ ์์ต๋๋ค๋ง ์ค์ ์ฑ๊ธํคํจํด์ ๋ณดํต ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
20 ํ์ด์ง
before
public static synchronized Singleton getInstance()
after
public static Singleton getInstance()
before
์๋ฐ๋ก๋ ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์์ต๋๋ค.
after
์๋ฐ๋ก๋ ๋ค์๊ณผ ๊ฐ์ด ์ค์ฒฉ ํด๋์ค๋ฅผ ์ด์ฉํด์ ๋ง๋๋ ๋ฐฉ๋ฒ์ด ๊ฐ์ฅ ๋์ค์ ์ ๋๋ค. ๋ ๊น๊ฒ ์๊ณ ์ถ์ ๋ถ์ ํ์์ ์ ํฌ๋ธ ์ฑ๋์ธ ํฐ๋์ ํฐ์ - 'JAVA๋ก ์ฑ๊ธํค ํจํด์ ๊ตฌํํ๋ 7๊ฐ์ง ๋ฐฉ๋ฒ' ์์์ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค.
24 ํ์ด์ง
before
์์กด์ฑ ์ฃผ์ ์ ์์กด์ฑ ์ฃผ์ ์์น์ ์งํค๋ฉฐ ๋ง๋ค์ด์ผ ํ๋ฉฐ ์์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค
- ์์ ๋ชจ๋์ ํ์ ๋ชจ๋์์ ์ด๋ ํ ๊ฒ๋ ๊ฐ์ ธ์ค์ง ์์์ผ ํฉ๋๋ค. ๋ ๋ค ์ถ์ํ์ ์์กดํด์ผ ํ๋ฉฐ, ์ด๋ ์ถ์ํ๋ ์ธ๋ถ ์ฌํญ์ ์์กดํ์ง ๋ง์์ผ ํฉ๋๋ค.
after
์์กด์ฑ ์ฃผ์ ์์น
์์กด์ฑ ์ฃผ์ ์ "์์ ๋ชจ๋์ ํ์ ๋ชจ๋์์ ์ด๋ ํ ๊ฒ๋ ๊ฐ์ ธ์ค์ง ์์์ผ ํฉ๋๋ค. ๋ํ ๋ ๋ค ์ถ์ํ์ ์์กดํด์ผ ํ๋ฉฐ, ์ด ๋ ์ถ์ํ๋ ์ธ๋ถ์ฌํญ์ ์์กดํ์ง ๋ง์์ผ ํฉ๋๋ค." ๋ผ๋ ์์กด์ฑ ์ฃผ์ ์์น์ ์ง์ผ์ฃผ๋ฉด์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
27 ํ์ด์ง
before
๋ํ, CoffeeFactory๋ฅผ ๋ณด๋ฉด static์ผ๋ก createCoffee() ์ ์ ๋ฉ์๋๋ฅผ ์ ์ํ ๊ฒ์ ์ ์ ์๋๋ฐ, ์ ์ ๋ฉ์๋๋ฅผ ์ฐ๋ฉด ํด๋์ค์ ์ธ์คํด์ค ์์ด ํธ์ถ์ด ๊ฐ๋ฅํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฝ ํ ์ ์๊ณ ๊ฐ๋ณ ์ธ์คํด์ค์ ๋ฌถ์ด์ง ์์ผ๋ฉฐ ํด๋์ค ๋ด์ ํจ์๋ฅผ ์ ์ํ ์ ์๋ ์ฅ์ ์ด ์ ์ต๋๋ค.
after
๋ํ, CoffeeFactory ํด๋์ค๋ฅผ ๋ณด๋ฉด static ํค์๋๋ฅผ ํตํด createCoffee() ๋ฉ์๋๋ฅผ ์ ์ ๋ฉ์๋๋ก ์ ์ธํ ๊ฒ์ ๋ณผ ์ ์๋๋ฐ ์ด๋ ๊ฒ ์ ์ ๋ฉ์๋๋ก ์ ์ํ๊ฒ ๋๋ฉด ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ง ์๊ณ ํธ์ถ์ด ๊ฐ๋ฅํ๋ฉฐ ํด๋น ๋ฉ์๋์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ํ๋ฒ๋ง ํ ์ ์๋ ์ฅ์ ์ด ์์ต๋๋ค.
29 ํ์ด์ง[new]
before
์ง๊ธ๋ณด๋ฉด if ... ๋งคํํด์ ํ ์๋ ์์ต๋๋ค.
after
์์ ์ฝ๋๋ CoffeeFactory ๋ฐ์ Coffee ํด๋์ค๋ฅผ ๋๊ณ ํด๋น ํด๋์ค๋ฅผ ์์ํ๋ Latte, Espresso ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํํ ๋ชจ์ต์ ๋๋ค.
before
์์์ ์งํฉ์ ์ ์ํ ๋ ์ฌ์ฉ๋๋ ํ์ ์ด๋ค. ์์๋ ๋ฉ์๋ ๋ฑ์ ์ง์ด๋ฃ์ด์ ๊ด๋ฆฌํ๋ฉฐ ์ฝ๋๋ฅผ ๋ฆฌํฉํฐ๋งํ ๋ ํด๋น ์งํฉ์ ๊ดํ ๋ก์ง ์์ ์ ์ด ๋ถ๋ถ๋ง ์์ ํ๋ฉด ๋๋ฏ๋ก ์ฝ๋ ๋ฆฌํฉํฐ๋ง ์ ๊ฐ์ ์ด ์๊ธด๋ค.
after
์์์ ์งํฉ์ ์ ์ํ ๋ ์ฌ์ฉ๋๋ ํ์ ์ด๋ค. ์๋ฅผ ๋ค์ด ์, ์ผ, ์์ ๋ฑ์ ์์๊ฐ์ ๋ด๋๋ค. ์๋ฐ์์์ Enum์ ๋ค๋ฅธ ์ธ์ด๋ณด๋ค ๋ ํ์ฉ๋์ด ์ฐ์ด๋ฉฐ ์์๋ฟ๋ง ์๋๋ผ ๋ฉ์๋๋ฅผ ์ง์ด๋ฃ์ด์ ๊ด๋ฆฌํ ์ ์๋ค. Enum์ ๊ธฐ๋ฐ์ผ๋ก ์์์งํฉ์ ๊ด๋ฆฌํ๋ค๋ฉด ์ฝ๋๋ฅผ ๋ฆฌํฉํฐ๋งํ ๋ ์์์งํฉ์ ๋ํ ๋ก์ง ์์ ์ ์ด ๋ถ๋ถ๋ง ์์ ํ๊ฒ ๋๋ค๋ ์ฅ์ , ๋ณธ์ง์ ์ผ๋ก ์ค๋ ๋์ธ์ดํ(thread safe)ํ๊ธฐ ๋๋ฌธ์ ์ฑ๊ธํค ํจํด์ ๋ง๋ค ๋ ๋์์ด ๋๋ค. ์ฐธ๊ณ ๋ก enum์ผ๋ก ๋ง๋๋ ์ฑ๊ธํค ํจํด์ ํ์์ ์ ํฌ๋ธ ์ฑ๋, ํฐ๋์ ํฐ์ - 'JAVA๋ก ์ฑ๊ธํค ํจํด์ ๊ตฌํํ๋ 7๊ฐ์ง ๋ฐฉ๋ฒ' ์์์ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค.
40 ํ์ด์ง
before
ํ๋ก์ ๊ฐ์ฒด์ target ๋์์ ๊ฐ๋ก์ฑ์ ์ ์ํ ๋์๋ค์ด ์ ํด์ ธ ์๋ ํจ์
after
target ๋์์ ๊ฐ๋ก์ฑ๊ณ ์ด๋ ํ ๋์์ ํ ๊ฒ์ธ์ง๊ฐ ์ค์ ๋์ด ์๋ ํจ์
40 ํ์ด์ง
before
new Proxy๋ก ์ ์ธํ ๊ฐ์ฒด์ a์ b๋ผ๋ ์์ฑ์ ํน์ ๋ฌธ์์ด์ ๋ด์์ handler์ โname์ด ๋ผ๋ ์์ฑ์ ์ ๊ทผํ ๋๋ a์ b๋ผ๋ ๊ฒ์ ํฉ์ณ์ ๋ฌธ์์ด์ ๋ง๋ค์ด๋ผ.โ๋ฅผ ๊ตฌํํ์ต๋๋ค. ์ด ๋ ๊ฒ p๋ผ๋ ๋ณ์์ name์ด๋ผ๋ ์์ฑ์ ์ ์ธํ์ง ์์๋๋ฐ๋ p.name์ผ๋ก name ์์ฑ์ ์ ๊ทผ ํ๋ ค๊ณ ํ ๋, ๊ทธ ๋ถ๋ถ์ ๊ฐ๋ก์ฑ ๋ฌธ์์ด์ ๋ง๋ค์ด ๋ฐํํ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ
after
new Proxy()๋ก a์ b ์์ฑ์ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด์ handler ํจ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฃ๊ณ p๋ผ๋ ๋ณ์๋ฅผ ์ ์ธํ์ต๋๋ค. ์ด ํ p์ name ์์ฑ์ ์ฐธ์กฐํ๋ a์ b๋ผ๋ ์์ฑ๋ฐ์ ์๋ ๊ฐ์ฒด๊ฐ handler์ โname์ด๋ผ๋ ์์ฑ์ ์ ๊ทผํ ๋ a์ b๋ฅผ ํฉ์ณ์ ๋ฌธ์์ด์ ๋ง๋ค๋ผโ ๋ ๋ก์ง์ ๋ฐ๋ผ ์ด๋ ํ ๋ฌธ์์ด์ ๋ง๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ name ์์ฑ ๋ฑ ์ด๋ ํ ์์ฑ์ ์ ๊ทผํ ๋ ๊ทธ ๋ถ๋ถ์ ๊ฐ๋ก์ฑ์ ์ด๋ ํ ๋ก์ง์ ๊ฐ์ ํ ์ ์๋๊ฒ ํ๋ก์ ๊ฐ์ฒด์ ๋๋ค.
44 ํ์ด์ง[new]
before ๋์ ๊ฐ์ฒด ์๋จ์ ์ธํฐํ์ด์ค ์ญํ ์ ํ๋ ๋์์ธํจํด์ ๋๋ค.
after ํด๋น ์ ๊ทผ์ ํํฐ๋งํ๊ฑฐ๋ ์์ ํ๋ ๋ฑ์ ์ญํ ์ ํ๋ ๊ณ์ธต์ด ์๋ ๋์์ธํจํด์ ๋๋ค.
45 ํ์ด์ง
before
์ด๋ฅผ ํตํด ์ต๋ช ์ฌ ์ฉ์์ ์ง์ ์ ์ธ ์๋ฒ๋ก์ ์ ๊ทผ์ ์ฐจ๋จํ๊ณ ๊ฐ์ ์ ์ผ๋ก ํ ๋จ๊ณ๋ฅผ ๋ ๊ฑฐ์นจ์ผ๋ก์จ ๋ณด์์ฑ ์ ๋์ฑ ๊ฐํํ ์ ์์ต๋๋ค.
after
์ด๋ฅผ ํตํด ์ต๋ช ์ฌ์ฉ์์ ์ง์ ์ ์ธ ์๋ฒ๋ก์ ์ ๊ทผ์ ์ฐจ๋จํ๊ณ ๊ฐ์ ์ ์ผ๋ก ํ ๋จ๊ณ๋ฅผ ๋ ๊ฑฐ์น๊ฒ ๋ง๋ฆ์ผ๋ก์จ ๋ณด์์ ๊ฐํํ ์ ์์ต๋๋ค.
46 ํ์ด์ง
before
CDN ๋ง๊ณ ๋ CloudFlare๋ฅผ ํตํด ๋๋ฆด ์ ์๋ ์ด์ ์ ๋ง์ต๋๋ค. ๋ํ์ ์ผ๋ก DDOS ๊ณต๊ฒฉ ๋ฐฉ์ด, HTTPS ๊ตฌ์ถ์ด ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ์น ์๋ฒ ์๋จ์ ๋์ด โํ๋ก์ ์๋ฒโ๋ก ์ฐ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ๊ฒ์ ๋๋ค.
after
CloudFlare๋ ์น ์๋ฒ ์๋จ์ ํ๋ก์ ์๋ฒ๋ก ๋์ด DDOS ๊ณต๊ฒฉ๋ฐฉ์ด, HTTPS ๊ตฌ์ถ์ ์ฐ์ ๋๋ค. ๋ํ, ์๋น์ค๋ฅผ ๋ฐฐํฌํด๋ณด๋ฉด ํด์ธ์์ ๋ฌด์ธ๊ฐ ์์ฌ์ค๋ฝ๊ณ ๋ง์ ํธ๋ํฝ์ด ๋ฐ์ํ๊ธฐ๋ ํ๊ณ ์ด ๋๋ฌธ์ ๋ง์ ํด๋ผ์ฐ๋ ์๋น์ค ๋น์ฉ์ด ๋ฐ์ํ ์๋ ์๋๋ฐ CloudFlare๊ฐ ์์ฌ์ค๋ฌ์ด ํธ๋ํฝ์ธ์ง๋ฅผ ๋จผ์ ํ๋จํด CAPTCHA ๋ฑ์ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฅผ ์ผ์ ๋ถ๋ถ ๋ง์์ฃผ๋ ์ญํ ๋ ์ํํฉ๋๋ค.
49 ํ์ด์ง
before
์ฐธ๊ณ ๋ก 127.0.0.1์ด๋ ๋ฃจํ๋ฐฑ IP๋ก, ๋ณธ์ธ PC์ IP๋ฅผ ๋ปํฉ๋๋ค. localhost๋ 127.0.0.1์ ์ ๋ ฅํ๋ฉด DNS๋ฅผ ํ์ง ์๊ณ ๋ฐ๋ก ๋ณธ์ธ PC๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
์ฐธ๊ณ ๋ก CORS์ ๋ํ ์์ธํ ์ค๋ช ์ ํ์๊ฐ ๋ง๋ ์์(https://bit.ly/3KfzrBh)์ ์ฐธ๊ณ ํ ๊ธฐ ๋ฐ๋๋๋ค.
์ดํฐ๋ ์ดํฐ ํจํด(iterator pattern)์ ์ดํฐ๋ ์ดํฐ(iterator)๋ฅผ ์ฌ์ฉํ์ฌ ์ปฌ๋ ์ (collection)์ ์์๋ค์ ์ ๊ทผํ๋ ๋์์ธ ํจํด์ ๋๋ค.
after
์ฐธ๊ณ ๋ก 127.0.0.1์ด๋ ๋ฃจํ๋ฐฑ(loopback) IP๋ก, ๋ณธ์ธ PC ์๋ฒ์ IP๋ฅผ ๋ปํฉ๋๋ค. localhost๋ 127.0.0.1์ ์ฃผ์์ฐฝ์ ์ ๋ ฅํ๋ฉด DNS๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋ฐ๋ก ๋ณธ์ธ PC ์๋ฒ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค. CORS์ ๋ํ ์์ธํ ์ค๋ช ์ ํ์์ ์ ํฌ๋ธ ์ฑ๋, ํฐ๋์ ํฐ์ - 'CORS ' ์์์ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค. ์ดํฐ๋ ์ดํฐ ํจํด(iterator pattern)์ ์ดํฐ๋ ์ดํฐ(iterator)๋ฅผ ์ฌ์ฉํ์ฌ ์ปฌ๋ ์ (collection)์ ์์๋ค์ ์ ๊ทผํ๋ ๋์์ธ ํจํด์ ๋๋ค. ์ด๋ฅผ ํตํด ์ํํ ์ ์๋ ์ฌ๋ฌ ๊ฐ์ง ์๋ฃํ์ ๊ตฌ์กฐ์๋ ์๊ด์์ด ์ดํฐ๋ ์ดํฐ๋ผ๋ ํ๋์ ์ธํฐํ์ด์ค๋ก ์ํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
50 ํ์ด์ง
before
์ด๋ฅผ ํตํด ์ํํ ์ ์๋ ์ฌ๋ฌ ๊ฐ์ง ์๋ฃํ์ ๊ตฌ์กฐ์๋ ์๊ด์์ด ์ดํฐ๋ ์ดํฐ๋ผ๋ ํ๋์ ์ธํฐํ์ด์ค๋ก ์ํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
after
์์ ๊ทธ๋ฆผ์ ์ดํฐ๋ ์ดํฐ๋ผ๋ ๋๊ฐ์ ๋ฐฐ๋ก ๋๊ทธ๋ผ๋ฏธ๋ก ์ด๋ฃจ์ด์ง ์ปฌ๋ ์ ์ด๋ ๋ง๋ฆ๋ชจ๋ก ์ด๋ฃจ์ด์ง ์ปฌ๋ ์ ์ด๋ ์ํํ ์ ์๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค.
52 ํ์ด์ง
before
a์ b๋ ๋ค๋ฅธ ๋ชจ๋์์ ์ฌ์ฉํ ์ ์๋ ๋ณ์๋ ํจ์์ธ privat ๋ฒ์๋ฅผ ...(์๋ต)
after
a์ b๋ ๋ค๋ฅธ ๋ชจ๋์์ ์ฌ์ฉํ ์ ์๋ ๋ณ์๋ ํจ์์ด๋ฉฐ private ๋ฒ์๋ฅผ ๊ฐ์ง๋๋ค. c์ d๋ ๋ค๋ฅธ ๋ชจ๋์์ ์ฌ์ฉํ ์ ์๋ ๋ณ์๋ ํจ์์ด๋ฉฐ public ๋ฒ์๋ฅผ ๊ฐ์ง๋๋ค. ์ฐธ๊ณ ๋ก ์์ ๊ฐ์ ๋ ธ์ถ๋ชจ๋ํจํด์ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ๋ฐฉ์์ผ๋ก๋ CJS(CommonJS) ๋ชจ๋ ๋ฐฉ์์ด ์์ต๋๋ค.
54 ํ์ด์ง
before
MVC ํจํด์ ์ ๋ฆฌ์กํธ MVC ํจํด์ ์ด์ฉํ ๋ํ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ ๋ฆฌ์กํธ(React.js)๊ฐ ์์ต๋๋ค. ๋ฆฌ์กํธ๋ ์ ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. โ๊ฐ์ DOMโ์ ํตํด ์ค์ DOM์ ์กฐ์ํ๋ ๊ฒ์ ์ถ์ํํด์ ์ฑ๋ฅ์ ๋์์ต๋๋ค. ๋ํ์ ์ธ ํน์ฑ์ผ๋ก๋ ๋ถ๋ณ์ฑ(immutable)์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด state๋ setState๋ฅผ ํต ํด์๋ง ์์ ์ด ๊ฐ๋ฅํ๊ณ , props๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด์ ๋ง๋ค์ด์ง๋ ์ปดํฌ๋ํธ์ธ pureComponent ๊ฐ ์์ต๋๋ค. ๋จ๋ฐฉํฅ ๋ฐ์ธ๋ฉ์ด ์ ์ฉ๋์ด ์๊ณ , ์์ ๋๊ฐ ๋๊ณ , ๋ฉํ(ํ์ด์ค๋ถ)๊ฐ ์ด์ํ๊ณ ์์ผ๋ฉฐ ๋ทํ๋ฆญ์ค, ํธ์ํฐ, ๋๋กญ๋ฐ์ค, ์ฐ๋ฒ, ํ์ดํ, ๋ง์ดํฌ๋ก์ํํธ ๋ฑ์์ ์ฌ์ฉ๋ฉ๋๋ค. ์ฐธ๊ณ ๋ก โ๊ฐ์ DOMโ์ ๋ํ ์์ธํ ์ค๋ช ์ ํ์๊ฐ ๋ง๋ ์์(https://bit.ly/3hDX620)์ ์ฐธ๊ณ ํ๊ธฐ ๋ฐ๋๋๋ค.
after
MVC ํจํด์ ์ด์ฉํ ๋ํ์ ์ธ ํ๋ ์์ํฌ๋ก๋ ์๋ฐ ์ง์์์ ์ ๋ช ํ ์คํ๋ง(Spring) ์ด ์์ต๋๋ค.
Spring์ WEB MVC๋ ์น์๋น์ค๋ฅผ ๊ตฌ์ถํ๋๋ฐ ํธ๋ฆฌํ ๊ธฐ๋ฅ๋ค์ ๋ง์ด ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด @RequestParam, @RequestHeader, @PathVariable ๋ฑ์ ์ ๋ํ ์ด์ ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์์ ์์ฒญ๊ฐ๋ค์ ์ฝ๊ฒ ๋ถ์ํ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์์ ์ด๋ ํ ์์ฒญ์ด ์ ํจํ ์์ฒญ์ธ์ง๋ฅผ ์ฝ๊ฒ ๊ฑฐ๋ฅผ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ซ์๋ฅผ ์ ๋ ฅํด์ผ ํ๋๋ฐ ๋ฌธ์๋ฅผ ์ ๋ ฅํ๋ ์ฌ๋ก ๊ฐ์ ๊ฒ์ ๋ง์ด์ฃ . ๋ํ ์ฌ์ฌ์ฉ๊ฐ๋ฅํ ์ฝ๋, ํ ์คํธ, ์ฝ๊ฒ ๋ฆฌ๋๋ ์ ํ ์ ์๊ฒ ํ๋ ๋ฑ์ ์ฅ์ ์ด ์์ต๋๋ค. ์คํ๋ง์ ๋ํ ์์ธํ ์ค๋ช ์ ํ์์ ์ ํฌ๋ธ ์ฑ๋, ํฐ๋์ ํฐ์ - 'Spring๊ณผ MVCํจํด' ์์์ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค. ๋งํฌ
68 ํ์ด์ง
before
๋คํธ์ํฌ๋ ๋ ธ๋(node)์ ๋งํฌ(link)๊ฐ ์๋ก ์ฐ๊ฒฐ๋์ด ์๊ฑฐ๋ ์ฐ๊ฒฐ๋์ด ์์ง ์์ ์งํฉ์ฒด๋ฅผ ์๋ฏธํฉ๋๋ค.
after
๋คํธ์ํฌ๋ ๋ ธ๋(node)์ ๋งํฌ(link)๊ฐ ์๋ก ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉฐ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๋ ์งํฉ์ ์๋ฏธํฉ๋๋ค.
69 ํ์ด์ง
before
์ฒ๋ฆฌ๋(throughput)์ด๋ ๋งํฌ๋ฅผ ํตํด ์ ๋ฌ๋๋ ๋จ์ ์๊ฐ๋น ๋ฐ์ดํฐ์์ ๋งํฉ๋๋ค.
๋จ์๋ก๋ bps(bits per second)๋ฅผ ์๋๋ค. ์ด๋น ์ ์ก ๋๋ ์์ ๋๋ ๋นํธ ์๋ผ๋ ์๋ฏธ์ ๋๋ค. ์ฒ๋ฆฌ๋์ ์ฌ์ฉ์๋ค์ด ๋ง์ด ์ ์ํ ๋๋ง๋ค ์ปค์ง๋ ํธ๋ํฝ, ๋คํธ์ํฌ ์ฅ์น ๊ฐ์ ๋์ญํญ, ๋ค ํธ์ํฌ ์ค๊ฐ์ ๋ฐ์ํ๋ ์๋ฌ, ์ฅ์น์ ํ๋์จ์ด ์คํ์ ์ํฅ์ ๋ฐ์ต๋๋ค. ๋คํธ์ํฌ๋ ๋ ธ๋(node)์ ๋งํฌ(link)๊ฐ ์๋ก ์ฐ๊ฒฐ๋์ด ์๊ฑฐ๋ ์ฐ๊ฒฐ๋์ด ์์ง ์์ ์งํฉ์ฒด๋ฅผ ์๋ฏธํฉ๋๋ค.
after
์ฒ๋ฆฌ๋(throughput)์ ๋งํฌ ๋ด์์ ์ฑ๊ณต์ ์ผ๋ก ์ ๋ฌ๋ ๋ฐ์ดํฐ์ ์์ ๋งํ๋ฉฐ ๋ณดํต ์ผ๋งํผ์ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋์ง๋ฅผ ๋ํ๋ ๋๋ค. ๋ง์ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ค = ๋ง์ ์ฒ๋ฆฌ๋์ ๊ฐ์ง๋ค. ๋ผ๋ ์๋ฏธ์ ๋๋ค. ๋จ์๋ก๋ bps(bits per second)๋ฅผ ์๋๋ค. ์ด๋น ์ ์ก ๋๋ ์์ ๋๋ ๋นํธ ์๋ผ๋ ์๋ฏธ์ ๋๋ค. ์ฒ๋ฆฌ๋์ ์ฌ์ฉ์๋ค์ด ๋ง์ด ์ ์ํ ๋๋ง๋ค ์ปค์ง๋ ํธ๋ํฝ, ๋คํธ์ํฌ ์ฅ์น ๊ฐ์ ๋์ญํญ, ๋คํธ์ํฌ ์ค๊ฐ์ ๋ฐ์ํ๋ ์๋ฌ, ์ฅ์น์ ํ๋์จ์ด ์คํ์ ์ํฅ์ ๋ฐ์ต๋๋ค. ์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ํธ๋ํฝ์ด ์๋๋ฐ ํธ๋ํฝ์ ํน์ ์์ ์ ๋งํฌ ๋ด์ โํ๋ฅด๋โ ๋ฐ์ดํฐ์ ์์ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์๋ฒ์ ์ ์ฅ๋ ํ์ผ(๋ฌธ์,์ด๋ฏธ์ง,๋์์ ๋ฑ)์ ํด๋ผ์ด์ธํธ(์ฌ์ฉ์)๊ฐ ๋ค์ด๋ก๋ ์ ๋ฐ์๋๋ ๋ฐ์ดํฐ์ ๋์ ๋์ ๋ปํฉ๋๋ค. ํธ๋ํฝ๊ณผ ์ฒ๋ฆฌ๋์ ํท๊ฐ๋ฆด ์ ์๋๋ฐ ์ด๋ ๊ฒ ์ดํดํ๋ฉด ๋ฉ๋๋ค.
- ํธ๋ํฝ์ด ๋ง์์ก๋ค. = ํ๋ฅด๋ ๋ฐ์ดํฐ๊ฐ ๋ง์์ก๋ค.
- ์ฒ๋ฆฌ๋์ด ๋ง์์ก๋ค. = ์ฒ๋ฆฌ๋๋ ํธ๋ํฝ์ด ๋ง์์ก๋ค.
82 ํ์ด์ง
before
์ ์ก(transport) ๊ณ์ธต์ ์ก์ ์์ ์์ ์๋ฅผ ์ฐ๊ฒฐํ๋ ... (์๋ต)
after
์ ์ก(transport) ๊ณ์ธต์ ์ก์ ์์ ์์ ์๋ฅผ ์ฐ๊ฒฐํ๋ ํต์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ฉฐ ์ฐ๊ฒฐ ์งํฅ ๋ฐ์ดํฐ ์คํธ๋ฆผ ์ง์, ์ ๋ขฐ์ฑ, ํ๋ฆ ์ ์ด๋ฅผ ์ ๊ณตํ ์ ์์ผ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ธํฐ๋ท ๊ณ์ธต ์ฌ์ด์ ๋ฐ์ดํฐ๊ฐ ์ ๋ฌ๋ ๋ ์ค๊ณ ์ญํ ์ ํฉ๋๋ค. ๋ํ์ ์ผ๋ก TCP์ UDP๊ฐ ์์ต๋๋ค.
91 ํ์ด์ง[new]
before
CSMA/CA๋ ... (์๋ต)
after
CSMA/CA๋ ๋ฐ์ด์คํ ํต์ ์ค ํ๋๋ก ์ฅ์น์์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ ์ ์ผ๋ จ์ ๊ณผ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์ ๊ฐ๋ฅํ ํ ์ถฉ๋์ ๋ฐฉ์งํ๋ ๋ฐฉ์์ ๋งํฉ๋๋ค.
CSMA/CA๋ก ํ๋ ์์ ๋ณด๋ผ ๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ด ์ผ์ด๋ฉ๋๋ค.
- ์ฌ์ฉ์ค์ธ ์ฑ๋์ด ์๋ค๋ฉด ๋ค๋ฅธ ์ฑ๋์ ๊ฐ์งํ๋ค ์ ํ ์ํ์ธ ์ฑ๋์ ๋ฐ๊ฒฌํฉ๋๋ค.
- ํ๋ ์ ๊ฐ ๊ณต๊ฐ ์๊ฐ์ธ IFS(InterFrame Space)์๊ฐ๋งํผ ๊ธฐ๋ค๋ฆฝ๋๋ค. IFS๋ ํ๋ ์์ ์ฐ์ ์์๋ฅผ ์ ์ํ ๋๋ ์ฌ์ฉ๋ฉ๋๋ค. IFS๊ฐ ๋ฎ์ผ๋ฉด ์ฐ์ ์์๊ฐ ๋์ต๋๋ค.
- ํ๋ ์์ ๋ณด๋ด๊ธฐ์ 0 ~ 2^k - 1 ์ฌ์ด์์ ๊ฒฐ์ ๋ ๋๋ค์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฐ์ ๋ ์๊ฐ๋งํผ ๊ธฐ๋ค๋ฆฐ ๋ค ํ๋ ์์ ๋ณด๋ ๋๋ค. ํ๋ ์์ ๋ณด๋ธ ๋ค ์ ๋๋ก ์ก์ ์ด ๋์๊ณ ACK ์ธ๊ทธ๋จผํธ๋ฅผ ๋ฐ์๋ค๋ฉด ๋ง์นฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฐ์ง ๋ชปํ๋ค๋ฉด k = k + 1 ์ ํ๋ฉฐ ์ด ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค. ๋ฐ๋ณตํ๋ค k๊ฐ ์ ํด์ง Kmax ๋ณด๋ค ๋ ์ปค์ง๋ค๋ฉด ํด๋น ํ๋ ์์ ์ก์ ๋ฒ๋ฆฝ๋๋ค. (abort)
99 ํ์ด์ง
before
๋ก๋๋ฐธ๋ฐ์๋ก๋ L7 ์ค์์น๋ฟ๋ง ์๋๋ผ.. (์๋ต)
after
๋ก๋๋ฐธ๋ฐ์๋ก๋ L7 ์ค์์น๋ฟ๋ง ์๋๋ผ L4์ค์์น๋ ์์ต๋๋ค. L4 ์ค์์น๋ ์ ์ก ๊ณ์ธต
106 ํ์ด์ง
before
IP์ฃผ์๋ฅผ ํตํด ํต์ ํ๋ ๊ณผ์ ์ ํ๋ฐ์ดํ... (์๋ต)
after
IP์ฃผ์๋ฅผ ํตํด ํต์ ํ๋ ๊ณผ์ ์ ํ๋ฐ์ดํํต์ ์ด๋ผ๊ณ ํฉ๋๋ค. ์ฌ๊ธฐ์ ํ(hop)์ด๋ ์์ด ๋ป ์์ฒด๋ก๋ ๊ฑด๋๋ฐ๋ ๋ชจ์ต์ ์๋ฏธํฉ๋๋ค. ์ด๋ ํต์ ๋ง์์ ๊ฐ ํจํท์ด ์ฌ๋ฌ ๊ฐ์ ๋ผ์ฐํฐ๋ฅผ ๊ฑด๋๊ฐ๋ ๋ชจ์ต์ ๋น์ ์ ์ผ๋ก ํํํ ๊ฒ์ ๋๋ค. ์์ ๊ทธ๋ฆผ์ฒ๋ผ ์๋ง์ ์๋ธ๋คํธ์ํฌ ์์ ์๋ ๋ผ์ฐํฐ์ ๋ผ์ฐํ ํ ์ด๋ธ์ IP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํจํท์ ์ ๋ฌํ๊ณ ๋ ์ ๋ฌํด๋๊ฐ๋ฉฐ ๋ผ์ฐํ ์ ์ํํ๋ฉฐ ์ต์ข ๋ชฉ์ ์ง๊น์ง ํจํท์ ์ ๋ฌํฉ๋๋ค.
before
IPv6๋ 64๋นํธ๋ฅผ 16๋นํธ ๋จ์๋ก
after
IPv6๋ 128๋นํธ๋ฅผ 16๋นํธ ๋จ์๋ก
109 ํ์ด์ง
before
ํด๋์ค ๊ธฐ๋ฐ ํ ๋น ๋ฐฉ์(CIDR)
after
ํด๋์ค ๊ธฐ๋ฐ ํ ๋น ๋ฐฉ์(classful network addressing)
117 ํ์ด์ง
before
ํ์ง๋ง Base64 ๋ฌธ์์ด๋ก ๋ณํํ ๊ฒฝ์ฐ... (์๋ต)
after
ํ์ง๋ง Base64 ๋ฌธ์์ด๋ก ๋ณํํ ๊ฒฝ์ฐ 37% ์ ๋ ํฌ๊ธฐ๊ฐ ๋ ์ปค์ง๋ ๋จ์ ์ด ์์ต๋๋ค. ์์ธํ ์ค๋ช ์ ํ์๊ฐ ๋ง๋ ์์์ ์ฐธ๊ณ ํ์ธ์.
132 ํ์ด์ง Q&A 1๊ฐ์ถ๊ฐ
www.naver.com์ ์ฃผ์์ฐฝ์ ์ ๋ ฅํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
https://www.youtube.com/watch?v=5MM8NDzWHdE ์ ์์์ ์ฌ๋ ค๋จ์ต๋๋ค.
137 ํ์ด์ง
before
1์ ์ ์ ๋ชจ๋๋ผ๊ณ ์ค์ ๋๋ฉฐ, ์ ์ ๋ชจ๋์ผ ๊ฒฝ์ฐ์๋ ์์คํ ์ฝ์ ๋ชปํ๊ฒ ๋ง์์ ํ์ ๋ ์ผ๋ง ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
after
1์ ์ ์ ๋ชจ๋๋ผ๊ณ ์ค์ ๋ฉ๋๋ค.
143 ํ์ด์ง
before
๋ณด์กฐ๊ธฐ์ต์ฅ์น : HDD, SDD๋ฅผ ์ผ์ปฌ์ผ๋ฉฐ ํ๋ฐ์ฑ, ์๋๋ฎ์, ๊ธฐ์ต ์ฉ๋์ด ๋ง์ต๋๋ค.
after
๋ณด์กฐ๊ธฐ์ต์ฅ์น : HDD, SDD๋ฅผ ์ผ์ปฌ์ผ๋ฉฐ ๋นํ๋ฐ์ฑ, ์๋๋ฎ์, ๊ธฐ์ต ์ฉ๋์ด ๋ง์ต๋๋ค.
146 ํ์ด์ง[new]
before
์ํํธ์จ์ด์ ์ธ ๋ํ์ ์ธ ์บ์๋ก๋ ์น ๋ธ๋ผ์ฐ์ ์ ์์ ์ ์ฅ์ ์ฟ ํค, ๋ก์ปฌ ์คํ ๋ฆฌ์ง, ์ธ ์ ์คํ ๋ฆฌ์ง๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒ๋ค์ ๋ณดํต ์ฌ์ฉ์์ ์ปค์คํ ํ ์ ๋ณด๋ ์ธ์ฆ ๋ชจ๋ ๊ด๋ จ ์ฌํญ๋ค์ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํด์ ์ถํ ์๋ฒ์ ์์ฒญํ ๋ ์์ ์ ๋ํ๋ด๋ ์์ด๋ดํฐํฐ๋ ์ค๋ณต ์์ฒญ ๋ฐฉ์ง๋ฅผ ์ํด ์ฐ์ ๋๋ค
after
์ํํธ์จ์ด์ ์ธ ๋ํ์ ์ธ ์บ์๋ก๋ ์น ๋ธ๋ผ์ฐ์ ์ ์์ ์ ์ฅ์ ์ฟ ํค, ๋ก์ปฌ ์คํ ๋ฆฌ์ง, ์ธ ์ ์คํ ๋ฆฌ์ง๊ฐ ์์ต๋๋ค. ๋ณดํต ์ฌ์ฉ์์ ์ปค์คํ ํ ์ ๋ณด๋ ์ธ์ฆ ๋ชจ๋ ๊ด๋ จ ์ฌํญ๋ค์ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํด์ ์ถํ ์๋ฒ์ ์์ฒญํ ๋ ์์ ์ ๋ํ๋ด๋ ์์ด๋ดํฐํฐ๋ ์ค๋ณต ์์ฒญ ๋ฐฉ์ง๋ฅผ ์ํด ์ฐ์ด๋ฉฐ ์ค๋ฆฌ์ง(origin)์ ์ข ์๋ฉ๋๋ค.
147 ํ์ด์ง[new]
before
๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ๋ง๋ฃ๊ธฐํ์ด ์๋ ํค-๊ฐ ์ ์ฅ์์ ๋๋ค. 10MB๊น์ง ์ ์ฅํ ์ ์์ผ๋ฉฐ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ซ์๋ ์ ์ง๋๊ณ ๋๋ฉ์ธ ๋จ์๋ก ์ ์ฅ, ์์ฑ๋ฉ๋๋ค.
after
๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ๋ง๋ฃ๊ธฐํ์ด ์๋ ํค-๊ฐ ์ ์ฅ์์ ๋๋ค. 5MB๊น์ง ์ ์ฅํ ์ ์์ผ๋ฉฐ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ซ์๋ ์ ์ง๋ฉ๋๋ค.
149 ํ์ด์ง
before
์ค์ํ
๋ง์ฝ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์๋ ์กด์ฌํ์ง๋ง ์ค์ ๋ฉ๋ชจ๋ฆฌ์ธ... (์๋ต)
after
์ค์ํ
๋ง์ฝ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์๋ ์กด์ฌํ์ง๋ง ์ค์ ๋ฉ๋ชจ๋ฆฌ์ธ RAM์๋ ํ์ฌ ์๋ ๋ฐ์ดํฐ๋ ์ฝ๋์ ์ ๊ทผํ ๊ฒฝ์ฐ ํ์ด์ง ํดํธ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋น์ฅ ์ฌ์ฉํ์ง ์๋ ์์ญ์ ํ๋๋์คํฌ๋ก ์ฎ๊ธฐ๊ณ ํ๋๋์คํฌ์ ์ผ๋ถ๋ถ์ ๋ง์น ๋ฉ๋ชจ๋ฆฌ์ฒ๋ผ ๋ถ๋ฌ์์ฐ๋ ๊ฒ์ ์ค์ํ(swapping)์ด๋ผ๊ณ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ง์น ํ์ด์งํดํธ๊ฐ ์ผ์ด๋์ง ์์ ๊ฒ์ฒ๋ผ ๋ง๋ญ๋๋ค.
149 ํ์ด์ง[new]
before
- CPU๋ ๋ฌผ๋ฆฌ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ธ... (์๋ต)
after
- ์ด๋ค ๋ช ๋ น์ด๊ฐ ์ ํจํ ๊ฐ์์ฃผ์์ ์ ๊ทผํ์ผ๋ ํด๋น ํ์ด์ง๊ฐ ๋ง์ฝ ์๋ค๋ฉด ํธ๋ฉ์ด ๋ฐ์๋์ด ์ด์์ฒด์ ์ ์๋ฆฌ๊ฒ ๋ฉ๋๋ค.
- ์ด์์ฒด์ ๋ ์ค์ ๋์คํฌ๋ก๋ถํฐ ์ฌ์ฉํ์ง ์์ ํ๋ ์์ ์ฐพ์ต๋๋ค.
- ํด๋น ํ๋ ์์ ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ธ์์ ํ์ด์ง๊ต์ฒด์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํน์ ํ์ด์ง์ ๊ต์ฒดํฉ๋๋ค. (์ด ๋ ์ค์ํ์ด ์ผ์ด๋ฉ๋๋ค.)
- ํ์ด์งํ ์ด๋ธ์ ๊ฐฑ์ ์ํจ ํ ํด๋น ๋ช ๋ น์ด๋ฅผ ๋ค์ ์์ํฉ๋๋ค.
151 ํ์ด์ง
before
PFF(Page Fault Frequency)๋ ํ์ด์ง ํดํธ ๋น๋๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ํ์ ๊ณผ ํํ์ ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ง์ฝ ์ํ์ ์ ๋๋ฌํ๋ค๋ฉด ํ์ด์ง๋ฅผ ๋๋ฆฌ๊ณ ํํ์ ์ ๋๋ฌํ๋ค๋ฉด ํ์ด์ง๋ฅผ ์ค์ด๋ ๊ฒ์ด์ฃ .
after
PFF(Page Fault Frequency)๋ ํ์ด์ง ํดํธ ๋น๋๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ํ์ ๊ณผ ํํ์ ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ง์ฝ ์ํ์ ์ ๋๋ฌํ๋ค๋ฉด ํ๋ ์์ ๋๋ฆฌ๊ณ ํํ์ ์ ๋๋ฌํ๋ค๋ฉด ํ๋ ์์ ์ค์ด๋ ๊ฒ์ด์ฃ .
153 ํ์ด์ง
before
ํ์ด์ง๋ ์ธ๊ทธ๋ฉํ ์ด์ (paged segmentation)์ ๊ณต์ ๋ ๋ณด์์ ์๋ฏธ ๋จ์์ ์ธ๊ทธ๋จผํธ๋ก ๋ ๋๊ณ , ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๋ ํ์ด์ง๋ก ๋๋๋ ๊ฒ์ ๋งํฉ๋๋ค.
after
ํ์ด์ง๋ ์ธ๊ทธ๋ฉํ ์ด์ (paged segmentation)์ ํ๋ก๊ทธ๋จ์ ์๋ฏธ ๋จ์์ธ ์ธ๊ทธ๋จผํธ๋ก ๋๋ ๊ณต์ ๋ ๋ณด์ ์ธก๋ฉด์ ๊ฐ์ ์ ๋๊ณ ์์์ ๊ธธ์ด๊ฐ ์๋ ๋์ผํ ํฌ๊ธฐ์ ํ์ด์ง ๋จ์๋ก ๋๋๋ ๊ฒ์ ๋งํฉ๋๋ค.
154ํ์ด์ง[new]
before
recentle
after
recently
166ํ์ด์ง[new]
before
์ ๋ขฐ์ฑ์ด ๋์ ๊ฐ์ ์ด ์์ต๋๋ค.
after
์ ๋ขฐ์ฑ์ด ๋์ ๊ฐ์ ์ด ์์ต๋๋ค. ์ฐธ๊ณ ๋ก ๋ฉํฐํ๋ก์ธ์ฑ์ ํ๋์จ์ด ๊ด์ ์์ ๋ดค์ ๋ ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์๋ก ์์ ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ ์๋ฏธํ๊ธฐ๋ ํฉ๋๋ค. ์ด ์ฑ ์์๋ ๋ฉํฐ์ค๋ ๋ฉ๊ณผ ๋ฉํฐํ๋ก์ธ์ฑ์ ๋น๊ตํ๊ณ ์๊ณ ๊ทธ ๋ค์์ผ๋ก ๋ฉํฐํ๋ก์ธ์ค ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ๋ธ๋ผ์ฐ์ ๋ฅผ ์์๋ก ๋ค๊ณ ์๊ธฐ ๋๋ฌธ์ ์ํํธ์จ์ด ๊ด์ ์์ ๋ฉํฐํ๋ก์ธ์ฑ์ ์ค๋ช ํ์ต๋๋ค.
169ํ์ด์ง[new]
before
unamed
after
unnamed
163ํ์ด์ง
before
์คํ
์คํ์๋ ์ง์ญ๋ณ์, ๋งค๊ฐ๋ณ์, ํจ์๊ฐ ์ ์ฅ๋๊ณ ์ปดํ์ผ ์์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๋ฉฐ โ๋์ โ์ธ ํน ์ง์ ๊ฐ์ต๋๋ค. ์คํ ์์ญ์ ํจ์๊ฐ ํจ์๋ฅผ ์ฌ๊ท์ ์ผ๋ก ํธ์ถํ๋ฉด์ ๋์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ๋์ด๋ ์ ์๋๋ฐ, ์ด๋ ํ๊ณผ ์คํ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด ๊ฒน์น๋ฉด ์ ๋๊ธฐ ๋๋ฌธ์ ํ๊ณผ ์คํ ์ฌ์ด์ ๊ณต๊ฐ์ ๋น์ ๋ ์ต๋๋ค.
ํ
ํ์ ๋์ ํ ๋นํ ๋ ์ฌ์ฉ๋๋ฉฐ ๋ฐํ์ ์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฒกํฐ ๊ฐ์ ๋์ ๋ฐฐ์ด์ ๋น์ฐํ ํ์ ๋์ ํ ๋น๋ฉ๋๋ค. ํ์ โ๋์ โ์ธ ํน์ง์ ๊ฐ์ง๋๋ค.
๋ฐ์ดํฐ ์์ญ
๋ฐ์ดํฐ ์์ญ์ ์ ์ญ๋ณ์, ์ ์ ๋ณ์๊ฐ ์ ์ฅ๋๊ณ , ์ ์ ์ธ ํน์ง์ ๊ฐ๋ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋ฉด ์ฌ๋ผ์ง๋ ๋ณ์๊ฐ ๋ค์ด ์๋ ์์ญ์ ๋๋ค.
๋ฐ์ดํฐ ์์ญ์ BSS ์์ญ๊ณผ Data ์์ญ์ผ๋ก ๋๋๊ณ , BSS ์์ญ์ ์ด๊ธฐํ๊ฐ ๋์ง ์์ ๋ณ์ ๊ฐ 0์ผ๋ก ์ด๊ธฐํ๋์ด ์ ์ฅ๋๋ฉฐ Data ์์ญ(Data segment)์ 0์ด ์๋ ๋ค๋ฅธ ๊ฐ์ผ๋ก ํ ๋น๋ ๋ณ์๋ค์ด ์ ์ฅ๋ฉ๋๋ค.
์ฝ๋ ์์ญ
์ฝ๋ ์์ญ์ ํ๋ก๊ทธ๋จ์ ๋ด์ฅ๋์ด ์๋ ์์ค ์ฝ๋๊ฐ ๋ค์ด๊ฐ๋ ์์ญ์ ๋๋ค. ์ด ์์ญ์ ์ ์ ๋ถ๊ฐ๋ฅํ ๊ธฐ๊ณ์ด๋ก ์ ์ฅ๋์ด ์์ผ๋ฉฐ ์ ์ ์ธ ํน์ง์ ๊ฐ์ง๋๋ค.
after
์คํ๊ณผ ํ
์คํ๊ณผ ํ์ ๋์ ํ ๋น์ด ๋๋ฉฐ ๋์ ํ ๋น์ ๋ฐํ์๋จ๊ณ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋ ๊ฒ์ ๋งํฉ๋๋ค. ์คํ์ ์ง์ญ๋ณ์, ๋งค๊ฐ๋ณ์, ์คํ๋๋ ํจ์์ ์ํด ๋์ด๋ค๊ฑฐ๋ ์ค์ด๋๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋๋ค. ํจ์๊ฐ ํธ์ถ๋ ๋๋ง๋ค ํธ์ถ๋ ๋์ ํ๊ฒฝ ๋ฑ ํน์ ์ ๋ณด๊ฐ ์คํ์ ๊ณ์ํด์ ์ ์ฅ๋ฉ๋๋ค. ๋ํ, ์ฌ๊ทํจ์๊ฐ ํธ์ถ๋๋ค๊ณ ํ์ ๋ ์๋ก์ด ์คํ ํ๋ ์์ด ๋งค๋ฒ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ํจ์ ๋ด์ ๋ณ์ ์งํฉ์ด ํด๋น ํจ์์ ๋ค๋ฅธ ์ธ์คํด์ค ๋ณ์๋ฅผ ๋ฐฉํดํ์ง ์์ต๋๋ค. ํ์ ๋์ ์ผ๋ก ํ ๋น๋๋ ๋ณ์๋ค์ ๋ด์ต๋๋ค. malloc(), free() ํจ์๋ฅผ ํตํด ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ ๋์ ์ผ๋ก ๊ด๋ฆฌ๋๋ ์๋ฃ๊ตฌ์กฐ์ ๊ฒฝ์ฐ ํ์์ญ์ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด vector๋ ๋ด๋ถ์ ์ผ๋ก ํ์์ญ์ ์ฌ์ฉํฉ๋๋ค.
๋ฐ์ดํฐ ์์ญ๊ณผ ์ฝ๋ ์์ญ
์ด ์์ญ์ ์ ์ ํ ๋น๋๋ ์์ญ์ ๋๋ค. ์ ์ ํ ๋น์ ์ปดํ์ผ๋จ๊ณ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ๋ฐ์ดํฐ ์์ญ์ BSS segment์ Data segment, code / text segment ๋ก ๋๋์ด์ ์ ์ฅ๋ฉ๋๋ค. BSS segment๋ ์ ์ญ๋ณ์ ๋๋ static, const๋ก ์ ์ธ๋์ด์๊ณ 0์ผ๋ก ์ด๊ธฐํ ๋๋ ์ด๊ธฐํ๊ฐ ์ด๋ ํ ๊ฐ์ผ๋ก๋ ๋์ด ์์ง ์์ ๋ณ์๋ค์ด ์ด ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํ ๋น๋๋ฉฐ Data segment์ ์ ์ญ๋ณ์ ๋๋ static, const ๋ก ์ ์ธ๋์ด์๊ณ 0์ด ์๋ ๊ฐ์ผ๋ก ์ด๊ธฐํ๋ ๋ณ์๊ฐ ์ด ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํ ๋น๋ฉ๋๋ค. code segment๋ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ๋ค์ด๊ฐ๋๋ค.
164ํ์ด์ง
before
ํ๋ก์ธ์ค ์ค์ผ์ค๋ง ์ํ : '์ค๋น', .... (์๋ต)
after
ํ๋ก์ธ์ค ์ค์ผ์ค๋ง ์ํ : '์ค๋น', '์ผ์์ค๋จ' ๋ฑ ํ๋ก์ธ์ค๊ฐ CPU์ ๋ํ ์์ ๊ถ์ ์ป์ ์ดํ์ ํ๋ก์ธ์ค์ ์ํ
164ํ์ด์ง[new]
before
PCB๋ฅผ ๊ตํํ๋ ๊ณผ์ ์ ๋งํฉ๋๋ค.
after
PCB๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก์ธ์ค์ ์ํ๋ฅผ ์ ์ฅํ๊ณ ๋ก๋์ํค๋ ๊ณผ์ ์ ๋งํฉ๋๋ค.
169ํ์ด์ง[new]
before
unamed
after
unnamed
173ํ์ด์ง
before
๊ณต์ ์์์ ์ ๊ทผํ ๋ ์์ ๋ฑ์ ์ด์ ๋ก ... (์๋ต)
after
์๊ณ ์์ญ
์๊ณ์์ญ(critical section)์ ๋ ์ด์์ ํ๋ก์ธ์ค, ์ค๋ ๋๊ฐ ๊ณต์ ์์์ ์ ๊ทผํ ๋ ์์ ๋ฑ์ ์ด์ ๋ก ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ ์ฝ๋ ์์ญ์ ๋งํฉ๋๋ค. ์๊ณ ์์ญ์ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋ฎคํ ์ค, ์ธ๋งํฌ์ด, ๋ชจ๋ํฐ ์ธ ๊ฐ์ง๊ฐ ์์ผ๋ฉฐ, ์ด ๋ฐฉ๋ฒ ๋ชจ๋ ์ํธ ๋ฐฐ์ , ํ์ ๋๊ธฐ, ์ตํต์ฑ์ด๋ ์กฐ๊ฑด์ ๋ง์กฑํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ํ ๋๊ฐ ๋๋ ๋ฉ์ปค๋์ฆ์ ์ ๊ธ(lock)์ ๋๋ค. ์๋ฅผ ๋ค์ด ์๊ณ ์์ญ์ ํ์ฅ์ค์ด๋ผ๊ณ ๊ฐ์ ํ๋ฉด ํ์ฅ์ค์ A๋ผ๋ ์ฌ๋์ด ๋ค์ด๊ฐ ๋ค์ ๋ฌธ์ ์ ๊ธ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์ฌ๋์ด ์ด๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ค A๊ฐ ๋์ค๋ฉด ํ์ฅ์ค์ ์ฐ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
174ํ์ด์ง
before
๋ฎคํ ์ค(mutext)๋ ๊ณต์ ์์์ ... (์๋ต)
after
๋ฎคํ ์ค
๋ฎคํ ์ค(mutex)๋ ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ๊ณต์ ์์์ lock()์ ํตํด ์ ๊ธ ์ค์ ํ๊ณ ์ฌ์ฉํ ํ์๋ unlock()์ ํตํด ์ ๊ธํด์ ํ๋ ๊ฐ์ฒด์ ๋๋ค. ์ ๊ธ์ด ์ค์ ๋๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ ์ค๋ ๋๋ ์ ๊ธด ์ฝ๋ ์์ญ์ ์ ๊ทผํ ์ ์๊ณ ํด์ ๋ ๊ทธ์ ๋ฐ๋์ ๋๋ค. ๋ํ ๋ฎคํ ์ค๋ ์ ๊ธ ๋๋ ์ ๊ธํด์ ๋ผ๋ ์ํ๋ง์ ๊ฐ์ง๋๋ค.
174ํ์ด์ง[new]
before
์ํธ๋ฐฐ์
ํ์ ๋๊ธฐ
์ตํต์ฑ
ํ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ๋ฐฉํดํด์๋ ์๋๋ค.
after
์ํธ ๋ฐฐ์ (mutual exclusion)
ํ์ ๋๊ธฐ(bounded waiting)
์ตํต์ฑ(progress)
๋ง์ฝ ์ด๋ ํ ํ๋ก์ธ์ค๋ ์๊ณ์์ญ์ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด ์๊ณ์์ญ ์ธ๋ถ์ ์ด๋ ํ ํ๋ก์ธ์ค๋ ๋ค์ด๊ฐ ์ ์์ผ๋ฉฐ ์ด ๋ ํ๋ก์ธ์ค๋ผ๋ฆฌ ์๋ก ๋ฐฉํดํ์ง ์๋๋ค.
๋ฎคํ ์ค
๋ฎคํ ์ค(mutex)๋ ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ๊ณต์ ์์์ lock()์ ํตํด ์ ๊ธ ์ค์ ํ๊ณ ์ฌ์ฉํ ํ์๋ unlock()์ ํตํด ์ ๊ธํด์ ํ๋ ๊ฐ์ฒด์ ๋๋ค. ์ ๊ธ์ด ์ค์ ๋๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ ์ค๋ ๋๋ ์ ๊ธด ์ฝ๋ ์์ญ์ ์ ๊ทผํ ์ ์๊ณ ํด์ ๋ ๊ทธ์ ๋ฐ๋์ ๋๋ค. ๋ํ ๋ฎคํ ์ค๋ ์ ๊ธ ๋๋ ์ ๊ธํด์ ๋ผ๋ ์ํ๋ง์ ๊ฐ์ง๋๋ค.
175ํ์ด์ง
before
ํ๋ก์ธ์ค๊ฐ ๊ณต์ ์์์ ์ ๊ทผํ๋ฉด... (์๋ต)
after
ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ๊ณต์ ์์์ ์ ๊ทผํ๋ฉด ์ธ๋งํฌ์ด์์ wait() ์์ ์ ์ํํ๊ณ ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ๊ณต์ ์์์ ํด์ ํ๋ฉด ์ธ๋งํฌ์ด์์ signal() ์์ ์ ์ํํฉ๋๋ค. ์ธ๋งํฌ์ด์๋ ์กฐ๊ฑด ๋ณ์๊ฐ ์๊ณ ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ์ธ๋งํฌ์ด ๊ฐ์ ์์ ํ ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ ์ค๋ ๋๋ ๋์์ ์ธ๋งํฌ์ด ๊ฐ์ ์์ ํ ์ ์์ต๋๋ค.
๋ฐ์ด๋๋ฆฌ ์ธ๋งํฌ์ด
๋ฐ์ด๋๋ฆฌ ์ธ๋งํฌ์ด๋ 0๊ณผ 1์ ๋๊ฐ์ง ๊ฐ๋ง ๊ฐ์ง ์ ์๋ ์ธ๋งํฌ์ด์ ๋๋ค. ๊ตฌํ์ ์ ์ฌ์ฑ์ผ๋ก ์ธํด ๋ฎคํ ์ค๋ ๋ฐ์ด๋๋ฆฌ ์ธ๋งํฌ์ด๋ผ๊ณ ํ ์ ์์ง๋ง ์๋ฐํ ๋งํ๋ฉด ๋ฎคํ ์ค๋ ์ ๊ธ์ ๊ธฐ๋ฐ์ผ๋ก ์ํธ๋ฐฐ์ ๊ฐ ์ผ์ด๋๋ "์ ๊ธ ๋ฉ์ปค๋์ฆ"์ด๊ณ , ์ธ๋งํฌ์ด๋ ์ ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํธ ๋ฐฐ์ ๊ฐ ์ผ์ด๋๋ "์ ํธ ๋ฉ์ปค๋์ฆ"์ ๋๋ค. ์ฌ๊ธฐ์ ์ ํธ ๋ฉ์ปค๋์ฆ์ ํด๋ํฐ์์ ๋ ธ๋๋ฅผ ๋ฃ๋ค๊ฐ ์น๊ตฌ๋ก๋ถํฐ ์ ํ๊ฐ ์ค๋ฉด ๋ ธ๋๊ฐ ์ค์ง๋๊ณ ํตํ ์ฒ๋ฆฌ ์์ ์ ๊ดํ ์ธํฐํ์ด์ค๊ฐ ๋ฑ์ฅํ๋ ๊ฒ์ ์์ํ๋ฉด ๋ฉ๋๋ค.
179ํ์ด์ง[new]
before
๊ธฐ์กด SJF ์ค์ผ์ค๋ง์ ๊ฒฝ์ฐ ๊ธด ์๊ฐ์ ๊ฐ์ง ํ๋ก์ธ์ค๊ฐ ์คํ๋์ง ์๋ ํ์์ด ์์์ต๋๋ค.
์ด๋ ์ค๋๋ ์์
์ผ์๋ก โ์ฐ์ ์์๋ฅผ ๋์ด๋ ๋ฐฉ๋ฒ(aging)โ์ ํตํด ๋จ์ ์ ๋ณด์ํ ์๊ณ ๋ฆฌ์ฆ
์ ๋งํฉ๋๋ค
after
๊ธฐ์กด SJF ์ค์ผ์ค๋ง์ ๊ฒฝ์ฐ ๊ธด ์๊ฐ์ ๊ฐ์ง ํ๋ก์ธ์ค๊ฐ ์คํ๋์ง ์๋ ํ์์ด ์์์ต๋๋ค. ์ด๋ฅผ ์ค๋๋ ์์ ์ผ์๋ก โ์ฐ์ ์์๋ฅผ ๋์ด๋ ๋ฐฉ๋ฒ(aging)โ์ ํตํด ํด๋น ๋จ์ ์ ๋ณด์ํ ์๊ณ ๋ฆฌ์ฆ์ ๋งํฉ๋๋ค.์ฐธ๊ณ ๋ก ์ฐ์ ์์๋ ์์ ์ค๋ช ํ SJF์ ์ฐ์ ์์๋ฅผ ๋งํ๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ FCFS๋ฅผ ํ์ฉํ์ฌ ๋ง๋ค๊ธฐ๋ ํ๋ฉฐ ์ ์ ํ, ๋น์ ์ ํ์ ์ธ ์ฐ์ ์์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋งํ๊ธฐ๋ ํฉ๋๋ค.
180ํ์ด์ง[new]
before
๋ผ์ด๋ ๋ก๋น(RR, Round Robin)์ ํ๋ ์ปดํจํฐ๊ฐ ์ฐ๋ ์ค์ผ์ค๋ง์ธ ์ฐ์ ์์ ์ค์ผ์ค๋ง (priority scheduling)์ ์ผ์ข ์ผ๋ก ๊ฐ ํ๋ก์ธ์ค๋ ๋์ผํ ํ ๋น ์๊ฐ์ ์ฃผ๊ณ ๊ทธ ์๊ฐ ์์ ๋ ๋์ง ์์ผ๋ฉด ๋ค์ ์ค๋น ํ(ready queue)์ ๋ค๋ก ๊ฐ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
after
๋ผ์ด๋ ๋ก๋น(RR, Round Robin)์ ํ๋ ์ปดํจํฐ๊ฐ ์ฐ๋ ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ ์ค์ผ์ค๋ง ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ ํ๋ก์ธ์ค๋ ๋์ผํ ํ ๋น ์๊ฐ์ ์ฃผ๊ณ ๊ทธ ์๊ฐ ์์ ๋ ๋์ง ์์ผ๋ฉด ๋ค์ ์ค๋น ํ(ready queue)์ ๋ค๋ก ๊ฐ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
181ํ์ด์ง
before
RB
after
RR
182ํ์ด์ง
before
HDD, SDD๋ฅผ ์ผ์ปฌ์ผ๋ฉฐ ํ๋ฐ์ฑ,
after
HDD, SDD๋ฅผ ์ผ์ปฌ์ผ๋ฉฐ ๋นํ๋ฐ์ฑ,
186ํ์ด์ง
before
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋... (์๋ต)
after
MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ ๋ํ๋จผํธ - ์ปฌ๋ ์ - ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
191ํ์ด์ง
before
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ง์ ๋ ํํ์ ... (์๋ต)
after
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ CHAR์ ๊ฒฝ์ฐ ์ ๋์ ์ด์ง ์์ ๊ธธ์ด๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ ํจ์จ์ ์ด๋ฉฐ ์ ๋์ ์ธ ๊ธธ์ด๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ๋ VARCHAR๋ก ์ ์ฅํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
191ํ์ด์ง
before
CHAR๋ ํ ์ด๋ธ์ ์์ฑํ ๋ ์ ์ธํ ๊ธธ์ด๋ก ๊ณ ์ ๋๋ฉฐ ๊ธธ์ด๋ 0์์ 255 ์ฌ์ด์ ๊ฐ์ ๊ฐ ์ง๋๋ค. ๋ ์ฝ๋๋ฅผ ์ ์ฅํ ๋ ๋ฌด์กฐ๊ฑด ์ ์ธํ ๊ธธ์ด ๊ฐ์ผ๋ก โ๊ณ ์ โํด์ ์ ์ฅ๋ฉ๋๋ค.
after
CHAR๋ ๊ณ ์ ๊ธธ์ด ๋ฌธ์์ด์ด๋ฉฐ ๊ธธ์ด๋ 0์์ 255 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋๋ค. ๋ ์ฝ๋๋ฅผ ์ ์ฅํ ๋ ๋ฌด์กฐ๊ฑด ์ ์ธํ ๊ธธ์ด ๊ฐ์ผ๋ก โ๊ณ ์ โํด์ ์ ์ฅ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด CHAR(100)์ผ๋ก ์ ์ธํ ํ 10๊ธ์๋ฅผ ์ ์ฅํด๋ 100๋ฐ์ดํธ๋ก ์ ์ฅ๋๊ฒ ๋ฉ๋๋ค.
211ํ์ด์ง [new]
BEFORE
REPEATABLE_READ
REPEATABLE_READ๋ ํ๋์ ํธ๋์ญ์ ์ด ์์ ํ ํ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์์ ํ ์ ์ ๋๋ก ๋ง์์ฃผ์ง๋ง ์๋ก์ด ํ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋ง์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ดํ์ ์ถ๊ฐ๋ ํ์ด ๋ฐ๊ฒฌ๋ ์๋ ์์ต๋๋ค.
READ_COMMITTED
READ_COMMITTED ๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ฒฉ๋ฆฌ ์์ค์ด๋ฉฐ MySQL8.0, PostgreSQL, SQL Server, ์ค๋ผํด์์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋์ด ์์ต๋๋ค. READ UNCOMMITTED ์ ๋ ๋ฌ๋ฆฌ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ปค๋ฐํ์ง ์์ ์ ๋ณด๋ ์ฝ์ ์ ์์ต๋๋ค. ์ฆ, ์ปค๋ฐ ์๋ฃ๋ ๋ฐ์ด ํฐ์ ๋ํด์๋ง ์กฐํ๋ฅผ ํ์ฉํฉ๋๋ค. ํ์ง๋ง ์ด๋ค ํธ๋์ญ์ ์ด ์ ๊ทผํ ํ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํธ ๋์ญ์ A๊ฐ ์์ ํ ํ์ ํธ๋์ญ์ B๊ฐ ์์ ํ ์๋ ์์ต๋๋ค. ์ด ๋๋ฌธ์ ํธ๋์ญ์ A๊ฐ ๊ฐ ์ ํ์ ๋ค์ ์ฝ์ ๋ ๋ค๋ฅธ ๋ด์ฉ์ด ๋ฐ๊ฒฌ๋ ์ ์์ต๋๋ค.
AFTER
REPEATABLE_READ
REPEATABLE_READ๋ ํ๋์ ํธ๋์ญ์ ์ด ์์ ํ ํ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์์ ํ ์ ์ ๋๋ก ๋ง์์ฃผ์ง๋ง ์๋ก์ด ํ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋ง์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ดํ์ ์ถ๊ฐ๋ ํ์ด ๋ฐ๊ฒฌ๋ ์๋ ์์ต๋๋ค.์ด๋ MySQL8.0์ innoDB ๊ธฐ๋ณธ๊ฐ์ด๊ธฐ๋ ํฉ๋๋ค.
READ_COMMITTED
READ_COMMITTED ๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ฒฉ๋ฆฌ ์์ค์ด๋ฉฐ PostgreSQL, SQL Server, ์ค๋ผํด์์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋์ด ์์ต๋๋ค. READ UNCOMMITTED ์ ๋ ๋ฌ๋ฆฌ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ปค๋ฐํ์ง ์์ ์ ๋ณด๋ ์ฝ์ ์ ์์ต๋๋ค. ์ฆ, ์ปค๋ฐ ์๋ฃ๋ ๋ฐ์ด ํฐ์ ๋ํด์๋ง ์กฐํ๋ฅผ ํ์ฉํฉ๋๋ค. ํ์ง๋ง ์ด๋ค ํธ๋์ญ์ ์ด ์ ๊ทผํ ํ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํธ ๋์ญ์ A๊ฐ ์์ ํ ํ์ ํธ๋์ญ์ B๊ฐ ์์ ํ ์๋ ์์ต๋๋ค. ์ด ๋๋ฌธ์ ํธ๋์ญ์ A๊ฐ ๊ฐ ์ ํ์ ๋ค์ ์ฝ์ ๋ ๋ค๋ฅธ ๋ด์ฉ์ด ๋ฐ๊ฒฌ๋ ์ ์์ต๋๋ค.
234ํ์ด์ง[new]
BEFORE
์๊ฐ ๋ณต์ก๋๋ โ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ๊ณผ ์ ๋ ฅ์ ํจ์ ๊ด๊ณโ๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. ์ด๋ ํ ์๊ณ ๋ฆฌ์ฆ์ ๋ก์ง์ด โ์ผ๋ง๋ ์ค๋ ์๊ฐโ์ด ๊ฑธ๋ฆฌ๋์ง๋ฅผ ๋ํ๋ด๋ ๋ฐ ์ฐ์ด๋ฉฐ, ๋ณดํต ๋น ์ค ํ ๊ธฐ๋ฒ์ผ๋ก ๋ํ๋ ๋๋ค
AFTER
์๊ฐ๋ณต์ก๋๋ ์ ๋ ฅํฌ๊ธฐ์ ๋ํด ์ด๋ ํ ์๊ณ ๋ฆฌ์ฆ์ด ์คํ๋๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด๋ฉฐ ์ฃผ์๋ก์ง์ ๋ฐ๋ณตํ์๋ฅผ ์ค์ ์ผ๋ก ์ธก์ ๋๋ฉฐ, ๋ณดํต ๋น ์ค ํ๊ธฐ๋ฒ์ผ๋ก ๋ํ๋ ๋๋ค
239ํ์ด์ง[new]
BEFORE
์ฌ๊ธฐ์ ์ค๋ช ํ๋ ๋ฐฐ์ด์ โ์ ์ ๋ฐฐ์ดโ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๋ช ํฉ๋๋ค. ํ์์ O(1)์ด ๋์ด ๋๋ค ์ ๊ทผ(random access)์ด ๊ฐ๋ฅํฉ๋๋ค. ์ฝ์ ๊ณผ ์ญ์ ์๋ O(n)์ด ๊ฑธ๋ฆฝ๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ ์ถ๊ฐ์ ์ญ์ ๋ฅผ ๋ง์ด ํ๋ ๊ฒ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ, ํ์์ ๋ง์ด ํ๋ ๊ฒ์ ๋ฐฐ์ด๋ก ํ๋ ๊ฒ์ด ์ข ์ต๋๋ค. ๋ฐฐ์ด์ ์ธ๋ฑ์ค์ ํด๋นํ๋ ์์๋ฅผ ๋น ๋ฅด๊ฒ ์ ๊ทผํด์ผ ํ๊ฑฐ๋ ๊ฐ๋จํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์๊ณ ์ถ์ ๋ ์ฌ์ฉํฉ๋๋ค.
AFTER
์ฌ๊ธฐ์ ์ค๋ช ํ๋ ๋ฐฐ์ด์ โ์ ์ ๋ฐฐ์ดโ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๋ช ํฉ๋๋ค. ์ ๊ทผ(์ฐธ์กฐ)์ O(1)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ฉฐ ๋๋ค ์ ๊ทผ(random access)์ด ๊ฐ๋ฅํฉ๋๋ค. ์ฝ์ ๊ณผ ์ญ์ ์๋ O(n)์ด ๊ฑธ๋ฆฝ๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ ์ถ๊ฐ์ ์ญ์ ๋ฅผ ๋ง์ด ํ๋ ๊ฒ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ, ์ ๊ทผ(์ฐธ์กฐ)์ ๋ง์ด ํ๋ ๊ฒ์ ๋ฐฐ์ด๋ก ํ๋ ๊ฒ์ด ์ข ์ต๋๋ค.
241ํ์ด์ง [new]
BEFORE
์์ ๊ทธ๋ฆผ์์ ์ ์ถํ ์ ์๋ฏ์ด ํ์์ ๋ฐฐ์ด์ด ๋น ๋ฅด๊ณ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๋๋ฆฌ์ฃ . ๋ฐฐ์ด์ ๊ฒฝ์ฐ ๊ทธ์ ์์ ์์ ์๋ ์์๋ฅผ ํ์ํ๋ฉด ๋๋ ๋ฐ๋ฉด์, ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ์์๋ฅผ ์ด์ด์ผ ํ๊ณ ์ฃผ์ด์ง ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฐจ์ ์ผ๋ก ์ด์ด์ผ ํฉ๋๋ค.
AFTER
์์ ๊ทธ๋ฆผ์์ ์ ์ถํ ์ ์๋ฏ์ด n๋ฒ์งธ ์์์ ์ ๊ทผ(์ฐธ์กฐ)์ ๋ฐฐ์ด์ ๋น ๋ฅด๊ณ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๋๋ฆฌ์ฃ . ๋ฐฐ์ด์ ๊ฒฝ์ฐ ๊ทธ์ ์์ ์์ ์๋ ์์๋ฅผ ์ ๊ทผํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ O(1)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๊ณ , ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๋งค๋ฒ ์์๋ฅผ ์ด์ด์ผ ํ๊ณ ์ฃผ์ด์ง ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฐจ์ ์ผ๋ก ์ด์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ๊ทผ(์ฐธ์กฐ)์ ๊ฒฝ์ฐ O(n)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋๋ค. ์ฆ, ์ฐธ์กฐ๊ฐ ๋ง์ด ์ผ์ด๋๋ ์์ ์ ๊ฒฝ์ฐ ๋ฐฐ์ด์ด ๋น ๋ฅด๊ณ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๋๋ฆฝ๋๋ค.
BEFORE
๋งจ ๋ค๋ ๋งจ ์์ด ์๋ (vector์ค๋ช ์ค)
AFTER
๋งจ ๋ค๊ฐ ์๋ (vector์ค๋ช ์ค)
242ํ์ด์ง [new]
BEFORE
์์ ์ค logn
AFTER
์์ ์ค log2n