Frudy
7k
2020-07-08 20:14:13
18
2871

복습하기좋은 공부방법 공유


react, react-native개발을 하고있습니다. 8개월차 신입입니다.


(대충 복습이 공부에서 엄청 중요하다는 내용)


목차

1. 구글드라이브에 필기를 정리하면 생기는 장점

2. Git의 Commit, Reset + Revert기능 적극활용



'나는 Git이 뭔지 모른다' 독자를 대상으로 작성했습니다.

편-안하게 읽어보시면 좋겠습니다.



1. 구글드라이브에 필기를 정리하면 생기는 장점


구글 드라이브에 문서를 작성하면,


이렇게 오늘 열어보거나 수정한 문서 목록을 볼 수 있습니다.


어제 열어보거나 수정한 문서 목록을 볼 수 있습니다.


지난주, 지난달에 열어보거나 수정한 문서 목록을 볼 수 있습니다.


딱 느낌이 오죠?

필기를 적으면 '오늘' 리스트업된 목록 문서 한번쓱보고

주말에 '이번주에 리스트업된 문서 목록' 한번 쓱 다 열어보기 좋겠죠?


본인 의지에 따라 일일복습, 주간복습, 월간복습 하나도 놓치지않고 전부할수있습니다.



2. Git의 Commit, Reset + Revert기능 적극활용


(대충 Git이 실무에서도 자주쓰는 개쩌는 도구라는 내용)


근데 이 Git이, 꼭 실무가 아니라 공부할때도 정말 좋습니다.


(1) 버그상황 기록남기고 재현하기.


step1. 버그를 만난다.


numberUtil.js라는 파일을 만들고, 더하기함수를 만들고있었는데

1하고 2하고 더해보니까 3이 안나오고 12가 나오는 버그를 만났을 때..!


step2. '커밋'이라는 기능으로 기록을 남긴다.


메시지 : 와 뭐지 ㅡㅡ 1하고 2하고 더했는데... 라는 내용과 함께..


step3. (나중에 알게됐을 때) 버그 재현해본다. (= reset)

이렇게 기록이 남아있고, 나중에 원하는 지점으로 소스코드상태로 돌아갈 수 있습니다.

(마치 타임머신 탄것처럼)


step4. 재현한 버그상황을 해결하고 이해한다.


==> 이를 응용한다면, 뭔가를 배웠을 때 그 상황을 기록으로 남길 수 있습니다.


이 기록들도 고스란히 날짜와 함께 저장되기 때문에, 주말에 평일동안 커밋한것들만 살펴봐도


내가 이번주에 프로그래밍을 어떻게 했는지 하나도놓치지않고 복습할 수 있습니다.


커밋(= 기록)을 마구 남기세요. 그리고 그 기록으로 되돌아가보세요.

그리고 그 기록목록을 보면서 복습하세요. Git은 정말좋은 도구입니다.

(아 물론 실무에서도 마구 커밋남기면 안됩니다...)



+

이런 상황도 있을 수 있습니다.


1. "1" + "2" 했더니 "12"가 나온게 너무 황당해서 죄다 콘솔에 로그로 찍는 코드를 작성하고,

2. 이 어이없는 상황을 커밋으로 남긴다음

3. 다시 저 콘솔로그 코드를 지우기 귀찮다구요?

4. 물론 실제상황에서는 여기저기 파일 막 결과찍어보려고 수정많이할탠데 그거 다시 원복하기 힘들죠?


Revert라는 굉장한 기능이 있습니다.


빨간색은 지운흔적, 초록색은 추가한 흔적입니다.

저런 커밋을 남긴다음 Revert하면,


아까 작업한 내용 그대로 원복한 커밋을 다시쌓을 수 있습니다.

테스트코드 다 덕지덕지붙여놓고 편-안하게 Revert한 커밋을 남겨주세요.

