
이번 강의에서는 이 강의를 소개합니다.
이 강의에는 강의 슬라이드가 포함되어 있습니다.
이 강의에서 사용되는 소스 코드와 관련된 내용이 포함되어 있습니다.
이 강의에서는 Kotlin이 소프트웨어 개발을 위한 강력한 언어인 이유에 대해 설명합니다.
이 강의에서는 Kotlin이 JVM과 어떻게 작동하는지 설명합니다.
이 강의에서는 프로젝트를 설정하여 Kotlin을 살펴봅니다.
이 강의에서는 간단한 HelloKotlin 클래스를 만들고 콘솔에 "Hello Kotlin"을 출력해 보겠습니다.
이 강의에서는 변수를 선언하는 Kotlin의 val 및 var 유형에 대해 알아봅니다.
이 강의에서는 기본 유형과 기본 유형에서 수행 할 수있는 기본 작업에 대해 살펴 보겠습니다.
이 강의에서는 Kotlin의 if-else 블록과 when 블록에 대해 알아봅니다.
이 강의에서는 range, loop, while 및 do-while 루프에 대해 살펴봅니다.
이 강의에서는 while 및 do-while 루프에 대해 살펴봅니다.
이 강의에서는 Break, 레이블 및 반환에 대해 살펴봅니다.
이 강의에서는 Kotlin에서 다양한 유형의 함수를 코딩하고 살펴봅니다.
이 강의에서는 Kotlin 함수의 기본 매개 변수와 명명된 인수에 대해 코딩하고 학습합니다.
이 강의에서는 Kotlin의 최상위 함수와 변수에 대해 코딩하고 학습합니다.
이 강의에서는 Kotlin에서 클래스와 클래스의 인스턴스를 만드는 방법을 코딩하고 배웁니다.
이 강의에서는 Kotlin의 기본 생성자에 대해 코딩하고 배워봅니다.
이 강의에서는 Kotlin의 보조 생성자에 대해 코딩하고 배워봅니다.
이 강의에서는 인스턴스 생성 중에 초기화 로직을 실행하기 위해 init 블록의 사용법을 코딩하고 배웁니다.
이 강의에서는 코틀린의 데이터 클래스에 대해 코딩하고 학습합니다.
이 강의에서는 코딩을 통해 kotlin에서 커스텀 Getter 및 Setter를 만드는 방법을 배웁니다.
이 강의에서는 Kotlin에서 상속을 구현하는 방법을 코딩하고 배웁니다.
이 강의에서는 Kotlin의 함수, 변수 재정의에 대해 코딩하고 배워봅니다.
이 강의에서는 Kotlin에서 객체 키워드와 그 사용법에 대해 코딩하고 배웁니다.
이 강의에서는 컴패니언 객체 키워드와 그 사용법에 대해 코딩하고 Kotlin에서 학습합니다.
이 강의에서는 Kotlin의 인터페이스에 대해 코딩하고 학습합니다.
이 강의에서는 구현 클래스에서 충돌하는 함수를 처리하는 방법에 대해 코딩하고 배웁니다.
이 강의에서는 Kotlin 인터페이스에서 변수를 사용하는 방법을 코딩하고 배웁니다.
이 강의에서는 Kotlin의 가시성 수정자에 대해 코딩하고 학습합니다.
이 강의에서는 Kotlin의 타입 검사, 형 변환 및 스마트 형 변환에 대해 코딩하고 학습합니다.
이 강의에서는 Kotlin의 Enum 클래스에 대해 코딩하고 학습합니다.
이 강의에서는 Kotlin에서 null 가능 유형과 null 불가능 유형에 대해 코딩하고 학습합니다.
이 강의에서는 안전 연산자와 엘비스 연산자를 사용하여 null 가능 유형에 대한 연산을 수행하는 방법을 코딩하고 학습합니다.
이 강의에서는 널 가능 유형을 사용하여 널 가능하지 않은 유형을 처리하는 방법을 코딩하고 배웁니다.
이 강의에서는 컬렉션에 대해 소개하고 변경 가능한 컬렉션과 변경 불가능한 컬렉션에 대해 알아볼 것입니다.
이 강의에서는 람다 표현식에 대한 소개와 다양한 예제를 통해 람다 표현식을 살펴봅니다.
이 강의에서는 람다를 사용하여 고차 함수를 만드는 방법을 코딩하고 살펴봅니다.
이 강의에서는 컬렉션의 필터 연산자에 대해 코딩하고 살펴봅니다.
이 강의에서는 컬렉션의 맵 연산자에 대해 코딩하고 살펴봅니다.
이 강의에서는 플랫맵 연산자에 대해 코딩하고 컬렉션으로 작업할 때 언제 사용할 수 있는지 살펴봅니다.
이 강의에서는 해시맵으로 작업할 때 사용할 수 있는 다양한 연산자를 코딩하고 살펴봅니다.
이 강의에서는 지연 평가를 위해 시퀀스를 사용하여 컬렉션을 작업하는 대안을 살펴봅니다.
이 강의에서는 null 가능성을 코딩하고 살펴보고 Kotlin에서 어떻게 작동하는지 알아봅니다.
이 강의에서는 Kotlin의 예외와 이를 처리하는 방법에 대해 코딩하고 배워봅니다.
이 강의에서는 Kotlin의 범위 지정 함수에 대해 소개합니다.
이 강의에서는 범위 지정 함수에 대해 코딩하고 살펴보고 적용하는 방법을 알아봅니다.
이 강의에서는 let 범위 지정 함수에 대해 코딩하고 살펴봅니다.
이 강의에서는 with 및 run 범위 지정 함수에 대해 코딩하고 살펴봅니다.
[꼭 읽어주세요] 한글 AI 자막 강의란?
유데미의 한국어 [자동] AI 자막 서비스로 제공되는 강의입니다.
강의에 대한 질문사항은 Pragmatic Code School 강사님이 확인하실 수 있도록 Q&A 게시판에 영어로 남겨주시기 바랍니다.
Kotlin은 현대적이고 간결하며 안전한 프로그래밍 언어이며 오늘날 가장 인기 있는 JVM 언어 중 하나입니다.
또한 Java 및 다른 언어와 상호 운용이 가능하며 생산적인 프로그래밍을 위해 여러 플랫폼 간에 코드를 재사용할 수 있는 다양한 방법을 제공합니다.
이 강의에서는 SpringBoot 프레임워크를 사용하여 서버 측 개발을 위한 Kotlin을 사용하는 데 중점을 둡니다. 이 강의는 아래 두 가지 주제를 다루는 순수 실습 중심 과정입니다:
Java 개발자에게 필요한 Kotlin 기초를 다룹니다.
SpringBoot 및 Kotlin 을 사용하여 RestFul API 구축하기
섹션 1: 강의 시작하기
이 섹션에서는 이 강의를 최대한 활용하기 위해 필요한 강의 목표와 사전 요구 사항에 대해 설명합니다.
섹션 2: Kotlin 프로그래밍 언어 시작하기
이 섹션에서는 Kotlin 프로그래밍 언어를 소개하고, 왜 Kotlin이 엔터프라이즈 개발을 위한 강력한 언어인지 알려드립니다.
Kotlin 소개
Kotlin은 JVM과 어떻게 작동하나요?
섹션 3: Kotlin 기초 사항
이 섹션에서는 Kotlin의 기초 사항에 대해 살펴봅니다.
Kotlin의 val 및 var 변수
기본 유형 - Int, Long, Double, String
조건문 - If 및 When 블록
Ranges , Loops
while & do-While
break, 레이블 및 반환
섹션 4: Kotlin 함수
이 섹션에서는 Kotlin의 함수와 함수를 선언하고 사용하는 다양한 방법에 대해 알아봅니다.
함수 정의 및 호출
기본값 매개변수 및 명명된 인수
최상위 함수 및 최상위 속성
섹션 5: 클래스, 인터페이스 및 상속
이 섹션에서는 클래스, 상속 및 인터페이스에 대해 자세히 알아보겠습니다.
클래스 소개 - 클래스와 객체 생성하기
기본 생성자
보조 생성자
init 블록을 사용한 이니셜라이저 코드
데이터 클래스
커스텀 Getters 및 Setters
상속 - 클래스 확장
상속 - 함수, 변수 재정의하기
클래스의 인스턴스 생성을 위한 객체 키워드
컴패니언 객체 키워드
인터페이스
인터페이스 - 충돌하는 함수 처리하기
인터페이스 - 변수 정의 및 재정의
가시성 수정자
타입 검사, 형변환 및 스마트 형변환
Enum 클래스
섹션 6: Kotlin의 Null
이 섹션에서는 Kotlin에서 nulls 을 처리하는 방법에 대해 알아봅니다.
Kotlin의 Null 가능 및 Null 불가능 유형
안전 호출(?), Elvis 연산자(?:) 및 비 Null 어설션(!!)을 사용하여 Null 값 처리하기
Null 가능 유형 호출 또는 Null 가능하지 않은 유형에 할당하기
섹션 7: 컬렉션, 배열 및 람다 표현식
이 섹션에서는 Kotlin의 컬렉션, 배열 및 람다 표현식에 대해 소개합니다.
컬렉션 소개
람다 표현식 소개
람다 및 고차 함수
Kotlin 컬렉션의 필터 연산
Kotlin 컬렉션의 맵 연산
컬렉션의 플랫맵 연산
HashMaps으로 작업하기
시퀀스를 사용한 컬렉션의 지연 평가
컬렉션의 null 가능성
섹션 8 : Kotlin의 예외
이 섹션에서는 Kotlin의 예외 및 이를 처리하는 기술에 대해 설명합니다.
try-catch를 사용하여 예외 처리하기
섹션 9 : 범위 지정 함수 (Scope functions)
이 섹션에서는 Kotlin의 범위 지정 함수와 그 사용법을 모두 소개합니다.
범위 지정 함수 소개
apply & also 범위 지정 함수
let 범위 지정 함수
with & run 범위 지정 함수
섹션 10 : Kotlin 및 Spring Boot 시작하기
이 섹션에서는 우리가 만들 앱의 개요를 설명하고 매우 간단한 API를 구축하겠습니다.
앱 개요 및 프로젝트 셋업
간단한 엔드포인트 빌드 - Greeting Controller
Spring의 생성자 주입
Spring Boot에서 다양한 프로필 셋업
Kotlin 로그인 셋업하기
섹션 11 : Junit 5를 사용한 통합/유닛 테스트
이 섹션에서는 Spring Boot와 Kotlin을 사용하여 다양한 유형의 테스트 케이스를 작성하는 기술에 대해 설명하고 코드를 짜봅니다.
자동화된 테스트 소개 및 JUnit5 설정하기
컨트롤러용 통합 테스트
컨트롤러용 유닛 테스트 - MockK Mocking 라이브러리 사용
섹션 12 : 코스 카탈로그 서비스 구축해보기
이 섹션에서는 코스를 관리하기 위한 코스 카탈로그 서비스를 구축합니다.
코스 엔티티 및 CourseDTO 설정하기
CourseRepository 생성 및 application.yml 파일에서 JPA 구성하기
새 코스 추가를 위한 POST 엔드포인트를 빌드
JUnit5를 사용하여 POST 엔드포인트에 대한 통합 테스트 수행
모든 코스를 검색하기 위한 GET 엔드포인트 빌드
모든 코스를 검색하기 위한 GET 엔드포인트에 대한 통합 테스트
코스를 업데이트하기 위한 업데이트 엔드포인트 빌드
JUnit5를 사용하여 PUT 엔드포인트에 대한 통합 테스트
코스를 삭제하기 위해 DELETE 엔드포인트를 빌드
섹션 13: 컨트롤러 계층 유닛 테스트 (웹 티어)
이 섹션에서는 컨트롤러에 대한 유닛 테스트를 작성하는 방법에 대해 알아보고 코드를 작성해보겠습니다.
CourseController에 대한 유닛 테스트 설정하기
CourseController의 POST 엔드포인트에 대한 유닛 테스트
CourseController의 GET 엔드포인트에 대한 유닛 테스트
CourseController의 PUT 엔드포인트에 대한 유닛 테스트
CourseController의 DELETE 엔드포인트에 대한 유닛 테스트
섹션 14 : Validators 및 ControllerAdvice을 사용한 Bean 유효성 검사
이 섹션에서는 ControllerAdvice 패턴을 사용하여 bean 유효성 검사를 적용하고 예외를 처리하는 다양한 기술을 코딩하고 배워 보겠습니다.
@NotBlank 주석을 사용하여 이름과 카테고리를 필수로 지정하기
ControllerAdvice 패턴을 사용하여 사용자 정의 오류 처리 구현하기
ControllerAdvice 패턴을 사용하여 전역 런타임 예외 처리하기
섹션 15 : Spring 데이터 JPA를 사용한 커스텀 JPA 쿼리 및 @DataJpaTest를 사용한 DB 계층 테스트
이 섹션에서는 커스텀 JPA 쿼리를 작성하는 기법과 DataJpaTest를 사용하여 DB 계층을 테스트하는 기법에 대해 알아봅니다.
JPA 쿼리 생성 함수를 사용하여 이름으로 코스 검색하기
네이티브 SQL 쿼리를 사용하여 이름으로 코스 검색하기
@Parameterized 된 테스트를 사용하여 데이터의 다중 집합 테스트하기
섹션 16: @RequestParam를 사용하여 이름별로 코스를 검색하는 GET 엔드포인트
이 섹션에서는 컨트롤러 엔드포인트에서 RequestParam의 사용법을 코딩하고 배우겠습니다.
기존 GET 엔드포인트를 사용하여 이름으로 코스 검색하기
통합 테스트를 작성하여 이름으로 코스를 검색합니다.
섹션 17 : Spring Data JPA를 사용한 엔티티 관계
이 섹션에서는 Kotlin의 엔티티 및 데이터 클래스를 사용하여 JPA에서 관계를 표현하는 기법을 설명합니다.
코스 카탈로그 서비스에 강사 엔티티 추가하기
엔티티 클래스에서 관계 추가하기
강사 데이터를 관리하는 강사 컨트롤러
강사 데이터의 유효성을 검사하도록 코스 서비스 업데이트하기
CourseController 통합 테스트 수정
CourseController 유닛 테스트 수정
섹션 18 : Postgres DB와 통합하기
이 섹션에서는 코스 카탈로그 서비스에 postgres DB를 통합하는 방법을 코딩하고 학습합니다.
Postgres와 상호 작용하도록 Postgres DB 및 앱 셋업하기
Postgres DB로 앱 테스트하기
섹션 19 : TestContainers를 사용한 통합 테스트
이 섹션에서는 통합 테스트를 실행하기 위해 testcontainers 를 코딩하고 통합하는 방법을 배웁니다.
통합 테스트를 위한 TestContainer 설정하기
TestContainer로 @DataJpaTest 구성하기
섹션 20 : Java & Kotlin 상호 운용성
이 섹션에서는 Java와 Kotlin 간의 상호 운용성에 대해 코딩하고 학습합니다.
Java 클래스에서 Kotlin 코드 호출하기
Kotlin에서 Java 코드 호출
Kotlin의 유용한 JVM 어노테이션
이 강의를 마치면 Kotlin 프로그래밍 언어를 사용하여 코드를 작성하고 SpringBoot 및 Kotlin을 사용하여 RestFuL API를 구축하는 데 익숙해집니다.