Java

Java RoadMap 그리고 JDK9 ~ 11 변경사항

Oracle이 Java를 유료화 선언한 후 변경된 Java RoadMap은 다음과 같다. 현재 프로그램 언어 시장은 지각 변동하고 있으며 이에 Java진영도 JDK9부터 빠른 업데이트 주기를 가지고 제품을…

Continue Reading Java RoadMap 그리고 JDK9 ~ 11 변경사항

Scouter APM(Application Performance Monitoring)을 이용한 Java 서비스 모니터링

소개 JVM 기반 WAS, OS 모니터링 시스템으로 Opensource APM(Application Performance Monitoring)입니다. APM은 응용 프로그램 성능 모니터링 또는 응용 프로그램 성능 관리를 의미합니다. Scouter는 Server(Collector), Agent, Client(Viewer)로…

Continue Reading Scouter APM(Application Performance Monitoring)을 이용한 Java 서비스 모니터링

OpenJdk 설치, 삭제, 업데이트

Oracle에서 Java를 유료화 하면서 상업적인 목적의 서버에 Java를 설치하고 사용할 경우 주의해야 합니다. 로컬 PC에서의 개발은 oracle, openjdk 상관없이 사용해도 문제가 없지만, 서버 환경에서의 사용은…

Continue Reading OpenJdk 설치, 삭제, 업데이트

기술 용어 및 개념 정리 모음

GC란? 가비지 컬랙션이란 힙에서 참조되지 않는 객체들을 탐색 후 삭제하는 과정으로 삭제된 객체의 메모리를 반환하여 힙 메모리를 재사용할 수 있게 하는 것이다. 힙 영역의 객체 중 stack의 변수와 연결이 끊겨 도달 불가능한 인스턴스들은 가비지 컬랙션의 대상이 된다. MinorGc Young영역(Eden + Survivor1 + Survivor2)에서 이용하지 않는 메모리가 지워지는 과정을 MinorGc라 한다.새로 생성한 대부분의 객체는 Eden영역에 위치한다.Eden 영역에서…

Continue Reading 기술 용어 및 개념 정리 모음

Java Optional 사용법

Java8에서 도입된 Optional에 대하여 살펴보겠습니다. Optional class의 목적은 null 참조 대신 Optional value로 표현되는 형식의 솔루션을 제공하는 것입니다. 즉 이전 버전까지의 Java의 고질적인 문제였던 NullPointerException을…

Continue Reading Java Optional 사용법

Java Stream 실습 코드 정리

개발에서 자주 사용하는 Java stream 예제 코드 정리 // 배열 스트림 String[] strArr = new String[]{"one", "two", "three", "four", "five"}; Stream<String> stream = Arrays.stream(strArr); assertThat(stream.collect(Collectors.toList()),…

Continue Reading Java Stream 실습 코드 정리

Java Collections – List, Map, Set, Tree, Stack, Queue

Java에서 데이터의 목록을 저장하는 자료구조인 Collections에 대하여 알아봅니다. Collection에 속해있는 다양한 자료구조를 살펴보고 특징 및 사용법에 대하여 실습해 보겠습니다. List Collection 다수의 데이터(객체)를 순서대로 저장하는…

Continue Reading Java Collections – List, Map, Set, Tree, Stack, Queue

Spring initializr로 Spring 프로젝트 생성하기

이번 실습에서는 Spring initializr를 이용하여 스프링 프로젝트를 생성해 보겠습니다. 스프링 프로젝트는 초기 생성시 설정이 간소화 되었다고 해도 초심자가 구성하기에는 어려움이 있는것이 사실입니다. 그런 사실을 인지해서인지…

Continue Reading Spring initializr로 Spring 프로젝트 생성하기

Java Collectors 알아보기

Stream 의 마지막 단계에서 사용되는 Java Collector에 대해 살펴보겠습니다. 1. Stream.collect() Stream.collect()는 데이터의 중간 처리 후 마지막에 원하는 형태로 변환해 주는 역할을 합니다. collector는 아래와…

Continue Reading Java Collectors 알아보기

SpringBoot2로 Rest api 만들기(7) – MessageSource를 이용한 Exception 처리

이번 시간에는 Spring에서 메시지를 처리하는 방법에 대해 알아보고, MessageSource를 이용하여 Exception Message를 고도화해 보도록 하겠습니다. Spring에서는 다국어를 처리하기 위해 i18n 세팅을 지원하고 있습니다. i18n이 무엇인가…

Continue Reading SpringBoot2로 Rest api 만들기(7) – MessageSource를 이용한 Exception 처리

SpringBoot2로 Rest api 만들기(6) – ControllerAdvice를 이용한 Exception처리

이번 장에서는 api 처리 중 특정한 Exception이 발생할 경우 공통으로 처리하는 방법에 대해 알아보겠습니다. Spring에서는 이와같은 처리를 위해 ControllerAdvice annotation을 제공하고 있으며 이 annotation을 이용하면…

Continue Reading SpringBoot2로 Rest api 만들기(6) – ControllerAdvice를 이용한 Exception처리

SpringBoot2로 Rest api 만들기(5) – API 인터페이스 및 결과 데이터 구조 설계

이번 시간엔 api 서버 개발을 본격적으로 진행해 보기 위해 현재 api 인터페이스 및 결과 데이터의 구조를 살펴보고 확장 가능한 형태로 설계해 보겠습니다. api는 제공 대상이…

Continue Reading SpringBoot2로 Rest api 만들기(5) – API 인터페이스 및 결과 데이터 구조 설계

SpringBoot2로 Rest api 만들기(4) – Swagger API 문서 자동화

앞서 개발한 api는 테스트를 위해 Postman을 따로 설치해야 하는 불편함이 있었습니다. 요번에 설명하려는 Swagger라는 문서 자동화 툴은 간단한 설정만으로도 테스트 가능한 Web UI를 지원하여 api를…

Continue Reading SpringBoot2로 Rest api 만들기(4) – Swagger API 문서 자동화

SpringBoot2로 Rest api 만들기(3) – H2 Database 연동

이번 시간에는 SpringBoot에 Database를 연동하는 방법을 실습합니다. 실습은 H2 database로 진행하겠습니다. H2 Database H2는 최소한의 리소스로 실행 가능한 경량 DB로서 테스트 용으로 사용하기 알맞은 DB입니다.…

Continue Reading SpringBoot2로 Rest api 만들기(3) – H2 Database 연동

SpringBoot2로 Rest api 만들기(2) – HelloWorld

이번 시간에는 앞 장에서 실습한 프로젝트를 기반으로 HelloWorld를 만들어 보겠습니다.java code 개발은 src/main/java 하위에 package를 생성하고 진행합니다. package란? java 라이브러리들 간의 충돌을 막기 위해 class들을…

Continue Reading SpringBoot2로 Rest api 만들기(2) – HelloWorld

SpringBoot2로 Rest api 만들기(1) – Intellij Community 프로젝트생성

Intellij에서 SpringBoot2를 실습하기 위한 가장 기본적인 설정을 진행해보겠습니다. 프로젝트의 진행은 Intellij Community 버전으로 진행합니다. 다음 사이트에서 Intellij Community 버전을 다운로드하여 설치해 주십시오. https://www.jetbrains.com/idea/download Create New…

Continue Reading SpringBoot2로 Rest api 만들기(1) – Intellij Community 프로젝트생성