[React] 리액트 lazy loading
2023. 5. 26. 20:51
프로그래밍/React
리액트 컴포넌트 lazy loading 방법 lazy loading은 로딩을 바로 하지 않고 지연시켰다가 로딩한다는 의미로 페이지에 그 부분이 보여져야 할 때 로딩하기에 처음 화면을 띄울때 속도를 개선할 수 있음 지연 로딩에는 여러 방법이 있지만 React.lazy 를 활용한 방법을 알아보고자 함 예시 fallback에는 로딩 중일 때 실행될 요소를 넣어줌 import React, { lazy, Suspense } from 'react'; const MyComponent = lazy(() => import('./MyComponent')); function App() { return ( Lazy Loading Example ); }
[IntelliJ Error] Run되는데 디버깅 모드만 안되는 경우
2023. 5. 25. 20:17
IDE/IntelliJ
Run되는데 디버깅 모드만 안되는 경우 IntelliJ로 spring boot 실행을 할 때 Run은 잘 작동하지만 Debugging 모드만 멈추는 경우가 있음 이런 경우 break point를 모두 풀고 실행해보자 debug탭의 좌측 하단의 View Breakpoints... 를 클릭하여 제거하거나 Mute Breakpoints...를 클릭한 상태로 실행해보기 breakpoint가 있어서 실행 안되는 것은 아니고 인텔리 제이의 버그인 것 같음(내 추측) → breakpoint 있어도 잘 실행됨
[JavaScript] undefined, null 체크
2023. 5. 24. 20:57
프로그래밍/JavaScript
undefined 체크 if (typeof str === 'undefined') {...} null 체크 if (str === null) {...} 값 존재 여부 체크 if (typeof str === 'undefined' || str === null || str === '') { // 값이 없는 경우 실행될 코드 }
[Java Error] class java.lang.Integer cannot be cast to class java.lang.Long 해결 방법
2023. 5. 23. 20:47
프로그래밍/JAVA
class java.lang.Integer cannot be cast to class java.lang.Long 에러 원인 java.lang.Integer 타입을 java.lang.Long 타입으로 캐스팅할 수 없다는 에러 Integer와 Long은 서로 다른 클래스이기 때문에 직접적인 캐스팅은 불가능 나의 경우 직접 캐스팅 할 수 없음에도 캐스팅 하려고 해서 에러 발생 if((Long) obj.get("input")) == longValue) { ... } 해결 방법 JSON 객체에서 가져온 "input" 값이 Number 타입으로 캐스팅 후, 이를 long 타입으로 변환하여 사용 long input = ((Number) obj.get("input")).longValue(); if(input == lo..
[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..