The programmer's Brain

Part1

ch1

์ฝ”๋“œ ๋” ์ž˜ ์ฝ๊ธฐ

  • ์ฝ”๋“œ๋ฅผ ์ฝ์œผ๋ฉด์„œ, ์ดํ•ดํ•˜๋ฉด์„œ ์™œ ํ˜ผ๋ž€์ด ์ƒ๊ธฐ๋Š”๊ฐ€?

    1. ์ง€์‹์˜ ๋ถ€์กฑ, ํ•ด๋‹น ์ฝ”๋“œ ์ดํ•ด์— ํ•„์š”ํ•œ ์ง€์‹(knowlege) ์ด ๋ถ€์กฑํ•จ.

    2. ์ •๋ณด์˜ ๋ถ€์กฑ, ํ•ด๋‹น ๋ฉ”์„œ๋“œ๊ฐ€ ์–ด๋–ค ์ผ์„ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š” ์ง€๋Š” ๋ชจ๋ฆ„. ์ •๋ณด(information)๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค.

    3. ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์˜ ๋ถ€์กฑ, processing power, ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€ ์ฝ”๋“œ๊ฐ€ ์ง„ํ–‰๋˜๋ฉด์„œ ๋ณ€์ˆ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ํ• ๋‹น๋˜๋Š”์ง€ ๋“ฑ์˜ ํ๋ฆ„์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ.(์ฝ”๋“œ ๋„ˆ๋ฌด ๋ณต์žกํ•จ. ์ž„์‹œ ๋ณ€์ˆ˜๊ฐ€ ๋งŽ๊ณ ...)

  • ์ง€์‹์˜ ๋ถ€์กฑ์€ LTM(long term memory, ์žฅ๊ธฐ ๊ธฐ์–ต ๊ณต๊ฐ„) ์— ํ•ด๋‹น ๋‚ด์šฉ์ด ์—†๋‹ค๋Š” ๊ฒƒ.

  • ์ •๋ณด์˜ ๋ถ€์กฑ์€ STM(short term memory, ๋‹จ๊ธฐ ๊ธฐ์–ต ๊ณต๊ฐ„) ์— ํ•ด๋‹น ๋‚ด์šฉ์ด ์—†๋‹ค๋Š” ๊ฒƒ.

  • ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์ด ๋ถ€์กฑํ•˜๋Š” ๊ฑด working memory, ์ž‘์—… ๊ธฐ์–ต ๊ณต๊ฐ„์— ๋ถ€์กฑํ•˜๋‹ค๋Š” ๊ฒƒ.

  • LTM ?

    • e.g Java์˜ maxInt ๋Š” 2147483647 ์ž„.

    • ์ฆ‰ ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ.

  • STM ?

    • e.g ์ฝ”๋“œ์˜ ํ‚ค์›Œ๋“œ, ๋ณ€์ˆ˜, ์ž๋ฃŒ๊ตฌ์กฐ๋“ฑ..

    • ์ฆ‰ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ..

    • ๋ณดํ†ต ์ด ๊ณต๊ฐ„์—์„œ ๊ธฐ์–ตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด 12๊ฐœ๋ฅผ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

    • ์ฆ‰ STM์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  12๊ฐœ ๋ฏธ๋งŒ์˜ ๊ฒƒ๋“ค์„ ํ™œ์šฉํ•˜๋„๋ก ํ•ด์•ผํ•จ. (๋ณ€์ˆ˜ ๊ฐฏ์ˆ˜ ์ œํ•œ๋“ฑ๋“ฑ..)

  • Working Memory?

    • ํ”„๋กœ์„ธ์Šค

  • ์ฝ”๋“œ๋ฅผ ์ฝ์œผ๋ฉด์„œ ์œ„ ์„ธ๊ฐ€์ง€ ์ธ์ง€ ๊ณผ์ •์ด ๋‹ค ๊ฐ™์ด ์ผ์–ด๋‚˜๋ฉฐ, ์ƒํ˜ธ ๋ณด์™„์ ์ž„.

