본문 바로가기

오픈소스/스프링

[Spring] Apache Jmeter 로 웹서버 성능 체크하기 아파치 JMeter™ 애플리케이션은 부하 테스트 기능 동작과 성능을 측정하기 위해 디자인 된 100 % 순수 자바 애플리케이션 오픈 소스 소프트웨어입니다. 원래 웹 응용 프로그램 테스트용으로 설계되었지만 이후 다른 테스트 기능으로 확장되었습니다. Apache JMeter는 정적 및 동적 자원, 웹 동적 애플리케이션 모두에서 성능을 테스트하는 데 사용할 수 있습니다. 서버, 서버 그룹, 네트워크 또는 개체에 대한 과부하를 시뮬레이션하여 강도를 테스트하거나 다양한 부하 유형에서 전체 성능을 분석하는 데 사용할 수 있습니다. 본 문서는 Apache Jmeter 설치법 및 사용법을 설명하고 있습니다. # Contents 설치 방법 사용법 # 설치방법 1. JMeter Download 먼저 http://jmete.. 더보기
[Spring] Jackson의 ObjectMapper을 이용한 String to Object[VO] & Object[VO] to String Jackson의 ObjectMapper는 Object에서 String으로, String에서 Object로 변경하는 라이브러리입니다. 실제로 RestAPI 통신과 여러 API를 사용하고자 할 때 가장 많이 쓰이는 라이브러리는 Gson과 Jackson이라고 생각합니다. 성능의 비교는 아래와 같습니다. 큰 파일 파싱 이미지 출처 http://blog.takipi.com 작은 파일 파싱 이미지 출처 http://blog.takipi.com 대량의 데이터를 이용할 때에는 Jackson을 이용하고, 소량의 데이터를 이용할 때에는 Jackson을 사용하는 것을 추천하는 그림입니다. Spring boot에서는 Jackson이 기본적으로 내장되어 있다고 해서, 오늘은 Spring에서 Jackson의 Object.Mapp.. 더보기
[Spring] AOP 설명 및 예제 AOP(Aspect Oriented Programing)는 관점 지향 프로그램입니다. 즉, 관점이 같은 코드가 반복되지 않도록 모듈화하는 프로그래밍 패러다임이라고 생각하시면 됩니다. 어떠한 경우 AOP 적용이 좋은지 예시를 통해 알아보도록 하겠습니다. class A { method a() { AAAA method a가 하는 일들 BBBB } } class B { method b() { AAAA method b가 하는 일들 BBBB } } 이렇듯 다른 메소드이지만 같은 작업을 하는 경우 흩어져 있는 코드들을 묶어서 같은 작업을 한 파일에 캡슐화 하는 역할이 필요할 때 AOP를 사용하는 것이 좋다고 합니다. 그들 중 Spring AOP는 프록시 패턴이라는 디자인 패턴을 사용해서 AOP효과를 내게 되는데, 프.. 더보기
[Spring] PropertyPlaceholderConfigurer - 외부 설정 프로퍼티 설정 및 작업 PropertyPlaceholderConfigurer 에 적용법에 대해 알아보겠습니다. 일단 PropertyPlaceholderConfigurer 라는 것에 대해 알아보도록 합시다. Java Spring Boot 와 DB 연동 작업을 할 떄 이러한 외부에서 환경을 설정해주는 파일을 많이 보셨을 거라고 생각합니다. 이러한 작업을 도와주는 것이 바로 오늘 적용해볼 설정인 PropertyPlaceholderConfigurer 입니다. 본 문서는 PropertyPlaceholderConfigurer 라는 설정을 통해 내부설정을 외부에 저장하는 환경설정 파일로 분리하는 작업을 시행해보도록 하겠습니다. # Contents PropertyPlaceholderConfigurer 적용 # PropertyPlacehold.. 더보기
[Spring] CORS with Spring Framework CORS 필터 에 설명 및 코드는 다음 페이지를 확인해주세요. https://junhokims.tistory.com/29 [Spring] CORS Filter 적용 CORS 에 대해 설명하고자 합니다. Cross-Origin Resource Sharing 의 약자로써, 특정 헤더를 통해 브라우저에게 Origin 에서 실행되고 있는 웹 애플리케이션이 Cross-Origin에 리소스에 접근할 수 있는 권한.. junhokims.tistory.com CORS 필터 의 단점은 GET 메소드만 이용할 수 있다는 단점이 있습니다. 하지만 Spring에서 지원하는 프레임워크를 사용하면 간단하게 적용할 수 있습니다. 즉, Spring Framework 4.2 GA 는 CORS를 기본적으로 지원 하므로 일반적인 필터 기.. 더보기
[Spring] CORS Filter 적용 CORS 에 대해 설명하고자 합니다. Cross-Origin Resource Sharing 의 약자로써, 특정 헤더를 통해 브라우저에게 Origin 에서 실행되고 있는 웹 애플리케이션이 Cross-Origin에 리소스에 접근할 수 있는 권한이 있는지 없는지 확인하는 방침이라고 생각하면 편합니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 Cross-Origin HTTP 요청을 실행합니다. CORS 요청 하는 종류 다음과 같습니다. XMLHttpRequest와 Fetch API 호출 웹 폰트(CSS 내 @font-face에서 교차 도메인 폰트 사용 시), WebGL 텍스쳐. drawImage() (en-US)를 사용해 캔버스에 그린 이미지/비디오 프레임. 이미지로부터 추출.. 더보기
[Spring] XSS Filter 적용 XSS(Cross Site Scripting)에 대해 다들 아실거라고 생각합니다. 서버로 보내는 폼이나 데이터 안에 스트링형태의 자바스크립트를 보내 개발자가 의도한 코드와는 다르게 코드가 동작하여 주로 사용자의 데이터를 가져가거나 악성코드를 심는 행위를 말하는 것입니다. 아래 그림을 보시면서 예를 들어보도록 하겠습니다. 위 그림을 간단하게 설명하겠습니다. 어느 특정 웹페이지에 입력 폼이 있다고 합시다. 그 특정 웹페이지를 구글로 들어서 설명하겠습니다. 구글에 검색 폼 안에 스크립트를 넣고 검색버튼을 누르면 구글 개발자에 의도와는 다르게 스크립트가 실행되어 어떠한 정보를 변경하거나 탈취하는 코드를 작성하고 실행시키면 동작되는 것이죠. 스프링에서는 필터를 적용하여 XSS공격을 방어할 수 있습니다. 본 문서에.. 더보기
[Spring] UTF-8 Encoding Filter 적용 처음 스프링 프로젝트를 만들고 실행시키면 아래 사진과 같이 한글 문자가 깨지는 현상이 일어납니다. 이러한 현상은 스프링 프로젝트 자체에서 Servlet에 인코딩 적용이 현재 프로젝트와 맞지 않아서 한글이 깨지게 되는데요. 이러한 현상을 제거하려면 인코딩 필터를 적용하면 한글이 제대로 나오게 됩니다. 아래 해결 방안을 읽고 적용해주세요. 본 문서는 스프링의 UTF-8 Encoding Filter 적용하기 위한 내용입니다. # Contents UTF-8 Encoding Filter 적용 # UTF-8 Encoding Filter 적용 먼저 web.xml 로 이동합니다. web.xml의 경로는 "My Project\src\main\webapp\WEB-INF\web.xml" 이며 아래는 이클립스로 접근한 사진입.. 더보기