1. KeyPoint
2. 수업 Flow
1. 수업 KeyPoint 🔑
- 프레임워크
- 컴파일 / 빌드
- 동기 / 비동기
2. 수업 FLOW ⌛️
프레임워크
1) 틀 / 구조
2) 처음부터 작성 하지 않아도 빠르게 작성할 수 있다.
3) 장점
- 보안성이 좋다.
4) 단점
- 자율성이 떨어진다. ( 내 마음대로 하기에는 정해진 것들이 있다-> 번거로울 수 있다. )
5) 예시
- 부트스트랩: CSS 기반 프레임워크(프론트단)
- 스프링: JAVA 기반 프레임워크(백엔드단)
Q. 부트스트랩과 스프링을 같을 쓸 수 있을까요?
A. 네. 가능합니다. 프론트/ 백엔드 기반이 달라요.
- 자바를 알고 있다는 전제하에 추가적으로 스프링을 배우는 것이다.
- 서버에 있어서 프레임워크 활용은 권장된다.
,ㅏ,ㅏ
컴파일 , 빌드
1) 컴파일
- 코드를 바로 읽어서 실행하는 것이 아니라 좀 더 기계에 친화적인 언어로 바꾸는 것.
- 실행 전 소스코드를 컴파일하여 기계어로 변환 후 해당 파일을 실행
2) 빌드: 소스 코드를 실행 가능한 파일로 만드는 과정을 의미. ex) apk, exe 파일 등
3) 스크립트 언어(인터프리터 언어)
- 컴파일과 빌드의 과정을 거치지 않게 함. 관대한 편.
- 코드를 작성함과 동시에 인터프리터가 기계어로 번역하고 실행함.
4) 예시 상황 1
- head태그: 여기 안에 있는 내용을 다 읽기 전에는 출력 되지 않음.
- body태그: 한 줄~ 한 줄~ 읽으면서 바로 출력 됨.
- " 자바스크립트 함수 정의는 <head>안에 써야한다. 바디 닫기 전에 넣어야 바로 작동 할 수 있다. "
* 함수 정의가 안되있어서 작동 안됨.
<head>
<div onclick = "a();">
</head>
<script>
function a(){
아하하
};
</script>
----------------------------------------------------------------
* head안에 함수의 정의를 적어야 누가 먼저 눌러도 작동함.
<head>
<script>
function a(){
아하하
};
<div onclick = "a();">
</script>
</head>
<div onclick = "a();">
5) 예시 사항 2
- 부트스트랩에서도 설명해주고 있다.
Node.js
1) 자바스크립트 언어를 백엔드에서도 쓸 수 있게 만든 언어의 모음.
2) 서버에서 자바스크립트를 활용할 수 있도록 한 언어체계 -> 왜? 언어하나만 배울래~~ 그래서 Node 할래~
- html은? 음 이건 아직 할 수 있는게 부족해
3) Node 점유율을 끌어 올릴 수 있는 이유는? 자바스크립트라는 언어가 비동기식이야.
- 자바스크립트라는 언어는 순차적이지 않고, 이벤트 기반으로 작동해.
- 첫째줄 문장이 셋째줄 문장보다 먼저 실행된다고 보장되지는 않음.
- 자바스크립트는 기다리지 않고 진행함
- 동기식은 윗 문장이 끝날 때까지 기다렸다가 순서대로 진행함.
- 웹은 기달려주지 않음. 순차적으로 보여주지는 않음.
웹의 특성
1) 컴퓨터는 한 번에 한 작업만 한다. 동시에 진행되는 것처럼 보일 뿐이다.
-> 이 떄 하나의 작업 단위를 스레드 라고 한다.
2) 대부분의 언어가 싱글 스레드이다.
- 만약.. 카톡으로 2기가 만큼 보내면 2기가가 다 올라갈 때까지 아~무도 말을 할 수 없게 되는 것.
- 근데.. 이벤트, 멀티 스레드라면 기다리면서도 계속 올릴 수 있다!
3) 자바스크립트는? 멀티스레드
- 하나의 스레드가 시간을 많이 잡아 먹으면 다음 스레드가 실행 된다.
- 1번 코드가 오래 걸립니다. -> 2번 코드 먼저 작동해라!
4) 예시 상황
- 이벤트 기반/ 비동기식: 시나리오를 알 수 없으니 이벤트 발생 시 작동하도록 해야하는게 맞다.
window.on("click")
{...}
window.on("resize")
{...}
=> 이렇게 썻다고 순서대로 작동하는 게 아니라 이벤트 그게 발생 할때 -> 이벤트가 작동
- 예) 채팅창에서 상대방이 무슨 말을 이어서 할 지는 알 수 없다.
- 실시간 이란? 이벤트 기반 작동("1이 말하면 이렇게 하세요. 3이 말하면 이렇게 행동하세요."
예시
1. 넘어온 쿠폰번호의 유효성을 검사한다.
1-1. 쿠폰번호가 유효한가?
예 → 2번으로 넘어가
아니요 → 에러메세지 출력
1. 쿠폰에 해당하는 회원을 가져온다.
⇒ 백엔드에서는 앞에가 맞아야 다음 단계가 진행된다.
=> 순차적으로 진행
5) 클래스 사용의 시작
- 옛날에는 C의 라인이 엄청 나게 많았다. -> 프로그램이 복잡해지고 가독성도 떨어졌다.
- 그럼 관련된 함수들끼리 모으고 독립적으로(서로 연관되지 않게, 나 이외의 기능은 서로 영향을 주고 받지 않게)구성하자!
- 이것이 "클래스별로 나누자" 라고 부르는 것.
'Node.js' 카테고리의 다른 글
[Node.js] 8/24 Node 수업 Flow (노드설치, 기본 셋팅) (0) | 2022.08.28 |
---|
댓글