Spring REST Docs는 정확하고 읽기 쉬운 RESTful 서비스에 대한 문서를 생성합니다. 손으로 작성한 문서와 Spring 테스트로 생성 된 자동 생성 문서 snippets(스니펫)을 결합해서 사용 할 수 있게 해줍니다. 자바 문서 자동화에는 Spring REST Docs 이외에 대표적으로 Swagger가 있습니다. 필자는 Swagger의 경험만 있었다...문서 자동화라는 공통점이 있지만 각각 용도,목적??은 다르다. Spring REST Docs Swagger 용도 문서 제공용 API 테스트를 위한 용도에 더 집중됨 장점 깔금하고 API 명세에 집중 적용하기 상대적으로 쉬움 API 테스트 UI제공 단점 Test코드 기반 문서 작성됨 (Test코드 필수) 설정등 적용하기 어려움 코드에 어노테이..
kafka producer와 cunsumer를 테스트해보자. 일단 kafka를 먼저 설치 하자. kafka를 다운받고 간단하게 producer, cunsumer 실행하고 압축을 풀고 해당 kafka 디렉토리로 이동하자. 아래와 같이 폴더들이 있다. ~/kafka.2.12-2.3.0 > ls LICENSE NOTICE bin config libs site-docs 아래와 같이 입력하여 zookeeper를 실행하자. bin/zookeeper-server-start.sh config/zookeeper.properties 실행되면 아래와 같이 메세지가 출력이 된다. INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCn..
Mybatis oracle proedure xmlType 처리필자가 알기엔 oracle 11g부터인가 xmlType형식을 지원한다. 그리고 mybatis로 oracle procedure 함수를 호출해서 쿼리 대신 데이터를 받을 수 있다.굳이 왜 이렇게 하는가....근데 그렇게 해야 할 일이 생겨서 삽질을 좀 많이 했다. 프로젝트는 spring-boot 2.1.2, Java 8, maven, intellij 기반으로 했다. 근데 여기서 또 하나 문제가 발생한다. 아래에 설명할 테지만 spring-boot를 사용하는데 어쩔 수 없이 배포를 war로 해야 했다. war 배포 설정은 여기에 아주 잘 나왔다. 참고하도록 하자. 참고로 intellij 프로젝트 생성시 packaging war바꿔주면 알아서 다 해준..
maven multi 모듈몇 년? 만에 블로그를 다시 작성한다. 목적은 개인 공부 및 기록? 예습, 복습 차원에서 작성한다. 그래서 설명이 부족할 수 있다. 꾸준히작성하자.다시 시작은 maven multi 모듈 프로젝트 구조를 만들어 보자. 멀티 모듈로 구성해야 할 일이 있어 예전에 했었지만 기억이 안 나서 다시한번 정리 하려고 한다. 필자는 IDE intellij를 사용하여 intellij 기반으로 설명하도록 하겠다.먼저 상단메뉴 file-> new -> Project 클릭하여 프로젝트를 생성하자. 그리고 왼쪽 메뉴에서 maven을 선택하자. 그리고 next -> GroupId, ArtifactId 입력하고 next -> finish 다음 이제 parent 프로젝트 하위에 모듈을 만들어 보자 paren..
Agile Practices - Scrum/Kanban 조직의 생산성을 향상시키기 위해서는 개인의 실력을 향상시켜야 한다. 하지만 개개인 사이의 협력하는 방법을 바꿈으로써 조직을 발전시킬 수도 있다.스크럼의 개념 (반복개발) 1) 해야할 일, 하고있는 일, 끝마친 일로 우선 프로젝트를 나눈 후 2) 이번에 할 프로젝트의 긴 개발 기간을 잘게 쪼개서 (이 쪼갠 단위를 스프린트라고 한다) 개발하는 방법을 말한다. 3) 이때 스크럼 프로세스(스프린트, 미팅, 산출물)은 대체로 1~4주 단위의 반복 개발을 한다.이슈 타입큰틀 (Epic)단기간 내에 해결할 수 없는 이슈나, 거대한 테스크를 Epic 이슈로 등록한다. 여러 Story들의 집합이다. ~으로서,를 반드시 명시한다. 예-1 : 사용자로서, 새로운 플레이..
Introduction 테스트는 개발자가 일을 마치고 산출물을 만들었을 때 1+1(n)같이 따라붙는 덤 같은 존재입니다. 간혹 시간이 부족하거나 피치못할 사정으로 테스트가 생략되는 경우가 있습니다. 운이 좋아 아무런 문제가 없는 경우도 있겠지만, 대부분의 경우 생각치 못한 경우에서 결함이 발생하는 경우를 경험해보셨을 거라 짐작합니다. 테스트는 정말 중요합니다. 그리고 테스트는 연구하는 사람에게 있어 '일' 입니다. 테스트가 빠진 개발물은 완료된 작업이 아님을 명심해야 합니다.여기서는 이렇게 중요한 테스트에 대해서 더 자세히 알고 어떤 방법을 통해 개발에 적용이 가능한지와 이를 넘어서 테스트 주도 개발 방법론을 개발에 적용하는 이야기하고자 합니다.테스트의 정의시스템이나 시스템의 구성 요소 또는 SW 프로그..
클라우드 서비스 유형(IaaS, PaaS, SaaS) 1. IaaS(Infrastructure as a Service) -개념서버를 운영하기 위해서는 서버 자원, IP, Network, Storage, 전력 등등 인프라를 구축하기 위해 여러가지가 필요한데 서버, 스토리지, 네트워크를 가상화 환경으로 만들어, 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 형태이다. 즉 서버나 스토리지 같은 하드웨어 자원만을 임대해주는 클라우드 서비스를 말합니다. Infrastructure를 가상의 환경에서 편리하게 서비스 형태로 제공받을 수 있으며 HassS(Hardware as a Service)라고 불리기도 합니다.-특징1)클라이언트는 서비스 제공업체의 클라우드 환경에 구축하고 싶은 OS와 응용프로그램을..
조직의 생산성을 향상시키기 위해서는 개인의 실력을 향상시켜야 한다. 하지만 개개인 사이의 협력하는 방법을 바꿈으로써 조직을 발전시킬 수도 있다.스크럼의 개념 (반복개발) 1) 해야할 일, 하고있는 일, 끝마친 일로 우선 프로젝트를 나눈 후 2) 이번에 할 프로젝트의 긴 개발 기간을 잘게 쪼개서 (이 쪼갠 단위를 스프린트라고 한다) 개발하는 방법을 말한다. 3) 이때 스크럼 프로세스(스프린트, 미팅, 산출물)은 대체로 1~4주 단위의 반복 개발을 한다.이슈 타입큰틀 (Epic)단기간 내에 해결할 수 없는 이슈나, 거대한 테스크를 Epic 이슈로 등록한다. 여러 Story들의 집합이다. ~으로서,를 반드시 명시한다. 예-1 : 사용자로서, 새로운 플레이팅 어플리케이션이 필요하다고 생각합니다스토리 (Story..
1. IaaS(Infrastructure as a Service) -개념서버를 운영하기 위해서는 서버 자원, IP, Network, Storage, 전력 등등 인프라를 구축하기 위해 여러가지가 필요한데 서버, 스토리지, 네트워크를 가상화 환경으로 만들어, 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 형태이다. 즉 서버나 스토리지 같은 하드웨어 자원만을 임대해주는 클라우드 서비스를 말합니다. Infrastructure를 가상의 환경에서 편리하게 서비스 형태로 제공받을 수 있으며 HassS(Hardware as a Service)라고 불리기도 합니다.-특징1)클라이언트는 서비스 제공업체의 클라우드 환경에 구축하고 싶은 OS와 응용프로그램을 설정하여 사용하면 된다. 2)하드웨어 자원만을 제공하..
버추얼박스(VirtualBox) 설치 및 가상머신 만들기 1. 일단 버추얼박스(VirtualBox)를 다운받자. 현재 사용하고 있는 운영체제에 맞는 것을 골라 다운받으면 된다. 2.설치 마법사 시작되었다. next버튼을 클릭하자. 3.버추얼박스(VirtualBox) 구성 요소들과 설치될 이취를 선택하는 단계이다. 필자는 기본값을 그대로 사용했다. 4.바로가기 생성등의 옵션을 설정하는 단계이다. 필자는 모두 선택했다. 5.버추얼박스(VirtualBox) 설치하는 중에 네트워크 연결이 잠시 중단된다는 경고 메시지 이다. 6.'Install' 버튼을 클릭하자. 7.USB 드라이버 설치 여부를 확인하는 상자다. 가상 머신에서 USB 장치를 사용하려면 설치해야한다. 8.버추얼박스(VirtualBox) 설치가 끝났..