ch2

์‹ ์†ํ•œ ์ฝ”๋“œ ๋ถ„์„

  • ์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋•Œ, ์ฒ˜์Œ ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณณ?

    • STM

  • ํ”„๋กœ๊ทธ๋žจ์€ ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ์ž‘์„ฑํ•ด์•ผํ•œ๋‹ค. ๊ธฐ๊ณ„๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ๋ถ€์ฐจ์›์ ์ธ ์ผ์ด๋‹ค.

  • STM์€ ์ฝ๊ฑฐ๋‚˜ ๋“ค์€ ์ •๋ณด๋ฅผ ์งฆ์€ ์‹œ๊ฐ„๋งŒ ์ €์žฅํ•จ.

    • ์ด ์งฆ์€ ์‹œ๊ฐ„์€ 30์ดˆ๋ฅผ ๋„˜์ง€ ์•Š์Œ.

  • STM์˜ ์šฉ๋Ÿ‰์€ 2๊ฐœ์—์„œ 6๊ฐœ ์‚ฌ์ด.

  • Chunk

    • ํŠน์ •ํ•œ ์ฃผ์ œ์— ๋Œ€ํ•ด ๋‘๋‡Œ๊ฐ€ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ์ž…๋ ฅ๋œ ์ •๋ณด๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ์ฒญํฌ๋กœ ๋ฌถ๋Š” ๊ฒƒ์ด ์ˆ˜์›”ํ•ด์ง.

    • abk mrtpi gbar ๋กœ ์™ธ์šฐ๋Š” ๊ฒƒ ๋ณด๋‹จ, cat loves cake ๋ฅผ ์™ธ์šฐ๋Š”๊ฒŒ ๋” ์‰ฝ๋‹ค.

    • ์™œ? ํ›„์ž๋Š” 3๊ฐœ๋กœ ๋ฌถ์–ด์„œ ์™ธ์›Œ์ง€์ง€๋งŒ, ์ „์ž๋Š” ๊ฐ๊ฐ ํ•œ๊ฐœ์”ฉ ์™ธ์›Œ์•ผ ํ•˜๋ฏ€๋กœ.

  • ๊ฐ๊ฐ ๊ธฐ์–ต ๊ณต๊ฐ„

    • STM์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์˜ buffer ์—ญํ• .

    • ์ฝ”๋“œ๋ฅผ ์ฝ์œผ๋ฉด ์˜์ƒ ๊ธฐ์–ต ๊ณต๊ฐ„ (iconic memory) ๋ผ๋Š” ๊ณณ์— ์ž ์‹œ ์ €์žฅ๋จ.

  • ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๋ฉด ๋””์ž์ธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด ๋จ.

    • ๋””์ž์ธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด, ์ฝ”๋“œ๋ฅผ ์ฒญํฌ ๋‹จ์œ„๋กœ ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์ˆ˜์›”ํ•ด์ง€๋Š” ๋“ฏ.

  • ์ฝ”๋“œ์— ์ฃผ์„๋ฌธ์ด ์žˆ์œผ๋ฉด, ์ƒˆ๋กœ์šด ํŒ€์›์ด ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Œ.

    • ๋‹จ ๊ณ ์ˆ˜์ค€ ์ฃผ์„๋ฌธ๋งŒ.

    • e.g ์ด ํ•จ์ˆ˜๋Š” ์ด์ง„ํŠธ๋ฆฌ๋ฅผ ์ค‘์œ„ ์ˆœํšŒ ํ•˜๋ฉฐ ํ”„๋ฆฐํŠธํ•œ๋‹ค.

