Til
[SpringBoot] 다른 서브 도메인간 쿠키를 교환할 때 에러 (An invalid domain [.xxx.xxx] was specified for this cookie)
들어가며 프론트 도메인인 www.ticket-auctoin.kro.kr 과 서버 도메인인 api.ticket-auction.kro.kr 간 쿠키를 교환하는데 쿠키를 받지못하는 문제가 발생했다. 해당 이유는 서버에서 cookie를 set할 때, 도메인을 따로 설정해주지 않아 서버 도메인경로로 setting이 되서 그렇다. 문제 그래서 cookie를 세팅할 때, 모든 서브도메인끼리 쿠키를 공유할 수 있도록 .ticket-auction.kro.kr 로 세팅하여 보냈다. 도메인을 세팅하고 테스트를 해보니 쿠키에서 다음과 같은 에러가 발생했다. ava.lang.IllegalArgumentException: An invalid domain [.ticket-auction.kro.kr] was specified for..
[기술면접] TCP/UDP 의 차이
TCP (Transmission Control Protocol): 연결 지향성 (Connection-Oriented): TCP는 연결을 성립하고 데이터를 전송한 후에는 연결을 종료하는 과정이 포함됩니다. 이는 신뢰성 있고 정확한 전송을 보장합니다. 신뢰성 및 흐름 제어: TCP는 데이터를 세그먼트로 분할하여 전송하고, 수신측에서는 세그먼트를 재조립하여 상위 계층에 전달합니다. 또한, 흐름 제어 기능을 통해 수신측의 처리 속도를 조절하여 과도한 데이터 손실을 방지합니다. 순서 보장: TCP는 데이터의 전송 순서를 보장하여 수신측에서는 정확한 데이터 순서로 재조립합니다. 높은 신뢰성: 오류 복구 기능과 재전송 메커니즘을 제공하여 안정적인 데이터 전송을 보장합니다. 사용 예시: 웹 브라우저의 HTTP 통신, ..
2023.01.11 TIL - [프로젝트] Ticket Auction 2일차
Ticket Auctoin 프로젝트 2일차 활동 정리입니다. 2일차는 다음과 같은 일정을 보냈습니다. ERD 고도화 1일차 S.A 작성 때 러프하게 잡았던 설계들을 좀 더 디테일하게 의논하며 잡았습니다. 와이어프레임을 그리면서 필요한 도메인들을 정하고 연관관계를 설정해주었습니다. 연관관계 설정과 다대다 관계의 중간테이블, 그리고 각 도메인 별 컬럼들의 디테일이 조금 떨어집니다. 프로젝트 설계 관련하여 좀 더 의논하며 고도화를 시키는 일정을 가졌습니다. 사용자 usecase , 와이어프레임, API 를 정리해나가면서 조금더 디테일하게 잡힌 모습입니다. 다만, 테이블간 연관관계에 대해 제대로 정립되지 않아 거미줄처럼 얽혀있는 모습을 볼 수 있습니다. 지속적인 논의와 고도화를 하며 아래와 같은 현재 최종 ER..
Mac M1 에서 Jmeter 설치하고 테스트하기
동시성 테스트를 위해 성능 테스트 도구가 필요했습니다. Jmeter를 설치하고 기본적인 테스트를 어떻게 만드는지 작성하려고합니다. Jmeter 설치하기 Mac 에서 설치하는 경우 두 가 지 방법이 있습니다. 1. Brew 를 통한 설치 터미널에서 다음 명령어를 실행하시면 됩니다. brew install jmeter 설치 후 실행은 다음과 같이 하시면 됩니다. open /opt/homebrew/bin/jmeter 2. 공식 페이지에서 다운로드 아래 링크를 타셔서 Binaries에 있는 파일을 다운로드 받으시면 됩니다. https://jmeter.apache.org/download_jmeter.cgi Apache JMeter - Download Apache JMeter Download Apache JMete..
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..