
마크다운 (Mark Down Language) 사용법과 git 사용법

프로그램과 자바, 자료형과 메모리, 자바의 연산자

제어문, 함수, OOP의 특징 일부

객체 지향 OOP의 특징, 객체, 클래스, 인스턴스, 스코프, 상속과 추상 클래스

추상 클래스, interface, 내부 클래스 외부 클래스

static 내부 클래스, Object, 동일성, 동등성, Comparable, Comparator, 어노테이션

예외와 에러, Generic, Optional

람다 표현식, 가변인자, Consumer, Runnable, Function, Supplier 인터페이스, 자료구조 (배열, 리스트, 스택, 큐)

자료구조 : 배열, ArrayList, LinkedList, Stack, Queue, Map, Hash, HashMap

Iterator, Stream, 네트워크, OSI 7계층(물리계층, 데이터링크계층, 네트워크 계층), TCP/IP

네트워크, 프로토콜(OSI 계층, TCP/IP), OSI 7계층 (물리계층, 데이터링크계층, 네트워크 계층, 전송 계층), 웹, 웹서버, WAS, HTTP, HTTPS, 데이터베이스

데이터베이스, RDBMS, SQL

SQL 구문 (복습할 것들)

실습하면서 알게된 자바 문법, MVC 패턴(Model-View-Controller), 레이어드 아키텍처 (Controller, Service, Repository), isEmpty(), isNull(), isBlank()

쿠키와 세션, 싱글톤 패턴, volatile, synchronized 키워드, 람다식 보충, INNER JOIN , LEFT JOIN,

Git과 Github 특강

Spring Framework, 의존성 주입, 제어의 역전, 관점 지향 프로그래밍, Spring Container, 서블릿과 서블릿 컨테이너, JSP, Spring, Discpatcher Servlet, SpringBoot, SOLID 5대 개발 원칙

Spring AOP 관점 지향 프로그래밍, 핵심 관심사, 횡단 관심사, Aspect, Advice, Point cut 등 핵심 개념, 프록시 패턴, JDK 동적 프록시, CGLIB 프록시, 실습 코드

ProxyFactory, Aspect 적용 예제, SpringBoot Controller 예제, application.properties, application.yml

Springboot 예제 (의존성 주입 방법), HTML (구성요소, 구조, 메타데이터 태그, 본문 태그, emmet) CSS (설명, 구조)

CSS(설명, 구조, 선택자, 결합자, 선언자, 캐스캐이딩, 디스플레이, 박스모델, 블록 속성, 인라인 속성, 인라인 블록, 레이아웃(플렉스, 그리드), 미디어 쿼리), Thymeleaf (템플릿 엔진, 타임리프 네임스페이스 속성, 표현식)

타임리프 (Layout, Fragment), 타임리프 실습

JavaScript, 동기, 비동기

Spring Data, JDBC, JDBC 드라이버, 데이터베이스 커넥터, ORM, JPA, Hibernate, EntityManager, Persistence Context, Entity 생명주기

엔티티매니저, 엔티티매니저의 기능 (1차 캐시, 쓰기 지연 저장소, 변경 감지), 스냅샷, flush(), 매핑 (어노테이션) Id 생성 전략, 연관관계 (방향, 다중성, 연관관계 주인), 실습 복습

JDBC를 활용해 Java로 CRUD SQL 쿼리 짜는 실습

JDBC 연결 + 트랜잭션 실습, MyBatis 실습, 빌더 패턴

MyBatis 실습 (Mock 객체로 테스트, when), Hibernate 실습 (어노테이션, DDL-auto 설정, EntityManager), Springboot 없이 Hibernate 실습

JPA실습 persistence.xml (SQL 로그, DDL-auto 설정), Runnable 을 이용한 utility 함수 만들기, Select Test (merge), 연관관계 설정, 지연로딩 (프록시 패턴), 영속성 전이

Hibernate 실습 (JPQL), SpringBoot + Hibernate 실습, Spring Data JPA 실습(JpaRepository), QueryDSL(JPAQueryFactory)

Spring Security (필터, 인증과 인가), Spring Security 구성, Security 설정, WEB 보안, SecurityConfig 실습

Role과 Authority, OAuth 2.0 인증 기반 실습

OAuth 인증 (카카오, 네이버 추가), MemberDetailsFactory, JWT 실습(SecurityConfig 설정)

JWT 방식 실습 (JWT 토큰 issue, ConfigurationProperties, SuccessHandler, onAuthenticationSuccess 메서드) AccessToken, RefreshToken

BlackListRefreshToken 엔티티, Combine Repository, 로그인된 객체에 토큰 발급하고 클라이언트에 토큰을 Redirect 해주기, Custom Filter 추가 (클라이언트 헤더에 있는 JWT 토큰 검사하는 필터)

코틀린 - 변수

코틀린 -> 연산자, 스마트 캐스팅(is). 제어문(when, 범위, in), 함수

Kotlin -> 가변인자 vararg, 함수 호출 (순수 함수, 인라인 함수, 익명함수, 일급 객체, 고차함수, 람다 표현식, 중위 표현법), 객체지향 패러다임 (클래스, 인스턴스, 생성자, init, 속성(getter, setter), 지연초기화, 가시성 지시자

Kotlin -> 상속, 인터페이스, 추상 클래스, 오버라이딩(연산자 오버라이딩), 확장 함수, open, override, abstract 키워드

Kotlin -> companion, object, data class, 제네릭 (가변성, 불변성, 공변성, 불공변성, 자료형 프로젝션, 스타 프로젝션)

Kotlin -> 코루틴

CI/CD, 가상화, 가상화 기술, 하이퍼바이저 (1형, 2형), 가상머신, 컨테이너 기술 (리눅스 컨테이너, WSL)

도커(Docker), 도커의 구성(도커 엔진-> 도커데몬, CLI, REST API, 도커 이미지, 컨테이너, 레지스트리, 네트워크, 볼륨), 도커 실습