2022. 9. 18. 14:04ㆍ기록/Modern JavaScript Deep Dive
자바스크립트의 태생적 특징
자바스크립트는 웬만해서는 에러 없이 실행되며 되도록 손이 덜 가게끔 설계되어 있다.
이러한 자바스크립트의 특징은 편리한 경우도 있지만 내부 동작을 이해하기 어렵게 만들기도 한다.
이는 자바스크립트의 탄생 목적이 일반적인 프로그래밍 언어와 다르기 때문이다.
대부분의 프로그래밍 언어는 애플리케이션 개발을 위한 용도로 설계되었지만
자바스크립트는 웹페이지의 단순한 보조 기능을 처리하기 위한 용도로 만들어졌다.
하지만 자바스크립트는 현재 프론트엔드와 백엔드 영역의 언어로 사용할 수 있는 개발 언어로 성장했다.
따라서 자바스크립트를 학습하는 방식도 이에 걸맞게 변화해야 한다.
기본 개념과 동작 원리 이해의 중요성
프로그래머의 역할은 문제를 해결하기 위한 방법을 생각하여 코드로 구현하는 것이다.
이때 자신이 구현한 코드가 컴퓨터 내부에서 어떻게 동작할 것인지 예측하고 설명할 수 있어야 한다.
그러기 위해서는 프로그래밍 언어의 기본 개념과 동작 원리를 정확히 이해하는 것이 중요하다.
기본 개념과 동작 원리를 이해하지 못한 상태에서 복사 & 붙여넣기로 단순히 동작만 하는 코드를 만들고 만족한다면
신뢰할 수 없고 유지보수하기 힘든 코드가 될 것이다.
기본 개념과 동작 원리의 이해는 안정적이고 효율적인 코드를 생산할 수 있는 기본기이며, 기본기는 아무리 강조해도 지나치지 않다.
학습 방법
1. 기본 개념과 동작 원리 (이해의 영역)
- 용어 / 개념
- 문법
- 컴퓨팅 사고
기본 개념과 동작 원리를 이해하려고 노력해야 한다.
모든 것을 한번에 학습하려 하지 말고 중요한 키워드를 중심으로 나누어 학습하는 것이 좋다.
또한 완벽하게 이해하려 하지 말고 여러 번 반복해서 학습하는 것이 효율적이다.
2. 코딩 스킬 (숙달의 영역)
- 의도적 연습
- API
- 프레임워크 / 라이브러리
어느 정도 기본 개념과 동작 원리를 이해했다면 이를 활용해 코드 구현 능력을 갖추기 위한 연습이 필요하다.
이 때 자신의 능력을 살짝 넘어서는 도전을 지속적으로 시도하는 의도적인 연습이 필요하다.
3. 프로젝트 (경험의 영역)
- 프로젝트를 통해 가상 경험
그 후에는 프로젝트를 통해 더욱 깊이 이해하고 협업을 경험할 수 있다.
모르는 것과 아는 것이 구분되는 때가 바로 이때이다.
추가로 학습이 필요한 것이 있다면 기본 개념과 동작 원리 이해로 돌아가 학습을 시작한다.
이처럼 기본 개념과 동작 원리, 코딩 스킬, 프로젝트라는 3개의 사이클을 순환적으로 반복하면서
지속적인 개선을 통해 성장하는 것이 바로 학습이다.