반응형
백엔드 개발 학습 시리즈
1. 백엔드 개발 개요
- 백엔드 개발이란?
- 백엔드 개발의 정의와 역할
- 백엔드와 프론트엔드의 차이
- 백엔드와 프론트엔드의 주요 차이점과 협업 방식
- 백엔드 아키텍처
- 모놀리식 vs 마이크로서비스 아키텍처
- 서버리스 아키텍처
2. 웹 서버와 기본 프로토콜
- HTTP와 HTTPS
- HTTP/HTTPS의 동작 원리와 차이점
- RESTful API
- RESTful API의 개념과 설계 원칙
- 웹 서버 설정
- Apache, Nginx 등 주요 웹 서버 설정
3. 프로그래밍 언어 선택
- JavaScript (Node.js)
- Node.js 개요, 주요 기능, 이벤트 루프
- Python (Django, Flask)
- Django와 Flask의 개요, 주요 기능 비교
- Java (Spring)
- Spring 프레임워크 개요, 주요 기능
- Ruby (Ruby on Rails)
- Ruby on Rails 개요, 주요 기능
4. 데이터베이스
- 관계형 데이터베이스 (RDBMS)
- MySQL, PostgreSQL 개요, 기본 SQL 쿼리
- 비관계형 데이터베이스 (NoSQL)
- MongoDB, Redis 개요, 기본 사용법
- ORM (Object-Relational Mapping)
- Sequelize (Node.js), SQLAlchemy (Python), Hibernate (Java)
5. 서버사이드 프로그래밍
- 라우팅과 미들웨어
- Express.js (Node.js), Django, Spring
- 인증과 인가
- JWT, OAuth, 세션 기반 인증
- 파일 업로드 및 관리
- 멀티파트 폼 데이터 처리, 파일 저장소 관리
- 에러 처리
- 오류 로그 관리, 예외 처리 기법
6. 웹 보안
- 보안 기본 원칙
- OWASP Top 10
- SQL 인젝션 방지
- Prepared Statements 사용
- 크로스 사이트 스크립팅 (XSS) 방지
- 데이터 검증 및 인코딩
- 크로스 사이트 요청 위조 (CSRF) 방지
- CSRF 토큰 사용
7. 성능 최적화
- 캐싱
- Redis, Memcached 사용법
- 로드 밸런싱
- 로드 밸런서 설정, 트래픽 분산
- 데이터베이스 최적화
- 인덱스 사용, 쿼리 최적화
- 비동기 처리
- 큐, 메시지 브로커 (RabbitMQ, Kafka)
8. 테스트와 배포
- 테스트
- 유닛 테스트, 통합 테스트, E2E 테스트
- CI/CD 파이프라인
- Jenkins, GitHub Actions, GitLab CI/CD
- 컨테이너화
- Docker 개요, Dockerfile 작성
- 배포
- AWS, GCP, Azure 등의 클라우드 서비스
- Kubernetes 개요 및 배포
9. 실전 프로젝트
- 프로젝트 기획
- 요구사항 분석, 기술 스택 선택
- 프로젝트 설계
- 데이터베이스 설계, API 설계
- 프로젝트 구현
- 프로젝트 구현 및 테스트
- 프로젝트 배포
- 실제 서버에 배포, 모니터링 및 유지 보수
반응형