ch3

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ๋ฒ• ๋น ๋ฅด๊ฒŒ ๋ฐฐ์šฐ๊ธฐ

  • ํ”Œ๋ž˜์‹œ ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌธ๋ฒ• ๋ฐฐ์šฐ๊ธฐ.

  • STM์— ์ €์žฅ๋œ ์ •๋ณด๋Š” LTM์œผ๋กœ ์˜ฎ๊ฒจ์ง. ๊ทธ๋ ‡์ง€๋งŒ LTM์— ์˜์›ํžˆ ์ €์žฅ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹˜.

  • ์˜ค๋žซ๋™์•ˆ ํ•™์Šตํ•œ ๋งŒํผ, ๋” ์˜ค๋ž˜ ๊ธฐ์–ตํ•œ๋‹ค.

  • LTM ์–ด๋”˜๊ฐ€์— ์ €์žฅ๋˜์–ด์žˆ์ง€๋งŒ, ๊ทธ๊ฒƒ์ด ํ•„์š”ํ•  ๋–„๋Š” ์ •์ž‘ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Œ.

    • ์•Œ๊ณ  ์žˆ์ง€๋งŒ, ๋ง์„ ๊บผ๋‚ด์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ.

    • ์ฆ‰ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๊ณ , ์‰ฝ๊ฒŒ ์ธ์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฐ์Šตํ•ด์•ผํ•จ.

  • ์ •๊ตํ™” elaboration

    • ๊ธฐ์–ตํ•˜๊ณ ์ž ํ•˜๋Š” ๋‚ด์šฉ์„ ๊ธฐ์กด ๊ธฐ์–ต๊ณผ ์—ฐ๊ด€ ์ง€์œผ๋ฉด์„œ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ.

ch4

๋ณต์žกํ•œ ์ฝ”๋“œ ์ฝ๋Š” ๋ฐฉ๋ฒ•

  • ์ธ์ง€ ๋ถ€ํ•˜(cognitive load) ๋„ˆ๋ฌด ๋งŽ์€ ์š”์†Œ๊ฐ€ ์žˆ์–ด ์ฒญํฌ๋กœ ๋‚˜๋‰˜์ง€ ์•Š์€ ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒ

    • overload

  • ๋‚ด์žฌ์  ์ธ์ง€ ๋ถ€ํ•˜ (intinsic cognitive load)

    • ์ง๊ฐ ์‚ผ๊ฐํ˜•์˜ ๋‘๋ณ€์˜ ๊ธธ์ด๊ฐ€ ์ฃผ์–ด์ง„ ์ƒํƒœ (๋‹ค๋ฅธ ๋ณ€์ˆ˜ ํ• ๋‹น ์—†์ด ์ง์ ‘)

    • ์ง๊ฐ ์‚ผ๊ฐํ˜• ๋น—๋ณ€์˜ ๊ธธ์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„  ํ”ผํƒ€๊ณ ๋ผ์Šค ์ •๋ฆฌ๋ฅผ ์•Œ๊ณ  ์žˆ์–ด์•ผํ•จ.

    • ๋ชจ๋ฅด๋ฉด ํ’€ ๋ฐฉ๋ฒ• ์—†์Œ.

    • ์ฆ‰ ๋ฌธ์ œ์˜ ๋ถ€ํ•˜๋Š” ๋ฌธ์ œ์— ๋‚ด์žฌ๋˜์–ด์žˆ์Œ.

  • ์™ธ์žฌ์  ์ธ์ง€ ๋ถ€ํ•˜ (extraneous cognitive load)

    • ์ง๊ฐ ์‚ผ๊ฐํ˜•์˜ ๋‘ ๋ณ€์˜ ๊ธธ์ด๊ฐ€ ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง„ ์ƒํƒœ (a,b)

    • a,b๋ผ๋Š” ๊ฐ’์„ ์‹ค์ œ ๊ธธ์ด์™€ ์—ฐ๊ฒฐ์‹œ์ผœ์•ผํ•จ.

    • ์ถ”๊ฐ€์ ์ธ ์ž‘์—…์ด ์žˆ์Œ.

    • ์ด ๋–„ ์™ธ์žฌ์  ์ธ์ง€ ๋ถ€ํ•˜๊ฐ€ ๋ฐœ์ƒ.

