| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- katalon 자동화
- 국세청 해외주식 양도세 신고방식
- 해외증권 양도세 한국투자증권
- 테스트 자동화
- recursion example
- katalon
- javascript 자동완성
- Katalon Recorder 사용법
- 한국투자증권 양도세 신고
- 해외주식 양도세 신고
- 피보나치 예제
- 주식 양도세 신고방법
- 톰캣 실시간 로그
- js 자동완성
- git 연동
- katalon 비교
- katalon 사용법
- bfs 미로탐색 java
- 재귀 예제
- 최대공약수 예제
- 재귀함수 예제
- 홈택스 해외주식 양도세
- 피보나치함수
- java.sql.SQLSyntaxErrorException
- tomcat log
- 피보나치함수 예제
- 한국투자증권 해외주식 양도세
- CSTS 폭포수 모델
- katalon xpath
- oracle group by
- Today
- Total
목록java (100)
엄지월드
아래와 같이 ConstraintViolationException 에러가 발생했다.문제를 확인해보니 특정 엔티티를 업데이트하거나 삭제하려 할 때, 데이터베이스에 저장된 해당 엔티티의 상태가 애플리케이션이 엔티티를 로드했을 때와 달라졌을 때 발생하는 것이었다. 즉, 다른 트랜잭션에 의해 이미 변경되었거나 삭제되었다는 뜻인 것이다.Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement [(conn=1338) Duplicate entry 'ejy1024@-ejy1024@_test1234@_...' for key 'PRIMARY'] [/* insert for com.connect.service.chatt..
아래와 같이 운영 환경에서 처음 요청이 와야 Initializing Spring DispatcherServlet 'dispatcherServlet'이 실행되는 현상이 있었다.확인해보니 Spring Boot의 기본 설정에서는 DispatcherServlet이 지연 초기화(lazy initialization)되도록 설정되어 있다고 한다.2025-06-30 05:24:27 2025-06-30T05:24:27.537+09:00 INFO 1 --- [] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path ''2025-06-30 05:24:27 2025-06-30..
Spring Data JPA의 레포지토리 메서드 명명 규칙과 프로젝션을 함께 고려할 때, email만 반환하는 메서드의 이름으로 findEmailByUserId는 매우 일반적이고 권장되는 명명 방식입니다. Spring Data JPA의 메서드 이름은 일반적으로 다음과 같은 구조를 따릅니다. [Prefix][Distinct]By[Criteria][Keywords][Order] [Prefix]: find, get, read, query, count, stream 등 조회 작업을 나타내는 접두사입니다. [Distinct]: 결과에서 중복을 제거할 때 사용합니다. By: 검색 조건(WHERE 절)의 시작을 나타내는 구분자입니다. [Criteria]: By 뒤에 오는 부분으로, WHERE 절에 사용될 엔티티 필드..
import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.ObjectMapper;ObjectMapper objectMapper = new ObjectMapper();// items를 List>로 변환List> collect = items.stream() .map(item -> objectMapper.>convertValue(item, new TypeReference>() {})) .collect(Collectors.toList());
구글 앱 비밀번호 추가생성된 앱 비밀번호 확인gradle.builddependencies { ... implementation 'org.springframework.boot:spring-boot-starter-mail' ...} application.propertiesspring.mail.host=smtp.gmail.com # 이메일 gmail로 사용spring.mail.port=587spring.mail.username=your-email@naver.comspring.mail.password=여기에_앱 비밀번호_입력spring.mail.properties.mail.smtp.auth=truespring.mail.properties.mail.smtp.starttls.enable=true Control..
배경 : Spring Cloud Config를 사용하기 위해서 dependencies를 추가했지만, @EnableConfigServer가 import 되지 않았다. dependencies { implementation 'org.springframework.cloud:spring-cloud-config-server'}import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.config.server.EnableConfigServer;@SpringBootApplication@EnableC..
JPA를 설치하고 실행 시키니 아래와 같이 에러가 났다. Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.jpa.LocalContainerEntityManagerF..
스프링 3버전은 레퍼런스가 적어 부담이 되어 2버전으로 변경하고 싶은 니즈가 있었다.그래서 build.gradle에서 2.7.5 버전으로 낮추어 주었고, java 버전은 그에 따라 11버전으로 낮추어 주었다.
자바가 람다를 지원하면서 API를 작성하는 모범 사례도 크게 바뀌었다. 예컨대 상위 클래스의 기본 메서드를 재정의해 원하는 동작을 구현하는 템플릿 메서드 패턴의 매력이 크게 줄었다. 이를 대체하는 현대적인 해법은 같은 효과의 함수 객체를 받는 정적 팩터리나 생성자를 제공하는 것이다. 이 내용을 일반화해서 말하면 함수 객체를 매개변수로 받는 생성자와 메서드를 더 많이 만들어야 한다. 이때 함수형 매개변수 타입을 올바르게 선택해야 한다. 예컨대 removeEldestEntry를 다음처럼 재정의하면 맵에 원소가 100개가 될 때까지 커지다가, 그 이상이 되면 새로운 키가 더해질 때마다 가장 오래된 원소를 하나씩 제거한다. 즉, 가장 최근 원소 100개를 유지한다. protected boolean remove..
람다가 익명 클래스보다 나은 점 중에서 가장 큰 특징은 간결함이다.그런데 자바에는 함수 객체를 심지어 람다보다도 더 간결하게 만드는 방법이 있으니, 바로 메서드 참조(method reference)다. 다음 코드는 임의의 키와 Integer 값의 매핑을 관리하는 프로그램의 일부다. 이때 값이 키의 인스턴스 개수로 해석된다면, 이 프로그램은 멀티셋(multiset)을 구현한 게 된다. 이 코드는 키가 맵안에 없다면 키와 숫자 1을 매핑하고, 이미 있다면 기존 매핑 값을 증가시킨다.map.merge(key, 1, (count, incr) -> count + incr); 이 코드는 자바 8때 추가된 merge 메서드를 사용했다.- merge 메서드는 키, 값, 함수를 인수로 받으며, 주어진 키가 맵 안에 아직..
