Windows10 OpenSSH 클라이언트 활성화, 개발자 모드 + Ubuntu Linux 활성화

Windows10 최신 버전부터 윈도우상에서 ssh명령어를 지원하거나, Ubuntu Linux를 사용할 수 있도록 기능을 제공하기 시작하였습니다. 기존 윈도우 환경에서는 개발자가 리눅스나 Mac 환경처럼 서버 개발을 하기가 어려웠는데…

Continue Reading Windows10 OpenSSH 클라이언트 활성화, 개발자 모드 + Ubuntu Linux 활성화

Spring Boot Oauth2 – AuthorizationServer : DB처리, JWT 토큰 방식 적용

앞 장에서는 테스트를 위해 메모리에 정보를 올려놓고 테스트하였으나, 이번에는 DB를 사용해 처리할 수 있도록 개선해 보겠습니다. 최신 소스는 아래 GitHub 주소를 참고해 주세요. https://github.com/codej99/SpringOauth2AuthorizationServer.git 클라이언트…

Continue Reading Spring Boot Oauth2 – AuthorizationServer : DB처리, JWT 토큰 방식 적용

Spring Boot Oauth2 – AuthorizationServer

Spring 프레임웍에서 제공하는 Oauth2 프로젝트를 이용하여 Oauth Authorization Server를 구축해 보겠습니다. Oauth Authorization은 클라이언트가 서비스 제공자로부터 회원 리소스를 제공받기 위해 인증 및 권한 부여를 받는…

Continue Reading Spring Boot Oauth2 – AuthorizationServer

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

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

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

Redis – install

Redis는 데이터베이스, 캐시 및 메시지 브로커로 사용되는 오픈 소스 in-memory 데이터 구조 저장소입니다. string, hashes, lists, sets, sorted sets 데이터 구조를 지원하며. pub/sub를 통한 메시지…

Continue Reading Redis – install

Intellij에서 Github의 Spring Gradle Project import 하기

Intellij에서 Github의 Spring Project를 로컬로 Clone 하여 프로젝트를 구성하는 방법에 대해 알아보겠습니다. 참고로 Gradle로 구성된 SpringBoot 기준입니다. Github 프로젝트 주소 복사 Github로 이동하여 clone or…

Continue Reading Intellij에서 Github의 Spring Gradle Project import 하기

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 만들기(9) – Spring Starter Unit Test

이번 시간에는 지금까지 만든 api를 Unit Test 하여 검증해보는 시간을 갖겠습니다. 현재 개발한 api는 별다른 로직이 없어 Unit Test가 공수 대비 효용성이 없어 보입니다. 하지만…

Continue Reading SpringBoot2로 Rest api 만들기(9) – Spring Starter Unit Test

소나큐브(Sonarqube)를 통한 코드 분석 및 코드 품질 향상

소나큐브는 지속적으로 코드의 품질을 높이고 유지 보수하는데 도움을 주는 정적 분석 애플리케이션입니다. 분석 기능이 탁월하고 개선사항도 자세하게 안내해 줍니다. 간단하게는 코딩 컨벤션부터 코드의 잠재적인 위험 사항까지 안내해주어 올바른 코딩 습관과 코드의 품질향상에 많은 도움을 줍니다. Sonarqube features Linux, Window, Mac 등 다양한 환경에서 모두 구동이 가능합니다. 20개가 넘는 프로그램 언어에 대한 코드 분석을 지원합니다. 개발된 코드의 품질을 어드민을 통해 확인해 볼 수 있고 지속적으로 관리가 가능합니다. 품질 게이트를 통해 표준화된 코드 품질 요구사항을 설정할 수 있습니다. Jenkins 같은 CI엔진과 통합되어 분석이 가능합니다. IDE와 연동되는 다수의 Plugin을 통해 분석이 가능합니다.  다운로드 및 설치 https://www.sonarqube.org/downloads/ 에서 다운로드하고 압축을 해제합니다. 소나큐브 서버 실행 실습은 윈도우 환경하에서 진행합니다. 서버 실행 후에는 어떤…

Continue Reading 소나큐브(Sonarqube)를 통한 코드 분석 및 코드 품질 향상

SpringBoot2로 Rest api 만들기(8) – SpringSecurity 를 이용한 인증 및 권한부여

이번 시간에는 SpringSecurity를 이용하여 api 서버의 사용 권한을 제한하는 방법에 대해 알아보도록 하겠습니다. 지금까지 개발한 api는 권한 부여 기능이 없어 누구나 회원 정보를 조회, 생성…

Continue Reading SpringBoot2로 Rest api 만들기(8) – SpringSecurity 를 이용한 인증 및 권한부여

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 문서 자동화