above_ten = [a for a in item if a > 10]

above_ten = []
for a in items:
    if a > 10: above_ten.append(a)
  • ์ฒซ๋ฒˆ์งธ, ๋‘๋ฒˆ์งธ ์ฝ”๋“œ๋Š” ๊ฐ™์€ ์ผ์„ ํ•˜๊ณ  ์žˆ์ง€๋งŒ,

  • ํŒŒ์ด์ฌ์˜ ๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜์— ๋Œ€ํ•ด ๋ชจ๋ฅด๊ณ  ์žˆ์œผ๋ฉด, ์ฒซ๋ฒˆ์งธ ์ฝ”๋“œ๋ฅผ ์ฝ์Œ์œผ๋กœ์จ ๋ฐœ์ƒํ•˜๋Š” ์™ธ์žฌ์  ์ธ์ง€ ๋ถ€ํ•˜๊ฐ€ ๊ทธ๋ ‡์ง€ ์•Š์€ ์‚ฌ๋žŒ๋ณด๋‹ค ํผ.

  • ๊ทธ๋Ÿฌ๋ฉด ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ์–ด๋–ป๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์„๊นŒ?

    • ๋ฆฌํŒฉํ† ๋ง

  • ์ฝ”๋“œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์˜์กด ๊ทธ๋ž˜ํ”„ (dependency graph) ๋ฅผ ๋งŒ๋“ค๋ฉด ํ๋ฆ„์„ ์ดํ•ดํ•˜๊ณ  ๋…ผ๋ฆฌ์  ํ๋ฆ„์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ์ฝ๋Š”๋ฐ ๋„์›€์ด๋จ.

    • ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋ชจ๋“  ๋ณ€์ˆ˜๋ฅผ ์›์œผ๋กœ ํ‘œ์‹œ

    • ๊ทธ๋ฆฌ๊ณ  ๋™์ผํ•œ ๋ณ€์ˆ˜๋ผ๋ฆฌ ์„ ์œผ๋กœ ์—ฐ๊ฒฐ. (๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ๋œ ์œ„์น˜๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ๋„์›€์ด ๋จ.)

  • ๊ณ„์‚ฐ์ด ๋งŽ์€ ์ฝ”๋“œ์— ๋„์›€์ด ๋˜๋Š” ๊ฑด?

    • ์ƒํƒœํ‘œ

    • tracing, cognitive compiling

Part 2

ch5

