연락처 정보

코스 개요

Groovy 소개

  • Apache Groovy 개요
  • Groovy의 역사 및 진화
  • Groovy와 Java Virtual Machine(JVM)
  • 스크립팅 및 프로그래밍 언어로서의 Groovy
  • Groovy의 일반적인 사용 사례
  • Java 기반 프로젝트에서의 Groovy 활용
  • Java와 함께 Groovy를 사용하는 이점
  • 샘플 애플리케이션 개요

Groovy 기능 개요

  • 동적 타이핑 및 선택적 정적 타이핑
  • Groovy 스크립팅 기능
  • 간결한 구문 및 언어 기능 강화
  • 클로저 및 함수형 프로그래밍
  • Groovy 컬렉션 및 강화된 API
  • 연산자 오버로딩
  • 문자열 보간(String Interpolation)
  • 안전한 내비게이션(Safe Navigation) 및 Elvis 연산자
  • 도메인 특화 언어(DSL) 개발
  • 메타 프로그래밍 기능
  • Groovy Development Kit(GDK)

개발 환경 설정

  • Groovy 설치 및 구성
  • Groovy 배포판 사용
  • 명령줄에서 Groovy 사용
  • Groovy 스크립트 실행
  • IDE 설정
  • Groovy 프로젝트 생성
  • 의존성 관리
  • Java 프로젝트와의 Groovy 통합
  • 컨테이너용 개발 환경 구성

첫 번째 Groovy 애플리케이션 작성

  • 기본적인 Groovy 스크립트 생성
  • Groovy 스크립트 구조 이해
  • Groovy 애플리케이션 실행
  • println 문구 사용
  • 변수 사용
  • 메서드 정의
  • 주석 및 문서화 추가
  • 단순한 샘플 애플리케이션 구축
  • Groovy 코드 컴파일

Groovy 구문 익히기

  • Groovy 문장 및 표현식
  • 세미콜론 및 선택적 구문 요소
  • 변수 및 상수
  • 동적 및 명시적 타이핑
  • 문자열 리터럴 및 보간
  • 단일 줄 및 다중 줄 문자열
  • 연산자 및 표현식
  • Groovy 연산자 및 단축 기법
  • Null 처리
  • 안전한 내비게이션
  • Elvis 연산자
  • 다중 대입

Groovy의 데이터 타입 및 컬렉션 사용

  • 기본 타입 및 객체 타입
  • 숫자 및 숫자 연산
  • 문자열 및 문자
  • 부울(Boolean)
  • 날짜 및 시간 관련 값
  • List(목록)
  • Map(맵)
  • Set(집합)
  • Range(범위)
  • 컬렉션 반복(Itération)
  • 컬렉션 변환(Transformations)
  • 컬렉션 필터링 및 검색
  • 데이터 정렬 및 그룹화
  • Groovy 컬렉션 메서드

Groovy 클로저 사용

  • 클로저 이해
  • 클로저 구문
  • 클로저 매개변수
  • 암시적 클로저 매개변수
  • 클로저 호출
  • 변수로서의 클로저
  • 메서드에 클로저 전달
  • 메서드에서 클로저 반환
  • 컬렉션과 클로저
  • 필터링 및 변환을 위한 클로저 사용
  • 범위 및 변수 캡처(Scope and Variable Capture)
  • 함수형 프로그래밍을 위한 클로저
  • 실전 클로저 패턴

Groovy 제어 구조를 통한 프로그램 흐름 제어

  • 조건문
  • ifelse
  • 중첩 조건문
  • switch 문구
  • 루프 및 반복
  • for, while, 및 do-while
  • 루프에서의 범위(Ranges) 사용
  • 반복을 위한 클로저 사용
  • breakcontinue
  • 예외 처리
  • try, catch, 및 finally
  • 사용자 정의 예외 던지기
  • Groovy 특유의 제어 흐름 기능

애플리케이션에 객체 지향 프로그래밍(OOP) 구현

  • Groovy 클래스 정의
  • 속성 및 필드
  • 생성자(Constructor)
  • 메서드
  • 캡슐화(Encapsulation)
  • 상속(Inheritance)
  • 인터페이스(Interfaces)
  • 추상 클래스(Abstract Classes)
  • 다형성(Polymorphism)
  • 메서드 오버라이딩(Method Overriding)
  • 메서드 오버로딩(Method Overloading)
  • Groovy의 getter 및 setter
  • Traits
  • Enums(열거형)
  • 샘플 애플리케이션을 위한 도메인 모델 생성

