728x90
728x90
Swagger Swagger란 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. 필자가 직접 사용해본 결과, 사용방법이 무척이나 간단하며 편리하게 API 문서화를 진행할 수 있다. 단점이라고 한다면, 이미 어느정도 개발이 완료된 프로젝트에 대해서는 적용이 다소 어려울 수 있다는 점이다. 이미 생성해놓은 모든 API에 별도 적용을 거쳐야 하기 때문이다... 신규 프로젝트에 도입할 때에는, 개발자들이 API Annotation 양식을 지켜가며 작성을 하게 함으로써 아주 간단하게 API 문서화를 할 수 있겠지만 말이다. 하단 출처에 적혀있는 Swagger 홈페이지에서 Demo 및 사용방법 등과 같은 정보를 확인할 ..
SSL ignore - URL Connection - File Download [2]URL Connection을 이용한 File Download [1]에서는, Stream을 이용하여 진행하였다.URL Connection을 이용한 File Download [2]에서는, Resource를 이용하여 진행할 것이다. 이전에 작성한 URL Connection을 이용한 File Download [1]을 참고하도록 하자. 해당 게시물을 보면 다음과 같이 구성이 되어있음을 알 수 있다.SSL ignoreHttpsURLConnectionFile Download 1번과 2번까지는 같은 내용을 다룰 것이다. File Download 방식을 변경할 것이기에, 이전 포스팅에서 1번과 2번까지 테스트를 마치고 아래의 내용을 보..
SSL ignore - URL Connection - File Download [1] URL Connection을 이용한 File Download [1]에서는, Stream을 이용하여 진행할 것이다. URL Connection을 이용한 File Download [2]에서는, Resource를 이용하여 진행할 것이다. URL Connection을 이용한 일종의 GateWay 역할을 담당하는 서비스를 구축해보고자 한다. 최종적으로는 URL Connection으로 특정 URL의 data를 읽어와, File Download를 JAVA가 대신하도록 할 것이다. 포스팅을 쓰는 까닭은, 필자가 해당 업무를 진행하며 기본적으로 URL Connection을 사용하는 방법부터, 해당 URL의 자체 SSL 인증으로 인해 J..
MVEL Rule 환경 설정 MVEL Rule을 이용하여 easy rules 응용을 진행해보겠다. 우선 easy rules 및 MVEL Rule을 사용하기 위한 maven 추가를 진행하겠다. org.jeasy easy-rules-core 4.1.0 org.mvel mvel2 2.4.12.Final MVEL Rule 사용을 위한 component를 생성하도록 하자. easy rules 사용 [3] MVEL Rule 게시물의 'MVELRule을 이용한 규칙 생성에 필요한 Component' -를 참고하면 된다. 다음의 class 파일들을 적당한 위치에 놔두도록 하자. MVELAction.java MVELCondition.java MVELRule.java MVEL Rule 응용 방식 이전 포스팅에서 필자가 M..
예시 [1] 단일 조건 이전에 작성한 easy rules 사용 [1] 게시물의 예시를 작성해보겠다. 메인이 되는 class를 다음과 같이 수정하겠다. 이번 예시에서는 다른 controller의 method를 가져다 쓰는 테스트를 진행하기에, main method 상단에 test method를 생성하도록 하겠다. 규칙을 정의하는 controller를 import 하는 것도 잊지말자. import org.jeasy.rules.api.Facts; import org.jeasy.rules.api.Rules; import org.jeasy.rules.api.RulesEngine; import org.jeasy.rules.core.DefaultRulesEngine; import easyRulesTest.contro..
MVEL Rule 예시 [1] 단일 조건 이전에 작성한 easy rules 사용 [3] MVEL Rule 게시물의 예시를 작성해보겠다. 우선 메인이 되는 class를 다음과 같이 수정하도록 하겠다. public static void main(String[] args) { // 변수 선언 // 1:사원 2:대리 3:과장 4:부장 int position = 3; boolean positionReal = false; String responsePosition = "홍길동 이사"; String answer = "'결재 요청 인원 직급 : " + position + " / 결재자 : " + responsePosition + "'"; // 임의 if문 지정 // 과장 이상부터 결재 가능 if(position>2){..
YML 예시 [1] 단일 조건 이전에 작성한 easy rules 사용 [5] YML 게시물의 예시를 작성해보겠다. YML 방식을 사용할 경우, controller class 파일에 대한 수정이 크게 없다는 장점이 존재한다. 메인이 되는 class 파일 및 yml 파일을 다음과 같이 수정하도록 하겠다. // (구) 메인이 되는 class 파일 내 소스코드 // facts 정의 Facts facts = new Facts(); facts.put("rain", true); ↓ // (신) 메인이 되는 class 파일 내 소스코드 // facts 정의 Facts facts = new Facts(); facts.put("position", true); // (구) rule yml 파일 소스 코드 name: "wea..
YAML, YML 정의 "YAML은 마크업 언어가 아니다 (YAML Ain't Markup Language)” 라는 재귀적인 이름에서 유래된(본래의 뜻은 또 다른 마크업 언어 (Yet Another Markup Language) 이다) YAML은 XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이다. Rule을 정의하기 위한 YML 파일 작성 우선 YML 파일을 생성한다. 필자는 Eclipse를 사용하므로, 그에 맞춰 설명하도록 하겠다. Eclipse에서는 기본적으로 yml 확장자를 지원하지 않으므로, File로 생성 후 확장자명을 지정하도록 한다. 아래 이미지를 참조하면 좋을 듯 하다. 이후 생성된 yml ..
jeasy API를 이용한 규칙 생성 이전 게시물에서는 MVELRule을 이용하여 rule engine을 구현해 보았다. 이번에는 순수하게 jeasy API만을 사용하여 구현해보도록 하겠다. 순수 jeasy API만을 사용할 경우, easy rules 사용 [3] MVEL Rule에서 사용한 것과 같이 메인이 되는 class에서 처리가 가능하다. 메인이 되는 class를 다음과 같이 수정하겠다. import org.jeasy.rules.api.Facts; import org.jeasy.rules.api.Rule; import org.jeasy.rules.api.Rules; import org.jeasy.rules.api.RulesEngine; import org.jeasy.rules.core.Defaul..
MVEL Maven 추가 MVEL이란, MVFLEX Expression Language의 약자로서 Java 플랫폼 용 동적 / 정적 형식의 내장형 표현 언어 및 런타임을 뜻한다. 필자가 진행한 사용 테스트에는 MVEL Maven 추가가 필요하다. org.mvel mvel2 2.4.12.Final MVELRule을 이용한 규칙 생성에 필요한 Component 필자의 경우, MVEL Maven 추가만으로 모든 component를 가져올 수는 없었다. 그리하여 j-easy Github에 올라와있는 easy-rules-mvel 하위 directory를 참조하였다. https://github.com/j-easy/easy-rules 좌측의 링크를 접속하면, 다음과 같은 화면이 출력된다. 해당 Github의 root..