본문 바로가기
백엔드

[백엔드] 목차

by cogito21_js 2024. 6. 26.
반응형

백엔드 개발 학습 시리즈

1. 백엔드 개발 개요

  1. 백엔드 개발이란?
    • 백엔드 개발의 정의와 역할
  2. 백엔드와 프론트엔드의 차이
    • 백엔드와 프론트엔드의 주요 차이점과 협업 방식
  3. 백엔드 아키텍처
    • 모놀리식 vs 마이크로서비스 아키텍처
    • 서버리스 아키텍처

2. 웹 서버와 기본 프로토콜

  1. HTTP와 HTTPS
    • HTTP/HTTPS의 동작 원리와 차이점
  2. RESTful API
    • RESTful API의 개념과 설계 원칙
  3. 웹 서버 설정
    • Apache, Nginx 등 주요 웹 서버 설정

3. 프로그래밍 언어 선택

  1. JavaScript (Node.js)
    • Node.js 개요, 주요 기능, 이벤트 루프
  2. Python (Django, Flask)
    • Django와 Flask의 개요, 주요 기능 비교
  3. Java (Spring)
    • Spring 프레임워크 개요, 주요 기능
  4. Ruby (Ruby on Rails)
    • Ruby on Rails 개요, 주요 기능

4. 데이터베이스

  1. 관계형 데이터베이스 (RDBMS)
    • MySQL, PostgreSQL 개요, 기본 SQL 쿼리
  2. 비관계형 데이터베이스 (NoSQL)
    • MongoDB, Redis 개요, 기본 사용법
  3. ORM (Object-Relational Mapping)
    • Sequelize (Node.js), SQLAlchemy (Python), Hibernate (Java)

5. 서버사이드 프로그래밍

  1. 라우팅과 미들웨어
    • Express.js (Node.js), Django, Spring
  2. 인증과 인가
    • JWT, OAuth, 세션 기반 인증
  3. 파일 업로드 및 관리
    • 멀티파트 폼 데이터 처리, 파일 저장소 관리
  4. 에러 처리
    • 오류 로그 관리, 예외 처리 기법

6. 웹 보안

  1. 보안 기본 원칙
    • OWASP Top 10
  2. SQL 인젝션 방지
    • Prepared Statements 사용
  3. 크로스 사이트 스크립팅 (XSS) 방지
    • 데이터 검증 및 인코딩
  4. 크로스 사이트 요청 위조 (CSRF) 방지
    • CSRF 토큰 사용

7. 성능 최적화

  1. 캐싱
    • Redis, Memcached 사용법
  2. 로드 밸런싱
    • 로드 밸런서 설정, 트래픽 분산
  3. 데이터베이스 최적화
    • 인덱스 사용, 쿼리 최적화
  4. 비동기 처리
    • 큐, 메시지 브로커 (RabbitMQ, Kafka)

8. 테스트와 배포

  1. 테스트
    • 유닛 테스트, 통합 테스트, E2E 테스트
  2. CI/CD 파이프라인
    • Jenkins, GitHub Actions, GitLab CI/CD
  3. 컨테이너화
    • Docker 개요, Dockerfile 작성
  4. 배포
    • AWS, GCP, Azure 등의 클라우드 서비스
    • Kubernetes 개요 및 배포

9. 실전 프로젝트

  1. 프로젝트 기획
    • 요구사항 분석, 기술 스택 선택
  2. 프로젝트 설계
    • 데이터베이스 설계, API 설계
  3. 프로젝트 구현
    • 프로젝트 구현 및 테스트
  4. 프로젝트 배포
    • 실제 서버에 배포, 모니터링 및 유지 보수

 

반응형