자바 성능 최적화 교육 과정
이 과정은 효율적인 애플리케이션을 개발하고자 하는 자바 프로그래머들을 위한 것입니다. 고객과의 상담 후, 성능 문제 진단만 필요한 테스터나 관리자와 같은 분들에게도 맞춤형 도구 버전으로 교육을 제공할 수 있으며, 이 경우 자바 프로그래밍 능력은 요구되지 않습니다.
교육 과정에서는 참가자들이 자바 기반의 효율적인 소프트웨어 개발을 위한 절차와 최신 도구들에 대해 배우게 됩니다. 성능 관련 문제점, 벤치마킹 방법, 프로파일링 기술, 튜닝 기법, 메모리 분석 방법, 그리고 컬렉션이나 입출력 처리 시 활용할 수 있는 최적화 팁도 학습합니다. 배운 내용과 도구들은 프로젝트에서 사용하는 기술에 관계없이 적용 가능한데, 이는 우리가 언어 자체의 성능 특성, 관련 도구 및 내장 라이브러리에 중점을 두기 때문입니다. 튜닝 파트에서는 오라클사에서 제공하는 JVM 설정 매개변수도 다루게 됩니다.
코스 개요
서론
자바 가상 머신 성능 개요
- 자바 메모리 모델
- JIT 컴파일러
- 성능 최적화 방법론
자바 가비지 컬렉션
- GC 기본 개념
- 가비지 컬렉팅 알고리즘
- 가비지 컬렉터 종류
JVM 모니터링
- 명령줄 기반 모니터링
- Java Flight Recorder 및 Mission Control
- 프로파일링 도구들
마이크로벤치마킹
- JMH 마이크로벤치마크 프레임워크
- 벤치마크 생성 및 설정 방법
- 실행 방법과 결과 해석 기술
JVM 튜닝
- 메모리 튜닝 기법
- 적절한 GC 유형 선택 방안
요약 및 향후 학습 방향
요건
- 자바 프로그래밍 능력
대상 수강생
- 자바 프로그래머들
오픈 트레이닝 코스는 5명 이상의 참가자가 필요합니다.
자바 성능 최적화 교육 과정 - 예약
자바 성능 최적화 교육 과정 - 문의
자바 성능 최적화 - 컨설팅 문의
회원 평가 (2)
트레이너는 주제를 자세히 설명하고 이해하기 쉽게 만드는 데 뛰어났습니다.
Lewis Nangle - AquaQ Analytics
코스 - Java Performance
기계 번역됨
-코드 예제가 이해하는 데 정말 도움이 되었습니다. -풀비오가 매우 지식이 풍부하고 모든 것을 자세히 설명해 주었습니다.
Paul Doherty - AquaQ Analytics
코스 - Java Performance
기계 번역됨
예정된 코스
관련 코스
Java 고급 과정
28 시간이 교육 과정을 통해 참가자들은 특정 주제들의 구체적인 활용법과 사용 시 발생할 수 있는 문제점들, 그리고 애플리케이션 모델에서의 각 요소들이 지니는 역할을 이해하게 됩니다. 또한 Java 표준 라이브러리 함수에 대한 기초 지식도 습득하게 됩니다. 이 과정을 수강하려면 Java 애플리케이션 개발 시 사용되는 통합 개발 환경(IDE)인 Eclipse나 NetBeans 등에 대한 기본적인 이해가 필요합니다. 다만 사용자 인터페이스 관련 내용은 포함되지 않습니다.
고급 자바 보안
21 시간경험이 풍부한 자바 개발자조차도 자바에서 제공하는 다양한 보안 기능들을 완전히 숙지하지 못하고 있으며, 자바로 작성된 웹 애플리케이션과 관련된 취약점들에 대해서도 충분히 인식하지 못하는 경우가 많습니다.
본 강좌는 표준 자바 에디션의 보안 구성 요소들을 소개함은 물론, 자바 엔터프라이즈 에디션(JEE) 및 웹 서비스와 관련된 보안 문제들도 다룹니다. 특정 보안 기능들에 대한 설명에 앞서 암호화 기법과 안전한 통신의 기초를 먼저 설명합니다. 다양한 실습을 통해 JEE 환경에서 선언적 및 프로그래밍 방식의 보안 기술들을 익히게 되며, 웹 서비스의 전송 계층 보안부터 종단간 보안까지 폭넓게 다룹니다. 강사진이 소개하는 모든 구성 요소들은 여러 실습 과제를 통해 자세히 설명되며, 참가자들 역시 직접 해당 API와 도구들을 활용해 볼 수 있습니다.
또한 본 강좌에서는 자바 언어 및 플랫폼에서 발생하기 쉬운 주요 프로그래밍 오류와 웹 애플리케이션 관련 취약점들에 대해서도 상세히 설명합니다. 단순히 일반적인 개발자 실수뿐만 아니라, 특정 언어의 한계나 런타임 환경에서 기인한 보안 문제들까지 폭넓게 다룹니다. 각각의 취약점과 이를 악용하는 공격 방식은 이해하기 쉬운 예제와 함께 설명되며, 이후에는 안전한 코딩 가이드라인 및 대응 방안도 소개됩니다.
본 강좌에 참여하시면 다음 내용을 배우실 수 있습니다
- 보안의 기초 개념, 정보 보안 및 안전한 코딩 방법론 이해하기
- OWASP Top Ten 이외에도 다양한 웹 취약점들과 이를 방지하는 방법 익히기
- 웹 서비스와 관련된 보안 원리 이해하기
- 자바 개발 환경에서 제공되는 여러 보안 기능들의 활용법 배우기
- 암호화 기술에 대한 실무 지식 습득하기
- Java EE의 보안 솔루션 구조 파악하기
- 일반적인 코딩 오류와 이를 예방하는 방법 알아보기
- 최근 자바 프레임워크에서 발견된 주요 취약점들에 대한 정보 습득하기
- 보안 테스트 도구들을 실제로 사용해 보는 기회 얻기
- 안전한 코딩 방법론과 관련된 참고 자료 및 추가 학습 자원 확보하기
수강 대상
개발자들
자바를 위한 디자인 패턴 (GoF)
21 시간대한민국에서 진행되는 본 강사 주도형 실습 교육은 소프트웨어 구조와 유지보수성, 확장성을 향상시키기 위해 디자인 패턴을 활용하고자 하는 중급 수준의 자바 개발자를 대상으로 합니다.
강좌를 마치면 참가자들은 다음 역량들을 갖추게 됩니다:
- 디자인 패턴의 목적과 이점을 명확히 이해하게 됩니다.
- 자바 환경에서 생성형, 구조형, 행동형 디자인 패턴을 효과적으로 적용할 수 있게 됩니다.
- 코드의 재사용성, 확장성 및 유지보수성을 크게 향상시킬 수 있습니다.
- 기존 코드베이스를 디자인 패턴을 활용해 리팩터링할 능력을 갖추게 됩니다.
그루비 프로그래밍
21 시간Apache Groovy는 JVM(Java 가상 머신) 기반의 동적 프로그래밍 언어입니다. 스크립팅 기능, 도메인 특화 언어 작성, 런타임 및 컴파일 시 메타프로그래밍, 함수형 프로그래밍 등 다양한 기능을 제공합니다. Groovy는 일반적으로 Java를 보완하기 위해 사용됩니다.
본 강의에서는 강사의 지도 아래 실습을 통해 참가자들이 샘플 애플리케이션을 직접 만들어보며 Groovy 프로그래밍 방식을 익히게 됩니다.
대상 청중
- 개발자
강의 형식
- 이론 강의와 토론, 연습 문제 및 실제 프로그래밍 실습을 병행함
초보자를 위한 Groovy 프로그래밍
14 시간대한민국 지역에서 온라인 또는 오프라인으로 진행되는 본 강사 주도형 실습 교육은 Groovy 프로그래밍의 기초를 배우고자 하는 초급 수준의 개발자를 대상으로 합니다.
이 과정을 마치면 참가자들은 다음과 같은 역량을 갖추게 됩니다:
- 기본적인 프로그래밍 개념 이해하기
- 간단한 Groovy 스크립트를 작성하고 핵심 기능 활용하기
- Groovy를 사용하여 객체 지향 프로그래밍의 기본 원리 이해 및 적용하기
- Groovy에서 자주 발생하는 오류와 예외 상황을 처리하는 기초적인 기술 익히기
Java 마이크로서비스
21 시간대한민국에서 진행되는 이 강사 주도형 실시간 교육(온라인 또는 오프라인)은 Spring Boot 및 Spring Cloud와 같은 Java 프레임워크를 이용해 마이크로서비스 기반 애플리케이션을 설계, 개발, 배포 및 유지보수하려는 중급 수준의 Java 개발자들을 대상으로 합니다.
교육 종료 시 참가자들은 다음 역량을 갖추게 됩니다:
- 마이크로서비스 아키텍처의 원칙과 장점을 이해합니다.
- Java와 Spring Boot를 활용해 마이크로서비스를 구축하고 배포할 수 있습니다.
- 서비스 디스커버리, 설정 관리 및 API 게이트웨이 기능을 구현할 수 있습니다.
- 마이크로서비스의 보안성 강화, 모니터링 및 확장 방법을 숙지합니다.
- Docker와 Kubernetes를 활용해 마이크로서비스를 배포할 수 있습니다.
Spring Boot, Docker 및 Kubernetes를 활용한 마이크로서비스 구축
21 시간대한민국에서 강사가 직접 진행하는 이 실습 기반 교육 과정(온라인 또는 현장 교육 가능)은 Spring Boot, Docker 및 Kubernetes를 사용해 마이크로서비스 개발 능력을 함양하고자 하는 중급 이상 수준의 개발자들을 위한 프로그램입니다.
교육 종료 시 참가자들은 다음과 같은 역량을 습득하게 됩니다:
- 마이크로서비스 아키텍처의 핵심 원리를 완벽히 이해합니다.
- Spring Boot 기반으로 실제 운영 환경에 최적화된 마이크로서비스를 구현할 수 있습니다.
- 컨테이너화 과정에서 Docker가 수행하는 중대한 역할을 정확하게 파악합니다.
- Kubernetes 클러스터 설정을 통해 마이크로서비스의 배포 및 운영 작업도 자유롭게 수행할 수 있게 됩니다.
개발자를 위한 Quarkus
14 시간<현>에서 진행되는 이 강사 주도형 실시간 교육은 Java 기반의 애플리케이션을 개발하면서 리소스 사용량은 줄이고 싶어하는 개발자들을 위해 마련되었습니다.
교육이 끝나면 참가자들은 다음과 같은 역량을 갖추게 됩니다:
- Quarkus 기반 애플리케이션 개발을 시작하기 위한 환경 설정
- GraalVM을 이용하여 네이티브 모드에서 애플리케이션 빌드, 컴파일 및 실행
- Maven을 사용해 Quarkus 도구와 확장 기능으로 네이티브 애플리케이션 구축
- Docker를 활용한 애플리케이션의 컨테이너화, 실행 및 배포
Java 네이티브 애플리케이션 및 마이크로서비스 개발을 위한 Quarkus
40 시간본 대한민국에서 진행되는 강사 주도형 온라인/현장 교육은 메모리 사용량과 시작 시간을 최적화하면서 Quarkus를 활용해 Java 네이티브 애플리케이션 및 마이크로서비스를 개발하고자 하는 중급 이상 수준의 개발자와 아키텍트를 대상으로 합니다.
강좌가 끝날 때쯤 참가자들은 다음을 할 수 있게 됩니다:
- Quarkus를 이용해 고성능이며 경량화된 Java 네이티브 애플리케이션 개발
- RESTful 서비스 및 마이크로서비스 아키텍처 구축 및 배포
- GraalVM을 활용한 네이티브 컴파일 수행 및 시작 시간·메모리 효율성 최적화
- Kubernetes와 OpenShift 환경에서 애플리케이션의 패키징 및 컨테이너화 작업
Java와 Spring을 활용한 RabbitMQ
14 시간대한민국에서 강사가 직접 진행하는 이 실시간 교육(온라인 또는 오프라인)은 RabbitMQ를 메시징 미들웨어로 활용하고 Spring 기반의 Java 애플리케이션 개발을 원하는 소프트웨어 아키텍트 및 웹 개발자를 대상으로 합니다.
강좌 종료 후 참가자들은 다음과 같은 능력을 갖추게 됩니다:
- Java와 Spring, 그리고 RabbitMQ를 활용하여 애플리케이션 구축 가능
- RabbitMQ를 기반으로 비동기 방식의 메시지 처리 시스템 설계 가능
- RabbitMQ에서 큐, 토픽, 교환기 및 바인딩을 생성하고 적용할 수 있음
Spring Boot, React 및 Redux
14 시간대한민국에서 진행되는 본 실습 중심의 강의는 Spring Boot, React, Redux를 활용해 유능한 프론트엔드 및 백엔드 웹 애플리케이션을 개발하고자 하는 웹 개발자들을 위해 마련되었습니다.
이 강의가 끝나면 참가자들은 다음과 같은 역량을 갖추게 됩니다:
- React와 Redux를 사용해 프론트엔드 애플리케이션을 구축할 수 있습니다.
- Spring Boot를 활용하여 RESTful API를 생성합니다.
- Spring Security 및 JWT 웹 토큰을 이용해 웹 서비스의 보안성을 강화합니다.
Spring 5
21 시간대한민국에서 진행되는 이 강의는 온라인 또는 현장 교육으로, Spring 5 프레임워크를 활용해 엔터프라이즈급 웹 애플리케이션을 제작하고 배포하려는 자바 개발자를 대상으로 합니다.
강의가 끝날 무렵 참가자들은 다음 역량을 갖추게 됩니다:
- Spring 5를 설치하고 구성할 수 있습니다.
- Spring 5에서 제공하는 최신 기능들을 이해하고 구현할 수 있습니다.
- Spring 애플리케이션을 통해 데이터베이스에 접근할 수 있습니다.
- 새롭게 도입된 반응형 웹 프레임워크인 WebFlow를 활용해 애플리케이션의 반응성을 높일 수 있습니다.
- 기존 Java EE 기반 애플리케이션과 Spring 애플리케이션을 통합할 수 있습니다.
- 엔터프라이즈 수준의 Spring 애플리케이션에 대한 테스트와 배포를 수행할 수 있습니다.
Spring Boot 3.5.5 및 Java 21을 활용한 스프링 기초
14 시간스프링은 강력한 의존성 주입 기능, 모듈형 아키텍처 및 간편한 설정 옵션을 제공함으로써 엔터프라이즈 애플리케이션 개발을 크게 단순화해주는 종합적인 자바 프레임워크입니다.
이 강의는 온라인 또는 현장에서 진행되는 강사 주도형 실습 교육으로, 최신 버전인 스프링 프레임워크와 Spring Boot 3.5.5 및 Java 21을 활용해 실제 배포 가능한 웹 애플리케이션을 개발하고자 하는 초급 수준의 자바 개발자들을 대상으로 합니다.
본 교육 과정을 이수하면 다음과 같은 역량을 갖추게 됩니다:
- IoC, DI, AOP 등 스프링의 핵심 원리를 이해할 수 있습니다.
- XML, 애너테이션, JavaConfig 방식을 활용해 스프링 애플리케이션을 설정할 수 있습니다.
- Spring Boot와 JPA를 사용하여 RESTful 서비스를 개발할 수 있습니다.
- CRUD 작업 구현, 트랜잭션 처리 및 데이터 지속성 관리가 가능합니다.
- 프로파일 활용, 예외 처리, 데이터 직렬화 등 스프링의 고급 기능도 다룰 수 있습니다.
강의 형식
- 이론적 내용을 간략히 소개한 뒤 다양한 실습 과제를 진행합니다.
- 실제 사례를 바탕으로 직접 코드 구현을 연습합니다.
- 상호작용형 토론과 강사의 안내에 따른 문제 해결 방식도 병행됩니다.
강의 커스터마이징 옵션
- 본 과정에 대한 맞춤형 교육을 원하시면 문의해주시기 바랍니다.
Spring WebFlux: 확장성 있는 웹 애플리케이션을 위한 반응형 프로그래밍
35 시간Spring WebFlux는 비차단적이며 이벤트 기반의 웹 애플리케이션 개발을 위해 Spring Framework 내에 마련된 반응형 프로그래밍 모듈입니다.
본 교육 과정은 온라인 또는 현장에서 진행되는 강사 주도형 수업으로, Spring WebFlux를 활용하여 확장성 있고 반응성이 뛰어난 애플리케이션을 개발하고자 하는 초급 및 중급 수준의 자바 개발자를 대상으로 합니다.
교육 과정을 마치면 참가자들은 다음과 같은 역량을 갖추게 됩니다:
- Project Reactor를 활용한 반응형 프로그래밍의 기본 개념을 이해합니다.
- Spring WebFlux를 이용해 비차단 방식의 RESTful API를 구축하고 테스트할 수 있습니다.
- 데이터베이스 및 외부 서비스와 WebFlux를 연동하는 방법을 익힙니다.
- 실제 애플리케이션 개발 시 반응형 패턴들을 적용할 수 있습니다.
교육 방식
- 상호작용형 강의와 토론을 진행합니다.
- 다수의 연습 문제를 통해 실제 적용 능력을 기릅니다.
- 실습 환경에서 직접 코드를 작성하고 구현해 보는 과정도 포함됩니다.
맞춤형 교육 옵션
- 본 과정을 특정 요구사항에 맞게 커스터마이징하길 원하시는 경우, 문의해주시면 협의 후 진행해 드립니다.
Spring WebFlux
14 시간대한민국에서 강사가 직접 진행하는 이 라이브 교육(온라인 또는 오프라인)은 WebFlux를 이용해 리액티브 애플리케이션을 개발하고 배포하려는 개발자들을 위한 과정입니다.
강좌 종료 시점에 참가자들은 다음과 같은 역량을 갖추게 됩니다:
- Spring 5와 WebFlux 프레임워크를 설치 및 구성할 수 있습니다.
- 리액티브 애플리케이션 및 서비스를 개발할 수 있습니다.