node.js curriculum

agnusdei·2023년 7월 27일
0

초급 수준

Node.js 기본 개념

  1. Node.js 소개와 역사
  2. Non-blocking I/O 모델
  3. 이벤트 기반 아키텍처 이해

Node.js 설치와 환경 구성

  1. Node.js 설치 방법 (운영체제별)
  2. NPM(Node Package Manager) 소개와 사용법
  3. 개발 환경 설정 (에디터, 디버깅 등)

기본 문법과 자바스크립트 ES6+

  1. 변수, 데이터 타입, 연산자
  2. 조건문과 반복문
  3. 함수, 객체, 배열
  4. 비동기 프로그래밍과 콜백 함수

내장 모듈 사용하기

  1. 파일 시스템 모듈 (fs)
  2. HTTP 모듈을 이용한 웹 서버 생성
  3. URL과 쿼리스트링 모듈

중급 수준

모듈 시스템과 패키지 관리

  1. CommonJS와 ES6 모듈 시스템 비교
  2. 외부 패키지 설치 및 관리 (npm)
  3. 패키지 버전 관리 (Semantic Versioning)

Express 프레임워크

  1. Express 소개와 기본 구성
  2. 미들웨어 이해와 사용법
  3. 라우팅과 컨트롤러

데이터베이스 연동

  1. MySQL, MongoDB, 또는 PostgreSQL 등과의 연동
  2. ORM(Object-Relational Mapping) 사용법

RESTful API 개발

  1. REST 개념 이해
  2. RESTful API 설계 원칙
  3. Express를 이용한 RESTful API 개발

고급 수준

비동기 제어와 Promise

  1. 콜백 헬 이슈와 비동기 제어 방법
  2. Promise와 Async/Await 활용

실시간 통신과 웹 소켓

  1. 웹 소켓 개념과 동작 방식
  2. Socket.IO를 이용한 실시간 데이터 전송

보안

  1. Node.js 보안 이슈와 대응 방법
  2. 인증과 인가 처리

클러스터링과 로드 밸런싱

  1. Node.js 클러스터링 개념과 설정
  2. 로드 밸런싱을 위한 프록시 서버 구성

테스트와 디버깅

  1. 테스트 자동화 (유닛 테스트, 통합 테스트 등)
  2. 디버깅 방법과 도구 활용

성능 최적화와 스케일링

메모리 관리와 성능 튜닝

  1. 메모리 누수와 메모리 관리 기법
  2. 프로파일링 도구를 이용한 성능 분석

캐싱과 클러스터링

  1. 캐시 개념과 Redis 활용
  2. 멀티 서버 환경에서의 데이터 동기화

마이크로서비스 아키텍처

  1. 마이크로서비스 아키텍처 이해
  2. Node.js로 구현한 마이크로서비스 시스템

실전 프로젝트와 활용 사례

웹 애플리케이션 구축

  1. Express와 데이터베이스를 이용한 웹 애플리케이션 구축
  2. 세션 및 쿠키 관리

RESTful API 서버 구축

  1. 데이터베이스와 연동한 RESTful API 서버 구축
  2. API 문서 자동화 (Swagger 등)

실시간 앱과 채팅 서버

  1. Socket.IO를 이용한 실시간 채팅 서버 개발
  2. 실시간 앱과 웹 소켓 통신

마이크로서비스 기반 애플리케이션

  1. 여러 마이크로서비스로 구성된 애플리케이션 구축
  2. 서비스 디스커버리와 로드 밸런싱

성능 최적화와 스케일링 프로젝트

  1. Node.js 애플리케이션의 성능 튜닝 프로젝트
  2. 클러스터링을 통한 스케일 아웃 구성
profile
DevSecOps ⚙️ + Pentest 🚩

0개의 댓글