개발중632 [Redis 트러블슈팅] OOM command not allowed when used memory > 'maxmemory'. 초기에 Redis 와 Web 을 연동시에 잘 연동이 되는 것을 확인했으나. 어느 순간부터 아래와 같은 에러가 발생하는 것을 확인했습니다. 2023-09-11 23:41:34.216 ERROR 1 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost] : Exception Processing ErrorPage[errorCode=0, location=/error] org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: OOM command not allowed when use.. 개발중/Redis 2023. 9. 12. k8s Redis 구성방식에 대해서 고민하는 중입니다. k8s Redis 메니페스트 아래와 같이 구성하면 초간단 Redis 는 구축됨 로컬 세션 스토리지를 레디스로 옮겼다. 근데 문제가 있다. 파드에 있는 노드가 죽어버리면 .. ? 로컬 스로리지에서 인증 정보를 저장할 때랑 별 다른게 없는것이 아닌가 ? 그래서 사람들이 master 와 slave 로 구성을 하는 것 같다. ConfigMap apiVersion: v1 kind: ConfigMap metadata: name: lucy3-redis-config namespace: lucy3 data: redis-config: "" Service apiVersion: v1 kind: Service metadata: name: lucy3-redis-service namespace: lucy3 spec: selecto.. 개발중/Redis 2023. 9. 8. Dockerfile Build 에러 (jdk 버전 문제) 이슈 Local 에서는 maven clean > maven install 잘 되나 Docker 로 빌드시 Failure 발생 16.91 [INFO] Changes detected - recompiling the module! 16.92 [INFO] Compiling 99 source files to /root/sources/target/classes 16.92 [INFO] ------------------------------------------------------------------------ 16.92 [INFO] BUILD FAILURE 16.92 [INFO] ------------------------------------------------------------------------ 16.. 개발중/Kubernetes (k8s) 2023. 9. 5. 에러 - Plugin 'org.springframework.boot:spring-boot-maven-plugin:' not found Plugin 'org.springframework.boot:spring-boot-maven-plugin:' not found Inspection info: Reports resolution problems in a Maven model org.springframework.boot maven 버전을 확인하고 https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-maven-plugin 버전을 찾아서 추가한다. 2.7.13 인식하지 못하는 에러가 해결되었다 개발중/Spring 2023. 9. 5. JPA Bulk Insert 로 성능 향상 시키기 기존에 데이터 다중 삽입 할 때의 방식 public void insertMultipleV2vFailWord(List entities) { for (V2vFailWord entity : entities) { jm.em.persist(entity); } } 아래와 같이 insert 쿼리문이 반복적으로 발생하기 때문에 성능 저하가 발생할 수 밖에 없다. JPA 는 Bulk Insert 가 안될까 ? 여기 참조하니까 아래와 같이 답변이 나와있다. Transactional write-behind Hibernate tries to defer the Persistence Context flushing up until the last possible moment. This strategy has been traditi.. 개발중/Java Persistence API (JPA) 2023. 8. 22. 메일 보내는 API 는 REST API 중에 어느 메소드에 해당이 될까 ? 메일을 보내는 API를 구현할 때 대부분의 경우 HTTP의 POST 메서드를 사용합니다. 이유는 다음과 같습니다: 의미상으로 맞다. POST는 서버에 새로운 리소스를 생성하거나 데이터를 제출할 때 주로 사용되므로, 새로운 이메일을 서버에 제출하는 것은 POST 메서드의 의미와 잘 부합합니다. 데이터 전송 POST 메서드는 요청 본문에 데이터를 포함할 수 있으므로, 이메일의 본문, 수신자, 제목 등과 같은 다양한 정보를 쉽게 전송할 수 있습니다. 보안 비록 HTTP GET 요청도 데이터를 전송할 수 있지만, 민감한 정보나 큰 데이터를 URL의 쿼리 문자열에 포함하는 것은 좋지 않습니다. POST 요청은 이러한 데이터를 요청 본문에 안전하게 포함시킬 수 있습니다. 따라서, 메일을 보내는 API의 경우 POS.. 개발중/Rest Api 2023. 8. 8. Java 개발자라면 알아야하는 질문들이라길래 나는 잘 알고 있는가 ? 📌 JDK 와 JRE 의 차이점 JDK (Java Development Kit) JDK는 Java 애플리케이션을 개발하기 위한 도구 집합입니다. JDK에는 JRE가 포함되어 있으며, 추가적으로 컴파일러(javac), 디버거, 아카이버(jar), 문서 생성기(javadoc) 등의 도구도 포함되어 있습니다. 즉, JDK는 소프트웨어를 개발하기 위한 도구를 제공합니다. JRE (Java Runtime Environment) JRE는 Java 애플리케이션을 실행하기 위한 환경입니다. JRE에는 JVM (Java Virtual Machine)과 Java 클래스 라이브러리(Java API)가 포함되어 있습니다. 이는 애플리케이션을 실행하는데 필요한 최소한의 도구 및 라이브러리를 제공합니다. 그러나 JRE만으로는 J.. 개발중/Java 2023. 8. 7. [Spring] JSch 를 활용해 특정 서버에 파일 업로드하기 특정 서버에 파일 업로드하기 이 코드는 JSch 라이브러리를 사용하여 SFTP 프로토콜로 원격 서버에 접속하여 파일을 다운로드하는 기능을 구현한 것입니다. JSch는 Java에서 SFTP, SCP, SSH 등을 지원하는 라이브러리로, 이를 사용하여 원격 서버로 접속하고 파일을 다운로드합니다. JSch 객체를 생성합니다. JSch jsch = new JSch(); SFTP 서버에 접속하기 위한 Session 객체를 생성합니다. Session session = jsch.getSession("root", "210.118.213.148", 22); 호스트 키 체크를 하지 않도록 설정합니다. (보안상 권장하지 않습니다) session.setConfig("StrictHostKeyChecking", "no"); SF.. 개발중/Spring 2023. 7. 26. [Spring] JSch 를 활용해 특정 서버에서 파일 가져오기 특정 서버에서 파일 가져오기 이 코드는 JSch 라이브러리를 사용하여 SFTP 프로토콜로 원격 서버에 접속하여 파일을 다운로드하는 기능을 구현한 것입니다. JSch는 Java에서 SFTP, SCP, SSH 등을 지원하는 라이브러리로, 이를 사용하여 원격 서버로 접속하고 파일을 다운로드합니다. JSch 객체를 생성하고 SFTP로 접속할 세션을 설정합니다. JSch jsch = new JSch(); Session session = jsch.getSession("root", "111.111.111.111", 22); session.setConfig("StrictHostKeyChecking", "no"); session.setPassword("1234"); session.connect(); SFTP 채널을 열어.. 개발중/Spring 2023. 7. 26. [JPA] Entity 가 Update 되는 과정에 대해서 아니 JPA 에서 UPDATE 되는 과정 JPA(Java Persistence API)에서 업데이트 과정은 다음과 같이 이루어집니다: 1. 엔티티 조회 먼저 업데이트할 엔티티를 데이터베이스에서 조회합니다. 이는 주로 `EntityManager`를 사용하여 해당 엔티티를 조회하는 쿼리를 실행하는 방식으로 이루어집니다. 2. 엔티티 수정 조회한 엔티티를 수정합니다. 이때 JPA는 영속성 컨텍스트(Persistence Context)에서 관리하는 엔티티를 수정합니다. 수정은 엔티티의 필드를 변경하거나 메소드를 호출하여 이루어질 수 있습니다. 3. 트랜잭션 커밋 업데이트된 엔티티를 데이터베이스에 반영하기 위해 트랜잭션을 커밋합니다. 이때 JPA는 변경된 엔티티를 감지하고 해당 엔티티에 대한 UPDATE SQL 문을 .. 개발중/Java Persistence API (JPA) 2023. 6. 27. Swagger 2 와 Swagger 3의 차이점 알아보기 Swagger 2 와 Swagger 3의 차이점 알아보기 Swagger는 API 문서를 자동화하고 시각화하기 위한 도구입니다. Swagger 2와 Swagger 3 (OpenAPI 3)는 주로 스펙 및 기능 차이에 대한 업데이트가 있습니다. 이 차이점을 간략하게 살펴보겠습니다. 스펙 버전 Swagger 2는 Swagger 스펙 2.0을 따릅니다. Swagger 3 (OpenAPI 3)는 OpenAPI 스펙 3.0.x를 따릅니다. 구조 변경 Swagger 3에서 구조와 속성 이름이 변경되어 더 명확하고 간결해졌습니다. 새로운 데이터 유형 및 스키마 Swagger 3에서는 oneOf, anyOf, not 등의 추가 스키마 키워드를 사용할 수 있습니다. 이를 통해 API에서 다양한 유형의 데이터를 더 잘 정의.. 개발중/Spring 2023. 4. 4. Try to run Maven import with -U flag (force update snapshots) 에러 아래와 같은 에러 발생 ! Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.3 Try to run Maven import with -U flag (force update snapshots) 이 에러는 Maven이 org.apache.maven.plugins:maven-site-plugin:3.3 플러그인을 찾을 수 없다는 것을 나타낸다. 이 문제는 일반적으로 다음과 같은 이유로 발생한다. 인터넷 연결 문제 Maven은 원격 저장소에서 플러그인을 다운로드하려고 시도하며, 연결 문제가 있으면 실패합니다. 저장소 구성 문제 설정된 원격 저장소에 플러그인이 없거나 저장소 설정에 문제가 있을 수 있습니다. 캐시 실패 이전에 실패한 다운로드가 .. 개발중/Troubleshooting 2023. 4. 4. 이전 1 ··· 4 5 6 7 8 9 10 ··· 53 다음