Ruff! Ruff!
서버시스템 구축 실습 - node.js 기초 본문
1. 자바스크립트 - 객체의 형식
배열 vs 객체
- 배열
순서가 있는 정보
순서는 인덱스로 구성
인덱스를 통해 접근
- 객체
순서가 없는 정보
Property: 키와 값으로 이루어진 쌍 (pair)
키를 통해 접근
- 선언 및 접근
배열: 대괄호 생성, arr[index]접근
객체: 중괄호 생성, obj.key or obj[key]로 접근
- 배열과 객체의 구별
typeof()는 구분 불가
Array.isArray() 구분 가능
- 데이터 순회
배열: 배열의 길이(.length) 활용
객체: in 키워드 사용
- 값으로서의 함수 -> 객체
값을 넣어야하는 자리에 함수를 대입한 변수 사용 가능
배열 -> 배열에 요소로 삽입
-> 배열 인덱스 접근을 통해 함수 호출
객체 -> property로 삽입
-> 객체 접근을 통해 함수 호출
*함수를 객체의 멤버로 추가해서 사용 가능 -> 멤버 변수는 this 키워드를 통해 접근함
2. 화살표 함수
- 코드를 간결하고 읽기 좋게 하기 위해 제공
ex)
(num) => num+1
- 화살표 기준 왼쪽: 매개변수
- 화살표 기준 오른쪽: 함수 실행부
3. node.js 모듈
- 코드가 커지면 객체만으로는 부족함 -> 많은 js파일로 구성
- 모듈은 코드를 정리하는 가장 큰 도구
- 체계적이고 효율적인 관리를 위해 모듈을 활용함
모듈: 코드 라이브러리가 들어 있는 각 js 파일 또는 폴더
- 모듈의 활용
-> 모듈쪽: module.exports를 통해 외부에서도 참조 가능하도록 설정
-> 사용측: require()을 통해 모듈 불러오기
4. npm 활용
- Node.js의 패키지 관리자
패키지: 여러 개의 모듈 포함 가능
npm install <package>
npm uninstall <package>
*package.json 파일
- 프로젝트 관련 정보 저장
- 프로젝트 루트 레벨에 존재하는 파일
- npm init으로 생성
+ JSON.stringify() 메소드
-> js값이나 객체를 JSON 문자열로 변환
-> 중첩 개체도 알아서 문자열로 변환
5. 콜백
- 익명함수로 다른 함수가 종료될 때 자동으로 실행
- 다른 코드를 실행하기 전에 원 함수의 실행 종료를 기다릴 필요 없음
- 비동기 방식
6. 라우트
- 특정 url을 위한 요청에 어떻게 애플리케이션이 응답해야 하는지 정의하는 방식
- 매핑 정의 vs fs모듈
- 매핑 정의 : url 하나하나 직접 매핑시켜줌
- fs 모듈: 애플리케이션 대신 파일시스템과 상호작용 (코어모듈)
+ fs 모듈을 사용한 서버 응답 : 매핑된 파일의 콘텐츠를 읽어 응답 메세지에 포함
+ 동적 읽기를 통한 정적 파일 제공
+ 에셋
- 클라이언트에서 필요한 파일들 (css, js 등)
- 각 파일별 특정 라우트를 가지는 웹 서버 구현
'CS' 카테고리의 다른 글
서버 시스템 구축 실습 - 데이터베이스 연결 (0) | 2024.05.01 |
---|---|
서버 시스템 구축 실습 - Express.js 웹 개발 (0) | 2024.04.24 |
서버시스템 구축 실습 - 자바스크립트 기초 (1) | 2024.03.27 |
서버시스템 구축 실습 - 데이터베이스 모델링과 설계 (0) | 2024.03.20 |
서버시스템 구축 실습 - 웹서버와 데이터베이스 개요 (0) | 2024.03.13 |