
- 오늘은 이 책을 읽고 리뷰
- 참고로 1판 2쇄이고, 개정판은 현시점에서 없는듯
intro & 1장
소개
- 이책의 가장큰 특징이고, 저자인 포비님의 교육철학이 녹아있는 책인데요
- 그 교육철학은
- 학습자들이 배워야할 지식을 그냥 요약하거나 읽기 쉽게 가공해서 떠먹여주지 않는다(지식을 직접 조달하지 않음)
- 먼저 요구사항을 주고 학습자들이 스스로 해결하게끔 힌트와 동영상 및 가이드를 제공해주는데
- 포비님의 교육철학이 "스스로 해결하는 힘 배양" 이기 때문
- 그리고 코드리뷰를 통해서 피교육자들에게 한번더 생각해서 "더 좋은 코드로" 성장할수 있는 길을 제시
- 이 책을 저술한 계기중에서 또 학원이나 국비교육기관에서 과거의 공부방법(학교같이 이론먼저)으로 자바를 배운 분들이 대부분 회사에 취직해서 엄청난 스트레스와 함께 방황하거나 업계에 연민을 느끼고 프로그래머의 길을 포기하는데에 대한 안타까움도 포함
- 그리고 가장 중요한거, 비평이나 리뷰같은 "생각"은 많은 사람들이 하지만, 리뷰사항을 실제 행동에 반영해서 발전하는"행동" 하는 사람이 적기때문에, 스스로 실천하시고자 함
효과적인 이 책의 학습법
- 앞서 설명한것처럼 쉽게 떠먹여주는 책이 아닌데요
- 실습챕터들의 구성이 아래와 같은데
- 문제와 함께 요구사항을 주고
- 힌트와 가이드를 제공해서 스스로 문제해결할수 있도록 도움
- 문제상황을 두려워하지말고, 작은 성공으로 시작해서 성취감을 맛보고 성공(큰 성취)의 맛을 좀 보고 가라
- 위의 1~3번 절차를 매 단윈마다 반복해나가는 학습
기술스텍 공부는 양파껍질 학습법으로!
- 저자는 이 책, 혹은 개발자로 커리어를 시작하려는 지망생들을 위해서 "양파껍질 학습법"을 제안하는데요
- 양파껍질 학습법이란
- 한번에 한가지 지식을 깊게 파고들어 학습하지 말라 Do not!!!!!
- 다양한 분야의 넓은 범위의 지식을 한차례 학습하고나서
- 나중에 일정수준에 도달해서 레벨업을 하게되면 그 다음단계의 지식으로 서서히 깊이를 더해가라는 의미
: BAD) 예를들어 국비학원에서 Java-JSP-DB-spring-Deploy 순으로 학습한다면, 이러지 말고
: GOOD) 웹 어플리케이션 제작을 위한 최소한의 지식만 먼저 습득해보고, 웹페이지를 만든다음에, 필요성을 느껴서 DB를 공부하고, 그다음에 CD/CI도 공부하고 그다음에 모자라면 다시 자바로 돌아와서 자바를 더 깊게 공부하고, 스프링공부하고, 스프링하다 보니 부족함을 느낀DB를 또 공부하고 이런식으로 공부하라는 의미
- 백엔드 웹페이지 개발 히기 위해서는
- 자바 기본서(아무거나), 웹관련(열혈강의 자바 웹 개발 워크북)
- DB(SQL첫걸음), 스프링
- 위 순서로 공부하면 되고 하나를 마스터한다는 생각보다는 한번 보고 나중에 또보고
단계별 학습은 포비의 3단계 학습법으로
- 포비가 책에서 언급한"코딩을 지탱하는 기술"이라는 책을 보면 아래의 3단계 학습법이 나오는데
- 위 책은 굳이 안봐도 되고 아래 3단계 학습방법만 알면될꺼같다.
- 필요한 부분부터 ===> 필요한 부분만 따로 흡수(공부)하기
: 책을 읽을때도 처음부터 전체를 읽지 말고, 필요한 부분만 읽는다! 완벽주의를 버리고, 지식습득에 동기부여가 되었을때 바로 지식의 갈증을 해소해줘야만 더 빨리 배운다
: EX) 자바의 Strem에서 어려움을 느껴 자바공부가 필요하다고 느끼면, 자바기본서를 처음부터 공부하지말고, 목차에서 바로 해당 단원으로 점프해서 필요한 부분만 읽어라
- 부분과 전체 ===> 대략적인 큰 그림을 그리고 그다음 작은 부분별로 쪼개 상세화한다
: 먼저 목차를 보고 책의 구조를 파악한다음에
: 본문을 속독으로 읽는데, 소제목, 그림, 핵심키워드등을 파악하며 싸악 훑어본다
: 소스코드를 읽을때는 함수나 클래스이름, 함수명등을 보고, 필요한경우에는 디버깅모드로 실행시켜 콜스텍을 따라가본다. 이렇게 하면 프로그램과 이 단윈에서 전달하고싶은 핵심 주제를 쉽고 빠르게 파악할 수 있다
- 뇌 속으로 지식 전송하기
: 조사하고싶고 알고싶은게 있어야 우리의 놔가 기억하고 학습한다 (진짜 그렇다!!!!!)
: 알아내고자 하는 내용이나 조사하고싶은게 없는데 공부만 한다면 우리 뇌는 이렇게 고생고생해서 학습한 정보들을 그냥 흘려보낼 뿐이
- 동물적으로도 우리가 중요하지 않은 정보들도 모두 기억하고 저장한다면 뇌에서 소모되는 에너지가 많아 생존에 불리하다. 학습과 기억은 뇌가 변화하는 활동이라 에너지가 많이 든다고 한다
: 일단 필요한 정보가 있고 충분히 동기부여가 되어있다면(미션을 해결해야 한다던가..?!) 아무것도 없는 상태에서 고민은 무의미하다
: 이럴때는 지식의 밑바탕을 만들기 위해서 책이나 소스코드를 그대로 배껴쓴다(프로그래밍 학습이라면 소스코드를 타이핑해본다)
- 이렇게 지식의 밑바탕? 자본을 만들기 위해서 소스코드를 따라치는 과정이 우리 뇌속으로 정보가 전송되는 시점인데
- 추가적으로 한가지 팁을 드리자면 대략 25분이 넘어가지 않도록 주의한다. 너무 긴 간격으로 코드만 따라친다면 뇌가 지쳐서 더이상의 학습을 거부하기 때문
- 간격을 적절히 해서 목표를 이루었다는 만족감., 작은 성취, 마이크로 성공경혐을 만들어내고 느끼는게 중요함!!!!
- 포비의 교육철학은 앞서서도 말한거처럼 기존의 학교들에서 사용하는 "독일식 주입교육법" 을 지향 한다는건데
- 이론 -->> 연습문제 -->> 시험&평가
: 이런 방식은 피교육자들로 하여금 공부에 괴로움을 느끼고, 또 성인이되서는 학습에 대한 거부감까지 만들게 됬다
- 배우는걸 두려워하지 않기! 틀려도 된다 실수해도 된다 누구나 그럴수 있다. 대통령도 정치인도 대기업 임원도 모두 실수하고 산다(다만 잘 감추고 덮을뿐)
현업의 주니어개발자(1년차 정도)들이 배워야할것
- 주니어 개발자들이 벗겨내야할 양파껍질의 리스트는 대략
- 코딩스킬 : 코딩컨벤션(코딩 스텐다드), 클린코딩, 객체지향, 리펙토링
- 기술스텍 : HTTP, CDCI, 빌드와 배포, 쉘스크립트, 리눅스
꼼꼼하게 개념서 위주로 공부하고 있었는데 하루 지나면 바로 까먹더라구요 ㅠㅠ 역시 동 말대로 필요한 부분만 부분적으로 공부하는게 좋을 것 같고, 양파껍질 공부법 잘 기억할께요 감사합니다 동!