설치&설정 관련
-
JPA 에서 FLUSH 처리시 실행 순서설치&설정 관련/Spring Framework 2024. 8. 30. 18:26
Hibernate는 연관된 엔터티 상태 작업의 순서대로 SQL 문을 실행하지 않습니다.다음과 같은 코드가 있다고 예상할 경우Person person = entityManager.find(Person.class, 1L);entityManager.remove(person);Person newPerson = new Person();newPerson.setId(2L);newPerson.setName("John Doe");entityManager.persist(newPerson);저희는 DELETE 질의 이후 INSERT 질의를 기대 합니다.하지만 동작은 아래와 같습니다.INSERT INTO Person (name, id)VALUES ('John Doe', 2L)DELETE FROM Person WHERE id ..
-
spring jpa 사용시 페이징 처리설치&설정 관련/Spring Framework 2024. 8. 1. 18:15
게시글 목록 기능에서 페이징 처리는 단순하지만 많이 사용되는 기능입니다.주요 항목요청 값 : 조회 하려는 페이지 위치, 페이지에서 필요로 하는 게시글 수, 추가로 검색 조건응답 값 : 게시글 목록, 페이지 네비게이션을 위한 총 게시글 수구현 방법이를 일일이 구현 하기 보다 jpa에서 지원하는 Pageable 와 Page 라이브러리를 사용하면 간단한게 처리 됩니다.예제 코드// Controllerimport org.springframework.data.domain.Pageimport org.springframework.data.domain.Pageableimport org.springframework.web.bind.annotation.GetMappingimport org.springframework.we..
-
spring-boot with logback설치&설정 관련/Spring Framework 2024. 7. 26. 17:32
spring-boot 에서 초기화 오류시 로그 표기 방법현상 : spring-boot 초기화 중 오류 발생시 log가 명확하게 표시 되지 않고 종료 오류 발생원인 : logback을 사용하고 있고, 설정 파일명을 logback.xml로 사용중해결 방안 : logback.xml 을 logback-spring.xml 으로 변경26.7 Logback Extensions 를 확인하면, logback.xml을 사용하면 너무 빠르게 로딩 되어서 spring 오류가 출력 안되는 경우가 발생 할 수 있다고 합니다.참고 자료83. Logging
-
Gmail SMTP 설정 가이드설치&설정 관련 2024. 7. 17. 17:30
2024년 기준, Gmail SMTP 설정 가이드2010년에 Gmail SMTP 설정을 간단하게 했던 기억이 있으신가요? 2022년 기준으로 설정 방식이 변경되었고, 다소 복잡해졌습니다. 이 글을 통해 2024년 기준 Gmail SMTP 설정 방법을 단계별로 알려드리겠습니다.GMAIL 설정 진행GMAIL > 톱니바퀴 > 모든 설정 보기설정 > 전달 및 POP/IMAPAPP PASSWORD 추가이 메뉴가 검색시 계정 > 보안 > 2단계 인증에 있다고 되어 있지만, 실제로 보이지 않고 주소 입력을 통해 접근해야 합니다.https://myaccount.google.com/security 에서 2-step verification 밑에 app password 메뉴가 존재 하지 않습니다.https://myaccou..
-
windows 11에 WSL2 기반 kotlin 개발 환경 구축 하기!설치&설정 관련 2024. 7. 2. 17:26
kotlin 개발 환경을 구축해보자!N100 이라는 CPU를 가진 미니 PC를 구매했습니다. 가성비 좋고, 효율이 좋다고 해서 여기에 개발 환경까지 구축해보았습니다.제가 구매한 제품은 CHATREEY T8 PLUS [INTEL N100 CPU] 으로 512 SSD에 16GB 메모리를 가진 제품으로 선택하였습니다.이 제품은 메모리가 온보드라 구매 후 변경이 불가능하니 참고 하여주세요. 추가로 초기 메모리 클럭이 3200 으로 잡혀 있지만, 4800 을 지원하는 ddr5 메모리가 탑재되어 있어 bios에서 수정해줘야 합니다.WSL2 설치WSL2에서 VAGRANT로 Windows VirutalBox에 ubuntu VM 실행 를 참고해서 설치 합니다.또는 간단하게 윈도우 마켓 플레이스에서 ubuntu 22.x ..
-
Redis scan 사용 삽질기설치&설정 관련 2024. 6. 28. 17:24
redis는 싱글쓰레드 구조로 keys의 사용을 지양합니다.따라서 대부분의 가이드에서 SCAN을 사용하도록 합니다.대량의 자료가 있는 redis에서 scan을 이용할 경우 count 와 cursor를 잘 조절해야 합니다.아래와 같이 loop를 돌면서 조회를 처리 해야 모든 데이터를 확인 가능합니다.const Redis = require('ioredis');// Create a Redis clientconst redis = new Redis({ host: 'localhost', // Replace with your Redis server's host port: 6379, // Replace with your Redis server's port});// Function to find keys..
-
Nexus 시작시 NullPointException 이 발생하면서 오류가 나는 현상설치&설정 관련 2024. 6. 21. 17:20
현재 외부 Nexus Repository에서 내부 Nexus Repository에 복제 처리를 하고 있습니다. Nexus에서 갑자기 오류가 발생했습니다. 그냥 재부팅을 했을 뿐인데 오류가 발생하였다고 합니다. 해당 내역이 이미 nexus의 팁에 올라와 있어서 따라해보니, 복구가 문제 없이 되었습니다.문제Nexus3을 빠르게 중지했다가 다시 시작하면 Nexus3 리포지토리가 전혀 시작되지 않을 수 있으며 로깅에 다음과 같은 예외가 발생할 수 있습니다2023-08-11 09:50:14,365+0900 INFO [FelixStartLevel] *SYSTEM org.sonatype.nexus.pax.logging.NexusLogActivator - start2023-08-11 09:50:14,790+0900 ..
-
REDIS 접속 관리를 위한 Connection pool이 필요할까요?설치&설정 관련 2024. 6. 15. 17:15
Redis는 기본적으로 싱글 스레드로 동작하는 인메모리 데이터베이스입니다. 이는 Redis가 단일 스레드로 모든 요청을 처리하고, 이벤트 루프를 사용하여 비동기 입출력(IO) 작업을 처리한다는 것을 의미합니다.싱글 스레드 모델의 장점은 구현이 간단하고, 동시성 문제를 처리하기 위해 별도의 동기화 메커니즘을 사용할 필요가 없다는 것입니다. 그러나 이 모델은 요청을 처리하는 동안 다른 요청이 블로킹될 수 있다는 단점도 있습니다.Connection pool은 여러 클라이언트가 동시에 Redis 서버에 연결할 수 있는 기능을 제공하는 것이며, 주로 애플리케이션의 성능과 확장성을 향상시키기 위해 사용됩니다. 일반적으로 싱글 스레드로 동작하는 Redis는 여러 클라이언트가 동시에 요청을 보내는 경우에도 충분한 처리..