์ฝ”๋“œ๋ฅผ ๋” ๊นŠ์ด ์žˆ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ

  • ๋ณ€์ˆ˜๊ฐ€ ์–ด๋–ค ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ์ฝ”๋“œ๋ฅผ ์ถ”๋ก ํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š”๋ฐ ๊ฒฐ์ •์ ์ธ ์—ญํ• ์„ ํ•จ.

  • ๋ณ€์ˆ˜ ์—ญํ• 

    1. fixed value (๊ณ ์ •๊ฐ’), ๊ฐ’์ด ํ• ๋‹น๋œ ์ดํ›„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜

    2. stepper, ๋ฃจํ”„๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๋ฉฐ ๊ฐ’์ด ๋‹จ๊ณ„์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ๋ณ€์ˆ˜

      • e.g for๋ฌธ์˜ i ๋ณ€์ˆ˜

    3. flag, ๋ฌด์—‡์ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ฑฐ๋‚˜ ์–ด๋–ค ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•˜๋Š” ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ณ€์ˆ˜.

      • e.g is_set, is_available..

    4. walker, stepper์™€ ์œ ์‚ฌ. ๋‹จ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ˆœํšŒ.

      • e.g ์Šคํƒ, ํŠธ๋ฆฌ๋ฅผ ์ˆœํšŒํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜

    5. most recent holder (์ตœ๊ทผ๊ฐ’ ๋ณด์œ ์ž), ์–ด๋–ค ๊ฐ’์ด ๋ณ€ํ•ด๊ฐ€๋Š”๋ฐ ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋ณ€๊ฒฝ๋œ ๊ฐ’์„ ๊ฐ–๋Š” ๋ณ€์ˆ˜

    6. most wanted holder (๋ชฉ์ ๊ฐ’ ๋ณด์œ ์ž), ์–ด๋–ค ๊ฐ’์ด ๋ณ€ํ•ด๊ฐ€๋Š”๋ฐ ํŠน์ •ํ•œ ๊ฐ’์„ ์ฐพ๊ณ ์ž ํ•  ๋•Œ ๊ทธ ํŠน์ •ํ•œ ๊ฐ’.

      • e.g ์ตœ์†Œ๊ฐ’, ์ตœ๋Œ€๊ฐ’

    7. gatherer (๋ชจ์ง‘์ž), ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์œผ๊ฑฐ๋‚˜, ์–ด๋–ค ์—ฐ์‚ฐ ์ˆ˜ํ–‰ํ•˜์—ฌ ์–ป์€ ๊ฐ’.

    8. container, ๊ฐ’์„ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ

      • e.g ๋ฆฌ์ŠคํŠธ, ๋ฐฐ์—ด, ์Šคํƒ..

    9. follower (์ถ”์ ์ž), ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์ด์ „ ๊ฐ’ ํ˜น์€ ๋‹ค์Œ ๊ฐ’์„ ์ถ”์ ํ•ด์•ผํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋•Œ, ๊ทธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ณ€์ˆ˜.

    10. organizer (์กฐ์ง์ž), ๋‹ค๋ฅธ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜. ์ž„์‹œ ๋ณ€์ˆ˜์™€ ๋น„์Šท

      • e.g ๋ฌธ์ž์—ด -> ๋ฌธ์ž์—ด ๋ฐฐ์—ด๋กœ ๋ณ€๊ฒฝํ•  ๋•Œ, ๋ฌธ์ž์—ด ๋ฐฐ์—ด์„ ๋‹ด๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜.

    11. temporary, ์ž ์‹œ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜, ๋ณดํ†ต temp, t ๋ผ๋Š” ๋ณ€์ˆ˜๋ช…์„ ๋งŽ์ด ์‚ฌ์šฉํ•จ.

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋•Œ..

    • ์ดˆ์  focal point๋ฅผ ๋จผ์ € ์ฐพ์Œ. (main()...)

    • ์ดˆ์ ์€ ์–ด๋””์„œ๋ถ€ํ„ฐ ์ฝ”๋“œ๋ฅผ ์ฝ์–ด์•ผ ํ• ์ง€ ์•Œ๋ ค์ฃผ๋Š” ํฌ์ธํŠธ.

ch6

์ฝ”๋”ฉ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ๋” ์ž˜ํ•˜๋ ค๋ฉด

  • ์ •์‹ ๋ชจ๋ธ, ๊ฐœ๋…์  ๊ธฐ๊ณ„..

  • ๋ณ„๋กœ ํฅ๋ฏธ๋กญ์ง„ ์•Š์•˜์Œ.

ch7

์ƒ๊ฐ์˜ ๋ฒ„๊ทธ

  • ํ•™์Šต ์ „์ด transfer of learning

  • ๊ทผ๊ฑฐ๋ฆฌ ์ „์ด, ์›๊ฑฐ๋ฆฌ ์ „์ด

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ฐฐ์›€์œผ๋กœ์จ ๋…ผ๋ฆฌ์ ์ธ ์ถ”๋ก ์— ๋Œ€ํ•œ ๊ธฐ์ˆ ์„ ์–ป๊ฑฐ๋‚˜ ์‹ฌ์ง€์–ด ์ผ๋ฐ˜์ ์ธ ์ง€๋Šฅ์„ ์ฆ๊ฐ€์‹œํ‚ฌ ๊ฒƒ์ด๋ผ ์ฃผ์žฅ. ๊ทธ๋ ‡์ง€๋งŒ ์•„๋‹˜ (๊ฑฐ์˜ ํšจ๊ณผ ์—†์Œ.)

  • ์˜ค๊ฐœ๋… (์˜คํ•ด)

