<aside> 📌 요약: Native는 OS가 기본적으로 사용하는 언어로 개발한 애플리케이션. (윈도우면 C#, C++, … 애플이면 swift…) Hybrid는 VSCode처럼 웹뷰 라던가 모바일에 웹페이지를 띄우는 등.
서버에는 프론트엔드, 백엔드 코드가 다 들어가있고 프론트 커버는 웹 서버에, 백엔드 코드는 웹 애플리케이션 부분에 작성되고, 유저가 사용할때는 웹 서버에 있는 프론트 코드가 유저의 브라우저에 탑재되어 로드된다.
쉘이란 사람이 운영체제를 제어하기 위한 특수한 어플리케이션이다. 윈도우 GUI나 리눅스 CLI 등으로 프로그램 실행이나 파일 조회나 IO 연결 관리나 컴퓨터 시스템 설정 등을 커널에 요청한다.
쉘 스크립팅은 일련의 작업들을 한 파일에 묶어서 이 파일을 실행하면 묶어서 한번에 실행하도록 하는 개발자 편의 작업이다.
CSR은 html파일이 비어있고 자바스크립트 코드 안에 있으며 이걸 유저가 불러와 브라우저에서 랜더링 하는 방식이다. SSR은 html을 미리 서버에서 다 만들고 파일을 보내주는 방식이다. CSR은 빈 html이라 검색엔진이 찾지 못한다.
connection pooling이란 TCP 프로토콜로 인해 오래 걸리는 DB 연결 작업을 최소화 하기 위해 연결된 connection을 pool에 담아놓고 재사용 하는 개념을 말한다.
템플릿 엔진은 html 코드를 동적으로 만들어내도록 도와주는 템플릿이며 Pug, EJS, Nunjucks 등이 있다.
express.static()은 이미지, css파일 및 js파일과 같은 정적 파일을 제공하기 위해서 사용한다.
이때 경로를 설정할때 프로세스가 실행되는 디렉토리에 대해 상대적이기 때문에 절대 경로를 사용하는게 안전하다. __dirname
노드에는 path모듈로 여러 경로 작업을 할 수 있다. join으로 운영체제별 구분자를 사용하여 경로를 정규화 한다던가..
</aside>