[React] crypto-js 암호화 복호화 방법
2023. 4. 24. 20:33
프로그래밍/React
crypto-js 사용 방법 crypto-jo 설치 npm install crypto-js # npm 혹은 yarn을 사용하여 설치 yarn add crypto-js 암호화 복호화하기 암호화 키는 .env로 빼거나 다른 파일에 두고 사용하는 것을 권장 값이 없는 경우 빈 문자열 처리나 에러 로깅을 위한 try~ catch 문은 선택적으로 사용하기 import CryptoJS from 'crypto-js'; import {AES_SALT} from "./constants"; /* Salt 비밀 키 */ const salt = '암호화 키'; /* 암호화 */ export const encrypt = (text) => { // 값이 없을 경우 빈 문자열 반환 if (!text) return ''; retur..
[MySQL Error] warning : Integer display width is deprecated and will be removed in a future release. 해결 방법
2023. 4. 21. 20:30
프로그래밍/SQL
warning : Integer display width is deprecated and will be removed in a future release. MySQL 테이블 생성 시 warning 뜸 원인 내용을 읽어보니 정수 타입 필드에 크기를 지정 발생한 warning임 MySQL 8.0.17 버전부터 도입된 변경 사항으로 추후 릴리스에서 정수 필드의 크기 지정하는 기능이 삭제될 예정이기에 경고 뜸 해결 방법 필드의 크기를 제거하면 해결 create table order ( order_seq int not null auto_increment, is_deleted int(1) default '0', primary key (order_seq) ); 아래와 같이 is_deleted int(1) -> is_..
[JPA] JPQL alias error 해결 방법
2023. 4. 20. 20:13
프로그래밍/JPA
alias error 뜨는 경우 join 건 부분 확인할 것 join 건 쿼리의 select 절 alias 추가해주기 예시 코드 @Query(value ="select * from Order o " + "left join (select orderSeq as orderSeq, name as name from OrderProduct " + ") op on op.orderSeq = o.orderSeq") List getOrderList(OrderCondition condition);
[JPA] JPQL 날짜 조회 시 원치않는 타임존이 붙는다면?
2023. 4. 19. 20:57
프로그래밍/JPA
JPQL 날짜 조회 시 타임존 제거하기 request 를 받을 때 String 타입으로 받는다면 간단하게 해결 가능함 @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate contractDate; 위와 같이 데이터를 받고 있었다면 private String contractDate; 이렇게 받아서 jpql에서 조회하면 타임존이 붙지 않음 다만 jpql 쿼리문에서는 date함수를 사용해 String 타입을 Date 타입으로 변환시켜야 함 예시 코드 👇 @Query(value = "select * from order where contractDate >= DATE(:contractDate)") List getOrderList(String contractDate); 테..
[React] reactToPrint - React Component 프린트 및 PDF 저장
2023. 4. 18. 20:31
프로그래밍/React
react-to-print react component 인쇄와 pdf 저장 기능 제공 설치 방법 # npm install npm i react-to-print # yarn install yarn add react-to-print props props는 다양하지만 내가 사용한 2가지 props만 설명할 것임 사용가능한 props는 npm 공식 문서에서 확인 가능 Name Type 설명 contnet function 구성요소 참조 값을 반환하는 함수 이 참조 값의 내용을 인쇄 documentTitle String 파일로 저장할 때 인쇄할 제목 설정 사용 방법(함수형 컴포넌트) 1. import useReactToPrint 하기 import {useReactToPrint} from 'react-to-print..
[MySQL Error] GROUP BY 에러 해결 방법
2023. 4. 17. 21:40
프로그래밍/SQL
Expression of SELECT list is not in GROUP BY clause and contains nonaggregated column which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 원인 GROUP BY 컬럼 사용 시 SELECT 가능한 컬럼은 GROUP BY에 나열된 컬럼과 집계 함수(SUM, COUNT 등)만 가능 그 외에 컬럼을 SELECT 한 경우 에러 발생 해결 방법 GROUP BY 에 모든 SELECT 컬럼 적어주기
[JPA] JPA setter 사용하지 않는 이유
2023. 4. 14. 20:45
프로그래밍/JPA
JPA에서 setter를 사용하지 않는 이유 간단 정리 객체 무결성(불변성) 보장 불가 Setter 메소드를 생성하면 객체의 상태를 변경할 수 있음 그러나 JPA 엔티티는 일반적으로 불변성을 유지해야 함 이는 객체의 일관성과 무결성을 보장하고 JPA의 영속성 컨텍스트에서 오작동하는 것을 방지함 보안 문제 Setter 메소드를 사용하여 객체의 필드 값을 변경하면 보안 문제가 발생할 수 있음 예를 들어, 비밀번호와 같은 중요한 필드 값을 직접 변경할 수 있는 경우, 보안 위험에 노출될 수 있음
[React] 조건부 렌더링 2
2023. 4. 13. 20:58
프로그래밍/React
리액트 조건부 렌더링 간단한 예시와 설명 이전에 삼항 연산자처럼 작동하는 조건부 렌더링에 대해 적어보았음 간단하게 정리하자면 값이 true인지 false인지 여부에 따라 렌더링을 다르게 했음 이러한 조건부 렌더링은 로그인인지 아닌지에 따라 로그인, 로그아웃 버튼을 보여주고 싶은 경우 사용 가능함 그렇다면 조건이 참일때만 작동하고 false인 경우 렌더링하고 싶은 내용이 없다면? 예시 import React from 'react'; function App() { // 생략... return ( {type === 2 && ( Welcome ) ); } 어떤 타입이 있어서 type이 2인 경우에만 Welcome을 렌더링 하고 싶은 경우 && 으로 작성해주면 됨