P.5 ~ P.48
- ํน์ ํ ๋จ์ด๋ฅผ ์ฌ์ฉํ๋ผ Ex.) Get โ Fetch, Download
- ๋ณดํธ์ ์ธ ์ด๋ฆ ์ฌ์ฉ์ ํผํ๋ผ Ex.) tmp, retval
- ๋ณ์๋ช
์ ์ธ๋ถ์ ๋ณด๋ฅผ ๋ง๋ถ์ฌ๋ผ
- Scope๊ฐ ๋์ผ๋ฉด ๊ธด ์ด๋ฆ์ ์ฌ์ฉํ๋ผ
- ๋๋ฌธ์๋ ๋ฐ์ค ๋ฑ์ ์๋ฏธ์๋ ๋ฐฉ์์ผ๋ก ํ์ฉํ๋ผ
P.49 ~ P.60
- ๊ฒฝ๊ณ๋ฅผ ํฌํจํ๋ ํ๊ณ๊ฐ์ ๋ค๋ฃฐ ๋๋ min๊ณผ max๋ฅผ ์ฌ์ฉํ๋ผ
- ๊ฒฝ๊ณ๋ฅผ ํฌํจํ๋ ๋ฒ์์๋ first์ last๋ฅผ ์ฌ์ฉํ๋ผ
- ๊ฒฝ๊ณ๋ฅผ ํฌํจํ๊ณ /๋ฐฐ์ ํ๋ ๋ฒ์์๋ begin๊ณผ end๋ฅผ ์ฌ์ฉํ๋ผ
- ๋ถ๋ฆฌ์ธ ๊ฐ์ ์ ํ ๋๋ is๋ has๊ฐ์ ๋จ์ด๋ฅผ ๊ฐ์ด ์ด๋ค
P.61 ~ P.74
- ์ผ๊ด์ฑ๊ณผ ๊ฐ๊ฒฐ์ฑ์ ์ํด ์ค๋ฐ๊ฟ์ ์ฌ์ ๋ ฌํ๋ผ
- ๋ฉ์๋๋ฅผ ํ์ฉํ์ฌ ๋ถ๊ท์น์ฑ์ ์ ๋ฆฌํ๋ผ
- ๋์์ด ๋๋ค๋ฉด ์ฝ๋์ ์ด์ ๋ง์ถฐ๋ผ โ ์ด ์ ๋ ฌ
- ์๋ฏธ ์๋ ์์๋ฅผ ์ ํํ๊ณ ์ผ๊ด์ฑ์๊ฒ ์ฌ์ฉํ๋ผ
- ์ ์ธ๋ฌธ์ ๋ธ๋ก์ผ๋ก ๊ตฌ์ฑํ๋ผ
- ์ฝ๋๋ฅผ ๋ฌธ๋จ์ผ๋ก ์ชผ๊ฐ๋ผ
P.75 ~ P.90
- ์ฃผ์์ผ๋ก ์ค๋ช
ํ์ง ๋ง์์ผ ํ๋ ๊ฒ : ์ฝ๋์์ ์ ์ถํ ์ ์๋ ๋ด์ฉ, ์ค๋ช
์์ฒด๋ฅผ ์ํ ์ค๋ช
์ ๋ฌ์ง ๋ง๋ผ, ๋์ ํจ์/๋ณ์ ์ด๋ฆ์ ์ฃผ์์ ๋ฌ์ง ๋ง๋ผ
โ ์ข์ ์ฝ๋ > ๋์ ์ฝ๋ + ์ข์ ์ฃผ์
- ์๊ฐ์ ๊ธฐ๋กํ๋ผ :
โ TODO l ์์ผ๋ก ํด์ผํ ์ผ, FIXME | ์ค๋์์ ์ผ์ผํจ๋ค๊ณ ์๋ ค์ง ์ฝ๋, HACK | ์๋ฆ๋ต์ง ์์ ํด๊ฒฐ์ฑ
, XXX | ์ํ! ํฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์
โ ์์๊ฐ์ ์ ๊ทธ๋ ๊ฒ ์ ํ๋์ง ์ด์ ๋ฅผ ์ค๋ช
ํ๋ผ
โป // ์ด๋ฐ ์ ๊ธธ, ์ด ๋ฆฌ์คํธ ์์ ์ค๋ณต๋ ํญ๋ชฉ์ด ์์ผ๋ฉด ๊ณค๋ํด ์ง์์!
// โ XXX | ์ด ์ฝ๋๋ ๋ฆฌ์คํธ ์์ ์๋ ์ค๋ณต๋ ํญ๋ชฉ์ ๋ค๋ฃจ์ง ์๋๋ค. ๊ทธ๊ฒ๊น์ง ๊ฐ์ํ๋ฉด ์์ธ์ฒ๋ฆฌ๊ฐ ๋๋ฌด ๋ง์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค
P.91 ~ P.100
* ์ฃผ์์ ๋์ โ๊ณต๊ฐ ๋ ๋น์จโ์ ๊ฐ์ถฐ์ผ ํ๋ค.
- ์ฝ๋์ผ์ด์ค๋ฅผ ์ค๋ช
ํด ์ฃผ๋ ์
/์ถ๋ ฅ ์๋ฅผ ์ฌ์ฉํ๋ผ
- ์ฝ๋์ ์๋๋ฅผ ๋ช
์ํ๋ผ
- ํ์คํ ๋ฑ ๋ง์ ์๋ฏธ๋ฅผ ํจ์ถํ๋ ๋จ์ด๋ก ์ฃผ์์ ๊ฐ๋จํ๊ฒ ๋ง๋ค์ด๋ผ
P.101 ~ P.119
- ์กฐ๊ฑด๋ฌธ์์ ์ธ์์ ์์ : if (๋ณํํ๋ ๊ฐ โค ์์ ์ ์ธ(๊ณ ์ ์ ์ธ) ๊ฐ)
- if/else ๋ธ๋ก ์์ : ๊ธ์ ์ ์ด๊ณ , ์ฝ๊ณ ํฅ๋ฏธ๋ก์ด ๊ฒฝ์ฐ๋ฅผ ์์ ๋์๋ผ.
โ ๋ถํ์ ์ฝ๋ผ๋ฆฌ๋ ์๊ฐํ์ง ๋ง์ธ์
- ์ผํญ์ฐ์ฐ์(cond ? a : b), do/while ๋ฃจํ, goto๋ ๊ฐ๋
์ฑ์ ๋จ์ด๋จ๋ฆฐ๋ค
- ์ ํ์ ์ธ ์ฝ๋๋ฅผ ์ถ๊ตฌํ๋ผ
P.120 ~ P.131
- ์ปค๋ค๋ ํํ์ ์ชผ๊ฐ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ํ์ ํํ์ ๋ด์ ์ถ๊ฐ ๋ณ์(์ค๋ช
๋ณ์)๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค
- ๋๋ชจ๋ฅด๊ฐ์ ๋ฒ์น : not์ ๋ถ๋ฐฐํ๊ณ and/or์ ๋ฐ๊ฟ๋ผ
1) not (a or b) == (not a) and (not b)
2) not (a and b) == (not a) or (not b)
P.132 ~ P.150
* ๋ณ์์ ๊ฐ๋
์ฑ
- ๋ณ์ ์ ๊ฑฐํ๊ธฐ : ์์, ์ค๊ฐ๊ฒฐ๊ณผ, ํ๋ฆ์ ์ด ์ญํ ์ ๋ณ์๋ ์ ๊ฑฐํ๋ ๊ฒ ์ข๋ค
- ๋ณ์ ๋ฒ์ ์ขํ๊ธฐ : ์ ์ญ ๋ณ์ ํผํ๊ธฐ. ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์๋ฅผ ํญ์ var์ ํจ๊ป ์ ์ธํ๊ณ ๋ณ์์ ๋ฒ์๋ฅผ ํจ์ ๋ด๋ถ๋ก ๊ตญํ์ํค๋ ๊ฒ์ด ์ข๋ค
- ๊ฐ์ ํ ๋ฒ๋ง ํ ๋นํ๋ ๋ณ์๋ฅผ ์ ํธํ๋ผ (const ํค์๋ ์ฌ์ฉ)
P.191 ~ P.222
* ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์๊ฒ ์ ์งํ๊ธฐ
- ์ฌ์ฉํ์ง ์๋ ์ฝ๋ ์ ๊ฑฐํ๊ธฐ
- ์ฃผ๋ณ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ทน ํ์ฉํ๊ธฐ
- ์ผ๋ฐ ํ๋ก๊ทธ๋๋จธ๊ฐ ํ๋ฃจ์ ์ถ์๊ฐ๋ฅํshippable ์ฝ๋๋ ํ๊ท 10์ค ์ ๋๋ค
* ํ
์คํธ์ ๊ฐ๋
์ฑ
- ๊ฐ ํ
์คํธ์ ์ต์์ ์์ค์ ๊ฐ๊ฒฐํด์ผ ํ๋ค.
- ํ
์คํธ ์คํจ์ ๋ฒ๊ทธ ์ถ์ ๊ณผ ์์ ์ ๋์์ด ๋ ๋งํ ์๋ฌ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํด์ผ ํ๋ค
- ๋ฌด์์ด ํ
์คํธ๋๋์ง ๋ถ๋ช
ํ๊ฒ ๋๋ฌ๋๋๋ก ํ
์คํธ ํจ์์ ์ถฉ๋ถํ ์ค๋ช
์ด ํฌํจ๋ ์ด๋ฆ์ ๋ถ์ฌํ๋ผ
P.223 ~ P.242
* ์์ : ๋ถ/์๊ฐ ์นด์ดํฐ
- ConveyorQueue : ์์คํ
์ด ํ๋ฝํ๋ ํ๋ ๋ด์์ ๋ฌด์ ํ์ ํฌ๊ธฐ๋ฅผ ๊ฐ๋ ํ๋ก์ ์์ผ๋ก ํ ์นธ ์์ง์ผ ์ฐ ์์ผ๋ฉฐ, ํ ์์ ๋ด๊ธด ๋ชจ๋ ํญ๋ชฉ์ ์ดํฉ์ ๊ด๋ฆฌํ๋ค
- TrailingBucketCounter : ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ์ ConveyorQueue๋ฅผ ์์ผ๋ก ํ ์นธ ์ด๋์ํค๊ณ , (ํ์ฌ ์๊ฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ต๊ทผ) ์๊ฐ ๊ตฌ๊ฐ์ ์นด์ดํธ๋ฅผ ์ ์ฅํ๋ค
- MinuteHourCounter : TrailingBucketCounter ๋ ๊ฐ๋ฅผ ๋ณด๊ดํ๋ค. ํ๋๋ 1๋ถ, ๋ค๋ฅธ ํ๋๋ 1์๊ฐ์ ๋ํ ์นด์ดํธ์ฉ์ด๋ค