전체 글
2023.01.02 TIL - DTO 역직렬화 문제 (no delegate- or property-based Creator)
문제 팀프로젝트 기능 구현을 하다가 테스트를 하는데 다음과 같은 에러가 발생했다. Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of `study.ticketService.domain.application.dto.ConcertTicketCreateRequest` (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator)] 간단하게 번역해보면 다음과 같다. (최소 하나의 Creator가 ..
[프로젝트] 협업 관리 툴 프로젝트 S.A
1. 프로젝트 제목/간단 설명 프로젝트 명 : 협업 관리 툴 프로젝트 소개 : 프로젝트를 진행하다보면 누가, 무엇을, 언제까지 해야하는지 명확히 명시가 되어있으면 보다 효율적으로 프로젝트를 진행할 수 있을 것 입니다. 그렇기에 협업을 할 때 작업의 배분, 진행 현황 등을 관리하는 협업 툴을 만들어 보았습니다. 2. 와이어 프레임 피그마 링크 3. ERD 설계 4. 개발해야 하는 기능, API 명세 API 명세서 5. 역할 분담 기본기능 역할분담(12/28) 이민주 - Users 회원가입 로그인 로그아웃 비밀번호 변경 회원 탈퇴 김민중 - Columns /Comments 컬럼 생성 컬럼 수정(순서이동 포함) 컬럼 삭제 댓글 생성 댓글 수정 댓글 삭제 최재석 - Boards 보드 목록 조회 보드 생성 보드 ..
2023.12.20 TIL - JPA - deleteAll() / deleteAllInBatch()
개인 복습과제에 마지막 수정일이 90일이 지난 데이터들을 삭제하려는 요구사항이 있어 Spring 스케줄을 통해 삭제하려고 한다. 해당 조건에 맞는 데이터를 찾은 후 List를 deleteAll() 메소드로 지우려고 작성하고 테스트하는데 날라간 쿼리를 보니 N개 만큼 delete 요청을 보내고있다.. deleteAll() deleteAll 내부를 보니 다음과 같이 구현되어있다. 코드를 보면 Iteratable을 상속받는 클래스타입의 객체(필자는 List를 넘김) 에서 for문을 통해 delete 쿼리를 날리고있었다. 그래서 한 번에 쿼리를 날리는 메소드가 있는지 찾아보았다. deleteAllInBatch() 찾아보니 deleteAllInBatch 라는 메소드가 있었다 해당 메소드 구현은 다음과 같다. 쿼리..
2023.12.19 TIL - AWS SDK(Feat.S3) Credential 로드
AWS SDK Credential 설정 파일 업로드 기능을 AWS S3를 이용하여 구현하였다. S3 연동을 위해서는 AWS Client를 생성하여 리소스에 Credential 정보를 설정해야한다. application.yml 에 IAM의 access key와 secret key를 넣어놓고 AWS SDK의 AWSStaticCredentialsProvider를 통해 Credential을 생성하였다. 후에 프로젝트 피드백을 다음과 같이 받았다. S3Config에서 AWSStaticCredentialsProvider보다는 DefaultCredentialProviderChain를 이용하는 것이 더 좋습니다. (체이닝 방식으로 IAM 권한을 순차적으로 확인하여 서비스 운영 환경이 여러 개여도 코드는 한줄로 대응이 ..
[프로그래머스] 가장 큰 수 - Java 풀이
문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 - numbers의 길이는 1 이상 100,000 이하입니다. - numbers의 원소는 0 이상 1,000 이하입니다. - 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 정답 풀이 import java..
[프로그래머스] 다리를 지나는 트럭 - Java 풀이
문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 제한 조건 - bridge_length는 1 이상 10,000 이하입니다. - weight는 1 이상 10,000 이하입니다. - truck_weights의 길이는 1 이상..
2023.12.18 TIL
오늘 한 것 복습 과제 알고리즘 복습 과제 캠프 과정 중에 여태 것 배운 것들을 복습하는 차원에서 나온 과제를 하고있다. 이제 웬만한 CRUD 기능들은 다 할 수 있는 것 같았는데 과제를 하다보니 아직 조금 부족한것같다. 이번 과제를 통해 기초는 완벽하게 숙지하는 것을 목표로 해야겠다. 알고리즘 매일 알고리즘 스터디를 통해 프로그래머스 LV2 수준의 문제를 2문제씩 풀고있다. 잘 못 풀었던 레벨의 문제들도 머리를 박으며 하다보니 점점 잘 풀게 되는 것 같다. [프로그래머스] 다리를 지나는 트럭 - Java 풀이 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_le..
2023.12.13 TIL
오늘 한 것 - 알고리즘 문제풀기 - JPA 심화 강의 - 이력서 정리 오늘은 갑자기 이력서와 자소서가 생각나 기본적인 사항들을 정리하는 시간을 가졌다. 손 놓은지 오래되서 다시 작성해보려니 정말 힘들었다.. 내일배움캠프를 진행하면서 개발만해서 깜빡했는데.. 면접이랑 자소서는 어떡하지.. 조금 마음이 심란해졌다. 플러스 주차 JPA 강의도 많이 남았는데 빨리 들어야겠다..