
[JPA] JPA Entity Id를 String 으로 설정하기
2023. 4. 10. 23:08
프로그래밍/JPA
JPA Entity Id를 String 으로 설정하기 사실 entity id 를 String 타입으로 설정할 수 있는가? 에 대해 너무 당연하게 생각할 수도 있으나 조회시에 repository 설정때문에 못찾는 경우를 봤기에 이렇게 작성하게 되었음 Entity에 Id를 String 타입으로 설정하기 String 타입 외에 어떤 타입이든 설정 가능(물론 복합키도 가능함) 그러나 findById를 통해 조회 시에 Long 타입으로 찾아야 한다고 뜬다면? Repository 설정을 찾아보자 아마 JpaRepository 를 상속받는 부분을 보면 이유를 찾을 수 있을 것임 위의 코드에서 보면 MemberRepository는 JpaRepository 인터페이스를 상속받음 이때, Member는 엔티티 클래스이고, ..
[JavaScript] 간단한 숫자 3자리 마다 , 표기 방법 toLocaleString()
2023. 4. 7. 20:06
프로그래밍/JavaScript
숫자 3자리 마다 , 구분하여 표기하는 방법 toLocaleString() 함수 사용하기 toLocaleString() 함수란? 숫자, 날짜 및 시간 값에 대한 locale별 문자열 표현을 생성 현재 실행되는 컴퓨터의 locale에 따라 문자열을 반환 const num = 1234567.89; console.log(num.toLocaleString()); // "1,234,567.89" (기본 로케일에 따라 출력) 만약, 특정 locale을 사용하려면 toLocaleString() 함수에 로케일 매개 변수를 추가하면 됨 예시 → 한국 const num = 1234567.89; console.log(num.toLocaleString("ko-KR")); // "1,234,567.89" (한국 로케일에 따라 ..
[Java Error] Failed to convert from type [java.lang.String] to type [java.util.Date]
2023. 4. 6. 21:47
프로그래밍/JAVA
Failed to convert from type [java.lang.String] to type [java.util.Date] 에러 react 👉 spring boot controller 로 데이터를 전송할때 타입 불일치로 발생하는 에러 발생 원인 react에서 파라미터로 '2023-04-06' 이라는 String 타입의 데이터를 보내는데 request 파라미터가 객체를 받을 때 타입을 Date로 설정해놓은 경우 자동적으로 변환이 되지 않아 발생하는 에러 해결 방법 datetimeformat을 설정해주기 예를 들어 startDate를 Date 타입으로 받고 싶다면 아래와 같이 @datetimeformat 을 설정해줄 것 @datetimeformat(pattern = "yyyy-MM-dd") privat..
[React] 조건부 렌더링 1
2023. 3. 31. 22:44
프로그래밍/React
리액트 조건부 렌더링 간단한 예시와 설명 예시 import React from 'react'; function App() { const isLoggedIn = true; return ( {isLoggedIn ? ( Welcome back, user! ) : ( Please log in to continue. )} ); } 이 코드에서는 isLoggedIn 변수를 사용하여 현재 사용자가 로그인되어 있는지 여부를 나타내고 있음 이 변수를 기반으로, 조건부 렌더링을 사용하여 다른 UI를 렌더링함 isLoggedIn이 true인 경우 Welcome back, user!를, false인 경우 Please log in to continue.를 렌더링함 조건부 렌더링은 애플리케이션의 상태를 기반으로 UI를 동적으로 ..
[Spring Boot Error] Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN' 원인과 해결 방법
2023. 3. 30. 23:24
프로그래밍/Spring Boot
Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN' 에러 스프링 시큐리티에서 CSRF(Cross-site Request Forgery) 보안 기능을 사용할 때 발생하는 에러 보안 기능이 동작하지 않아 발생하거나 설정이 잘못되어 발생할 수 있음 에러 발생 원인 이 에러는 주로 CSRF 토큰 값이 전달되지 않았거나, 전달된 토큰 값이 유효하지 않을 때 발생함 스프링 시큐리티에서는 CSRF 보안 기능을 사용할 때, 사용자의 세션에 저장된 CSRF 토큰 값과 요청으로 전달된 CSRF 토큰 값을 비교하여 일치하지 않으면 이 에러를 발생시킴 해결 방법 CSRF 보안 기능 해제 가장 간단한 해결책은 C..
[Java] java.time.format.DateTimeParseException: Text 'yyyyMMdd' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to yyyy-MM-dd of type java.time.format.Parsed
2023. 3. 29. 21:28
프로그래밍/JAVA
java.time.format.DateTimeParseException 해결 방법 Unable to obtain LocalDateTime from TemporalAccessor 에 주목해보면 에러를 쉽게 해결할 수 있음 LocalDateTime.parse("2023-03-29", DateTimeFormatter.ofPattern("yyyy-MM-dd")); LocalDateTime을 LocalDate 타입으로 바꿔주자 LocalDate.parse("2023-03-29", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
[JPA] 복합키 설정 방법(@EmbeddedId, @IdClass)
2023. 3. 28. 20:03
프로그래밍/JPA
복합키 설정 방법은 크게 두가지가 있음 1. @EmbeddedId 어노테이션 사용 2. @IdClass 어노테이션 사용 @EmbeddedId 어노테이션 사용 복합키를 가진 엔티티 클래스에서는 복합키를 위한 별도의 클래스를 만들어야 함 이 클래스에 복합키를 구성하는 필드들을 선언하고, @Embeddable 어노테이션을 붙여줌 그리고 이 클래스를 엔티티 클래스에서 @EmbeddedId 어노테이션을 사용하여 참조 예시 public class OrderProduct { @EmbeddedId private OrderProductId id; @Embeddable public class OrderProductId implements Serializable { @Column(name = "order_id") priva..
[sql] drop, delete, truncate 차이
2023. 3. 27. 22:36
프로그래밍/SQL
drop, delete, truncate 데이터를 삭제하는 구문 DROP 테이블, 뷰, 인덱스 등과 같은 데이터베이스 객체를 삭제시 사용 DROP을 사용하면 해당 객체와 모든 데이터가 삭제됨 예시 DROP TABLE user; DELETE 테이블에서 데이터 행을 삭제시 사용 DELETE을 사용하면 테이블의 특정 행을 삭제하거나 조건에 맞는 모든 행을 삭제할 수 있음 해당 행들이 차지하던 데이터 공간은 해제되어 재사용 → DB 용량은 그대로이기에 디스크 공간의 낭비가 발생할 수 있음 예시 DELETE FROM user WHERE age = 30; TRUNCATE 테이블에서 모든 행 삭제시 사용 테이블 스키마는 그대로 유지되고 테이블 내의 모든 데이터가 삭제 테이블에서 모든 행을 삭제하고 해당 행들이 차지하..
[JavaScript] 배열 메소드 some()
2023. 3. 24. 20:51
프로그래밍/JavaScript
Array.prototype.some() some() 메서드는 배열 안의 요소가 주어진 판별 함수를 하나라도 통과하는지 테스트함 만약 배열에서 주어진 함수가 하나라도 true이면 true를 반환 모두 false인 경우에만 false 반환 이 메서드는 배열을 변경하지 않음 const array = [1, 2, 3, 4, 5]; // Checks whether an element is even const even = (element) => element % 2 === 0; console.log(array.some(even)); // Expected output: true 참고자료: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_O..
[Spring Security] 인증과 인가 간단 정리
2023. 3. 23. 22:25
프로그래밍/Spring
인증(Authentication) 사용자가 누구인지 확인하는 과정 예를 들어, 로그인 시스템에서 사용자가 제공한 아이디와 비밀번호를 검증하여 해당 사용자가 맞는지를 확인하는 과정 대표적인 인증 방법은 사용자 이름과 비밀번호, 생체 정보, 전자서명 등 인가(Authorization) 사용자가 접근하고자 하는 시스템 자원에 대한 권한을 확인하는 과정 예를 들어, 은행 애플리케이션에서 사용자가 인증되었다면, 그 사용자에게 입금, 출금 등의 기능을 수행할 권한이 있는지를 결정 인증은 인가의 전제 조건이 되며, 인증이 완료되어야 인가 과정을 거칠 수 있음 즉, 인증된 사용자가 특정한 작업을 수행하기 위해서는 그 작업에 대한 권한이 있어야 함