반응형 분류 전체보기280 빈 스트림에 allMatch를 할 경우 true 반환 Java 8(or 17) 로 이루어진 프로젝트를 진행 중 Stream API의 allMatch 메서드에서 이상한 점을 발견했습니다.Empty Collection에 allMatch를 수행했더니, Predicate가 적용될 요소가 없어서 False가 나올 줄 알았으나 True를 반환하는 것이었습니다. 어떻게 된 상황인지 Stream API 코드를 살펴보기로 했습니다. 테스트 코드입니다.@Testpublic void test(){ List list = Arrays.asList(); final boolean isResult = list.stream().allMatch(e -> e >= 2); assertFalse(isResult);} 스택트레이스입니다.tryAdvance:1003, Spliter.. 2024. 10. 27. 트랜잭션 격리 수준 트랜잭션은 ACID라는 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 지속성(Durability) 를 보장해야 합니다. 원자성: 트랜잭션 내에서 실행한 작업들은 마치 하나의 작업인 것처럼 모두 성공하든가 모두 실패해야 합니다.일관성: 모든 트랜잭션은 일관성 있는 데이터베이스 상태를 유지해야 합니다.격리성: 동시에 실행되는 트랜잭션들이 서로에게 영향을 미치지 않도록 격리합니다.지속성: 트랜잭션을 성공적으로 끝내면 그 결과가 항상 기록되어야 합니다. 이번 포스팅에서는 격리성에 대해서 알아보겠습니다. 트랜잭션 간에 격리성을 완벽히 보장하려면 트랜잭션을 거의 차례대로 실행해야 하며, 이 경우 동시성 처리 성능이 매우 나빠집니다.격리 수준은 4단계가 있습니다. READ_.. 2024. 10. 26. 에러) Column in field list is ambiguous 원인SQL 쿼리에서 동일한 이름의 컬럼이 여러 테이블에 존재할 때 발생합니다.이 경우 MySQL이 어느 테이블의 컬럼을 사용할지 명확하지 않기 때문에 이 에러를 발생시킵니다.SELECT id, nameFROM users u INNER JOIN orders o ON u.id = o.user_id 해결 방법테이블 명시하기 (또는 별칭 사용하기)동일한 이름의 컬럼이 있을 경우, 어느 테이블의 컬럼을 사용할 것인지 명확하게 지정합니다.SELECT u.id, u.name, o.idFROM users u INNER JOIN orders o ON u.id = o.user_id 2024. 10. 23. build.gradle 파일 문법에 대해서 알아보자. 플러그인 설정Gradle은 다양한 기능을 제공하는 플러그인을 사용할 수 있습니다.plugins { id 'java' // Java 플러그인 적용} 프로젝트 속성 설정group, version, sourceCompatibility 등 프로젝트의 기본 속성을 설정할 수 있습니다.group = 'com.example' // 프로젝트 그룹 IDversion = '1.0.0' // 프로젝트 버전sourceCompatibility = '17' // 사용될 Java 버전 (Java 17) 의존성 관리프로젝트에서 사용되는 라이브러리와 의존성을 선언하는 부분입니다.dependencies 블록을 사용해 의존성을 추가합니다.depedencies { implementation 'org.springframework... 2024. 10. 22. 이전 1 ··· 4 5 6 7 8 9 10 ··· 70 다음 반응형