728x90 전체 글270 [테코톡] JPA 연관관계 최적화 연관관계란?JPA: Java 애플리케이션에서 관계형 데이터베이스의 데이터를 관리하는데 필요한 객체와 관계를 매핑하는 API엔티티: 데이터베이스 테이블에 대응되는 객체. 각 엔티티는 특정한 데이터 모델을 표현JPA 연관관계: JPA 엔티티 간의 관계를 정의 왜 연관관계를 이해해야 할까?애플리케이션 내 데이터를 효율적으로 구성하기 위해성능 향상, 데이터 무결성, 데이터 관리, 유지 보수, 견고한 아키텍처 등 양방향 @OneToMany항상 부모 측에서 자식 측으로 전이 사용@OneToMany(cascade = CascaseType.ALL) 단방향 @OneToMany부모 자식 연관관계를 관리하기 위한 연결 테이블 생성자식 엔티티에 부모의 외래키를 저장할 수 없어 별도의 연결 테이블 생성연결 테이블로 인한 비효율.. 2025. 4. 3. [테코톡] CSR과 SSR 출처: https://www.youtube.com/watch?v=TXzwuaXQN2U&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=181 웹 애플리케이션의 역사MPA(Multi Page Application) : 다중 페이지로 이뤄져 있어 변경사항이 있을 때마다 서버로 페이지 요청새로고침 발생미디어 파일, 인터렉션이 많아져 복잡도가 높아지면서 성능 이슈 발생AJAX의 등장: 필요한 부분만 리로드할 수 있게 해줌SPA(Single Page Application): 단일 페이지로 이루어져 있어 갱신될 부분에 대해서만 데이터 요청새로고침이 발생하지 않음 MPA -> SSR 방식 채택SPA -> CSR 방식 채택 CSR & SSRCSR(Client side Renderin.. 2025. 4. 3. [테코톡] API 중복 호출 해결기 출처: https://www.youtube.com/watch?v=FEP2BzNzoRw&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=24 문제 상황7주년 쿠폰 발급 행사1명의 사용자는 1개의 쿠폰을 발급 받아야 한다.여러 브라우저에서 동시에 동일한 API를 호출한다면?* 프론트엔드 관련 내용 생략 서버에 검증 로직을 추가validateAlreadyIssued 메서드를 통해 사용자가 쿠폰을 발급 받았는지 확인-> DB에 한 사용자가 쿠폰을 여러 개 발급 받은 것을 확인! 2개 요청이 '동시'에 들어온다면?두 개의 메서드가 동시에 DB 트랜잭션을 시작발급 확인 메서드를 통과하게 됨 해결 방법자바 동기화 동구분산락유니크 제약 조건트랜잭션 격리 수준select ... for.. 2025. 4. 2. [테코톡] Spring Boot와 AWS를 이용한 이미지 업로드 최적화 출처: https://www.youtube.com/watch?v=r2arbkCTVUk&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=34 이미지를 어디에 올릴까?AWS S3Firebase Storage이미지 전용 서버Database 어떻게 이미지를 업로드할까?MultipartFile: Spring MVC에서 제공하는 인터페이스 활용Stream: 서버를 bypass하여 S3에 업로드Pre-Signed URL: 클라이언트가 S3에 직접 업로드MultipartFile클라이언트는 서버에 파일을 Stream 형태로 전송서버는 파일을 MultipartFile 객체로 임시 디스크에 저장 -> 업로드 완료 후 저장 됨S3에 Stream으로 업로드 서버 디스크 용량을 초과하는 경.. 2025. 4. 1. [테코톡] DB Replication 영상: https://www.youtube.com/watch?v=7DwxuWyCNHA&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=2 예시 상황쇼핑몰 블랙 프라이데이 이벤트 진행으로 50퍼센트 할인많은 유저가 몰릴 것을 대비하여 취약점 진단(약 평소 5배)WAS와 DB가 하나인 구조로드밸런서와 WAS 여러 개로 개선결과: DB의 CPU 사용률과 메모리 사용률이 100%, 데이터베이스 크래시 발생-> 고가용성(High Availability)이 중요 DB Replication데이터베이스 고가용성을 위한 기술Mysql 8.0, innoDB 기준 개념DB Replication: 한 데이터베이스에서 다른 데이터베이스로 데이터가 동기화되는 것Source(원본 데이터 소장) -.. 2025. 3. 29. [테코톡] MySQL 옵티마이저의 실행계획 유튜브를 통해 매일 조금씩 공부하기...! https://www.youtube.com/watch?v=gcsu7ni3tBc&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH실행계획이란?MySQL 서버 구성MySQL 엔진: SQL 문장 분석 / 최적화 -> 옵티마이저스토리지 엔진: 데이터 저장 / 조회쿼리 실행 과정MySQL 엔진: SQL parser -> SQL 옵티마이저 -> SQL 실행기스토리지 엔진: 데이터 읽기/쓰기실행계획이란?옵티마이저가 결정한 최적의 쿼리 실행방법쿼리 앞에 'EXPLAIN'을 붙여 확인 가능 실행계획 분석테스트 환경 세팅FieldTypeNullKeyidbigintNOPRInicknamevarchar(255)NOUNIageintNOMULaddressvarcha.. 2025. 3. 27. 이전 1 2 3 4 ··· 45 다음