2. 웹개발
-
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 웹 Cache(웹 브라우저 캐시) & 헤더 다루기 ] 입니다. : ) 웹브라우저는 서버와 HTTP 프로토콜을 통해 리소스를 서버에게 요청을 하여 가져온다. - 리소스(resource) : 웹 브라우저가 HTTP 요청을 통해 가져올 수 있는 모든 파일 ex) html, css, js, image, video 등 - 클라이언트는 웹브라우저를 통해 요청하여 네트워크를 거치는 시간, 서버는 이 요청을 처리하는데 시간이 소비되는데 이러한 통신 과정이 똑같은 데이터 요청임에도 매번 발생하게 되면 비효율 적일 수 있다. 따라서 이러한 비효율 적인 부분을 해소하기 위한 해결책으로 웹브라우저에도 캐시의 개념을 적용하게 되었다. 이 HTTP캐시를 다루기 위해 알아야 할 것이 ..
웹 Cache(웹 브라우저 캐시) & 헤더 다루기안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 웹 Cache(웹 브라우저 캐시) & 헤더 다루기 ] 입니다. : ) 웹브라우저는 서버와 HTTP 프로토콜을 통해 리소스를 서버에게 요청을 하여 가져온다. - 리소스(resource) : 웹 브라우저가 HTTP 요청을 통해 가져올 수 있는 모든 파일 ex) html, css, js, image, video 등 - 클라이언트는 웹브라우저를 통해 요청하여 네트워크를 거치는 시간, 서버는 이 요청을 처리하는데 시간이 소비되는데 이러한 통신 과정이 똑같은 데이터 요청임에도 매번 발생하게 되면 비효율 적일 수 있다. 따라서 이러한 비효율 적인 부분을 해소하기 위한 해결책으로 웹브라우저에도 캐시의 개념을 적용하게 되었다. 이 HTTP캐시를 다루기 위해 알아야 할 것이 ..
2023.08.09 -
[JAVA] Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'. 1. 에러 로그 스프링 부트 기동시 다음과 같은 경고 메세지를 본 적이 있을 것 이다. Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 2. 원..
[JAVA] Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'.[JAVA] Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'. 1. 에러 로그 스프링 부트 기동시 다음과 같은 경고 메세지를 본 적이 있을 것 이다. Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 2. 원..
2023.08.03 -
[Spring] java.lang.IllegalArgumentException 에러 원인 현재 운영중인 Project 중 @Controller에서 요청을 받아 특정 url로 redirect시켜주는 컨트롤러가 있다. ex) (redirect:http://goddaehee.tistory.com/322 )) 예를 들어 특정 케이스의 경우 특정 포스팅 Page로 redirect 시켜주는 Controller가 있다고 하자. 다음과 같은 프로세스로 돌아가는 Controller가 있다고 가정하고, 하기 에러 로그부터 따라 가보자. ex) pageNumber에 포스팅 번호를 바인딩 하여 Redirect 처리 1) https://goddaehee.tistory.com/{pageNumber} 2) {pageNumber}에..
[Spring] java.lang.IllegalArgumentException 에러 해결[Spring] java.lang.IllegalArgumentException 에러 원인 현재 운영중인 Project 중 @Controller에서 요청을 받아 특정 url로 redirect시켜주는 컨트롤러가 있다. ex) (redirect:http://goddaehee.tistory.com/322 )) 예를 들어 특정 케이스의 경우 특정 포스팅 Page로 redirect 시켜주는 Controller가 있다고 하자. 다음과 같은 프로세스로 돌아가는 Controller가 있다고 가정하고, 하기 에러 로그부터 따라 가보자. ex) pageNumber에 포스팅 번호를 바인딩 하여 Redirect 처리 1) https://goddaehee.tistory.com/{pageNumber} 2) {pageNumber}에..
2023.08.01 -
[Java] java.security.InvalidKeyException: Illegal key size or default parameters : Model has no value for key 에러 해결 방법 이 에러는 보통 Java에서 대칭키로 암호화 시도시, 128bit를 초과하는 192 or 256 bit등의 대칭키를 이용하여 암호화를 할 경우 에러가 발생한다. 이와 관련된 내용을 간단히 알아보고 본인 환경에 맞는 해결책을 사용하여 해결 하도록 하자. : ) ※ 참고 https://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters 1. 에러 로그 java.security.InvalidKe..
[Java] java.security.InvalidKeyException: Illegal key size or default parameters : Model has no value for key 에러[Java] java.security.InvalidKeyException: Illegal key size or default parameters : Model has no value for key 에러 해결 방법 이 에러는 보통 Java에서 대칭키로 암호화 시도시, 128bit를 초과하는 192 or 256 bit등의 대칭키를 이용하여 암호화를 할 경우 에러가 발생한다. 이와 관련된 내용을 간단히 알아보고 본인 환경에 맞는 해결책을 사용하여 해결 하도록 하자. : ) ※ 참고 https://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters 1. 에러 로그 java.security.InvalidKe..
2023.07.11 -
[스프링부트] Spring Boot 설정파일 암호화 (with Jasypt) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Spring Boot 설정파일 암호화 하기 ] 입니다. : ) ※ application.yml 이나 application.properties 파일에 DB의 비밀번호 또는 키 값을 명시해두는 경우 중요한 값들이 외부로 노출되어 보안에 심각한 문제를 초래할 수 있다. 예를 들어 로컬 DB만으로 작업한다면 서버주소가 lcoalhost이기 때문에, github과 같은 저장소에 id와 pw가 유출되어도 치명적으로 작용하지 않는다. 하지만, 실배포의 경우 대부분 외부 DB에 접근하기 때문에 id, pw, 서버주소까지 노출되면 위험하다. AWS로 운영하려고 해도 자체에서도 보안 정책상 막는것으로..
[스프링부트] Spring Boot 설정파일(yaml, properties) 암호화 (with Jasypt)[스프링부트] Spring Boot 설정파일 암호화 (with Jasypt) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Spring Boot 설정파일 암호화 하기 ] 입니다. : ) ※ application.yml 이나 application.properties 파일에 DB의 비밀번호 또는 키 값을 명시해두는 경우 중요한 값들이 외부로 노출되어 보안에 심각한 문제를 초래할 수 있다. 예를 들어 로컬 DB만으로 작업한다면 서버주소가 lcoalhost이기 때문에, github과 같은 저장소에 id와 pw가 유출되어도 치명적으로 작용하지 않는다. 하지만, 실배포의 경우 대부분 외부 DB에 접근하기 때문에 id, pw, 서버주소까지 노출되면 위험하다. AWS로 운영하려고 해도 자체에서도 보안 정책상 막는것으로..
2023.07.04 -
[springBoot] reactor.netty.http.client.PrematureCloseException 에러 안녕하세요. 갓대희 입니다. 시스템 모니터링을 하다보니, 하기와 같은 에러가 간헐적으로 발생하는 것을 발견 하였다. ( reactor.netty.http.client.PrematureCloseException : 연결이 응답 전에 조기에 닫힘 ) 이를 해결 하기위해 하였던 고민, 진행 하였던 내용을 기록 하고자 한다 : ) 1. 현황 확인 [Reactor Netty HTTP Client] 를 사용하고 있는 프로젝트 대상으로 발생 빈도를 확인 해 보았다. - Project1 : 일 0~ 6회 - Project2 : 간헐적 발생, 0 ~ 최대 10건까지 발생 - APM으로 확인 한 Stack..
[springBoot] reactor.netty.http.client.PrematureCloseException 에러[springBoot] reactor.netty.http.client.PrematureCloseException 에러 안녕하세요. 갓대희 입니다. 시스템 모니터링을 하다보니, 하기와 같은 에러가 간헐적으로 발생하는 것을 발견 하였다. ( reactor.netty.http.client.PrematureCloseException : 연결이 응답 전에 조기에 닫힘 ) 이를 해결 하기위해 하였던 고민, 진행 하였던 내용을 기록 하고자 한다 : ) 1. 현황 확인 [Reactor Netty HTTP Client] 를 사용하고 있는 프로젝트 대상으로 발생 빈도를 확인 해 보았다. - Project1 : 일 0~ 6회 - Project2 : 간헐적 발생, 0 ~ 최대 10건까지 발생 - APM으로 확인 한 Stack..
2023.07.03