Apache jmeter
Apache Jmeter Download Release 클릭 후 나는 apache-jmeter-5.6.3.zip 다운받았다. 파일 압축을 해제 한 후 bin 파일에 들어가서 ApacheJMeter.jar 파일을 실행하면 jmeter가 실행된다. window인 나는 jmeter.bat을 실행했다. JMeter plugin link ...
Apache Jmeter Download Release 클릭 후 나는 apache-jmeter-5.6.3.zip 다운받았다. 파일 압축을 해제 한 후 bin 파일에 들어가서 ApacheJMeter.jar 파일을 실행하면 jmeter가 실행된다. window인 나는 jmeter.bat을 실행했다. JMeter plugin link ...
nGrinder nGrinder는 성능 테스트를 위한 오픈 소스 플랫폼으로, Controller와 에이전트(Agent)로 구성된다. 컨트롤러 (Controller) nGrinder 성능 테스트를 관리하고 조정하는 중앙 집중형 서버다. 사용자는 웹 인터페이스를 통해 컨트롤러에 접속하여 테스트를 설정하고 실행할 수 있다. 컨트롤러는 테스...
Spring Security의 JWT 토큰 관리와 보안 필터 처리 log에 [doFilterInternal] 유효한 JWT 토큰이 없습니다, uri: 라는 메시지가 표시되어 해당 인증이 필요없는 CSS 및 JavaScript 파일에도 이 메시지가 표시되는 문제가 생겼다. public class JwtAuthenticationFilter ext...
Spring Security: 인증과 권한 관리 back과 front를 분리하면서 해당 권한에 해당하는 api 주소를 back에 맞게 변경했다. 그리고 해당 주소 중 관리자만 사용할 수 있게 권한을 Security에 설정했다. 문득 이 권한은 로그인한 사용자 정보를 얻기 위해 SecurityContextHolder.getContext().se...
CORS 기존 브라우저 정책은 서로 다른 도메인으로부터 리소스가 필요한 경우 보안상의 이유로 다른 도메인의 리소스를 가져오는 것이 불가능했다. 이를 SOP (Same-Origin Policy, 동일 출처 정책) 이라고 한다. 하지만 실제 서비스 개발에서는 프론트엔드와 백엔드 서버의 도메인이 다르거나 외부 API 서버와 통신해야 하는 경우가...
@AuthenticationPrincipal을 활용한 사용자 정보 주입 @AuthenticationPrincipal은 Spring Security에서 현재 인증된(principal) 사용자의 정보를 주입받을 때 사용하는 어노테이션이다. 이를 통해 컨트롤러나 서비스에서 현재 사용자의 정보에 쉽게 접근할 수 있다. 문제 User가 UserDetai...
동시성을 통한 다중 접속자 관리 동시성(Concurrency)이란 하나의 코어에서 여러 스레드가 번갈아 실행되면서 동시에 동작하는 것처럼 보이게 만드는 개념이다. 실제로는 한 시점에 하나의 스레드만 실행되지만 매우 빠른 전환이 일어나기 때문에 동시에 처리되는 것처럼 보인다. 이 과정에서 스레드 간 전환이 발생하는데 이를 Context Switch...
HTTPS란 HTTPS는 Hypertext Transfer Protocol Secure의 약자로 HTTP 프로토콜에 SSL이 추가된 프로토콜이다. 기존 HTTP는 데이터를 암호화하지 않고 전송하기 때문에 중간에서 데이터가 노출될 수 있다. 반면 HTTPS는 SSL을 이용해 데이터를 암호화하여 전송하므로 보안성이 높다. HTTPS를 사용하려면...
배포_OAUTH2 + Security back과 front가 분리되기 전에는 <a href="/oauth2/authorization/kakao">Kakao</a> 위와 같이 설정만 해도 소셜 로그인을 하는데 문제가 없었다. 문제는 back과 front를 분리하면서 해당 url을 페이지로 변환하려고 하면서 에러가 발생했다. ...
배포하면서 생긴 채팅 관련 오류 모음 집(+SSE) 로컬에서 https를 적용했을 때는 문제가 되지 않았으나 배포하면서 발견한 에러들을 정리해봤다. 1. 공통 JS와 페이지별 기능 JS 채팅 관련 js를 작성한 곳이 chat.js이고 여러 페이지에서 공통적으로 사용한 변수들과 메소드를 모아놓은 곳이 global.js다. global.js에...