1. 인터넷
- 인터넷은 어떻게 작동 될까요?
- HTTP는 무엇일까요?
- 브라우저와 종작원리
- DNS와 작동원리
- 도메인 네임은 무엇일까요?
- 호스팅은 무엇일까요?
2. OS 및 일반적인 지식
- 터미널 사용방법
- OS의 일반적인 작동 방식
- 프로세스 관리
- 스레드와 동시성
- 기본적인 터미널 명령어
- 메모리 관리
- 프로세스간 통신 (IPC)
- 입출력(I/O) 관리
- POSIX 기초 - stdin, stout 등등
- 기본적인 네트워크 개념
3. 언어배우기
- JAVA
- JavaScript
- Ruby
4. 버전 관리
- Git 기본 사용법
5. 관계형 데이터베이스
- PostgreSQL
- MySQL
6. NoSQL 데이터 베이스
- MongoDB
7. 데이터베이스 상세 정보
- ORM
- ACID
- 트랜잭션
- N+1문제
- 데이터 레플리케이션
- 샤딩전략
- CAP 이론
- 데이터베이스 정규화
- 인덱스와 작동방식
8. API에 대해서 배우기
- REST
- JSON APIs
- SOAP
- HATEOAS
- 오픈 API 스펙과 swagger
- 인증
- Cookie 기반
- OAuth
- 기본적인 인증
- 토큰 인증
- JWT
- OpenID
- SAML
9. 캐싱
- CDN
- 서버사이드
- 클라이언트 사이드
- Redis
- Memcached
10. 웹보안 지식
- 해시 알고리즘
- MD5와 사용하지 않는 이유
- SHA Family
- scrypth
- bcrypth
- HTTPS
- 컨텐츠 보안 정책
- CORS
- SSL/TLS
- OWASP 보안 정책
11. 테스팅
- 통합테스트
- 단위 테스트
- 기능 테스트
12. CI/ CD
13. 개발과 설계 원칙
- GOF 디자인 패턴
- 도메인 주도 설계
- 테스트 주도 개발
- SOLID
- KISS
- YAGNI
- DRY
14. 아키텍쳐 패턴
- 모노로틱 앱
- 마이크로서비스
- SOA
- CQRS와 이벤트 소싱
- Serverless
15. 검색엔진
- Elasticsearch
- Solr
16.메세지 브로커
- RabbitMQ
- Kafka
17. 컨테이너화 vs 가상화
- Docker
18. GraphQL
- Apollo
- Relay Modern
19. 그래프 데이터베이스
- Neo4j
20. 웹소켓
21. 웹 서버
- Nginx
- Apache
- Caddy
- MS IIS
22. 확장성
- 마이그레이션 전략
- 수평적 확장 vs 수직적 확장
- 관찰가능성을 고려한 확장
- 마이그레이션 전략
- 측정 / 모니터링 /원격측정의 차이
**네이버 백엔드 개발자가 추천하는 공부내용들**
- 웹 생태계의 스펙
- HTML, HTTP(1.1 , HTTP/2)
- 기본 SDK, 라이브러리/프레임워크 이해와 활용
- 클라이언트를 위한 API 설계
- 서버/컴퍼넌트/객체 간의 역할 분담/의존성/통신 방법 설계
- 저장소 활용
- DBMS 설계
- Cache 적용
- Global/Local cache 적용범위, 라이프 싸이클, 솔루션 선택
- 파일 저장 정책/솔루션 선택 활용
- 검색엔진 연동 방식 결정
- 빌드 도구
- Maven/Gradle
- 배포 전략
- 성능 테스트/프로파일링/튜닝
- JVM 레벨의 튜닝 (GC 옵션 등)
- 웹 서버(Nginx,Tomcat)등의 설정/튜닝
- OS 설정의 주요 값 확인
- JVM 레벨의 튜닝 (GC 옵션 등)
- 인접 기술에 대한 이해
- DBMS, Front End 등
- 서버 개발자에만 해당하지는 않는 항목
- 테스트 코드 작성/리팩토링 기법
- 버전 관리 전략
- branch 정책 등
이걸 다 정리해보자 파이팅!!
'개발합시다. > BackEnd 공부' 카테고리의 다른 글
DNS란? (0) | 2021.08.10 |
---|---|
인터넷은 어떻게 동작할까? (인터넷 동작 원리) (0) | 2021.07.14 |
IP 주소 (IPv4, IPv6) (0) | 2021.07.09 |
TCP vs UDP (0) | 2021.07.09 |
정보통신의 방식 (회선교환 방식, 패킷교환 방식) (0) | 2021.07.09 |