728x90 반응형 📚Framework & Library23 [Library] Axios major version Update (0.x -> 1.x) Axios 0.x 버전 보안 취약점으로 1.x 버전으로 업데이트 하기 2023.11.08일에 Axios v0.8.1 ~ v1.5.1 버전에서 XSRF-TOKEN이 X-XSRF-TOKEN 헤더에 포함되어 매 요청마다 보내져 공격자에게 보여질 수 있는 CVE가 공개되었다. 위 이슈로 인해 현재 해당 보안 취약점이 해결되었으며, 안정화된 Release 버전인 1.6.4로 업데이트를 진행하였다. Axios XSRF-TOKEN 취약성 업데이트 | DevelopersIO2023/11/08 일자로 Axios v0.8.1 ~ v1.5.1 버전에서 XSRF-TOKEN이 X-XSRF-TOKEN 헤더에 포함되어 매 요청마다 보내져 공격자에게 보여질 수 있는 CVE가 공개되었습니다. 대응 방법과 일어난 이유 XSRF-TOK.. 2024. 5. 27. [Junit] Jasper Report PDF 문서 검증하기 (feat. JpdfUnit) JasperReport 라이브러리를 사용하여 PDF형식의 보고서를 생성할 때 데이터가 제대로 가공되어 보고서가 정상적으로 생성 되는지 테스트 하기 위해 JpdfUnit을 사용하게 되었다. *JasperReport에 대한 내용은 해당 글 참조. https://inbeom.tistory.com/entry/JasperReports-JasperReports%EB%9E%80-feat-Jaspersoft-Studio 기존 Java에서는 Junit을 사용하여 데이터를 검증하고 서비스 로직 등을 테스트 하지만 JasperReport를 사용하여 생성한 PDF형식의 보고서의 데이터를 검증하기 위해서는 다른 방법이 필요하여 리서치를 통해 여러 개발자들이 PDF 데이터 검증에 활용하고 있는 JpdfUnit이라는 오픈소스 프레.. 2024. 1. 23. [Junit] Elasticsearch Unit(Integration) Test Code 작성하기 Spring에서 Junit을 사용하여 Elasticsearch 테스트 코드를 작성하는 방법 Spring 프로젝트에서 Junit으로 Test Code를 작성할 때 RDB(Mysql, Postgresql, Orcle 등)는 JPA나 MyBatis의 Queyr(method)를 사용하여 결과값을 간단히 검증할 수 있지만 Elasticsearch의 경우 org.elasticsearch에서 제공하는 Library를 활용하여 TEST CODE를 효율적으로 작성할 수 있다. 기존에는 ES 임베디드 환경을 사용하여 테스트가 가능했지만 7.0 버전부터 사용이 불가능해진 것으로 보이며 ES의 개발자가 대안으로 RestHighLevelClient를 사용한 In Memory 테스트 방법을 추천한다.https://discuss.. 2024. 1. 23. [Jenkins] Jenkins란? Jenkins는 오픈 소스 자동화 서버로 CI/CD를 지원하는 도구이다. 소프트웨어 개발 및 배포 프로세스를 자동화하여 개발자들이 소스 코드 변경 사항을 통합하고 테스트하며, 안정적으로 프로덕션 환경에 배포할 수 있다. Jenkins 주요 특징 / 개념 지속적 통합(CI): Jenkins는 여러 개발자들이 작업한 코드 변경 사항을 자동으로 통합하고 빌드하는데 사용된다. *코드 변경이 더 빈번하게 통합되고 테스트되기 때문에 품질 향상과 버그 감소의 효과가 있다. 자동화된 빌드 및 배포: 소스 코드의 빌드 및 테스트를 자동화하여 자동으로 배포 프로세스를 시작할 수 있다. 플러그인 지원: 다양한 플러그인을 지원하여 다양한 개발 / 배포 환경에 대한 통합을 제공한다. 플러그인을 통해 Email 알림, VCS 통.. 2024. 1. 14. [Junit] Test 종류. Test Case (feat. 전자정부 프레임워크) 테스트는 소프트웨어 개발 생명주기에서 매우 중요한 부분을 차지한다. 테스트를 잘 하면 버그 감소와 유지보수 용이성, 코드 문서화, 개발 생산성 향상 등의 측면에서 유리하다. White Box Test (구조 기반 테스트) 소프트웨어의 내부 구조와 동작을 검증하는 테스트로 개발자가 코드의 내부 로직, 제어 흐름, 데이터 흐름 등을 이해하고 테스트 케이스를 작성하는 방법이다. 코드의 모든 경로와 조건을 확인할 수 있어 Code Coverage가 높지만, 개발자의 시각에 의존하므로 완전한 테스트는 힘들다. Black Box Test (기능 기반 테스트) 소프트웨어의 내부 구현을 알지 못하고 기능에만 초점을 맞춘 테스트로 시스템이 요구 사항을 만족하는지 여부를 확인하는 것이 목표이다. 사용자의 관점에서 테스트하.. 2023. 11. 17. [Junit] TypeReference, JsonPath - Json 다루기 (feat. ObjectMapper) Junit을 사용하여 Integration Test Case 작성 중 데이터 검증로직을 구현할 때 유용하게 사용할 수 있다. TypeReference란? TypeReference는 Jackson 라이브러리에서 제공하는 클래스로, 제네릭 타입을 사용하는 경우에 JSON 데이터를 해당 제네릭 타입으로 역직렬화할 때 유용하다. Jackson은 제네릭 타입 정보를 유지할 수 없기 때문에 이러한 경우에 TypeReference를 사용하여 타입 정보를 보존한다. Example > List list = new ObjectMapper().readValue(responseContent, new TypeReference(){}); @Test //Todo. User 리스트 조회 테스트 @Transactional public.. 2023. 11. 17. [Junit] Junit4 다양한 라이브러리 활용 (feat. AssertJ, Unitils, RestAssured) Test Code를 작성하려면 Junit만 사용해도 되지만 Test Code에 대한 가독성이나 편리성을 높여주는 라이브러리들을 활용하면 더 쉽고 편하게 코드를 작성할 수 있다. Junit에 대한 기본적인 내용은 이전 글 참고! https://inbeom.tistory.com/entry/JUnit-JUnit%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EA%B8%B0%EB%B3%B8-%EC%A0%95%EB%A6%AC Junit 기반 테스트 코드를 작성할때 활용할 수 있는 여러 라이브러리가 있지만 가장 많이 사용되는 것은 AssertJ, Unitils, RestAssured 3가지가 있다. AssertJ AssertJ는 Java기반의 객체 지향적인 방식으로 테스트 코드를 작성할 수 있.. 2023. 11. 17. [JasperReports] 05. Java) JasperPrint Export. 보고서 출력 JasperSoft Studio로 생성한 Report(.jrxml)파일을 출력하는 방법 1. Library Setting 1. Library 의존성 추가: net.sf.jasperreports jasperreports 6.4.0 2. jasper File Directory 생성: jasper studio에서 common directory를 경로로 잡았기 때문에 studio에서 .jrxml 파일을 수정하고 저장하면 자동 반영된다. 2. Report 요청 - Controller @ResponseBody @RequestMapping(value = "/searchReport01", method = RequestMethod.GET) public void searchReport01(Model model, HttpS.. 2023. 10. 20. [JasperReports] 04. Parameter, Variable, Dataset (Style) JasperReports에 데이터를 삽입하는 방법 1. Parameter Parameter: 외부에서 값을 전달받아 사용할 수 있는 변수로 동적으로 값을 생성하거나 보고서의 동작을 제어하는 데 사용된다. // 3. java) parameter 전달: Map parameters = new HashMap(); parameters.put("ReportTitle", "Sales Report"); JasperPrint jasperPrint = JasperFillManager.fillReport("YourReport.jasper", parameters, dataSource); 2. Variable Variable: 데이터를 계산하고 저장하기 위한 요소로 이를 통해 보고서에서 다양한 계산을 수행할 수 있다. // 3.. 2023. 10. 19. 이전 1 2 3 다음 728x90 반응형