👌 백엔드 로드맵
백엔드 지식도 조금은 필요할 것 같아서 추가!
✔ OS 및 일반적인 지식
- 터미널 사용방법
- OS의 일반적인 작동 방식
- 프로세스 관리
- 스레드와 동시성
- 기본적인 터미널 명령어 (grep, awk, sed, lsof, curl, wget, tail, head, less, find, ssh, kill)
- 메모리 관리
- 프로세스간 통신 (IPC)
- 입출력 (I/O) 관리
- POSIX 기초 (stdin, stdout, stderr, pipes)
- 기본적인 네트워크 개념
✔ 언어 배우기
JavaScript
- Java
- C#
- PHP
- Rust
- Go
- Python
- Ruby
✔ 관계형 데이터베이스
- PostgreSQL
MySQL
- MariaDB
- MS SQL
- Oracle
✔ 데이터베이스 상세 정보
- ORM
- ACID
- 트랜잭션
- N+1 문제
- 데이터베이스 정규화
- 인덱스와 작동 방식
- 데이터 레플리케이션
- 샤딩 전략
- CAP 이론
✔ NoSQL 데이터베이스
- MangoDB
- RethinkDB
- CouchDB
- DynamoDB
✔ API
- HATEOAS
- 오픈 API 스펙과 Swagger
- 인증
- REST
- JSON APIs
- SOAP
✔ 캐싱
✔ 웹 보안 지식
- HTTPS
- 컨텐츠 보안 정책
- CORS
- SSL/TLS
- OWASP 보안 정책
- 해시 알고리즘
- MD5와 사용하지 않는 이유
- SHA Family
- scrypt
- bcrypt
✔ 테스팅
✔ CI/CD
✔ 개발과 설계 원칙
- GOF 디자인 패턴
- 도메인 주도 설계
- 테스트 주도 개발
- SOLID
- KISS
- YAGNI
- DRY
✔ 아키텍쳐 패턴
- 모놀로틱 앱
- 마이크로서비스
- SOA
- CQRS와 이벤트 소싱
- Serverless
✔ 검색 엔진
✔ 메세지 브로커
✔ 컨테이너화 vs 가상화
✔ GraphQL
✔ 그래프 데이터베이스
✔ 웹 소켓
✔ 웹 서버
- Nginx
- Apache
- Caddy
- MS IIS
✔ 확장성
- 마이그레이션 전략
- Graceful Degradation
- Throtting
- Backpressure
- Loadshifting
- Circuit Breaker
- 차이점
- 수평적 확장 vs 수직적 확장
- 관찰 가능성을 고려한 확장
- 문제가 발생시 문제를 디버깅하고 해결하는 데 도움이 되는 측정 로그와 기타 관찰 가능한 항목
👍 참고 사이트