Part3

ch8

๋ช…๋ช… ์ž˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ์™œ ๋ช…๋ช…์ด ์ค‘์š”ํ•จ?

    • ํ‘œ์‹ ์—ญํ• .

    • ์ด๋ฆ„์„ ์ž˜ ์ง“๋Š” ๊ฒƒ์ด, ๋ฌธ์„œํ™”์˜ ๊ฐ€์žฅ ์‰ฌ์šด ํ˜•ํƒœ์ž„.

  • ์ข‹์€ ๋ช…๋ช…?

    • ์ผ๊ด€์„ฑ์ด ์žˆ์–ด์•ผํ•จ.

    • ๋„ˆ๋ฌด ๋งŽ์€ ๋‹จ์–ด๋Š” ์•ˆ ์ข‹์Œ (4~5๋‹จ์–ด ์ •๋„๊ฐ€ ์†Œ์†Œ)

    • ๊ฐ€๋Šฅํ•œ ์ž์—ฐ์–ด์— ๊ฐ€๊น๊ฒŒ ๋ช…๋ช…ํ•˜์ž.

  • ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค or ์นด๋ฉœ ์ผ€์ด์Šค

    • ์นด๋ฉœ์ผ€์ด์Šค๊ฐ€ ๋‚˜์Œ.

ch9

๋‚˜์œ ์ฝ”๋“œ์™€ ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ํ”„๋ ˆ์ž„ ์›Œํฌ

  • ์ธ์ง€ ๋ถ€ํ•˜๋Š” ์ž‘์—… ๊ธฐ์–ต ๊ณต๊ฐ„์ด ๊ฝ‰ ์ฐจ์„œ ๋‡Œ๊ฐ€ ๋” ์ด์ƒ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•  ๋•Œ ๋ฐœ์ƒ.

  • ๋ฉ”์„œ๋“œ ์ˆ˜์ค€

    • ๋งŽ์€ ๋ผ์ธ, ๋งŽ์€ ๊ธฐ๋Šฅ.

    • ๋งŽ์€ ๋งค๊ฐœ๋ณ€์ˆ˜.

  • ํด๋ž˜์Šค ์ˆ˜์ค€

    • ๋ฐฉ๋Œ€ํ•œ ๊ธฐ๋Šฅ์„ ํ•  ๋•Œ

    • ๋„ˆ๋ฌด ์ž‘์€ ๊ธฐ๋Šฅ๋งŒ ํ•  ๋•Œ

  • ์ฝ”๋“œ ๋ฒ ์ด์Šค ์ˆ˜์ค€

    • ์ค‘๋ณต ์ฝ”๋“œ

  • ๊ธด ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ณต์žกํ•œ ์Šค์œ„์น˜๋ฌธ์€ ์ž‘์—… ๊ธฐ์–ต ๊ณต๊ฐ„์˜ ์šฉ๋Ÿ‰์„ ์ดˆ๊ณผ์‹œํ‚ค๊ฒŒ ํ•จ.

    • ์ฆ‰ ์ฝ”๋“œ ์ดํ•ด๊ฐ€ ์–ด๋ ค์›Œ์ง.

ch10

