TIL

    2023.01.11 TIL - [프로젝트] Ticket Auction 2일차

    Ticket Auctoin 프로젝트 2일차 활동 정리입니다. 2일차는 다음과 같은 일정을 보냈습니다. ERD 고도화 1일차 S.A 작성 때 러프하게 잡았던 설계들을 좀 더 디테일하게 의논하며 잡았습니다. 와이어프레임을 그리면서 필요한 도메인들을 정하고 연관관계를 설정해주었습니다. 연관관계 설정과 다대다 관계의 중간테이블, 그리고 각 도메인 별 컬럼들의 디테일이 조금 떨어집니다. 프로젝트 설계 관련하여 좀 더 의논하며 고도화를 시키는 일정을 가졌습니다. 사용자 usecase , 와이어프레임, API 를 정리해나가면서 조금더 디테일하게 잡힌 모습입니다. 다만, 테이블간 연관관계에 대해 제대로 정립되지 않아 거미줄처럼 얽혀있는 모습을 볼 수 있습니다. 지속적인 논의와 고도화를 하며 아래와 같은 현재 최종 ER..

    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가 ..

    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 권한을 순차적으로 확인하여 서비스 운영 환경이 여러 개여도 코드는 한줄로 대응이 ..

    2023.12.18 TIL

    오늘 한 것 복습 과제 알고리즘 복습 과제 캠프 과정 중에 여태 것 배운 것들을 복습하는 차원에서 나온 과제를 하고있다. 이제 웬만한 CRUD 기능들은 다 할 수 있는 것 같았는데 과제를 하다보니 아직 조금 부족한것같다. 이번 과제를 통해 기초는 완벽하게 숙지하는 것을 목표로 해야겠다. 알고리즘 매일 알고리즘 스터디를 통해 프로그래머스 LV2 수준의 문제를 2문제씩 풀고있다. 잘 못 풀었던 레벨의 문제들도 머리를 박으며 하다보니 점점 잘 풀게 되는 것 같다. [프로그래머스] 다리를 지나는 트럭 - Java 풀이 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_le..

    2023.12.13 TIL

    오늘 한 것 - 알고리즘 문제풀기 - JPA 심화 강의 - 이력서 정리 오늘은 갑자기 이력서와 자소서가 생각나 기본적인 사항들을 정리하는 시간을 가졌다. 손 놓은지 오래되서 다시 작성해보려니 정말 힘들었다.. 내일배움캠프를 진행하면서 개발만해서 깜빡했는데.. 면접이랑 자소서는 어떡하지.. 조금 마음이 심란해졌다. 플러스 주차 JPA 강의도 많이 남았는데 빨리 들어야겠다..

    2023.12.12 TIL - PostgreSQL 알아두면 좋은 명령어

    이번 JPA 심화주차 강의에서 MySQL을 사용하지 않고 PostgreSQL을 사용하여 알아두면 좋은 명령어들을 포스팅 하면 좋을 것 같아 정리하였습니다. [PostgreSQL] 알아두면 좋은 기본 명령어 PSQL 주요 Command 1. \c : 접속한 DB Instance를 변경. 여러 DB Instance들이 있고, 정보를 조회나 Query 실행 대상 DB Instance를 변경할 때 사용한다. 사용법 \c [DB Name] [Connection User} 사용예 ... # Database Instance 'mes mocha-coding.tistory.com

    2023.12.11 TIL

    팀 프로젝트를 마치며 내배캠 심화주차 백 오피스 팀 프로젝트를 마치며 느낀점과 앞으로 도전해야 할 것들을 아래 포스트에 작성을했다. 프로젝트 일정동안 맡은 기능에 대해 책임감을 갖고 개발하고, 팀원들과 필요한 정보들을 공유하고 의논하며 완성도 높은 결과물을 만들 때 마다 정말 보람찬 것 같다. 그리고 벌써 캠프에 참여한지 3개월이 되어가는데 여기서 같은 팀원으로 만난 사람들이 성장하고 나도 성장하는 것을 보며 참여하길 정말 잘했다고 느낀다. 남은 기간 동안 더 열심히 노력해서 좋은 개발자가 되었으면 좋겠다. [팀프로젝트] ipv4 - Y SNS KPT 회고 IPv4 | Built with Notion Built with Notion, the all-in-one connected workspace with..