【AI 자막】 Kotlin 및 Spring Boot 를 사용하여 RESTFUL API 구축하기

Kotlin 언어를 배우고 Kotlin SpringBoot 를 사용하여 Restful API를 구축하는 완벽한 실습 접근 방식의 강의입니다.

Ratings 4.00 / 5.00
【AI 자막】 Kotlin 및 Spring Boot 를 사용하여 RESTFUL API 구축하기

What You Will Learn!

  • Kotlin 프로그래밍 언어 및 장점
  • Kotlin 프로그래밍 언어를 사용하여 코드 작성하기
  • Kotlin을 사용하여 애플리케이션 구축하기
  • SpringBoot 및 Kotlin을 사용하여 RestFul 서비스 구축하기
  • JUnit5를 사용하여 Kotlin 테스트하기
  • Kotlin과 Java의 상호운용성
  • Spring 데이터 JPA와 Kotlin 통합하기
  • TestContainers 및 JUnit5를 사용하여 DB 계층 통합 테스트(Integration testing)
  • MockK 라이브러리를 사용한 유닛 테스트 함수

Description

[꼭 읽어주세요] 한글 AI 자막 강의란?

  • 유데미의 한국어 [자동] AI 자막 서비스로 제공되는 강의입니다.

  • 강의에 대한 질문사항은 Pragmatic Code School 강사님이 확인하실 수 있도록 Q&A 게시판에 영어로 남겨주시기 바랍니다.


Kotlin은 현대적이고 간결하며 안전한 프로그래밍 언어이며 오늘날 가장 인기 있는 JVM 언어 중 하나입니다.

또한 Java 및 다른 언어와 상호 운용이 가능하며 생산적인 프로그래밍을 위해 여러 플랫폼 간에 코드를 재사용할 수 있는 다양한 방법을 제공합니다.

이 강의에서는 SpringBoot 프레임워크를 사용하여 서버 측 개발을 위한 Kotlin을 사용하는 데 중점을 둡니다. 이 강의는 아래 두 가지 주제를 다루는 순수 실습 중심 과정입니다:

  • Java 개발자에게 필요한 Kotlin 기초를 다룹니다.

  • SpringBootKotlin 을 사용하여 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를 구축하는 데 익숙해집니다.

Who Should Attend!

  • Kotlin 프로그래밍 언어 학습에 관심이 있는 개발자
  • Kotlin 및 SpringBoot를 사용하여 애플리케이션을 구축하는 데 관심이 있는 개발자
  • Kotlin 프로그래밍 언어를 배우고자 하는 Java 개발자

TAKE THIS COURSE

Tags

Subscribers

27

Lectures

93

TAKE THIS COURSE