Self Study/모던 자바스크립트 (Deep Dive)

[모던 자바스크립트 01. ]

열정코딩 2022. 5. 25.

day01.
"빨리 가는 유일한 방법은 제대로 가는것이다."
" 시행착오는 개발자의 벗이자 선생님입니다."

프로그래머의 역할
- 요구사항 기반으로 문제 해결 방안을 고안하고, 이를 코드로 구현해야 하는것. 
이때 구현 하는 코드가 의도한대로 정확히 동작해야 한다. 
예측이 가능해야 하며, 유지보수가 쉽게 되야한다. 

협업을 할때에는 "명확한 의사소통" 을 해야하는데 
문맥에 맞는 정확한 용어를 구사할때 가능해지는것이다.  정확한 용어를 구사하기 위해서는 
기본 개념이 확실하게 성립되어 있어야 한다. 
또한, 기본 개념은 특정 프로그래밍 언어에 국한되지 않은 경우가 많아 다른 언어를 학습할때
큰 도움이 된다. 

"동작 원리"의 이해는 코드의 동작을 예측 가능하게 하며 코드 독해의 원천이다. 
자신이 구현하는 코드의 동작 원리에 대해 예측하고 있어야 한다. 

1. 기본 개념 
2. 동작 원리 
이 2가지만 잘 연습하면, 어렵고 생소한 용어로 이뤄진 기술적 의사소통을 가능케 하며 
자신의 머릿속에서 코드를 실행해 볼 수 있는 능력을 갖게 한다. 

학습 방법 
- 위에 말한 2가지는 목표가 아닌, 과정이다. 
1. 기본 개념과 , 동작 원래를 이해하려고 노력한다. 
2. 중요한 키워드 중심으로 
3. 완벽히 이해가 아닌, 반복적 학습이 효율적이다. 
4. 학습중의 키워드가 아닌, 배우지 않은 키워드는 잠시 넘어가며 학습. 
5. 의도적인 연습  ( 예제 타이핑 x , 라이브 코딩 감상 x )
- 자신의 능력을 살짝 넘어서는 도전을 지속적으로 시도
 

01. 프로그래밍
1-1  프로그래밍 이란?
0과 1 밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명 하는 작업이며,
그 결과물이 바로 코드이다. 
문제 해결을 할때 컴퓨터의 입장에서 바라봐야하는데 이때 필요한 것이 "컴퓨팅 사고" 이다. 
ex) " 소리의 크기"
사람 > 크다 / 작다  표현가능 
컴퓨터 > 현재 볼륨에서 1 크게 / 볼륨 60 으로 조정 자세히 명령해야 함. 

이처럼 컴퓨터와 사람은 사고, 인지의 방식이 달라 컴퓨터의 관점에서 문제를 사고해야한다. 

논리적, 수학적 사고가 필요하며, 해결과제 작은 단위로 분해 , 패턴화해서 추출. 

ex> 로봇에게 "걷다" 
라는 기능을 디자인 하면, 판단해야 하는 상태와 그 시기.
판단 기준 명확해야 하며,  이를 바탕으로 분해한 처리의 실행 여부를 결정한다. 
예를 들자면 
장애물앞에 섰을때 그 장애물에 대한 (크기, 위치, 움직임) 을 명확하게 수치화 해서 정의해야 한다. 

1-2 프로그래밍 언어 ( 구문, 의미 의 조합)
문제 해결 방안은 컴퓨터가 이해 할수 있는 "기계어" 로 명령 전달해야한다. 
직접 전달은 어렵기 때문에,  우리가 쓴 언어를 기계어로 변환할수 있는 
번역기 "컴파일러, 인터프리터" 를 사용한다. 

1) "Hello World" 를 출력하는 자바스크립트 코드 . 
console.log('Hello world')

1-3 구문과 의미 
프로그래밍 언어는 문법을 배우는 것으로 시작. 
문법에 맞는 문장을 구성하는 것을 물론, 의미를 가지고 있어야 한다. 

ex) 
const number = 'string';
consele.log(number * number); //NaN

> 자바스크립트의 변수에는 어떠한 타입의 값도 할당 가능. 
따라 문접 적으로는 옳지만, 
number 라는 이름의 변수에 '문자열' 이 할당되어 있기 대문에 의미는 옳지 않다. 
즉, 작성된 코드는 프로그래밍 언어의 문법에 부합하는것은 물론, 수행하고자 하는 바를 정확히 
수행 요구사항 실현이 되어야 의미가 있다. 

프로그래밍의 언어 : ( 부여 번호=  진행 순서도) 
{변수와 값  - 1
키워드 
연산자 - 2
표현식과 문 
조건문 -3
반복문
흐름제어 - 4
함수 - 5 
객체 배열} 등의 문법 제공.  - 6 

프로그래밍 : 요구사항 집합 분석후 적절한 자료구조와 함수의 집합으로 변환, 그 흐름 제어. 

 

------------------------------

p.s 자바스크립트를 배우기에 앞서 아주 좋은 책을 추천 받았다. 

프로그래밍 언어를 배운지 얼마 안되었지만 공부하면서 제일 많이 느끼는건 

기본기를 확실하게 공부해야 된다는 것,  

고로 매일 적해진 목표량의 페이지를 읽고 요약정리 하는 식으로 나만의 챌린지를 만들었다. 

기억 하기 위해 기록하는 습관을 갖길 바라면서..! 

댓글