본문 바로가기

내가 배운 것들41

[SpringBoot] JPA를 이용한 Delete가 실행되지 않는 현상 화가 날 뻔한 상황 코드에는 에러가 없다. 근데 Delete가 실행이 안 된다. 왜 안 되지? 난 화가 날 뻔했다. 화가 나기 전에 해결이 되어서 다행이다. 코드는 다음과 같다. public DictLikeResponseDto likeDict(UserDetailsImpl userDetails, Long dictId) { // 로그인 체크 ValidChecker.loginCheck(userDetails); User user = jwtAuthenticateProcessor.getUser(userDetails); Dict dict = getSafeDict(dictId); /* 1. 좋아요 중일 시 : 좋아요 취소 2. 좋아요 중이 아닐 시 : 좋아요 */ boolean isLike = false; if (is.. 2021. 12. 27.
[SpringBoot/Redis/Ubuntu] 우분투 환경에 Redis 설치, SpringBoot에 세팅 Redis Redis. 얼마나 좋길래 이렇게 추천을 받는 것인지. 써보고 싶어졌다. 그래서 세팅해본다. 1. ubuntu 환경에 Redis 설치 $sudo apt-get update $sudo apt-get install -y redis-server 2. Redis configuration $sudo vim /etc/redis/redis.conf maxmemory-policy allkeys-lru 추가 - redis 메모리가 가득 찰 경우 오래된 데이터부터 지우겠다는 뜻이다. 3. Redis 테스트 $redis-cli 127.0.0.1:6379> set key1 hello 127.0.0.1:6379> get key1 여기까지가 ubuntu 환경에 redis 설치 및 가장 기초적인 세팅을 완료한 것이다. .. 2021. 12. 27.
[SpringBoot] DTO 형식으로 반환해줄 때, NULL값은 숨긴 채로 되돌려주기 DTO에서 NULL값 숨기기 @Getter @Builder @NoArgsConstructor @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public class DictHistoryRecentResponseDto { private Long historyId; private Long revertFrom; private String writer; private LocalDate createdAt; } @JsonInclude(JsonInclude.Include.NON_NULL) 붙여주면 된다. 끝! 2021. 12. 23.
[RegExp] 아이디, 닉네임, 비밀번호 정규식 RegExp 회원가입 처리할 때 유효성검사가 필요한 일이 생겼다. 근데 나는 정규식을 모른다. 그래서 인터넷에서 가져다 붙여넣으려고 좀 찾아봤다. 괜히 찾아봤다. 다른 허점은 고려하지 않은 채로 대충 몇 번 조회 때려보고 OK 뜨니까 되는구나 싶어서 올렸거나, 가독성이 너무 떨어져 튜닝이 어려운 쓰잘데기 없이 복잡한 정규식들이 많았다. 그래서 내가 정말 짧은 시간을 공부하고 정규식 규칙을 짜봤다. 참고로 너무 조금 공부한 채로 짠거라 허점이 있을 수 있다. 아이러니하게도 잘못된 정보를 피해 얄팍한 지식으로 잘못된 식을 짜 본 것일 수도 있는 것이다. 이거에 허점이 있으면.. 받아들여야지. 지적 부탁드립니다. 더 효율적인 정규식이 있다면 그것도 추천 해주세요. 감사합니다. 땡큐. 1. 아이디 정책 - 3자.. 2021. 12. 23.
[QueryDSL/MySQL] QueryDSL로 MySQL에서 랜덤한 레코드 가져오기 QueryDSL/MySQL Does Querydsl not support rand()? I want to make SQL look like: select b from Book b order by rand() how convert that query to Querydsl query? Is it not supported by Querydsl? If you know the way to support this query, please a... stackoverflow.com QueryDSL에서 orderby로 랜덤한 레코드를 가져올 땐 NumberExpression.random()을 사용한다. 근데 MySQL에서는 QueryDSL의 NumberExpression.random() 기능을 사용할 수 없다. 이건 엄.. 2021. 12. 22.
[QueryDSL] Handler dispatch failed; nested exception is java.lang.NoSuchFieldError: TREATED_PATH QueryDSL querydsl: java.lang.NoSuchFieldError: TREATED_PATH springboot version is 2.51, java vsersion 1.8 it will crash in selectFrom(), erro info: java.lang.NoSuchFieldError: TREATED_PATH how to resolve it,i cant find a way in web there is my code @ stackoverflow.com QueryDSL에 대한 버전을 명확하게 명세하지 않아 발생한 문제였다. Gradle의 의존성 부분에 implementation "com.querydsl:querydsl-core:${queryDslVersion}" 추가하여 해결하였다.. 2021. 12. 22.