๋ณต์žกํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ๋” ์ž˜ํ•˜๋ ค๋ฉด

  • ๋‘๋‡Œ์— ๋ช…์‹œ์  ๊ธฐ์–ต์œผ๋กœ ์ €์žฅ๋˜๋ ค๋ฉด, ๋ช…์‹œ์  ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•จ.

    • ์ฆ‰ for ๋ฃจํ”„๋Š” for (i = 0; i < n; i++) {}.. ๋กœ ์ •์˜๋œ๋‹ค๋Š” ๊ฑด์„ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ.

  • ์•”์‹œ์  ๊ธฐ์–ต์€ ๋ฐ˜๋ณต์— ์˜ํ•ด ์ƒ์„ฑ๋จ.

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•œ ์•”์‹œ์  ๊ธฐ์–ต์ด ๋งŽ์„์ˆ˜๋ก ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ๋” ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Œ.

  • ์•”์‹œ์ ์ธ ๊ธฐ์–ต์€ ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋ ๊นŒ?

    1. ์ธ์ง€ ๋‹จ๊ณ„, ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋ฆฌ์ŠคํŠธ์˜ ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ธ์ง€ํ•˜๋Š” ๋‹จ๊ณ„

    2. ์—ฐ์ƒ ๋‹จ๊ณ„, ๋ฆฌ์ŠคํŠธ์—์„œ ๋‚ด๊ฐ€ ์ฐพ๊ณ ์žํ•˜๋Š” ์ˆœ์„œ์—์„œ 1์„ ๋นผ๋ฉด, ์˜ฌ๋ฐ”๋ฅธ ์ธ๋ฑ์Šค๋‹ค ๋ผ๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋‹จ๊ณ„

    3. ์ž์œจ ๋‹จ๊ณ„, ๋ฆฌ์ŠคํŠธ์—์„œ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ๊ณ ์ž ์ˆซ์ž๋ฅผ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๊ณ  ์ฆ‰๊ฐ์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ

  • ์ž์œจ ๋‹จ๊ณ„์— ๋‹ค๋‹ค๋ฅด๋ฉด, ๊ธฐ์ˆ ์„ ์ž๋™ํ™”ํ–ˆ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ.

  • ์•”์‹œ์ ์ธ ๊ธฐ์–ต์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„ ?

    • ์—ฐ์Šตํ•˜๊ณ ์ž ํ•˜๋Š” ๊ธฐ์ˆ ๊ฐ€ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŽ์ด ์ž‘์„ฑ

    • ์˜ˆ๋ฅผ ๋“ค๋ฉด for ๋ฃจํ”„๋ฅผ ์—ฐ์Šต ์ค‘์ด๋ผ๋ฉด, ์ •๋ฐฉํ–ฅ, ์—ญ๋ฐฉํ–ฅ, ๋‹จ๊ณ„๊ฐ€ ๋‹ค๋ฅธ ์Šคํ…Œํผ ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉํ–ฅ์œผ๋กœ for ๋ฃจํ”„๋ฅผ ์ด์šฉํ•ด๋ด„.

  • ์–ด๋–ค ๋ฌธ์ œ์— ๋Œ€ํ•ด ์Šค์Šค๋กœ ํ’€๊ธฐ ํž˜๋“ค๊ณ , ํ’€์ด๊ฐ€ ์žˆ๋‹ค๋ฉด, ํ’€์ด๋ฅผ ๋ณด๊ณ  ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋จ.

    • ์Šค์Šค๋กœ ๋ฌด์ž‘์ • ํ’€์–ด๋ณด๋Š” ๊ฒƒ๋ณด๋‹ค..

    • ์ฆ‰ ์„ค๋ช…์„ ํ†ตํ•ด ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด, ์ž‘์„ฑํ•˜๋ฉฐ ๋ฐฐ์šธ ๋•Œ๋ณด๋‹ค ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด ๋” ๋งŽ์Œ.

part4

ch11

