일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- jvm memory structure
- jvm 메모리 구조
- string comparison
- docker mongodb install
- HHH000104
- docker mongodb
- intern
- springboot-angular-jwt
- mongodb install ec2
- jwt example
- springboot mongodb config
- angular jwt
- springboot jwt
- 기본 Manifest 속성이 없습니다
- Constants pool
- String Constants Pool
- jvm memory model
- spring jwt
- String Pool
- JPA
- install mongodb docker
- spring filter ordering
- JWT
- spring-boot-maven-plugin
- jpa pagination
- springboot jwt example
- springboot maven plugin
- filter ordering
- jvm 모델
- jwt token
- Today
- Total
목록전체 글 (35)
개발블로그
Secure mongodb setup using Docker 을 참고하여 docker image로 mongodb를 설치했다. 참고 글에 정리가 다 되어있지만, 실제로 수행한 명령어 위주로 정리하기 위해 포스팅을 작성한다. docker를 사용하지 않고, EC2에서 mongodb를 설치하는 방법은 이전 포스트를 참고하면 된다. install mongodb on EC2 How to Install Mongodb With Authentication on EC2 AMI Linux 를 참고하여, EC2에 Mongodb를 설치했다. 이 포스트에서는 직접 실행했던 명령어와 설치&테스트를 하면서 겪었던 문제를 정리하려 한다. 1. mongodb.. soon-devblog.tistory.com 1. mongodb의 데이터를..
How to Install Mongodb With Authentication on EC2 AMI Linux 를 참고하여, EC2에 Mongodb를 설치했다. 이 포스트에서는 직접 실행했던 명령어와 설치&테스트를 하면서 겪었던 문제를 정리하려 한다. 1. mongodb yum repository 등록 vi /etc/yum.repos.d/mongodb-org-3.0.repo [mongodb-org-3.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.0/x86_64/ gpgcheck=0 enabled=1 2. yum으로 mongodb 설치 sudo yum install -y mongodb-or..
Primitive type value를 비교할 때에는 주소 값을 비교하기 위해 '==' 연산자를, Reference type value를 비교할 때에는 실제 참조하는 값을 비교하기 위해 'equals' 메소드를 이용합니다. 그리고 String type value를 비교할 때에는 'equals'를 이용하기를 권장하는데, '==' 연산자로 비교하면 어떻게 될까요? String str1 = "SYS4U"; String str2 = "SYS4U"; System.out.println(str1 == str2); //true System.out.println(str1.equals(str2)); //true (literal 방식으로 String을 생성한다면) '==' 연산자를 이용해도 결과가 일치합니다. '==' 연산..
springboot maven project를 package 했을 때 생성되는 jar파일을 실행시키면, "기본 manifest 속성이 없습니다"라는 오류 메시지가 나옵니다. 그 이유는 JVM이 jar파일에서 가장 처음 실행할 Main Class를 찾지 못해서 발생하는 오류입니다. 이에 대한 설정은 jar파일 내의 META-INF/MANIFEST.MF에 있어야 하는데, 등록해주지 않았기 때문에 이 오류가 발생한 것입니다. maven이 package를 할 때, 추가적인 정보들을 MANIFEST.MF에 등록하게 하고자, pom.xml에 spring-boot-maven-plugin을 추가하겠습니다. org.springframework.boot spring-boot-maven-plugin 이 플러그인을 추가한 후..
Filter에서 Exception 발생시키면 HttpStatus를 500에러로 보낸다. Exception에 따라서 응답 코드와 메세지를 다르게 하고자 발생시키는 Exception에 @ResponseStatus 어노테이션을 추가해주었다. @ResponseStatus(value= HttpStatus.UNAUTHORIZED, reason="login required") 그러면 해당 Exception이 발생했을 때 HttpStatus와 message를 위와 같이 설정할 수 있다.
Spring을 이용할 때, 요청에 대한 전처리를 위해 Interceptor를 구현했습니다. 그러나 Spring Webflux를 사용했고, Controller 대신 Router에서 요청을 받는 구조에서 개발을 하다보니 Interceptor를 사용할 수 없었습니다. 차선책으로 WebFilter를 이용했는데, Filter의 순서가 원하는대로 동작하지 않아 Filter에 @Order(N)라는 어노테이션을 추가했습니다. @Order는 빈 등록 순서를 정하는 어노테이션인데, WebFilter의 동작 순서가 빈 등록 순서를 따랐기 때문에 해당 어노테이션으로 해결할 수 있었습니다.
JVM은 컴파일된 자바 바이트코드를 실행하는 역할을 합니다. 이 때, JVM은 메모리 관리를 어떻게 하는지, 그 구조에 대해 살펴보겠습니다. JVM 메모리 구조를 살펴보기 앞서 한가지 알아두어야 할 것이 있습니다. JVM 그 자체는 구현체가 아닌 스펙일 뿐이라는 것입니다. JVM Vendor들은 이 스펙을 기반으로 JVM을 구현했고, 구현체의 대표적인 예로 Oracle사의 Hotspot JVM, IBM사의 IBM JVM이 있습니다. Hotspot JVM의 점유율이 압도적으로 높고, 대부분 Hotspot JVM을 사용한다고 할 수 있습니다. 따라서 이 글에서 살펴보는 메모리 모델도 Hotspot JVM의 메모리 모델입니다. 먼저, JVM Runtime 환경에 대해 그림으로 살펴보겠습니다. Class Loa..
kafka에 Json 데이터를 producing 했다. 그러나, springboot의 kafka listener에서 그 데이터를 deserialize를 할 때 다음과 같은 에러가 발생했다. Error deserializing key/value for partition recomData-0 at offset 6. If needed, please seek past the record to continue consumption. Error deserializing key/value for partition recomData-0 at offset 6. If needed, please seek past the record to continue consumption. 이 문제를 해결하려고 겁나 삽질했다..ㅠㅠ.. ..