전체 글
-
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 ..
-
Python 3.12 설치시 Openssl 모듈 버전 확인이 필요 합니다.Python 2024. 8. 5. 18:15
Python 3.12을 설치할 때 발생할 수 있는 오류 중 하나는 SSL 인증서와 관련된 문제입니다. 특히, pip 설치 시 다음과 같은 오류를 만날 수 있습니다:Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping이 오류는 Pytho..
-
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..
-
kotlin operator invoke 로 데이터 검증 하기!JAVA 2024. 7. 30. 18:14
상황 설명Price의 경우 0원 생성할 수 없지만, 시작값을 위해서는 1개는 존재 해야 합니다.이를 어떻게 처리 할까 고민했었는데 아래와 같은 해법이 있네요.코드 구현data class Price private constructor (private val value: Double) { // 생성자를 비공개로 처리 override fun toString() = value.toString() operator fun plus(price: Price) = Price(this.value + price.value) operator fun times(num: Int) = Price(this.value * num) companion object { val identity = P..
-
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
-
java ArrayList의 동작JAVA/in 기초 2024. 7. 22. 17:31
테스트용 코드 전체import java.lang.reflect.Fieldfun main() {// val list = MutableList(1000) { null } // 초기 크기 설정 val list = mutableListOf() println("list size : ${list.size} / list capacity:: ${getCapacity(list)}") // # 1 초기 생성 for ( i in 0..25) { list.add(i+1) println("list size : ${list.size} / list capacity:: ${getCapacity(list)}") // # 2 출력 }}// arraylist의 capacity 출력 fu..
-
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..
-
최신 JDK 21과 Kotlin 1.9.22 조합에서 발견된 오류 및 주의 사항JAVA 2024. 7. 12. 17:30
최신 JDK 21과 Kotlin 1.9.22 조합을 사용하면서 몇 가지 오류와 주의 사항을 발견했습니다.불변 컬렉션에서 addFirst와 addLast 사용 가능놀랍게도, 불변 컬렉션인 List에 addFirst와 addLast 메서드를 사용할 수 있습니다. 예를 들어, 다음 코드는 오류 없이 실행됩니다.fun foo(x: List) { x.add("") // 예상대로 오류 x.addFirst("") // 허용됨}이는 기존 Kotlin 버전과 다른 동작이며, 명확한 문서화가 이루어지지 않아 혼란을 야기할 수 있습니다.null 허용 처리null 값을 처리할 때 주의가 필요합니다. null 허용되지 않은 상황에서 addFirst와 addLast 메서드는 null 값을 허용합니다.val mySet ..