일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ::first-letter
- Python
- BR
- Ol
- textarea
- Form
- ul
- HTML정의
- :active
- tag
- Li
- colspan
- img
- Border
- rowspan
- 한정수 강사님
- JAVA 개발 환경 설정
- table
- JavaScript
- Head
- select
- option
- BODY
- 속성 선택자
- 전체 선택자
- 인라인 레벨 요소
- ::first-line
- !doctype html
- ::before
- Title
- Today
- Total
개발 공부 기록하기
반드시 읽어봐야 할 개발 학습법 19가지(1) 본문
1. 프로그래밍 학습 방법(우아한형제들 교육 이사 박재성)
지식 먼저 학습하고 만들기 vs. 무언가를 만들면서 관련 지식을 습득해 나가기
→ 내 학습 성향은 어느 쪽일까?
- 새로운 용어, 개념 이해 안 되는 것
→ 책 & 온라인에서 비슷한 예제 반복 연습하기! (용어는 나만의 용어로 따로 정리해두기)
- 모르던 개념이 다음 단계 연습하다가 자연스럽게 이해될 수도 있다
→ 그니까 이해 안 된다고 주구장창 붙들고 있지 말고 건너뛰어도 괜찮다.
- 검색 습관화
→ 모르는 용어 & 내용은 구글링으로 관련 자료 찾아서 이해할 수 있는 부분까지 이해하려고 도전하기.
용어를 이해해야 검색도 잘 한다. 한국어 검색만 고집하지 말고 영어를 적극 활용해 검색하자.
https://www.youtube.com/watch?v=Xcy2Pq6LABk
2. 개발자가 공부로 살아남는 방법(Evan Moon)
여기서도 "뭘 만들고 싶은지 먼저 정하자"라고 하고 있다.
노가다성 공부는 진짜로 이루고 싶은 목표가 있다면 사실 누구나 다 할 수 있다.
(크으 이거 좀 명언인듯... 밑줄 쳐 놔야지~♪)
결국 공부라는 건, 뭔가에 사용하기 위해 필요한 지식을 습득하는 것이다. (최고 효율은 아마 여기서 나타날 것)
헐... 학창시절 때 죽어도 공부를 안 했던 건 다 필요성을 못 느껴서였니.....
남들이 다 한다고 나도 반드시 그걸 공부해야 하는 것은 아니다.
내가 하고 싶은 공부가 설령 실제 업무에는 별달리 쓰이지는 않더라도, "자기만족" 하나만으로도 충분히 공부해볼만한 가치가 있는 것 아닐까ㅎ - 이건 순전히 내 생각...^^
https://evan-moon.github.io/2019/08/26/how-does-developer-study/
3. 학습에 실패한 이야기(남규진)
필자는 비효율적으로 공부하느라 시간을 허비한 경험을 이야기하고 있었다.
그에 따른 결과로,
프로그래밍 공부를 할 때 의식적으로 지키려고 노력한 것들이 있었다.
- 공부하기 전, 구체적 계획 & 목표 수립
→ 살을 빼겠다 (×) 매일 달리기를 해서 두 달 안에 5kg 빼겠다 (○) 처럼 구체적으로!
ex, 목표: 객체지향 프로그래밍을 학습하자.
① 만들고자 하는 주제를 정해서
② 그 안에서 객체를 추출
③ 각 객체에 책임을 할당하고 서로 협력하도록 프로그램 작성
④ 기존에 작성한 적 있던 코드를 객체지향적으로 리팩토링 시도
- 단순 타이핑하지 않기 (= 인출 연습Retrieval Practice하기)
→ 책의 예제 따라만 하는 건 단순히 받아 적기, 옮겨 적기일 뿐이다.
책은 전체적으로 살펴보기만 하고, 코드를 작성하는 것은 최대한 스스로 해 보자.
- 일정 주기로 반복하기
→ 한 달 또는 일정 주기로 다시 학습하는 건 장기기억에 도움이 된다! (H. Ebbinghaus의 망각 곡선)
이전에 푼 *알고리즘 문제 다시 풀거나, 작성한 코드를 개선해보자.
* 알고리즘 문제 : 요샌 코딩 테스트라는 표현히 훨씬 익숙하다고 한다.
- 부숴도 좋은 장난감 만들기
→ 프로그래밍 효과적 학습 = 개인 프로젝트 많이 하기!!!
(∵ 프로그램 하나 만드는 과정에서도 수많은 실행 오류를 겪고 그걸 풀기 위해 노력하게 된다.
새 기능을 마음껏 추가, 다양한 방식으로 리팩토링할 수 있는 놀이터로 활용하자.)
- 피드백 받을 방법 찾고, 피드백 받은 것 교정하기
→ TDDtest-driven development방식을 취하면, 좀 더 작은 단위로, 좀 더 빠르게 피드백을 받을 수 있다.
객체지향 설계나 좋은 코드에 대한 피드백을 받는 가장 좋은 방법은
정적분석static analysis 도구를 사용하는 것도, 많이 알려진 주제로 선택하는 것도 아니고,
다른 개발자의 리뷰를 받는 것이다.
리뷰를 통해 또 다른 토론을 이끌어내고, 그로 인해 생각이 더 확장될 수 있다.
스터디 모임 참가도 도움이 될 것이다.
https://techblog.woowahan.com/2555/
4. 나는 어떻게 공부했는가? - 성장하는 개발자를 위한 Tip (조은)
- 해당 분야 커뮤니티 or 전문가를 찾는다.
→ Twitter, Facebook, Okky 등 활용
→ 애매하면 대충 팔로워 많아보이는 사람 찾기
→ 그래도 아직 애매하면 그 기술 만드는 곳에 이메일 보내기
- 키워드를 줍는다.
ex, Flutter
- Flutter는 ①크로스 플랫폼 ②라이브러리이다.
- Flutter 엔진은 ③C++과 ④Skia로 구성되어 있다.
- Flutter는 크게 ⑤Cupertino와 ⑥Material 컴포넌트를 사용한다.
- Flutter의 모든 것은 ⑦위젯이다.
- Flutter의 ⑧상태 ⑨관리는 ⑩리액트의 많은 것을 차용했다.
ex, 데이터 과학
- 데이터 과학은 ①데이터를 ②수집하고 ③정제하여, 의사 결정을 더 정교화시킬 때 사용할 수 있다.
- ④어떤 데이터를 수집하냐에 따라 ⑤제품 전략이 달라질 수 있으며, 이는 곧 ⑥수익 창출로 이어지기도 한다.
- 키워드를 바탕으로 어떤 공부가 필요할지 청사진을 그린다.
→ Flutter란 무엇인가?
→ Flutter의 크로스 플랫폼이란 무엇인가?
→ 라이브러리와 프레임워크의 차이점은 무엇인가?
→ 전통적인 Android, iOS 개발과 어떤 점이 다른가?
→ Flutter는 왜 독자적인 엔진을 가지고있으며, C++로 구현했는가?
→ Skia는 무엇이며, 왜 필요한가?
→ Cupertino와 Material의 차이점은 무엇인가?
→ 위젯은 무엇인가?
→ 상태는 무엇인가? 상태가 바뀌면 무슨 일이 일어나는가?
→ 어떤 상태 관리 모델이 있으며, 어떤 식의 관리가 유용한가?
→ 리액트는 무엇이며, 어떤 상태 관리 모델을 가지고 있는가?
- 가용할 리소스를 최대한 활용하여 공부한다. (생략 가능한 건 회색으로 표시)
→ 책이 있다면 책이 최고!
→ 공식 홈페이지 이용
→ 인터넷 강의 이용 (인프런, Udemy, Udacity 등)
→ Flutter의 경우 Udemy의 Angela Yu 강의가 바이블처럼 전승된다.
→ 오프라인 강의를 이용한다.
→ 세미나 등을 통해 트렌드를 파악하고 키워드를 줍는다.
- 데드라인을 정한다.
→ 20○○년 ○○월 ○○일까지, chapter 1까지 완료하겠다.
→ 그 날까지 완료했다면, 작은 보상을 주는 것도 좋다.
→ 완료 못했다면, 되돌아보면서 내가 정말 '가능한' 분량을 세웠는지 고민해본다.
→ 의도적 공부(특정 행동을 의도적으로 반복하는 방식)를 하고 싶다면
내가 사용하는 시간을 정리해 두는 게 도움이 된다.
→ 45분 공부 / 15분 휴식 패턴을 권장하되, 하루 2시간 이상은 지양한다.
- 공부한 내용은 반드시 블로그에 정리한다.
→ 인간은 까먹는 동물인 거 잊지 말자.
→ 코드만 짜놓고 뿌듯해하는 일은 절대 Nope!
→ 블로그 정리를 통해 내가 부족했던 것, 몰랐던 것, 알았던 것 모두 정리하자.
- 위의 내용을 반복한다.
★★ 정리하는 습관은 중요하다. 성장을 위해서 정리는 선택이 아니라 필수다!
∵ 어디까지 알고 있고, 어디를 더 알아야 하는지에 대한 지표로 사용할 수 있다.
내가 학습한 걸 다시 정리하는 과정에서 더 많은 걸 이해할 수 있게 된다.
내가 공부하고 있다는 걸 전국 방방곡곡에 알리면 누군가는 나를 도와줄 것이다..!!ㅋㅋ
19개 다 정리하려면 포스팅 하나에는 너무 많으니까 여기서 cut^^
'프밍 > [인강] 비전공자를 위한 개발자 취업 올인원 가이드' 카테고리의 다른 글
반드시 읽어봐야 할 개발 학습법 19가지(3) (1) | 2022.10.22 |
---|---|
반드시 읽어봐야 할 개발 학습법 19가지(2) (0) | 2022.10.22 |
개발자가 되려면 문과생 사고 방식을 버려라? (0) | 2022.10.20 |
개발 분야별 주요 언어의 특징 - 앱 개발 (0) | 2022.10.12 |
개발 분야별 주요 언어와 특징 - 웹 프론트엔드 (0) | 2022.10.12 |