[Java] 개선된 Switch문 (Switch Expression)
2023. 5. 22. 20:23
프로그래밍/JAVA
Switch Expression Java 12 버전에 preview에 소개된 Switch Expression은 Java 14 버전에서 표준화 됨 기존의 Switch문과 비교하여 몇 가지 특징이 있음 화살표(->) 연산자 int day = 1; String dayOfWeek = switch (day) { case 1 -> "Monday"; case 2 -> "Tuesday"; case 3 -> "Wednesday"; case 4 -> "Thursday"; case 5 -> "Friday"; default -> "Unknown"; }; System.out.println(dayOfWeek); // 출력: "Monday" 각 case 문의 실행 코드 뒤에 화살표(->) 연산자를 사용하여 실행할 블록을 지정함. ..
[Java] Stream에서 index 사용하기
2023. 5. 19. 20:27
프로그래밍/JAVA
Stream에서 index 사용하기 Stream은 index를 알 수 없지만 AtomicInteger를 사용하여 index 생성하여 사용 가능함 AtomicInteger는 원자적인 연산을 제공하는 클래스임 여러 스레드에서 동시에 접근하는 경우 데이터의 일관성이 보장됨 연산을 통해 증가, 감소, 비교 및 교환 연산 가능 주요 메서드 get() 객체의 현재 값을 반환 set(int newValue) 객체의 값을 주어진 newValue로 설정 getAndSet(int newValue) 객체의 현재 값을 반환하고, 동시에 값을 주어진 newValue로 설정 incrementAndGet() 객체의 값을 1 증가시킨 후, 그 증가된 값을 반환 decrementAndGet() 객체의 값을 1 감소시킨 후, 그 감소된..
[Java] LocalDate 해당 월의 마지막 날짜 구하기
2023. 5. 18. 20:12
프로그래밍/JAVA
LocalDate 해당 월의 마지막 날짜 구하기 lengthOfMonth()withDayOfMonth() 메서드와 lengthOfMonth() 메서드를 사용한 첫 번째 방법 //기준일자 LocalDate date = LocalDate.parse("2023-05-16"); //해당 월의 첫째 날 LocalDate firstDate = date.withDayOfMonth(1); // 2023-05-01 //해당 월의 마지막 날 LocalDate lastDate = date.withDayOfMonth(date.lengthOfMonth()); // 2023-05-31 YearMonth 타입을 활용한 두 번째 방법 //기준일자 LocalDate date = LocalDate.parse("2023-05-16"); ..
[JPA] jpql limit 사용하기
2023. 5. 17. 20:55
프로그래밍/JPA
jpql limit 사용하기 jpql에는 limit절을 사용할 수 없음 이를 대체하기 위한 방안들을 소개해보고자 함 nativeQuery 사용하기 nativeQuery=true 추가하여 네이티브 쿼리 사용하기 @Query(value = "SELECT * FROM employee ORDER BY salary DESC LIMIT 1", nativeQuery = true) Employee findFirstEmployee(); first 키워드 사용 첫 번째 결과를 가져오는 방법 @Query("SELECT e FROM Employee e ORDER BY e.salary DESC") List findFirstEmployee(); top 키워드 사용 Order by 한 목록의 상위 3개의 결과 가져오는 방법 Lis..
[Spring Boot] @DeletedMapping에서 @RequestBody 사용?
2023. 5. 16. 20:09
프로그래밍/Spring Boot
@DeletedMapping에서 @RequestBody 사용이 안되는 이유와 대체 방안 @DeletedMapping은 HTTP DELETE 요청을 처리하는데 사용함 DELETE 요청은 요청 바디를 가지지 않는 것이 일반적임 그렇기에 @RequestBody 사용하여 요청 바디를 수신하는 것이 지원되지 않음 대체 방법 👇 @DeletedMapping에서 데이터 전달이 필요한 경우 @RequestParam을 사용하거나 @RequestBody를 전달받아야 하는 경우라면 @DeletedMapping 대신 @PutMapping을 사용하기
[React] ag-grid 특정 행 disabled 처리
2023. 5. 15. 20:00
프로그래밍/React
ag-grid 특정 행 disabled 처리 ag-grid 특정 행의 스타일 변경 및 이벤트를 막고 싶은 경우 사용 이벤트를 막기위해서는 pointerEvents 옵션을 'none' 처리하기 간단한 예시 { if (params.data.isDeleted === 1) { return { background: 'gray', pointerEvents: 'none', color: 'fff' }; } return null; }} />
[MySQL] 테이블의 행의 개수 가져오기
2023. 5. 12. 20:14
프로그래밍/SQL
row_number()로 테이블 행의 개수 가져오기 행의 개수를 함께 조회하고 싶다면 row_number()를 사용하면 됨 row_number() over(정렬기준) # 적용 예시 row_number() over(order by user_seq) 사용 예시 select row_number() over(order by user_id) as row , user_id , user_name from user; 결과 row user_id user_name 1 id1 권정렬 2 id2 차은우
[MySQL] ORDER BY 시 NULL 맨 뒤로 보내기
2023. 5. 11. 20:17
프로그래밍/SQL
ORDER BY 사용하여 정렬하기 기본적으로 MySQL에서 ORDER BY를 사용하게 되면 NULL이 앞으로 정렬됨 SELECT * FROM USER ORDER BY CREATED_DATE; NULL을 뒤로 보내고 정렬하기 IS NULL 을 ORDER BY 에 추가해주면 됨 SELECT * FROM USER ORDER BY CREATED_DATE IS NULL; ## 혹은 SELECT * FROM USER ORDER BY CREATED_DATE IS NULL ASC;