런타임 메타 프로그래밍 및 컴파일 타임 메타 프로그래밍

  • Groovy 메타 프로그래밍 소개
  • 동적 메서드 호출
  • Expando 객체
  • 런타임 메서드 및 속성 조작
  • Categories 및 Extensions
  • MetaClass
  • 동적으로 메서드 추가
  • 메서드 호출 가로채기(Intercepting)
  • 컴파일 타임 변환(Compile-time Transformations)
  • 공통 AST(추상 구문 트리) 변환
  • 책임감 있는 메타 프로그래밍 사용
  • 실전 메타 프로그래밍 예제

빌더(Builders) 작업

  • 빌더 패턴 소개
  • Groovy 빌더 및 그 목적
  • 계층적 구조 생성
  • XML 빌더
  • JSON 빌더
  • HTML 및 마크업 생성
  • 빌더 출력 구성
  • 빌더와 클로저 사용
  • 사용자 정의 빌더 생성
  • 도메인 특화 언어(DSL)에 빌더 적용

Groovy를 통한 데이터베이스 접근

  • 데이터베이스 연결 개념
  • Groovy 애플리케이션과 데이터베이스 연결
  • JDBC 및 Groovy 데이터베이스 API
  • 데이터베이스 연결 구성
  • SQL 쿼리 실행
  • 쿼리 결과 읽기
  • 데이터 삽입, 업데이트 및 삭제
  • 매개변수화 쿼리(Parameterized Queries)
  • 트랜잭션(Transactions)
  • 데이터베이스 예외 처리
  • Groovy SQL 사용
  • 샘플 애플리케이션의 데이터베이스 기능 구축

Groovy에서 Java 호출

  • Groovy와 Java의 상호 운용성(Interoperability)
  • Groovy에서 Java 클래스 사용
  • Java 메서드 호출
  • Java 라이브러리 사용
  • Java 컬렉션 사용
  • Java 예외 처리
  • Groovy 구문과 Java 구문 비교
  • Java에서 Groovy 코드 호출
  • Groovy 및 Java 소스 파일 혼합 사용
  • 기존 Java 애플리케이션에 Groovy 통합
  • 상호 운용성 모범 사례(Best Practices)

REST 서비스 및 애플리케이션 연결

  • REST API 소개
  • Groovy 애플리케이션을 위한 HTTP 개념
  • HTTP 요청 전송
  • GET, POST, PUT, DELETE 작업 처리
  • 요청 매개변수 및 헤더 작업
  • JSON 응답 처리
  • JSON 요청 본문 구축
  • 인증(Authentication) 처리
  • HTTP 오류 관리
  • 외부 REST 서비스 소비(Consuming)
  • 샘플 애플리케이션에 REST 기능 통합

GDK 작업

  • Groovy Development Kit 소개
  • 강화된 Java API
  • 문자열 작업
  • 강화된 컬렉션
  • 파일 및 디렉터리 작업
  • 파일 읽기 및 쓰기
  • 스트림(Streams) 작업
  • XML 처리
  • JSON 처리
  • 날짜 및 시간 작업
  • 유틸리티 메서드 및 편의 API
  • 적절한 GDK 기능 선택

Groovy 애플리케이션 유닛 테스트

  • Groovy 애플리케이션 테스트 소개
  • 테스트 주도 개발(TDD) 개념
  • 유닛 테스트 작성
  • 테스트 프레임워크 사용
  • 테스트 클래스 구조화
  • 단언(Assertions)
  • 클래스 및 메서드 테스트
  • 클로저 테스트
  • 예외 테스트
  • 의존성 목킹(Mocking Dependencies)
  • 데이터 기반 테스트
  • 데이터베이스 관련 기능 테스트
  • REST 통합 테스트
  • 테스트 실행 및 결과 분석

문제 해결(Troubleshooting)

  • Groovy 구문 오류 진단
  • 런타임 오류 디버깅
  • 컴파일 문제 처리
  • Java 상호 운용성 문제 해결
  • 클로저 및 컬렉션 작업 디버깅
  • 데이터베이스 연결 문제 조사
  • REST API 통합 문제 해결
  • 메타 프로그래밍 동작 디버깅
  • 로깅 및 진단 도구 사용
  • 실전 문제 해결 연습

요약 및 결론

  • Groovy 언어 기초 재검토
  • 구문, 타입 및 컬렉션 재검토
  • 클로저 및 함수형 프로그래밍 재검토
  • 객체 지향 프로그래밍 재검토
  • 메타 프로그래밍 및 빌더 재검토
  • 데이터베이스 및 REST 통합 재검토
  • Groovy와 Java 상호 운용성 재검토
  • GDK 기능 재검토
  • 테스트 실무 재검토
  • Groovy 애플리케이션 개발 모범 사례
  • 최종 실습 연습
  • 질의 응답 및 토론

요건

  • 어떤 프로그래밍 언어에 대한 개발 경험
 21 시간

참가자 수


참가자별 가격

회원 평가 (1)

예정된 코스

관련 카테고리