공부/서버

백엔드 로드맵 공부

오잎 클로버 2022. 5. 24. 12:45
728x90
 

백엔드 로드맵 공부

백엔드 로드맵과 관련된 이미지인데 해당 링크를 통해 다운로드 받으실 수 있습니다. 일단 현재 대소고에서 1년간 보내며 몇 가지 시도를 해보면서 백엔드 개발을 해보기로 결정했습니다.. (물

workshop-6349.tistory.com

위 글 내용을 보안하고자 글을 하나 더 작성합니다.

 

위 로드맵이 있더라도 백엔드 취업과 관련하여 갈피를 못 잡고 있는 제 자신을 보며, 글도 보안할 겸 앞으로 다시 공부해야할 것들을 조금 탄탄하게 작성하기 위해 작성하였습니다. 저와 같이 갈피를 못 잡거나 정확히 분야를 정하지 못한 분들께 조금이나 도움이 되시길 바랍니다.

(※필자는 자바와 스프링으로 주력으로 공부하고 있기때문에 그 위주로 작성하였습니다. 또, 신입을 기준으로 작성하였습니다. 참고해주세요.※)

기본기는 반드시 기본적으로 알아둬야한다고 생각하는 것들을 임의로 지정해두었고,

중요함기본기 다음으로 개발을 함에 있어 반드시 필요하다고 생각하는 것들을 임의로 지정해두었습니다.

선택는 회사에서 평가하는 역량들을 임의로 지정해두었습니다. (회사마다 평가기준은 각양각색인 것을 유의해주세요.)

기타는 말그대로 그외로 추가로 공부하면 좋은 것들을 임의로 지정해두었습니다.

 

요약: 기본기는 반드시 알야하는 것, 중요함기본기 다음으로 알아야하는 것들, 선택은 필수는 아니지만, 회사에서 평가하는 역량들

 

우선 CS부터 시작합니다.

CS 💻

  • Process와 Thread (기본기)
  • CPU Scheduling (중요함)
  • Synchronize(=동기화)와 DeadLock(=교착 상태) (중요함)
  • Memory (기본기)
  • Security (중요함)
  • 자료구조 및 알고리즘 (중요함)

Java ☕

  • Java 및 JVM 기초 (선택)
  • 변수, 연산자, 조건 및 반복문, 배열 등 기초들 (기본기)
  • 예외 처리, JCP(Java Colleciton Framework) (기본기)
  • Generic, Enum (기본기)
  • Thread (선택)
  • Lamdba & Stream (기본기)
  • Annotation (선택)
  • IO (기본기)
  • JVM 구조 (선택)
  • OOP 특징들 (다향성, 캡슐화, 상속, 추상화, 재사용성) (기본기)
  • 주요 디자인 패턴 (선택)
  • Network (중요함)

Database 💾

  • Database 이론 (기본기)
  • Data CRUD (기본기)
  • Data Relation(Join, 조건문, Dynamic Query) (기본기)
  • Table (기본기)
  • View (기본기)
  • Index (중요함)
  • Procedure (기타)

Git 🚀

  • Branch, PR, Merge, Commit (기본기)
  • Cherry Pick, rebase (기본기)

Spring 🍃

  • AOP (중요함)
  • PSA (중요함)
  • IoC, DI (중요함)
  • 웹 개발 및 REST API (중요함)
  • SpringBoot (기본기)
  • CRUD API (기본기)
  • MyBatis (기타)
  • Exception Handling (기본기)
  • 외부 API 연동 (RestTemplate, Feign, WebClient) (기본기)
  • Logging (기본기)
  • Swagger (기타)
  • 트랜잭션 (선택)
  • Test Code (선택)

JPA, Security, Spring Batch 🔐

  • JPA (Java Persistance API)
    • ORM (선택)
    • 영속성 관리(JPA 작동원리) (선택)
    • Entity (선택)
    • Entity의 Relation(선택)
    • Proxy (선택)
    • JPQL (선택)
  • Security & Spring Cloud
    • OAuth 2.0 (선택)
    • JWT (선택)
    • Docker (선택)
    • Cluster (선택)
    • MSA (선택)
    • Feign (기타)
  • Spring Batch
    • Batch Cron (기타)
    • Spring Batch 구조 (기타)
    • retry, data sync (기타)
    • Jenkins (기타)

※MyBatis와 JPA 둘 중 어느 하나라도 기본기 혹은 중요함으로 지정하지 않았지만, 둘 중 하나는 선택해야합니다.※

 

 

이상입니다.