2021 백엔드 개발자 로드맵

띠지·2021년 10월 16일
780
post-thumbnail

이 글은 roadmap.sh의 2021 버전 백엔드 개발자 로드맵을 번역한 글입니다.
해석이 잘못 되거나 어색한 부분이 있다면 지적해주시면 감사하겠습니다.
일부 주제에 삽입되어 있는 링크는 각 주제에 대해서 입문에 해당하는 내용 위주로 임의로 선정했습니다.

Notation

🔥 작성자가 추천하는 학습 대상

💧 대체 가능한 옵션

🌪 로드맵 순서에 구애 받지 않는 대상 (언제든지 배워도 되는 대상)

☁️ 작성자가 추천하지 않는 학습 대상


🔥 인터넷


🔥 기초 Frontend 지식

프론트엔드 개발, 뭐하는 직종이야?
HTML/CSS/JavaScript의 정의와 차이점


🔥 OS와 일반적인 지식

운영체제란?


언어 배우기

언어마다의 특이한 점을 파악할 것 (Make sure to learn its quirks)
언어의 runtime에 대한 핵심적인 디테일을 파악할 것
e.g. 동시성, 메모리 모델

  • 🔥 JavaScript
  • 💧 Python
  • 💧 Ruby
  • 💧 Java
  • 💧 C#
  • 💧 PHP

VCS (Version Control Systems, 버전 관리 시스템)

VCS가 무엇이며 왜 내가 사용해야 하는지


저장소 호스팅 서비스 (Repo hosting services)

계정을 만들고 GitHub의 사용법을 배우기

  • 🔥 GitHub
  • 💧 GitLab
  • 💧 Bitbucket

관계형 데이터베이스 (SQL)


비관계형 데이터베이스 (NoSQL)

SQL과 NoSQL의 차이

SQL vs NoSQL (MySQL vs. MongoDB)


데이터베이스 디테일


API


캐싱


웹 보안 지식


테스팅

유닛 테스트(Unit Test), 통합 테스트(Integration Test), 기능 테스트(Funcional Test)란?

  • 🔥 통합 테스트 (Integration Testing)
  • 🔥 유닛 테스트 (Unit Testing, 단위 테스팅)
  • 🔥 기능 테스트 (Functional Testing)

🔥 CI / CD

지속적 통합 / 지속적 제공에 대해서 배우기

CI/CD란 무엇인가 (Feat. DevOps 엔지니어)

[QA] CI/CD 란?


설계와 개발 원칙

SOLID원칙 (+DRY, YAGNI, KISS)


아키텍쳐 패턴


검색 엔진


🌪 메시지 브로커

Message Broker란?

Kafka(이벤트 브로커) vs RabbitMQ(메세지 브로커)

  • 🔥🌪 RabbitMQ
  • 💧 Kafka

컨테이너화 vs 가상화

컨테이너화, 도커의 장점

Docker는 무엇인가? 도커의 기초와 이미지 설치하고 사용

  • 🔥 Docker
  • ☁️ rkt
  • ☁️ LXC

🌪 GraphQL

GraphQL과 REST의 차이점

GraphQL 개념잡기


🌪 Graph Databases

  • 🌪 Neo4j

🌪 웹 소켓

실시간 양방향 통신에 대해서 배우기

웹소켓에 대해 알아보자


🌪 웹 서버

Apache냐 Nginx냐, 그것이 알고싶다.

HTTP 아파치 (Apache)란 무엇인가?

Nginx 이해하기 및 기본 환경설정 세팅하기

  • 🔥🌪 Nginx
  • 💧 Apache
  • 💧 Caddy
  • 💧 MS IIS

🔥 확장성을 고려한 빌딩

제품의 지속 가능성을 위해 배우고, 관심을 가져야 함

  • 🔥 마이그레이션 전략

    • 단계적 기능 축소 (Graceful Degradation)
    • 스로틀링 (Throttling)
    • Backpressure
    • 서킷 브레이커 (Circuit Breaker)
  • 차이점을 이해하기

    • Instrumentation vs Monitoring vs Telemetry
  • 🔥 수직적 확장 vs 수평적 확장

  • 🔥 관찰 가능성을 고려한 확장

    log를 남기고, 상태를 관측 가능한 아이템을 사용하는 방법 등을 통해
    문제 발생 시 디버깅을 돕고 이슈를 해결하도록 함

// Thanks to... 룡, 짱
next();
profile
백엔드 개발자(지망생!)

26개의 댓글

comment-user-thumbnail
2021년 10월 16일

정말 너무 유용한 포스팅 감사합니다 !!

답글 달기
comment-user-thumbnail
2021년 10월 16일

이런 개쩔탱 자료 감사합니다

답글 달기
comment-user-thumbnail
2021년 10월 17일

엄청 좋은글이네요 감사합니다.

답글 달기
comment-user-thumbnail
2021년 10월 18일

좋은 포스팅 감사합니다!! 잘 보고 갑니다

답글 달기
comment-user-thumbnail
2021년 10월 18일

와 ,, 정리가 쉽지 않으셨을텐데 대단합니다 ! 좋은 포스팅 감사합니다

답글 달기
comment-user-thumbnail
2021년 10월 18일

감사합니다!

답글 달기
comment-user-thumbnail
2021년 10월 18일

와웅

답글 달기
comment-user-thumbnail
2021년 10월 18일

역시 테크트리의 민족 ㅋㅋㅋ 감사합니다

답글 달기
comment-user-thumbnail
2021년 10월 19일

좋은 글 정말 감사합니다!!

답글 달기
comment-user-thumbnail
2021년 10월 19일

감사합니다. 공부하겠습니다.

답글 달기
comment-user-thumbnail
2021년 10월 22일

유용한 자료 감사합니다.

답글 달기
comment-user-thumbnail
2021년 10월 23일

우와 이렇게 정리를 디테일하게 해주시다니!! 감사합니다!!

답글 달기
comment-user-thumbnail
2021년 10월 23일

자료 감사합니다 !

답글 달기
comment-user-thumbnail
2021년 10월 25일

좋은 자료 감사합니다~~!

답글 달기
comment-user-thumbnail
2021년 12월 6일

유용한 자료 감사합니다!

답글 달기
comment-user-thumbnail
2021년 12월 28일

와 좋은 포스팅 감사합니다 .

답글 달기
comment-user-thumbnail
2022년 1월 4일

로드맵과 관련된 게시글까지 정리해주시니 감사합니다 ㄷㄷㄷ

답글 달기
comment-user-thumbnail
2022년 1월 27일

감사합니다!! 양식 참고해서 제 velog에 정리하려고 하는데 괜찮을까요?

1개의 답글
comment-user-thumbnail
2022년 2월 4일

좋은 자료 감사합니다!

답글 달기
comment-user-thumbnail
2022년 2월 14일

포스팅 감사합니다 엄청 도움 됐어요

답글 달기
comment-user-thumbnail
2022년 4월 24일

유용한 포스팅 너무 잘 보고 갑니다 !!

답글 달기
comment-user-thumbnail
2022년 8월 11일

정말 감사합니다 :)

답글 달기
comment-user-thumbnail
2022년 8월 22일

굉장히 공을 들여 작성한 소중한 자료라는 걸 딱 봐도 알겠어요! 감사하게 읽고 갑니다!

답글 달기
comment-user-thumbnail
2022년 9월 19일

유용한 자료 감사합니다 저도 백엔드 개발자가 되고싶어요!!

답글 달기
comment-user-thumbnail
2023년 3월 4일

와 대단하시네요! 유용하게 활용하겠습니다 감사합니다!

답글 달기