diff --git "a/_posts/blog/posts/\355\224\204\353\241\234\352\267\270\353\236\230\353\250\270\354\235\230 \353\207\214/2024-09-15-\355\224\204\353\241\234\352\267\270\353\236\230\353\250\270\354\235\230 \353\207\214 1\354\236\245 \354\275\224\353\224\251 \354\244\221 \352\262\252\353\212\224 \355\230\274\353\236\200\354\227\220 \353\214\200\355\225\234 \354\235\264\355\225\264.md" "b/_posts/blog/posts/\355\224\204\353\241\234\352\267\270\353\236\230\353\250\270\354\235\230 \353\207\214/2024-09-15-\355\224\204\353\241\234\352\267\270\353\236\230\353\250\270\354\235\230 \353\207\214 1\354\236\245 \354\275\224\353\224\251 \354\244\221 \352\262\252\353\212\224 \355\230\274\353\236\200\354\227\220 \353\214\200\355\225\234 \354\235\264\355\225\264.md" new file mode 100644 index 000000000..84880a67c --- /dev/null +++ "b/_posts/blog/posts/\355\224\204\353\241\234\352\267\270\353\236\230\353\250\270\354\235\230 \353\207\214/2024-09-15-\355\224\204\353\241\234\352\267\270\353\236\230\353\250\270\354\235\230 \353\207\214 1\354\236\245 \354\275\224\353\224\251 \354\244\221 \352\262\252\353\212\224 \355\230\274\353\236\200\354\227\220 \353\214\200\355\225\234 \354\235\264\355\225\264.md" @@ -0,0 +1,52 @@ +--- +title: 프로그래머의 뇌 1장 코딩 중 겪는 혼란에 대한 이해 +author: 신성일 +date: 2024-09-14 19:00:00 +0900 +categories: study, 프로그래머의 뇌 +tags: + - "#study" +--- + +프로그래밍을 할 때 역할을 하는 세 가지 인지 과정과 각각의 인지 과정이 자신의 혼란 유형과 어떻게 연관되어있는지에 대한 장 + +## 1.1 코드가 초래하는 세가지 종류의 혼란 + + +- 지식의 부족 : 프로그래밍 언어나 알고리즘 혹은 업무 영역에 대한 지식이 없는 경우 +- 정보의 부족 : 코드를 이해하기 위한 필요한 정보를 충분히 가지고 있지 않은 경우 (모듈, 라이브러리 등) +- 처리능력 부족 : 코드가 너무 복잡해서 혼란이 생기는 경우 (처리 능력의 부족. 처리과정을 따라가며 직접 계산해야함) + + +## 1.2 코딩에 영향을 주는 인지 과정 + +**Long-Term Memory (LTM, 장기 기억 공간)** + +내용을 반 영구적으로 저장하는 곳으로, 컴퓨터의 하드 드라이브와 같은 역할. +프로그래밍과 관련하여 여러가지 정보를 저장한다. (ex : 자바 문법, 코드 키워드 의미, int 최대 값 범위 등) + +코드를 이해하기 위한 기본 베이스 지식을 저장하는 곳으로 해당 지식이 부족하면 코드를 이해하기가 어려워진다. + +**Short-Term Memory (STM, 단기 기억공간)** + +들어오는 정보를 잠시 저장하기 위한 공간. 크기에 제한이 있는데, 최대 12개를 넘지 않는다는 것이 정설이다. 컴퓨터의 캐시/메모리와 같은 공간. +프로그래밍과 관련해서는 코드를 읽을 때 키워드, 변수명, 자료구조 등이 일시적으로 저장된다. + +**작업 기억공간** + +실제 사고 작용이 일어나는 곳으로 생각, 아이디어, 해결책 같은 것들이 만들어진다. 프로세스와 같은 공간. + +## 1.3 인지과정들의 상호작용 + +LTM, ST, 작업기억공간은 서로 밀접하게 연관되어있다. + +코드를 읽는 과정을 예를 들면 +- 어떤 변수 n 이 정수형이라는 정보 -> STM에 저장됨. +- 정수형이 무엇인지에 대한 지식 -> LTM 에서 인출됨 +- 코드를 읽으며 무슨일을 하는지 파악 -> 작업 기억공간에서 이뤄짐 + +버그 리포트를 받은 상황이면 +- 몇개월 전 작성한 코드가 어떤 구조였는지 기억, 해당 버그에 대한 해결책 지식 -> LTM에서 인출 +- 코드 분석하며 읽는 정보들, 버그 리포트의 내용 -> STM 에 저장됨 +- 코드 분석, 버그 리포트 분석 -> 작업 기억공간에서 이뤄짐 + +