전체 글 78

AWS VPC/Subnet/Internet gateway/Route Table 설정을 통한 기본적인 Public&Private 인프라 구성 설정

AWS VPC 탭 접속 후 아래 순서대로 진행함 1. VPC 생성 * 대역 : 10.1.0.0/16 정도로 설정 -> 10.1까지는 고정 이후 255.255에 속하는 IP로 설정하겠다는 의미 2. 생성된 VPC 우클릭 -> Edit DNS hostnames 클릭 -> DNS hostnames 체크 후 저장 * VPC 내 인스턴스 등이 DNS를 생성할지말지를 정하는 설정으로 허용하고 진행 3. 서브넷 설정 * 서브넷 탭 클릭 * 서브넷 생성 클릭 * 이전에 생성한 VPC 선택 * 생성한 VPC의 CIDR 블록이 표시됨(서브넷은 VPC의 CIDR 블록을 나눠서 사용할 수 있도록하는 역할) * 각 서브넷을 영역별로 생성 * 서브넷명 * 가용영역 * 서브넷 CIDR 4. 외부 인터넷과 통신할 수 있는 인터넷 게..

Infra & AWS 2023.06.05

MySQL Index 설정을 통한 DB 성능 개선기

해당 글은 운영 중인 어플리케이션의 사용자단에서 자주 사용되는 product(상품) 테이블에 index 설정을 적용하여 관련 성능을 개선한 내용을 포함하고 있습니다. 1. show variables like '%profiling%'; 명령어를 통해 MySQL Profiling 설정 확인하기 # MySQL Profiling 설정 확인하기 show variables like '%profiling%'; 2. Profiling 관련 설정 활성화 및 조회 개수 설정 Profiling 기능을 활용하여 Query 성능 변화를 확인하기 위해 profiling 기능을 활성화하고 한번에 조회할 수 있는 profiling_history_size를 늘려줍니다. # profiling 기능 활성화 set profiling = 1..

성능 개선 2023.06.04

(Spring Boot) Filter 예외, CORS 처리

Spring Boot에서 JWT를 활용한 access token, refresh token을 구현했고, 요청 헤더에 포함된 access token의 검증 기능을 Filter에 포함시켜뒀다. 기능 테스트 중, Filter에서 예외가 발생하면 공통으로 예외처리하기 위해 구현해둔 예외 핸들러로 빠지지 않는걸 확인했고, Filter는 Filter에서 따로 예외처리를 해줘야한다는걸 알았다. 추가로, Filter에서 발생한 예외를 응답 객체에 담아 전달 시, Spring에서 CORS 설정을 했는데도 CORS가 발생했다. CORS도 동일하게 Filter에서 처리해줘야했고, 응답 객체에 CORS 설정에 필요한 정보를 추가하니 정상적으로 통신이 이루어졌다.

Java & Spring Boot 2023.04.07

(JPA) 연관관계 매핑 예시

// Member Entity 기준 @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @OneToMany(mappdBy = "member") private List orders = new ArrayList(); // 실제 서비스 시, 회원을 통해 주문 정보를 불러오는 비지니스 로직은 거의 없지만 굳이 연관관계 매핑을 한다면 위와 같이 할 수 있다. // Order Entity 기준 @Id @GeneratedValue @Column(name = "ORDER_ID") private Long id; @ManyToOne @JoinColumn(name = "MEMBER_ID") private Member member; @OneToMany(mappe..

JPA 2023.01.15