📌 주특기 입문 학습 가이드
학습 목적
Java 심화
- JVM을 이해함으로써 Java 코드가 어떻게 Java 프로그램으로 만들어지고 실행 되는지 알 수 있습니다.
- 메모리와 실행 엔진을 이해함으로써 메모리 누수를 고려할 수 있으며, 내가 작성한 코드가 클래스로 컴파일되는 과정을 이해할 수 있습니다.
- Java 인터페이스를 이해함으로써 동일한 목적 하에 동일한 기능을 수행하도록 인터페이스를 알맞게 설계 할 수 있습니다.
- 스트림을 이해함으로써 배열 및 컬렉션을 데이터의 흐름에 맞게 코드를 작성하여 가독성을 높일 수 있습니다.
- Optional을 이해함으로써 Null 에러를 비교적 손쉽게 다룰 수 있습니다.
- 테스트 코드 작성 방법을 이해함으로써 JUnit 이라는 단위 테스트 비서를 둘 수 있습니다.
- 미니 프로젝트 코드 개선하기를 하면서 Java 심화에서 배운내용들을 프로젝트에 적용 해볼 수 있습니다.
Spring
- 입문
- 웹의 구조와 동작 방식에 대해 이해하면서 Spring 개발을 위한 기본지식을 쌓고 넘어갑니다.
- Spring 및 SpringBoot 의 사용방법에 대해서 계층별로 나누어서 이해할 수 있습니다.
- Database와 SQL 사용법을 이해함으로써 데이터를 어떻게 저장하고 수정하고 불러올지 알 수 있습니다.
- JPA를 사용하여 데이터 베이스 관리의 어려운점을 해결하는 방법을 알 수 있습니다.
- Project Memo로 메모장 프로젝트를 만들면서 Spring 기반으로 프로젝트를 생성하고 API, DB, JPA 등의 개념 및 기술을 적용하는 실습할 수 있습니다.
- 숙련
- JPA 심화에서는 JPA의 원리와 내부동작을 조금더 살펴봄으로써 더 편하게 개발할 수 있습니다.
- Project MySelectShop 에서 네이버 쇼핑의 Open API 기능을 사용하여 네이버에 있는 상품을 검색하고 저장하는 멋진 서비스를 만들 수 있습니다.
- 심화
- Spring Security 를 적용하여 비밀번호를 암호화 하고 API 접근권한을 제어하는 방법을 배우고 적용할 수 있습니다.
- 숙련 과정에서 만들었던 Project MySelectShop 에 Spring Security 및 JWT 인증방식을 적용하고 소셜로그인(카카오 로그인)을 적용 해볼 수 있습니다.
- Spring Test 의 JUnit 을 통해 단위 테스트 코드를 작성하고 Mock 을 생성하여 활용하는 방법을 알 수 있습니다.
- Spring AOP 개념을 통해 부가기능에 대한 코드를 분리해서 따로 공통적인 처리를 하도록 할 수 있습니다. (부가기능의 모듈화)
- Spring 에서 발생하는 Exception 예외처리에 대해서 구분하여 관리 및 대응할 수 있도록 차이점을 알 수 있습니다.
- Spring 에 Transaction 이 필요한 이유를 이해하고 어떻게 활용하는지 이해할 수 있습니다.
학습 목표
Java
Spring