16
  • 댓글 18

  • 스칼라가좋아
    2020-07-09 18:03:43

    1. OneNote를 사용하세요.

    2. 직접 비지니스 어플리케이션을 기획 및 개발하세요.

    3. 매일 코딩을 하세요.

    4. 어떻게 하면 더 좋게 만들까 생각하세요.

    5. 매일 프로그래밍과 관련된 글을 꾸준히 읽으세요. 

    6. 프론트를 할 거면 Material-UI 같은 것 대신 pure CSS를 능숙해지세요.  

    7. Figma나 Adobe XD 등으로 직접 Mockup을 만들어 보세요. 

    8. 복습 중 효과가 가장 낮은 방법은 읽는 것입니다. 

    9. 가장 효과적인 복습은 실제로 무엇인가를 만들어 보는 것입니다. 

    10. 메타 인지가 중요합니다. 

    11. 간격 학습이 중요합니다.

    12. 분산 학습이 중요합니다. 

    13. 명시적인 지식보다 무엇을 해야 하는지 아는게 더 중요합니다.

  • 스칼라가좋아
    2020-07-09 18:09:03

    그리고 님의 복습하는 간격은 에빙하우스의 망각 곡선에 따른 것입니다. 에빙하우스는 기억력을 측정할 때 전혀 맥략이 정보가 없는 램덤 문자열 가지고 실험했습니다.

    실제 기억 곡선은 감정이나 맥략 그리고 스키마에 의해 달라 지게 됩니다. 따라서 그런 간격을 지키는 건 시간 낭비입니다. 복습의 핵심은 모르는 것 불확실한 것을 확실하게 만드는 것이며 복습의 효과는 망각 직전이 가장 좋습니다. (달리 말해, 회상을 위한 인풋이 클수록 오래 기억함) 

    실력을 늘리고 싶으면 회사 일만 하지 마시고 개인 프로젝트를 하시기 바랍니다. 제 경험상 제대로 기획한 개인 프로젝트 3개월이 회사 쥬니어 1년 경력과 맞먹는다고 생각하시면 됩니다. 

  • Frudy
    7k
    2020-07-09 18:15:54
    읽는게 가장낮은 이유의 근거를 알수있을까요?

    저는 시간대비 가장 훌륭한 복습방법이라고 여겨왔습니다.
  • Frudy
    7k
    2020-07-09 18:34:45

    음...


    고생한만큼 오래 기억한다는거, 맞습니다.


    하지만 저는 배웠던 모든것을 빠르게 복습하고, (= 하나도 놓치지않고)


    그중에 중요한것을 골라서 응용해보는것을 선호합니다.


    그러다 덜중요한건 까먹고

    그게 주간복습이나 월간복습때 다시 남겠죠.


    배웠던 모든것을 직접 만들어보면서 복습하는건, 시간대비 별로인거같습니다.


    굳이 망각곡선을 고려해서 복습을 지키는건 아니구요,


    배웠던거 상기시키는게 아예까먹은거 다시배우는거보다 훨씬 낫더라구요.


    상기시키려면 저장을 해둬야하는데,

    문서는 훌륭한 수단이라고 생각하구요.

  • 스칼라가좋아
    2020-07-09 18:37:11 작성 2020-07-09 19:07:37 수정됨

     근거를 설명하자면 너무 방대하네요. 인지 심리학이나 교육 심리학에 기본 지식이 없는 사람이라면 제가 너무나 많은 걸 설명해야 합니다. 대신 책을 추천해드리죠.

    http://www.yes24.com/Product/Goods/239576 학습의 기술

    https://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788937834868 어떻게 공부할 것인가


    http://www.yes24.com/Product/Goods/34569935#:~:text=%E3%80%8E%EC%99%84%EB%B2%BD%ED%95%9C%20%EA%B3%B5%EB%B6%80%EB%B2%95%E3%80%8F%EC%9D%80%20%ED%95%99%EC%8A%B5%EC%9E%90%EA%B0%80,%EA%B5%AC%EC%B2%B4%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%A0%9C%EC%8B%9C%ED%95%98%EA%B3%A0%20%EC%9E%88%EB%8B%A4. 완벽한 공부법

    이 분야 가장 권위자들이 쓴 책이 한 번 읽어보시죠. 

    값 싸게 얻은 지식은 금방 잊습니다. 책으로 읽은 내용이 오래 남는 이유는 책을 읽는 고통이 큰 법이기 때문이죠.

     



  • Frudy
    7k
    2020-07-09 18:46:57

    흐음...


    제 공부방식은 좋아하는 정승제선생님덕에 생긴거였는데


    그 선생님도 이투스에서

    막 이런저런 과학근거 어저구하며

    얘기해주셨거든요.


    가장좋은 복습법이 뭔지 한번 보겠습니다.

  • 스칼라가좋아
    2020-07-09 19:06:18 작성 2020-07-09 19:09:32 수정됨

    배웠던 모든 것을 직접 만들 필요가 없습니다. 중요한 지식이라면 다른 프로젝트 중에도 기억할테니까요.

    제가 이렇게 답할 수 있는 이유는 실제 이런한 방법으로 남들보다 많은 것을 이루었기 때문이죠. 물론, 제가 사용하는 방법은 학습의 특성에 맞게 최적화 되어 있는 방법 중 하나입니다. 제 경험상 제가 한 달 공부하면 그 분야에서 1년 일한 사람보다 좋은 성과를 거두었습니다. 

    대략 인지심리학에 어느 정도 수준에 이르면 어떻게 공부해야 하는지 최적화된 방법이 보이게 됩니다.

    그리고 노트에 관해서라면 노트를 하지 말라는 이야기가 아니라 노트를 사용하는 방법을 바꾸어야 한다는 것입니다. 이건 스스로 배워 나가시고.

    그리고 개인 프로젝트가 없는 친구들은 발전이 매우 느립니다. 회사에서 하는 일들은 이미 비지니스 로직과 Mockup 등이 구현되어서 쉽게 말해 숟가락으로 떠먹여 줍니다. 자기가 일한 것 외에 전체적인 그림을 못보죠. 실제 규모가 있는 걸 설계부터 만들어봐야 설계 감각이 생깁니다.

    React.js를 공부하신다고 하셨는데 제대로 공부한 React 개발자라면 프로젝트를 전체적 맥략에서 컴퍼넌트와 데이터의 흐름으로 이해하는 이었야 합니다. 그런데 부분만 판 사람들이 이런 걸 볼 능력이 못되고 시니어 레벨까지 시간이 오래 걸리는 것이죠. 

    저는 캐나다에 거주 중인데 최고 수준 학점에 대기업에서 프론트엔드로 1년간 경력을 쌓은 친구와 함께 프로젝트를 한 적이 있습니다. 그런데 이 친구는 회사 프로젝트만 참여를 했고 스스로 설계한 적이 없어서 데이터의 관점에서 설계를 못하더군요. 오히려 제가 프론트까지 다 설계를 해줘야 했었죠. 저는 취미로 한 달 리엑트를 배운게 다였을 때인데 그 친구보다 이미 리액트를 잘 알고 있었습니다. 디테일한 지식은 그 친구가 저보다 나을지 모르지만 저는 전체 그림 속에서 무엇을 할지 알기 때문이죠. 거기다 무엇을 해야 할지 안다면 필요한 지식은 구글링으로 1초 안되는 시간에 찾을 수 있습니다. 

     8 개월 차라고 하셨는데 만약 Web API, Event-loop, PWA, Web Workers, Flux Pattern, reactive programming 등등의 개념이 생소하다면 아마도 님이 배우는 방식이 맞는지 자문하셔야 할 것입니다. 



  • Frudy
    7k
    2020-07-09 19:15:10

    키야 부럽네요


    몇몇은 생소하네요.


    저도 후기읽어보면

    저랑똑같이 시작한사람들이

    저랑 성장속도가 다르더라구요.


    저도 공식문서보며 배우고

    저도 복습하고

    저도 개인프로젝트에

    기타등등....


    똑같이하는데 이렇게 차이가 나다니 ㅠㅠ

  • 스칼라가좋아
    2020-07-09 19:17:45

    이성적인 사람은 극장의 우상에 빠지지 않습니다. 달리 말해서, 유명한 강사가 어떤 주장을 이야기 했다고 그 주장이 맞다고 믿지 않는 법이죠.

    그 유명한 강사는 복습에 대해 말하지만 정작 복습이 무엇인지는 알지 못했던 것이죠. 

    시험을 잘 치는 것과 깊은 지식과 이해를 가지는 것은 다른 문제입니다. 

    시험이란 정해진 지식을 얼마나 효과적으로 기억하느냐의 수렴적 사고이지만

    지식의 탐구란 반대로 호기심에 따라 뻗어가는 발산적 사고입니다. 

    그리고 대부분의 한국인은 정해진 지식을 배우는 수렴적 사고에 익숙하고 시험 등이 없다면 거기서 멈춰 버립니다.

    그 강사가 말했던 내용은 아마도 그 선생이 대학교에 다녔을 때의 내용일테고 

    최소 10년에서 20년 전의 내용을 말한 것일테죠.

    만약 그 대학의 교수도 단순한 강사 수준이라면 최신 지식과 20년 이상의 차이도 가능하죠.

    발전 속도가 빠른 분야에서 20년이란 거의 절대적인 수치이죠.

    거기다 님이 그것을 듣고 지금까지의 시간들.

    지금도 그 격차는 벌어지고 있는 셈이죠.

  • Frudy
    7k
    2020-07-09 19:18:26

    답변자님 스펙을보니

    1달 그거도 취미로 공부해서

    1년 공부한 명문대생보다 잘했다구요?


    그럼 신뢰가 가죠.


    대략 인지심리학에 어느 정도 수준에 이르면 어떻게 공부해야 하는지 최적화된 방법이 보이게 됩니다.


    네 이부분 참고하겠습니다.

    추천해주신책은 다음주말에 읽어보죠

  • 스칼라가좋아
    2020-07-09 19:26:22

    단, 저는 그 당시 매일 하루도 안쉬고 12-15 시간식 코딩을 했습니다. 더불어 저도 컴퓨터 공학을 전공하는 프로그래머에 인턴 경력도 있었던 시기죠. 그리고 하나의 거대한 서비스를 직접 만들어보면 그 다음부터는 언어나 프레임워크를 떠나서 다 쉬워집니다. 웹 서비스 자체를 이해해 전체적으로 볼 수 있게 되기 때문이죠. 

    저 책들에는 나오지 않지만 뇌를 자연적으로 해킹하여 성능을 높이는 방법도 있지만 님이 지적 호기심을 가지고 연구하다 보면 알게 될 지도 모르겠네요.

  • Frudy
    7k
    2020-07-09 19:32:43

    네? 12-15시간......  오우야...


    이건 방법도 방법이지만...

    노오력이 굉장하신대요?


    오우야....

    오우...

    어우.....


    체력도 굉장하신가보네요.

    전 오늘 5시에 일어나서 노트북좀 잡으려다 기절했는데....

  • Frudy
    7k
    2020-07-09 19:35:37
    저만큼하려면 저만큼 노력도 필요하다는 사실에 

    충격묵고갑니다... ㄷㄷ
  • Frudy
    7k
    2020-07-09 19:36:48

    ㅋㅋㅋㅋㅋㅋㅋㅋ 감사합니다.

    제가 제 글을 스크랩하는날이 올줄은 몰랐네요


    답변참고할게요

  • 스칼라가좋아
    2020-07-09 19:56:17

     옛날 친구 중에 천재가 한 명 있었죠. 그 친구는 책을 보면 그대로 책의 내용을 다 기억해 낼 수 있었고 나무를 보면 나무와 나뭇잎이 보여주는 프랙탈을 수식으로 보여줄 수 있었죠. 

    한 번은 제가 그 친구에게 물었죠. 어떻게 그렇게 쉽게 다 기억할 수 있냐고

    그러니 그 친구가 말했죠. 사랑이라고 세상을 순수한 사랑과 호기심으로 보기 때문이라고. 

    어떻게 12-15시간 식 그럴 수 있느냐고 물으셨죠?

    잠을 줄여가며 밤이 새도록 게임을 해보신 적 있나요?

    하는 일이 즐거우면 잠자는게 아깝게 느껴집니다. 

    체력 보다는 사랑이라고 말하고 싶네요. 프로그래밍에 대한 사랑.

    뭐 그래도 아직 저는 갈 길이 머네요. 배워야 될 건 너무나 많고 시간은 없으니까요. 

  • Frudy
    7k
    2020-07-09 20:35:08

    저도 재밌어서 전향했는데요

    이제 나이가들어서 6시간 자서는

    기절할거같아서 안되겠더라구요...


    작년에 단거를 하도먹었더니

    건강도나빠지고,


    제가원하는만큼 공부하려면

    체력이 되야되던대요? ㅜㅜ

  • 스칼라가좋아
    2020-07-09 21:55:00

     단 걸 많이 먹으면 일시적으로 머리가 나빠집니다. 


    1. 혈당이 올라가 인슐린이 분비되여 결과적으로 혈중 포도당 농도가 낮아져 뇌로 가는 포도당이 감소함.


    2. 탄수화물 대사는 Vitiamin B 그룹의 영양소를 촉매로 사용하는데 이는 neurotransmitter를 만드는데도 사용됨. Vitamin B가 부족해지면 결과적으로 도파민, 노르에피네프린, 세라토닌 등이 감소함. 


    체력은 유산소 하세요. 매일 3 KM만 뛰어보세요.

  • Hello React
    111
    2020-07-10 09:07:03

    개발자 하시는거같은데 의학지식도 같이있으신가봐요 멋있습니다..!

  • 로그인을 하시면 댓글을 등록할 수 있습니다.