백엔드 개발자가 되기 위해서는 어떤 기술들을 공부해야 하는지 알아보도록 하겠습니다. 꽤 많은 것들을 숙지하고 있어야 하는데요. 개발자로 계속해서 성장해 나가고 싶다면 각자 자신의 목표를 설정하고 로드맵을 구축해 나가야 합니다. 아래는 백엔드 개발자가 알아야 하는 필수항목입니다.
목차
Toggle백엔드 개발자가 알아야 하는 필수항목
1. 인터넷
– 인터넷 작동 원리
– HTTP는 무엇인가
– 브라우저 작동 방식
– DNS란 무엇인가
– Domain Name
– 호스팅은 무엇인가
2. 개발 언어
– Java
– C#
– PHP
– Javascript
– Python
– Ruby
– Rust
– Go
3. 소스 관리 시스템
– Git
4. 소스 관리 서비스
– GitHub
– GitLab
– Bitbucket
5. OS와 사용툴
– 터미널 사용법
– POSIX
6. 관계형 데이타베이스
– PostgreSQL
– MySQL
– MariaDB
– MS SQL
– Oracle
7. NoSQL 데이타베이스
– Document DB
– Time Series
– Realtime
– Column DB
– Key-Value
– Graph DB
8. DB 기술
– ORM
– ACID
– Transactions
– N+1 Problem
– Nomalization
– Failure Modes
– Profiling Perfor.
9. Scaling Database
– Database Indexes
– Data Replication
– Sharding 전략
– CAP Theorem
10. API
– HATEOAS
– Open API Specs
– Authentication
– REST
– JSON API
– SOAP
– gRPC
– GraphQL
11. Caching
– Client Side
– Server Side
– CDN
12. 웹 보안
– Hashing Algorithm
– API Security Best Practices
13. Testing
– Integration Testing
– Unit Testing
– Functional Testing
14. CI/CD
소프트웨어 디자인
1. 개발 원리
– GOF 디자인 패턴
– Domain Driven Design
– Test Driven Development
– CQRS
– Event Sourcing
2. 아키텍처
– Monolithic Apps
– Microservices
– SOA
– Serverless
– Service Mesh
– Twelve Factor Apps
3. Message Brokers
– RabbitMQ
– Kafka
4. Containerization vs Virtualization
– Kubernetes
– Docker
– LXC
5. GraphQL
– Apollo
– Relay Modern
6. WebSockets
7. Server Sent Events
8. Web Servers
– Nginx
– Apache
– Caddy
– MS IIS
9. Building for Scale
– Graceful Degradation
– Throttling
– Backpressure
– Loadshifting
– Circuit Breaker
– Instrumentation
– Monitoring
– Telemetry
백엔드 개발자가 되기 위해서 공부해야 하는 것들이 상당합니다. 하지만 해당 기술 스택에 대해 하나씩 공부하며 실무에 적용해 가면 됩니다. 그리고 서비스 성격에 따라 사용해야 할 기술 스택이 다르니 각각 장단점을 알고 있는 것이 향후 개발방향을 잡는데 중요합니다.