본문 바로가기

Dot Programming/Java

2022년 자바 개발자 로드맵 (The 2022 Java Programmer RoadMap)

    해당 본문은 Javarevisited - javainpaul 번역 글입니다. 

    2022년 자바 개발자 로드맵 (The 2022 Java Programmer RoadMap)

    한층 더 전문적인 자바 개발자가 되기 위해 배워야 할 역량(기술, 툴, 프레임워크, 라이브러리 등)을 정리해 놓은 로드맵이다. 이 로드맵은 많은 사람들이 팔로우할 수 있도록 대중적이고 단순한 기술들만 포함되어 있다.

     

     

    2022년 자바 개발자 로드맵

     

    자바 개발자의 필수 역량 (Mandatory skill for any Java developers)

    먼저 자바 개발자의 필수 역량에 대해 알아보자. 이 필수 기술들은 자바 개발자 한정이 아니라 모든 개발자들에게 포함되는 내용이다.

     

    1. Git & Github

    가장 인기있는 버전 관리 시스템(VCS)중 하나이다. Git은 자바 개발자뿐만 아니라 개발을 하는 사람에게는 필수 역량이다. 프로그래머라면 Git, Github, Git 기초 개념(branch, master, checkout, checking, push, pull)과 Git 커맨드(git diff, git commit 등)에 대해 익숙해져야 한다.

    Git & Github 강의

    생활코딩 Github 강의

     


    2. Linux

    모든 프로그래머에게 Linux 커맨드는 “매우 중요”하므로 시간을 들여 학습하는 것이 좋다. 대부분의 Java 응용 프로그램은 서버 사이드이므로 Linux 서버에서 실행되는 경우가 많다. 그렇기 때문에 자바 개발자는 필수 Linux 개념 및 명령(파일, 디스크 공간 검사, 프로세스 관리 및 네트워킹 명령)에 익숙해져야 한다.

    Linux 강의

    생활코딩 Linux 강의

     


    3. 자료구조와 알고리즘 (Data Structures and Algorithms)

    자료구조와 알고리즘은 모든 프로그램의 기반이다. 자바 개발뿐만 아니라 다른 개발 분야에 있어서 이에 대해 높은 스킬을 갖고 있는 것은 필수이다. 최소한 이 정도는 알고 있어야 한다.

    • 자료구조 - array, linked list, hash table, binary tree, queue, stack, graph
    • 알고리즘 - 문제 해결 능력 (역주: 기본 알고리즘 스킬들로는 dp, bfs, dfs, 그리디, 정렬, 이진 탐색, 분할 정복, 최소 스패닝 트리 등이 있다.)

    자료구조와 알고리즘 강의

    실전 알고리즘 강좌 (나동빈, 유튜브)

    알고리즘 데이터 구조 기초 (노마드 코더, 유튜브)

    BOJ, 프로그래머스, LeetCode, Codeforces (알고리즘 풀이 사이트)

    (역주: 알고리즘, 자료구조는 밑에서 설명하는 JCF; 자바 프레임워크와 자료구조는 같이 공부해야 한다고 생각합니다. JCF를 모르면 자바로 제대로된 알고리즘을 구현할 수가 없습니다.)

     

     


    4. HTTP / HTTPS

    HTTP 프로톨은 웹의 중추이며, HTTP와 HTTPS에 대한 지식은 웹 개발자의 필수이다. 적어도 HTTP가 어떻게 동작하는지 그리고 HTTP 메서드들(GET, POST 등)의 차이점과 각 역할에 대해서는 알고 있어야 한다.

    HTTP / HTTPS 강의

    브라우저에 URL을 입력하면? 시리즈 4부작 (가장 쉬운 웹개발 with Boaz/ 유튜브; HTTP는 아니지만 브라우저 동작 과정을 너무 자세하게 설명해주셔서 첨부)

    모든 개발자를 위한 HTTP 웹 기본 지식 (김영한/ 유료 인프런 강의)

    HTTP 완벽 가이드 (데이빗 고울리, 책)

     


    5. CS 기초 (Computer Science Fundamentals)

    전 세계의 다양한 언어로 정보를 표시하는 글로벌 앱을 만들고 있다면 문자 인코딩(대표적으로 UTF-8)에 대한 지식이 있어야 한다.

    CS 기초 강의

    CS50 (데이빗 J.밀란/ 하버드 무료 강의)

    그림으로 배우는 HTTP & Network (우에노 센 저/ 책) 

    그림으로 공부하는 IT 인프라 구조 (야마자키 야스시/ 책)

    성공과 실패를 결정하는 1%의 네트워크 원리 (Tsutomu Tone/ 책)

     

     


    6. SQL

    백엔드 이슈를 해결할 때 도움이 되기 떄문에 모든 자바 개발자가 알아야 한다. SQL을 알면 저장 프로시저, 쿼리 DB를 이해할 수 있고 이슈의 원인이 자바 계층에서 발생했는지 DB 계층에서 발생했는지 구분할 수 있다.

     

    SQL은 자바 개발자든 파이썬 개발자든 모든 프로그래머들에게 배우기를 강력히 추천한다. SQL은 진입장벽도 매우 낮고(배우기 쉽다) 개발 경력내내 도움이 되는 기술 중 하나이다.

    SQL 강의

    SQL 첫걸음 하루 30분 36강으로 배우는 완전 초보의 SQL 따라잡기 (아사이 아츠시/ 책)

     


    7. Design Patterns

    There is no doubt that every programmer should know Git and Github as they are the standard in terms of version control and code repository. If you want to learn and master Design Patterns, particularly OOP Design patterns then I suggest you join the Design Patterns in Java course by Dmitri Nestruk on Udemy. This is a great course to learn the modern implementation of classic design patterns in Java.

     

    Git과 Github은 버전 관리 및 코드 저장소 측면에서 표준이므로 모든 프로그래머가 알아야 한다는 것은 의심의 여지가 없다. 디자인 패턴, 특히 OOP 디자인 패턴을 알기 위해서는 해당 강의를 참여하는 것이 좋다. 자바의 고전적인 디자인 패턴에 대해 현대식 구현을 배우기에 좋은 강의이다.

    (역주: 본문 글이 이상하다. 디자인 패턴은 소프트웨어를 설계할 때 특정 문맥에서 공통적으로 발생하는 문제에 대한 재사용 가능한 해결책이다. 앱이나 시스템을 디자인할 때 공통된 문제들을 해결하는데에 쓰이는 템플릿이라고 보면 된다. 필수 역량은 아니지만 기본 패턴(싱글턴, 팩토리, 빌더 등) 알아두는 게 좋다고 생각한다. )

     

    OOP 디자인 패턴에 대한 베스트 책들을 추천한다. (해당 글에서 GoF책은 Bible이지만 너무 건조하고 학문적이라 한다. 그래도 GoF는 필수)

    1. Head First Design Patterns
    2. Design Patterns: Elements of Reusable Object-Oriented Software
    3. Head First Object-Oriented Analysis and Design
    4. UML for Java Programmers By Uncle Bob
    5. Java EE Patterns and Best Practices

    디자인 패턴 강의

    자바 디자인 패턴의 이해 - Gof Design Pattern (가람, 인프런 무료 강의)

    코딩으로 학습하는 GoF의 디자인 패턴 (백기선, 인프런 유료 강의)

     

    The 2022 Java Developer RoadMap

    위의 기초 역량들을 학습했다면 이젠 2022년 자바 개발자 로드맵을 살펴보면서 고급 자바 개발자가 되기 위해서는 어떤 툴, 프레임워크, 라이브러리, APIs, 스킬을 배워야하는지 알아보자.

     

    1. Tools

    Tool은 여러 섹션으로 나뉜다.

     

    가장 먼저, IDE는 주요한(primary) 툴이다. IDE(통합개발환경)은 개발할 때 필요한 거의 모든 작업(컴파일, 실행, 디버그, profile, 테스트, 파일 및 코드 비교. 리팩토링 등)을 수행할 수 있다.

     

    1.1 IDE

    자바 개발자의 경우 주로 Eclipse, intellijIDEA 두 가지 IDE를 사용한다. 이 둘 중에서 하나를 골라서 사용하면 된다. 저자의 경우 Eclipse를 가장 많이 사용했지만 현재 intellJIDEA에서 작업하고 있기 때문에 둘 다 좋아한다고 한다. 하지만 현재 대부분 자바 개발자는 intelliJIDEA를 사용하고 있다.

    IDE 강의

    웹 애플리케이션 개발을 위한 IntelliJ IDEA 설정 (Dowon Lee, 인프런 무료 강의)

    웹 애플리케이션 개발을 위한 IntelliJ IDEA 설

    1.2 빌드 툴

    두 번째는 빌드 툴이다. 자바에서 빌드 툴은 MavenGradle 이 두 가지가 대표적이다. 자바 프로젝트를 배포하려면 일단 빌드부터 해야하는데 빌드 툴이 이를 대신해준다. Ant라는 빌드 툴은 레거시 프로젝트를 위한 것이다. 최신 자바 프로젝트는 Gradle을 선호하는데 이유는 Maven보다 훨씬 간결하기 때문이다.

    빌드 툴 강의

    소스 코드 빌드 및 배포 자동화 (박재성, 유튜브 강의. 역주: 빌드 툴 강의는 아니고 maven으로 배포하는 라이브 코딩 강의이다. 전문적으로 gradle과 maven만 다루는 강의는 찾기 힘들다. 그냥 플젝해보면서 그때그때 배우는 게 좋을 것 같다.)

     

    1.3 컨테이너와 DevOps 툴

    세 번째이자 가장 중요한 부분은 Dokcer 및 Kubernetes와 같은 컨테이너와 Jenkins 및 TeamCity와 같은 CI/CD 도구이다. Ansible과 같은 인프라 자동화 도구도 포함된다.

     

    이 중에서 Docker가 가장 중요하다. 개발 환경을 쉽게 설정할 수 있을 뿐만 아니라 Java Microservices를 더 쉽게 배포할 수 있기 때문이다.

     

    Kubernetes는 차세대 도구(next-level tool)이다. 사실 아직 모든 자바 개발자에게 요구하는 필수 지식은 아니다. 특히 현재 자신이 DevOps에 있지 않고 확장 및 배포와 같은 작업을 관리하는 것이 아니라면 지식 관점에서만 알고 있는 것이 좋다.

     


    2. Java APIs

    다음으로 배워야 할 중요한 스킬은 JDK API들이다. JDK API는 자바 개발자에게 정말 매우 중요하다. 그만큼 큰 이 섹션은 총 4개로 자바 컬렉션 프레임워크, 자바 동시성, 자바 IO, 자바 8 API로 나눴다.

    자바 강의

    자바의 정석  3rd Edition (남궁성, 책)

    생활 코딩 자바 입문 강의

     

    2.1 자바 컬렉션 프레임워크(JCF; Java Collections Framework)

    JCF는 모든 자바 개발자들이 배워야 하는 가장 필수적인 Java API 중 하나이다. 이 API는 표준 자료구조 구현 형태를 자바 형식으로 제공한다. 대표적으로 linked list, set, stack, queue, hash table, priority queue 등이 있다.

     

    그리고 ArrayList, HashMap, HashSet, LinkedList, LinkedHashSet, TreeSet와 같은 모든 객체들에 대해서 알고 있어야 한다. 그리고 이에 대해 각각 모두 정의할 수 있어야 한다.

    • 예로, ArrayList는 resizing이 가능한 동적 배열을 가지고 있고, HashMap은 Hash table의 표준 구현체이고 중복될 수 없는 key를 가지고 <key, value> 형태로 저장한다. 비슷하게 HashSet의 set 인터페이스의 구현체가 있는데 이는 중복 원소를 저장할 수 없다.

     

    JCF 구조

     

     

    2.2 자바 동시성 (Java Concurrency)

    자바 컬렉션 다음으로 가장 중요한 API는 자바 멀티쓰레드와 동시성이다. 저자는 확고한 믿음으로 유능한 자바 개발자가 되기 위해서는 자바 동시성 API에 대한 정말 탄탄한 이해와 이에 대한 명령어들을 알고 있어야 한다고 한다.

     

    Thread, Runnable, 객체 lock, 동기화(Synchronization)과 같은 기초 개념에 대해 깊게 공부해야 하고 추가로 deadlock, livelock, 경쟁 상태(race condition)를 익숙하게 다룰 수 있어야한다.

    • 역주: 동시성 문제는 전세게적으로 데이터 증가함에 따라 그 많은 데이터를 처리하기 위해서 꼭 사용해야 하는 필연적인 기술이다. 그리고 경쟁 상태가 많은 동시성에 대한 한계로 경쟁 상태가 다소 적은 함수형 프로그래밍이 Java8에 도입된 것이다.

     

     

    2.3 자바 입출력 (Java IO)

    100명이 넘는 자바 개발자들을 인터뷰해보면서 하나의 패턴을 발견했는데 그들은 자바 IO와 NIO API에 대한 지식이 JCF나 멀티쓰레딩 API에 비해 부족했다. 많은 사람들이 두 API를 공부하는 데 더 많은 시간을 쓰는 것은 이해하지만 그 뒤에 있는 이 중요한 IO API를 몰라서는 안된다.

     

    코어가 자바인 애플리케이션을 실제로 가지고 있다면 분명히 자바 IO API의 핵심인 java.io에 있는 File, InputStream, OutputStream, Reader, Writer가 필요했을 것이다. 비슷하게 소켓 기반 애플리케이션을 만들었다면 java.nio에 있는 ByteBuffer, FileChannel, Selector 그 외에도 다른 중요 클래스들을 사용했을 것이다.

     

    2.4 Java 8 기능들

    이제 다음으로 또 필수 API인 Java8 기능을 배워야 한다. Java8 기능은 현재 Java언어의 코딩 방식과 프로그래밍되는 방식을 완전히 바꿔놨다. 2022년 자바 개발자가 되려면 Lambda 표현식, Stream API, Optional 클래스, 새로운 Date and Time API 사용법에 대해 알아야 한다.

     

    위 API들을 모르면 2022년에 자바 애플리케이션을 만드는 데 많은 어려움을 겪을 것이다. 또한 대부분의 라이브러리는 이제 Java8보다 낮은 버전 지원을 중단하고 있다. 즉, 나중에는 무조건 Java8을 배워야한다는 소리이다. Java8이 출시된지 벌써 5년이 지났다. 자바 개발자로서 이에 대해 모른다면 이젠 변명의 여지가 없다.

    자바 8 기능 강의

    모던 자바 인 액션:람다 스트림 함수형 리액티브 프로그래밍으로 새로워진 자바 마스터하기 (라울, 책) 

     

    Java8에 대한 핵심 기능들을 배우면서 가능하다면 모듈과 같이 자바9부터 17까지 도입된 새로운 기능에 대해서도 공부하자.


     

    3. 프레임워크

    자바의 큰 장점은 활기찬 생태계가 있다는 것이다. 즉, 거의 모든 것을 위한 많은 프레임워크가 라이브러리가 있다. 일반적으로 자바 개발자가 자신의 프로젝트에서 프레임워크를 사용해야할 때 까지는 굳이 프레임워크에 대해 공부하지 않아도 된다고 생각한다. 그럼에도 모든 자바 개발자가 꼭 알아야한다고 생각하는 프레임워크와 라이브러리가 있는데 바로 Spring, Spring Boot, Hibernate, Log4j, JUnit이다.

     

    3.1 스프링 프레임워크

    2022년 자바 개발자가 되고 싶다면 스프링 프레임워크를 먼저 배우길 강력히 추천한다. 이것은 가장 인기 있는 자바 프레임워크 중 하나이며 말 그대로 지난 5년 동안 작업한 거의 단일 자바 애플리케이션은 이 프레임워크를 사용하고 있다.

     

    스프링 프레임워크는 DI, IOC와 같은 기능을 제공하여 테스트나 유지 보수가 용이한 클린 코드를 작성할 수 있도록 도와준다. 또한 수 많은 일상적인 작업(day-to-day tasks)을 위한 풍부한 API가 있으므로 모든 자바 개발자는 스프링 프레임워크를 배워야 한다.

    스프링 프레임워크 강의

    스프링 프레임워크 입문 (백기선, 인프런 무료 강의)

    스프링 프레임워크 핵심기술 (백기선, 인프런 유료 강의)

    스프링 프레임워크 ALL (뉴렉처, 유튜브)

    스프링 인 액션: 스프링 5의 강력한 기능과 생산성을 활용한 웹 애플리케이션 개발 (크레이그 월즈, 책)

     

    3.2 하이버네이트 (Hibernate)

    두 번째 프레임워크는 JPA(Java Persistence API)를 기반으로 하는 Hibernate이다. 정확히는 Hibernate가 JPA보다 먼저 나왔지만 JPA는 Java에서 Persistence 계층을 구현하기 위한 표준 API이기 때문에 Hibernate에서 구현한다.

     

    왜 Hibernate를 배워야 할까? 우리가 작업하게 될 대부분의 자바 애플리케이션은 DB와 상호작용할 것이다. JDBC를 사용하고 Hibernate와 같은 적절한 프레임워크없이 자바에서 DB를 사용하는 일은 지옥을 맛 보게 될 것이 분명하다.

     

    Hibernate는 즉시 꺼내어 사용할 수 있는(out-of-the-box) 캐싱 및 트랜잭션과 같은 필수 기능을 제공해준다. 그래서 캐싱같은 기능을 직접 구현하는 것보다 Hibernate를 사용하면 애플리케이션 로직에 더 집중할 수 있다. 이는 자바 애플리케이션의 성능을 월등히 향상시켜주며 우리가 지금까지 Hibernate를 사용하고 있는 주된 이유이다.

     

     

    3.3 스프링 부트 (Spring Boot)

    2022년 그리고 앞으로도 모든 자바 개발자에게 배우도록 권장하고 있는 프레임워크이다. SpringBoot는 Spring의 단순한 철학을 갖고 Spring 자체를 작업하기 쉽게 만들었다. Spring이 자바 애플리케이션을 쉽게 만들 수 있게 하는 것처럼 SpringBoot는 Spring기반 자바 애플리케이션을 더 쉽게 만들 수 있게 한다.

     

    자동 구성(auto-configuratio)과 같은 기능은 Spring 애플리케이션 구성과 관련된 많은 골칫거리들을 처리해준다. 비슷하게 starter POM기능은 일반적으로 사용되는 종속성을 재사용 가능한 POM으로 그룹화했다.

     

    3.4 자바 마이크로서비스 프레임워크 - MicroProfile, Micronaut, Quarkus

    Spring Boot 및 Spring Cloud를 배우는 것만으로도 Java에서 마이크로서비스를 개발하기에 충분하지만 Eclipse의 Microprofile, Micronaut 및 Quarkus와 같은 몇 가지 고급 프레임워크가 더 찾아볼 수 있다.

     

    3.4.1 Quarkus

    Quarkus는 요즘 유망한 프레임워크 중 하나이다. 이는 동급 최고(best-of-breed) 자바 리이브러리와 표준으로 제작된 OpenJDK HotSpot 및 GraalVM에 맞춘 Kubernetes 네이티브 자바 스택을 지녔다. Quarkus는 GraalVM 및 Hotspot이 빠른 부팅 시간과 매우 낮은 RSS 메모리(단지 힙 뿐만이 아니다)를 얻기 위해 우리의 애플리케이션을 조정해준다.

     

    또한 컴파일 타임 부팅이라는 기술을 사용하여 Kubernetes와 같은 컨테이너 오케스트레이션 플랫폼에서 즉각적인 확장성과 고밀도 메모리 활용도를 제공한다.  또한 Quarkus용 애플리케이션을 개발할 때 친근한 명령형 코드와 논블로킹 리액티브 스타일을 모두 사용할 수 있다.

     

    3.4.2 Eclipse Microprofile

    Eclipse Microprofile은 마이크로서비스 아키텍처용 엔터프라이즈 자바를 최적화하는 것을 목표로 하는 이니셔티브이다. 이는 이름 그대로 인기있는 Eclipse IDE를 지원하는 자바를 선도하는 조직 중 하나인 Eclipse에서 주도하는 프로젝트이다.

     

    Eclipse Microprofile의 목표는 마이크로서비스를 구축하기 위한 표준 API를 정의하고 여러 MicroProfile 런타임에 걸쳐 이식 가능한 애플리케이션(portable application)을 제공하는 것이다.  Eclipse Microprofile의 현재 버전은 3.2이며 2022년에 배우기 유용한 자바 프레임워크이다.

     

    3.4.3 Micronaut

    Micronaut은 2022년에 배울 수 있는 또 다른 Java 프레임워크로, 쉽게 테스트할 수 있는 모듈식 마이크로서비스 및 서버리스 애플리케이션을 구축하기 위한 최신 JVM 기반 풀 스택 프레임워크이다.

     

    다중 언어 프레임워크이며 Java, Kotlin 또는 Groovy를 사용하여 애플리케이션을 만들 수 있다. Micronaut에서 생각하는 주요 요점은 시작 시간 단축(startup time), 초고속 처리량(blazing-fast throughput) 및 최소 메모리 공간 사용(minimal memory footprint)이다.

     


    4. Testing

    Testing (특히 단위 테스트, 통합 테스트, 자동화 테스트)는 모든 자바 개발자가 지녀야 할 필수 기술이다. 대표적으로 가장 인기있는 단위 테스트 JUnit과 Mock라이브러리를 지닌 Mockito는 능숙하게 다룰 수 있어야 한다.

    이 두 가지(JUnit, Mockito)를 알고 이를 사용하여 단위 테스트를 효과적으로 만드는 방법을 안다면 더할나위 없이 훨씬 더 나은 자바 개발자가 될 것이다.

    • 비즈니스 중심 테스트용 Cucumber, 통합 테스트용 Robot 프레임워크와 같은 고급 라이브러리도 있지만 이들이 JUnit을 대체할 수는 없다. JUnit은 항상 필요하다.

     

    모의(Mocking) 라이브러리와 관련하여 PowerMock, Mockito 및 EasyMock과 같은 몇 가지 선택 사항이 있다. 그래도Mockito를 배우는 것을 강력히 추천한다. 왜냐하면 Mockito의 커뮤니티는 훨씬 방대하고 많은 커뮤니티와 회사가 Mockito를 사용하고 있기 때문이다.

    Testing 강의

    더 자바, 애플리케이션을 테스트하는 다양한 방법 (백기선, 인프런 유료 강의)

     


    5. Utility Libraries

    자바의 진정한 힘은 활발한 오픈 소스 라이브러리 생태계에 있다. 머신러닝에서 로깅하기, JSON으로 파싱해서 HTTP 요청 보내기 등 자바 라이브러리에서 거의 모든 작업을 찾아낼 수 있다.

     

    그 외에도 Java는 운이 좋게도 Apache Commons 및 Google Guava와 같은 유틸리티 라이브러리를 가지고 있다. 이 두 라이브러리는 JDK 라이브러리를 효과적으로 보완한다.

     

    추가로 20 Java APIs and libraries 목록을 공유한다. 이 목록을 한번 살펴보자. 이미 그 중 절반을 알고 있을 수 있지만 이 API들을 모르고 지나치기에는 매우 유용하며 더 나은 자바 프로그램을 작성할 수 있게 해주고 빠르게 만들어준다.

     


    6. Database

    데이터베이스 접근(Database access)는 많은 자바 애플리케이션에서 중요한 부분이다. 고맙게도 자바에는 모든 관계형 데이터베이스와 편리하게 연결할 수 있는 JDBC(Java Database Connectivity)가 있다.

     

    앱 개발자는 모든 공급업체(vendors)가 해당 API 구현체를 제공하기 때문에 API만 알고있으면 된다. jar 파일을 클래스 경로에 포함하기만 하면 코드가 제대로 작동한다.

     

    그건 그렇고 JDBC가 유일한 옵션은 아니다. 자바로 SQL 쿼리를 작성하는 데 도움을 주는 JQQQ와 같은 오픈 소스도 있다. JQQQ는 데이터베이스에서 자바 코드를 생성하고 이 능동적인 API를 통해 타입 안전(type-safe)한 SQL 쿼리를 제공한다.

     


    7. Desktop and Frontend

    자바는 GUI 클라이언트 개발을 위한 API로는 Swing과 Java FX이 있다. Swing은 몇 년 전까지만 해도 정말 인기가 있었지만 지금은 C#이 주도하고 있다. 하지만 Java FX는 계속해서 인기를 유지고하고 있다.

     

    유명한 자바 에디터 중 하나인 NetBeans와 같은 GUI 애플리케이션을 개발하고 싶다면 Java Fx를 배우면 된다. Swing기반 거래 GUI를 유지 관리하는 데 매달 수천 달러를 지불하는 은행에서 일하지 않는 이상 Swing에 대해 배우는 것은 추천하지 않는다.

     


    REST, SOAP 

    그런 REST API로 괜찮은가 (이응준, naver d2; 역주: 추가로 본문에 REST, SOAP에 관련된 글이 없길래 REST에 대해 다루는 좋은 영상 링크 첨부)

     

    추가로 REST에 대한 개발자 커뮤니티를 친절히 번역해준 블로그 글

    REST 시리즈 (1~7)

    1. 긴 여정의 시작
    2. HTML Form에서 GET/ POST만 지원하는 이유
    3. REST 논문 훑어보기
    4. REST 좋아하시네
    5. Roy가 입을 열다
    6. 당신이 만든 건 REST가 아니지만 괜찮아

     

    끝. Java Developer RoadMap 2.0?

    여기까지 2022 Java 프로그래머 및 개발자 로드맵이었다. 2022년에 더 나은 자바 개발자가 되기 위해 좋은 참고자료가 되었으면 좋겠다. 많은 사람들이 따라할 수 있도록 간단하게 정리하고 중요한 내용만 포함했다.

     

    자바 생태계는 방대하고 중요하지만 이 글에서는 메시징과 같이 다루지 않은 몇 가지 영역들이 있다. 그래서 만약 Java Developer RoadMap 2.0을 포스팅하게 된다면 JVM internals, Profiling, Modules, Cloud Native Java, Containers, Messaging, JNI 등에 대해 추가할 계획이다.

     


    출처

    https://medium.com/javarevisited/the-java-programmer-roadmap-f9db163ef2c2

     

    추가로 다른 로드맵

    https://roadmap.sh/java

    https://roadmap.sh/backend