helloJuntaekMb

About Me

Roadmap

  • 회사에서 학습해 나가고 싶은 방향

목표

참고 : 좋은 소프트웨어의 설계의 특성

  • 링크를 참고해 3개 정도 압축해봤습니다.
  1. 유지보수가 용이한
    • 이해하기 쉬운, 수정이 용이한, 관리가 용이한, 재사용이 용이한
  2. 잘 작동하는
    • 높은 안전성
  3. 신뢰할 수 있는
    • 테스트가 용이한

소프트웨어를 만드는 것이 목표입니다. 이를 위해 배워야 한다고 생각하는 것들을 밑에 적어봤습니다.

학습 로드맵

깃허브 링크

  • 깃허브 링크의 Java Web Back-end에서 줄기 부분에서 관심 있는 부분에 대해 작성했습니다.
  • 순서는 먼저 배울 생각이 있는 순서대로 작성했습니다.
  1. Modern Java (8, 9, 10)
    • Functional Programming(자바 8 기본 함수 사용, 병렬 프로그래밍에서의 성능 차이에 대한 이해) -> Reactive Programming(심화?, WebFlux/RxJava..)
  2. TDD
  3. Spring
    • MVC, Core, Rest api etc...
  4. 객체지향(심화?)
    • DDD(Domain Driven Developing)
    • Clean Architecture
  5. Software Development Process
    • CI/CD : Jenkins
    • Agile, Scrum, Lean
  6. Common Topic
    • Authentication
    • Security
    • Fault Tolerance : Scaling
    • Caching
  7. More Web Architecture Components
    • Docker Container
    • elasticsearch
    • Kafka
    • Redis
    • WebSocket
    • Spring Batch

하나의 프로젝트에서 학습 후 적용하는 방식으로 생각하고 있습니다. 굳이 순서를 따르지 않아도 되지만, 6,7번은 언제든 배워도 되는 주제라 생각하고 나머지는 프로젝트 들어가기 전 시간이 있을 때 배워야 하는 주제라고 생각합니다.

추가 관심 분야

  • Shell Script, OS
  • HTTP/네트워크
  • AWS Architecture