전체 글10 Soft Delete를 우리 서비스에 적용해야 할까? 서비스를 개발하다 보면 "데이터를 삭제할 때 정말 지워버려야 할지" 고민하게 됩니다. 이번 글에서는 Soft Delete 개념과 함께, 실제 프로젝트에 적용하면서 고민했던 내용들을 공유하려고 합니다.Soft DeleteSoft Delete는 데이터베이스에서 데이터를 실제로 삭제하지 않고, 삭제된 것처럼 표시하는 방식입니다. deleted_at(datetime) 또는 is_deleted(boolean) 필드를 추가해서 관리합니다.장점실수로 삭제된 데이터를 쉽게 복구할 수 있음삭제된 데이터의 이력 추적 가능관계형 DB에서 참조 무결성 유지데이터 분석이나 감사에 필요한 정보 보존악의적인 탈퇴 및 재가입 방지단점쿼리의 복잡도가 높아질 수 있음실제 삭제가 필요한 경우 추가 작업 필요개인정보보호 규정 준수에 추가 .. 2026. 1. 9. [우테코] 2주차 과제 회고록 다른 사람들이 작성한 코드를 보면서 알게 된 내용을 정리하면서 공부하려고 한다.회고 과정을 통해 JAVA에 대한 기초적인 지식이 부족하여 사소한 것이라도 꼼꼼히 배우는 게 목표다. 공통 피드백 정리1. 문자열 혹은 숫자를 static final 키워드를 사용하여, 의미 있는 이름과 함께 사용해야 한다.2. 클래스 내부에서는 상수/클래스 변수 -> 인스턴스 변수 -> 생성자 -> 메서드 순으로 작성한다.3. carNameList 처럼 변수명 안에 자료형과 자료 구조를 포함시키지 말아야 한다.4. 한 메서드에는 하나의 기능만 처리할 수 있도록 한다. 특히, 여러 메서드에서 중복 사용되는 코드가 있다면 별도로 분리하여 사용할 것. 한 메서드 안에서 코드가 15라인 이상이 되지 않도록 메서드를 분리할.. 2024. 10. 31. [스프링] 이미지와 함께 게시물 작성하기 이번에는 이미지 업로드와 json 타입의 Request Dto 데이터 값을 동시에 받아 글을 작성하는 API 코드를 소개하겠습니다. S3를 사용하여 이미지를 업로드하는 코드는 이전 게시물에 올려뒀습니다! 먼저 아래 글을 읽고 오는 것을 추천합니다.2024.06.13 - [서버 공부] - [스프링] S3를 이용한 이미지 업로드 [스프링] S3를 이용한 이미지 업로드사진 업로드를 할 수 있는 외주 작업을 맡게 되어 S3를 이용한 이미지 업로드 로직을 작성했습니다.더보기요구사항 - 게시물에 이미지는 필수값이 아니다.- 하나의 게시물에 올릴 수 있는 파일hy5sun.tistory.com 이미지와 함께 글을 올리기 위해 Image 엔티티를 생성하여 Board를 작성하면 Board와 Image를 각각 저장해 줄 겁.. 2024. 6. 25. [스프링] 글 작성 API : 이미지 업로드 API와 글쓰기 API 따로 생성하기 S3를 사용하여 이미지를 업로드하는 코드는 이전 게시물에 올려뒀습니다! 먼저 아래 글을 읽고 오는 것을 추천합니다.2024.06.13 - [서버 공부] - [스프링] S3를 이용한 이미지 업로드 [스프링] S3를 이용한 이미지 업로드사진 업로드를 할 수 있는 외주 작업을 맡게 되어 S3를 이용한 이미지 업로드 로직을 작성했습니다.더보기요구사항 - 게시물에 이미지는 필수값이 아니다.- 하나의 게시물에 올릴 수 있는 파일hy5sun.tistory.com 보통 한 페이지에 하나의 API를 요청하는 게 좋지만, 그럴 경우 form-data로 List과 JSON 데이터를 한 번에 받아야 합니다. 플러터 같은 경우, form-data에 두 가지 타입의 데이터를 받는 게 어렵다고 하여 이와 같이 코드를 작성했습니.. 2024. 6. 13. [스프링] S3를 이용한 이미지 업로드 사진 업로드를 할 수 있는 외주 작업을 맡게 되어 S3를 이용한 이미지 업로드 로직을 작성했습니다.더보기요구사항 - 게시물에 이미지는 필수값이 아니다.- 하나의 게시물에 올릴 수 있는 파일 수는 최대 3개이다. 위 요구사항에 맞춰 먼저, S3를 사용하기 위한 코드를 작성해보도록 하겠습니다. 1. AWS S3에 bucket을 생성 2. bucket, accessKey, secretKey 정보를 application.yml에 추가cloud: aws: s3: bucket: 버킷이름 stack.auto: false region.static: ap-northeast-2 credentials: accessKey: 본인 키 입력 secretKey: 본인 키 입력 3... 2024. 6. 13. [스프링] org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request 해결 방법 파일 올리기 API를 수행하는 도중 아래와 같은 오류를 접하게 됐습니다. 더보기org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request위 오류는 클라이언트와 서버 간의 데이터 형식 혹은 요청 설정에 문제가 생겨 발생합니다. 저 같은 경우는 서버의 문제였으며, application.yml 파일을 수정하면서 해결할 수 있었습니다. spring: servlet: multipart: enabled: true max-file-size: 20MB max-request-size: 20MB - max-file-size : 파일 하나 당의 허용 크기- max-request-.. 2024. 6. 13. [스프링] @NoArgsConstructor & @AllArgsConstructor & @RequiredArgsConstructor 안녕하세요!오늘은 @NoArgsConstructor 와 @AllArgsConstructor, @ RequiredArgsConstructor 개념에 대해 정리해보겠습니다. 위 세 가지는 모두 생성자를 자동으로 만들어주는 어노테이션입니다.차이점은 어떤 값을 파라미터로 받는가 입니다. @NoArgsConstructor명시적으로 생성자를 선언해주지 않아도 파라미터가 없는 디폴트 생성자를 생성해줍니다.@NoArgsConstructorpublic class Member { private Long id; private String name;}// -> 아래와 같은 코드public class Member { private Long id; private String name; public Memb.. 2024. 6. 2. AICE Associate 자격증 시험 후기 해당 시험은 2024년 3월 15일에 본 AICE ASSOCIATE 자격증 시험에 대한 후기입니다.자격증 도전 동기저의 목표 기업인 KT에서 주최한 자격증 시험이라 반드시 보고 싶었습니다. 최근 KT는 AI를 기반으로 기술을 성장시키고 있으며, KT 개발자가 되기 위해서는 저 역시 AI에 큰 관심을 가지고 공부해야 한다고 생각했습니다.공부기간저는 전공 수업으로 수강한 적이 있었기 때문에 기본 베이스가 있었습니다.시험 공부는 약 일주일 동안 진행했으며, 먼저 기술 블로그를 보며 개념을 정리해보고, 샘플 문제와 비슷한 유형의 문제들을 풀어보는 방식으로 진행했습니다.유튜브 실시간 강의로 진행한 특강도 함께 수강하였는데, 큰 도움이 됐다고 생각합니다. 시험 전에 특강을 진행한다고 하면 무조건 청강하시는 걸 추천.. 2024. 5. 30. 2023년 회고록 velog에서 작성했었는데 이번에 tistory로 이사를 고민하게 돼서 지금 작성하게 됐습니다!2023년 회고록 시작하겠습니다. 코테이토 6기기간 : 2023.03.02 ~ 2023.07.01활동 내역: 스프링 스터디 / 파이썬 알고리즘 스터디연합 동아리 첫 도전이었습니다. 지원서 > 면접 과정을 거쳐 합격하여 6기로 활동했습니다. 백엔드와 알고리즘 공부를 다른 사람들과 함께 진행하면서 꾸준히 하고 싶어 2개의 스터디에 들어가 공부했습니다.스프링 스터디는 김영한 강사님의 스프링 입문과 핵심 원리 강의를 수강하고, 매주 모여서 공부한 내용을 발표하고, 모르는 걸 질문하는 방식으로 진행했습니다. 그리고 마지막에는 각자 2주 간 간단한 게시물을 만들었습니다. NestJS를 배우기 전에는 이해가 안 되는 부분이.. 2024. 5. 30. 이전 1 2 다음