์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ–‰์œ„

  • ๊ฒ€์ƒ‰

    • ์ฝ”๋“œ ๋ฒ ์ด์Šค๋ฅผ ์‚ดํŽด๋ณด๊ณ , ํŠน์ • ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰.

    • STM์— ๋ถ€ํ•˜

    • ์ข…์ด๋‚˜ ๋ณ„๋„์˜ ๋ฌธ์„œ์— ํ•ด๋‹น ๋‚ด์šฉ์„ ์ž‘์„ฑํ•˜๋ฉด ๋„์›€์ด ๋จ.

  • ์ดํ•ด

    • ์ฝ”๋“œ๋ฅผ ์ฝ๊ณ , ์‹คํ–‰. ๊ฒ€์ƒ‰๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ์ฝ”๋“œ ์„ธ๋ถ€ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๋ถ€์กฑํ•  ๊ฒฝ์šฐ ์ง„ํ–‰.

    • ๋ณดํ†ต ๊ฐœ๋ฐœ ์—…๋ฌด์˜ 60%๋ฅผ ์ฐจ์ง€

    • ๋ฆฌํŒฉํ† ๋ง ์ž‘์—…๋„ ํฌํ•จ.

    • ์ž‘์—… ๊ธฐ์–ต ๊ณต๊ฐ„์— ๋ถ€ํ•˜.

  • ์ „์‚ฌ

    • ๋‹จ์ˆœํžˆ ์ฝ”๋”ฉํ•˜๋Š” ํ™œ๋™

    • LTM์— ๋ถ€ํ•˜ ์™œ? ๋ฌธ๋ฒ• ๊ตฌ์กฐ๋ฅผ ๋– ์˜ฌ๋ ค์•ผํ•จ.

  • ์ฆ๊ฐ€

    • ๊ฒ€์ƒ‰ + ์ดํ•ด + ์ „์‚ฌ

    • ์ƒˆ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ (์ฝ”๋“œ ์ž‘์„ฑ

    • STM, LTM, ์ž‘์—… ๊ธฐ์–ต ๊ณต๊ฐ„ 3๊ณณ์— ๋ชจ๋‘ ๋ถ€ํ•˜.

  • ํƒ๊ตฌ

    • ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์Šค์ผ€์น˜ํ•˜๋Š” ๊ฒƒ.

    • ์˜ˆ๋ฅผ ๋“ค๋ฉด, ์ฝ”๋“œ ์ž‘์„ฑ, ์‹คํ–‰, ํ…Œ์ŠคํŠธ ์‹คํ–‰, ์ฝ”๋“œ ์ฝ๊ธฐ, ๋ฆฌํŒฉํ† ๋ง๋“ฑ์ด ํฌํ•จ๋จ.

    • IDE์— ํฌ๊ฒŒ ์˜์กด

    • 3๊ณณ์— ๋ชจ๋‘ ์˜ํ–ฅ

  • ์—…๋ฌด๋ฅผ ์ค‘๊ฐ„์— ์ค‘๋‹จํ•˜๋Š” ๊ฒƒ์€ ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ๋†’์ธ๋‹ค.

    • ์™œ?

    • ์—…๋ฌด๊ฐ€ ์ค‘๋‹จ๋˜๋ฉด ์ž‘์—… ๊ธฐ์–ต ๊ณต๊ฐ„์—์„œ ์ •๋ณด๋“ค์ด ์‚ฌ๋ผ์ง.

  • ์—…๋ฌด ์ค‘๋‹จ์„ ์–ด๋–ป๊ฒŒ ๋Œ€๋น„ํ•ด์•ผ ํ•˜๋‚˜?

    • ์ •์‹  ๋ชจ๋ธ ์ €์žฅ.

    • ์ฃผ์„๋ฌธ์„ ์ข€ ๋ฐฉ๋Œ€ํ•˜๊ฒŒ ๋‚จ๊ธด๋‹ค.

    • TODO...

    • ํ•˜์œ„ ๋ผ๋ฒจ ๋ถ™์ด๊ธฐ

  • ๊นŠ์€ ์ธ์ง€ ์ž‘์—…์„ ํ•˜๋Š” ๋™์•ˆ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ผ์„ ๋™์‹œ์— ํ•  ์ˆ˜ ์—†๋‹ค.

    • ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น์ด ์•ˆ๋œ๋‹ค.

ch12

๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ์˜ ์„ค๊ณ„์™€ ๊ฐœ์„ 

ch13

์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ์ž ํŒ€์›์˜ ์ ์‘ ์ง€์›

Last updated

Was this helpful?