왜?

코딩하는 대학생에서 개발자까지
왜 Soft Delete에 Redis를 활용했나요? [Redis Soft Delete Pattern]
·왜?
Soft Delete & Hard Delete란?Soft Delete 란?데이터를 실제로 제거하지 않고, 삭제된 것처럼 값을 변경해 논리적으로 삭제를 하는 방식입니다. 예시를 들어서 설명하자면, member 테이블에 isDelete라는 boolean 필드가 있다고 할 때 삭제를 하는 경우 이 필드의 값을 yes로 변경하는 것입니다. 그런 뒤, member를 조회할 때는 isDelete 필드가 false인 필드만 조회를 해서 isDelete 필드가 true인 레코드들은 조회가 되지 않습니다. 이를 논리적 삭제 (Soft Delete)라고 합니다. Hard Delete 란?데이터베이스에서 실제로 객체를 제거하는 방식입니다. Soft Delete를 사용하는 경우만약 유저가 실수로 삭제를 한 경우, 유저는 복구..
[왜?] DTO <--> Entity 어느 방향으로 하는 것이 효율적일까? (feat. mapper)
·왜?
익명의 능력자분께 코드리뷰를 받았을 때 이러한 리뷰를 받았다. 1. DTO란? DTOs or Data Transfer Objects are objects that carry data between processes in order to reduce the number of methods calls. Fowler explained that the pattern’s main purpose is to reduce roundtrips to the server by batching up multiple parameters in a single call. This reduces the network overhead in such remote operations. DTO(Data Transfer Objects)는 프..
[왜?] 파일 전송에 presigned url이라는 방법을 사용했어?
·왜?
1. Presigned URL이란? 미리 서명된 URL의 생성자가 해당 객체에 대한 액세스 권한을 보유할 경우, 미리 서명된 URL은 URL에서 식별된 객체에 대한 액세스를 부여합니다. 즉, 객체를 업로드하기 위해 미리 서명된 URL을 수신하는 경우, 미리 서명된 URL의 생성자가 해당 객체를 업로드하는 데 필요한 권한을 보유하는 경우에만 객체를 업로드할 수 있습니다. * 미리 서명된 URL은 Presigned URL입니다. AWS 공식문서에서는 Presigned URL을 이렇게 정의하였습니다. 조금 더 쉽게 말하자면 해당 객체를 업로드하는데 필요한 권한을 보유하고 있는 사람이 객체를 업로드하고 싶은 사람에게 서명된 URL을 주는 것입니다. 이를 백엔드와 프론트엔드 개념에 적용시켜 보면 프론트엔드가 백엔..
[왜?] dto에 @getter 어노테이션이 없으면 안 돼?[트러블슈팅]
·왜?
1. 에러 발생 마이페이지를 위해 Member를 조회한 뒤, dto를 통해 반환하는 API입니다. 406 HttpMediaTypeNotAcceptableException 에러가 발생했습니다. Controller @GetMapping(value = "/user") public ResponseEntity getUserInfo(@AuthenticationPrincipal MemberPrincipal memberPrincipal) { Long id = memberPrincipal.getMember().getId(); MemberInfoResponse memberInfoResponse = memberService.getMemberInfo(id); return ResponseEntity.ok(memberInfoRe..
[왜?] MVC 패턴을 선택했을까? feat.우테코
·왜?
MVC는 디자인 패턴일까? 아키텍처 패턴일까? 위의 질문은 내가 요즘 만나는 개발자마다 묻는 공통 질문이다. "디자인 패턴이다," "아키텍처 패턴이다"라는 의견이 주로 반반 나오는 것 같다. 1. MVC 패턴이란? MVC패턴은 Model View Controller로 이루어진 소프트웨어 디자인 패턴이다. 공식문서에서 디자인 패턴으로 정의를 하였습니다. (https://developer.mozilla.org/ko/docs/Glossary/MVC) MVC - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 d..
[왜?] RefreshToken을 Redis에 저장할까?
·왜?
Redis를 통한 RefreshToken 관리, Redis를 통해 RefreshToken 구현하기 구글에 RefreshToken Redis를 검색하는 나오는 결과다. 항상 사람들은 RefreshToken을 Redis에 저장해야 한다고 말했다. 그런데 왜? RefreshToken을 Redis에 저장하냐고 물어보면 "그게 대중적인 방법이니까"라고 말하는 사람이 대부분일 것이다. RefreshToken을 Redis에 저장하는 이유 1. TTL(Time-To-Live) 대부분의 사람들이 TTL 기능 때문에 Redis에 RefreshToken을 저장할 것이다. Redis는 TTL 기능을 제공해, 데이터의 만료 시간을 설정할 수 있습니다. redisTemplate.opsForValue().set(key, refre..
코딩하는_대학생
'왜?' 카테고리의 글 목록