[Spring] @DeleteMapping 파라미터로 List 받기
2024. 5. 13. 11:35
프로그래밍/Spring
@DeleteMapping일반적으로 HTTP DELETE 요청은 요청 본문에 데이터를 담지 않기에 @RequestParam, @RequestBody를 사용하는 것이 적절하지 않을 수 있음대신 @PathVariable을 사용하여 경로 변수 사용하여 파라미터를 추출함 @PathVariable 사용 예시import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;@RestControllerpublic class ItemController { // Long 리스트를 파라미터로 받는 메소드 @DeleteMapping("/deleteItems/{itemIdList}") public void deleteItems(@P..
랜덤 비밀번호 생성 사이트
2023. 12. 6. 20:13
프로그래밍/관련 정보
랜덤 비밀번호 생성 사이트 salt 값을 랜덤하게 생성하기 위해 이용했던 사이트 중에 굉장히 만족스러웠던 사이트 추천 https://www.expressvpn.com/kr/password-generator 랜덤 비밀번호 생성기 | ExpressVPN (익스프레스VPN) 고객님의 비밀번호는 얼마나 안전할까요? ExpressVPN 비밀번호 생성기로 강력한 랜덤 비밀번호를 생성하고 검사기로 비밀번호가 안전한지 확인하세요. www.expressvpn.com 일단 ui가 깔끔하고 비밀번호 길이 설정시 뜨는 문구가 신뢰도를 높여줘서 좋았음
[React Error] Uncaught (in promise) TypeError: Assignment to constant variable. 해결 방법
2023. 12. 5. 20:08
프로그래밍/React
Uncaught (in promise) TypeError: Assignment to constant variable. 에러 발생 원인과 해결 방법 발생 원인 상수로 선언된 변수에 값을 재할당하려고 할 때 발생 자바스크립트에서 const 키워드로 선언된 변수는 재할당이 허용되지 않음 const result = ''; result = 'result';// error 해결 방법 const 키워드를 let으로 변경해주거나 재할당을 없애기 // 첫 번째 방법 const result = 'result'; // 두 번째 방법 let result = ''; result = 'result';
[Spring Boot] 파일 확장자 확인
2023. 12. 4. 20:36
프로그래밍/Spring Boot
파일 확장자 확인 Tika 라이브러리를 통하여 파일 확장자를 확인하는 방법을 간단하게 공유해보고자 함 1. gradle 추가 mvn repository에서 확인 가능 implementation group: 'org.apache.tika', name: 'tika-core', version: '1.4' 2. Tika import 후 사용 import org.apache.tika.Tika; public void Test() { File pdfFile = new File("경로/파일명.pdf"); Tika tika = new Tika(); String mimeType = tika.detect(file); if("application/pdf".equals(mimeType)) { ... } }
[Spring Error] java.lang.IllegalArgumentException: Invalid character found in the request target... 에러 해결 방법
2023. 12. 1. 20:58
프로그래밍/JAVA
java.lang.IllegalArgumentException: Invalid character found in the request target. 에러 프론트에서 파일명을 백엔드로 넘길 때 해당 에러가 발생 발생 원인 파일명에 특수 문자나 공백을 포함하고 있어서 에러 발생 해결 방법 파일명을 인코딩해서 서버로 보내기 예시 const data = encodeURI("home/dev/[20231201]샘플_첨부_파일.png");
[React] inline style !important 적용 방법
2023. 11. 15. 20:22
프로그래밍/React
React inline style !important 적용 React 에서는 내부 스타일 설정 시 !important 적용이 안됨 해결 방법으로는 크게 3가지가 있음 1. css 파일에 선언해주기 2. 부트스트랩을 사용해 className값 설정하기 3. inline에 style을 줘야한다면 style 메서드 정의해서 사용하기 참고로 리액트에서는 !important를 사용하는것을 권장하지 않음 import React from 'react'; const MyComponent = () => { const importantStyle = { color: 'red !important', fontSize: '20px', // 다른 스타일 속성은 그대로 작성 }; return ( Hello, World! ); };..
[React Error] onKeyUp, onKeyDown 이벤트 한글 입력시 2번 실행되는 이유와 해결 방법
2023. 10. 27. 20:12
프로그래밍/React
onKeyUp, onKeyDown 이벤트 한글 입력시 2번 실행되는 문제 영어가 아닌 한글을 입력한 후 onKeyUp, onKeyDown 이벤트를 실행하면 중복으로 이벤트가 실행됨 원인 IME composition IME는 브라우저에서 다양한 언어를 지원해주는 OS 단계의 어플리케이션 IME 과정에서 이벤트가 발생하면, 한글 변환 작업이 OS에서도 이루어지고 브러우저에서도 처리되면서 중복 발생하는 문제 isComposing Web API 스펙에는 Event Target에 KeyboardEvent.isComposing 이라는 프로퍼티를 제공하고 있음 한글을 포함하여 비영어권 언어를 사용한다면 이 값을 참조하여 중복을 막을 수 있음 해결 isComposing 프로퍼티를 사용하여 한 번만 실행되도록 처리하기..
[MyBatis] 비교 표현식
2023. 10. 13. 20:50
프로그래밍/Mybatis
비교 표현식 구분 설명 부등호 문자열 표현식 비교 크다 greater gt > a gt b a > b 작다 little lt = a ge b a >= b 작거나 같다 little or equal le 5 SELECT * FROM order WHERE no =]]> 5 SELECT * FROM order WHERE no 5