Programming/스프링 부트(Spring Boot)

[Spring Boot] - 001 Spring Boot 개발자 로드맵

귀찮은 개발자 2024. 3. 26. 21:56

2020년에 Flutter 개발자로 입사한 회사에서 기술 이사님의 추천으로 스프링부트 프로젝트를 경험할 수 있는 기회가 생겼다.

마침 내일모레가 추석 연휴이기 때문에 충분히 공부할 시간이 주어져 패스트캠퍼스의 스프링부트 강의를 통해 부족한 부분을 공부했다. 

 

추석 연휴가 끝나고 회사에 출근하니 온보딩을 담당해 준 선임의 말로는 스프링부트가 아닌 스프링 프로젝트라 하였다.

당시 스프링을 모르는 상황임에도 참고할 수 있는 코드와 스프링 부트를 통해 공부한 내용이 도움이 되어 프로젝트가 잘 되었고 일반적으로 많이 알려진 MVC 패턴, DTO, VO, MyBatis 등 러닝커프가 심하지 않은 기술을 사용하여 요구사항을 비즈니스에 잘 녹여 마무리할 수 있었다.

약 3년이 지난 지금, 그 프로젝트는 순조롭게 잘 진행되어 그런지 떠오르는 것이 없어 아쉽다.

이참에 그때의 기억도 회상할 겸 스프링부트를 처음부터 공부하며 마침표로 프로젝트를 해보려 한다.

 

주로 활동하던 관심사가 아니다 보니 올바른 방향의 학습을 위해 2024 자바 및 스프링부트 로드맵을 통해 공부 계획을 세워 보려고 한다. 대학에서 배웠거나 별로 안 중요한건 패스하려고 했으나 Roadmap 에 있는건 다 중요해 보인다.

Java Developer Roadmap

Step by step guide to becoming a Java developer in 2024 (https://roadmap.sh/java)

 

Learn to become a modern Java developer

Community driven, articles, resources, guides, interview questions, quizzes for java development. Learn to become a modern Java developer by following the steps, skills, resources and guides listed in this roadmap.

roadmap.sh

1. Learn the Fundamentals

  • Basic Syntax
  • Data Types, Variables
  • Conditionals
  • Functions
  • Loops
  • Exception Handling
  • DataStructures 
  • OOP, Interfaces, Classes
  • Packages

2. Getting Deeper

  • Generics
  • Streams
  • How JVM works?
  • Garbage Collection
  • Basics of Threads
  • Memory Management
  • Collection Framework
  • Serialization
  • Networking & Sockets

3. Build Tools

  • Gradle
  • Maven
  • Ant

4. Web Frameworks

  • Spring
  • Spring Boot
  • Play Framework
  • Spark

5. ORM

  • JPA
  • Spring Data JPAE
  • Hibernate
  • Bean

6. Logging Frameworks

  • Logback
  • Log4j2
  • TinyLog

7. JDBC

  • JDBI3
  • JDBC Template

8. Testing your Apps

Unit Testing 

  • JUnit
  • TestNG

Integration Testing

  • REST Assured
  • JMeter

Behavior Testing

  • Cucumber-JVM
  • Cukesm
  • JBehave

Spring Boot Developer

Step by step guide to becoming a Spring Boot developer in 2024 (https://roadmap.sh/spring-boot)

 

Learn to become a modern Spring Boot developer

Community driven, articles, resources, guides, interview questions, quizzes for spring boot development. Learn to become a modern Spring Boot developer by following the steps, skills, resources and guides listed in this roadmap.

roadmap.sh

 

1. Spring Core

  • Configuration
  • Dependency Injection
  • Spring IOC
  • Spring AOP
  • Spring MVC
  • Annotations
  • Spring Bean Scope

Introduction

  • Terminology
  • Architecture
  • Why Spring?

2. Spring Security

  • Authentication
  • Authorization
  • OAuth2
  • JWT Authentication

3. Spring Boot Starters
4. Autoconfiguration
5. Actuators
6. Embedded Server

7. Hibernate

  • Transactions
  • Relationships
  • Entity Lifecycle

8. Spring Data

  • Spring Data JPA
  • Spring Data MongoDB
  • Spring Data JDBC

9. Microservices

  • Spring Cloud
  • Spring Cloud Gateway
  • Cloud Config
  • Spring Cloud Circuit Breaker
  • Spring Cloud OpenFeign
  • Hystrix
  • Sleuth
  • Eureka

10. Spring MVC

  • Servlet
  • JSP Files
  • Architecture
  • Components

11. Testing

  • JPA Test
  • MockMVC
  • @SpringBootTest Annotation
  • @Mockbean Annotation