[로드맵] 백엔드

박우현·2020년 12월 29일
2
post-thumbnail

👌 백엔드 로드맵

백엔드 지식도 조금은 필요할 것 같아서 추가!

✔ 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

✔ 캐싱

  • CDN
  • 서버 사이드
    • Redis
    • Memcached
  • 클라이언트 사이드

✔ 웹 보안 지식

  • HTTPS
  • 컨텐츠 보안 정책
  • CORS
  • SSL/TLS
  • OWASP 보안 정책
  • 해시 알고리즘
    • MD5와 사용하지 않는 이유
    • SHA Family
    • scrypt
    • bcrypt

✔ 테스팅

  • 통합 테스트
  • 단위 테스트
  • 기능 테스트

✔ CI/CD

✔ 개발과 설계 원칙

  • GOF 디자인 패턴
  • 도메인 주도 설계
  • 테스트 주도 개발
  • SOLID
  • KISS
  • YAGNI
  • DRY

✔ 아키텍쳐 패턴

  • 모놀로틱 앱
  • 마이크로서비스
  • SOA
  • CQRS와 이벤트 소싱
  • Serverless

✔ 검색 엔진

  • Elasticsearch
  • Solr

✔ 메세지 브로커

  • RabbitMQ
  • Kafka

✔ 컨테이너화 vs 가상화

  • Docker

✔ GraphQL

  • Apollo
  • RelayModern

✔ 그래프 데이터베이스

  • Neo4j

✔ 웹 소켓

✔ 웹 서버

  • Nginx
  • Apache
  • Caddy
  • MS IIS

✔ 확장성

  • 마이그레이션 전략
    • Graceful Degradation
    • Throtting
    • Backpressure
    • Loadshifting
    • Circuit Breaker
  • 차이점
    • 측정
    • 모니터링
    • 원격측정
  • 수평적 확장 vs 수직적 확장
  • 관찰 가능성을 고려한 확장
    • 문제가 발생시 문제를 디버깅하고 해결하는 데 도움이 되는 측정 로그와 기타 관찰 가능한 항목

👍 참고 사이트

0개의 댓글