목록분류 전체보기 (53)
Kim ByeungHyun

[NHN FORWARD 22] Spring Cloud 기반 MSA 환경을 쿠버네티스로 전환하기 - YouTube -영상을 보며 정리한 블로그 내용입니다. 개요 VM 환경에서 Spring Cloud 및 컨테이너 기반 MSA 환경을 운영하는데 여러가지 어려움이 있습니다. MSA 환경이 커지면서 컨테이너 기반 애플리케이션을 유연하게 스케쥴링하고, 스케일링 (scale-up & scale cout)하며 장애가 생긴 애플리케이션을 자동으로 복구시키는 등 컨테이너 애플리케이션을 관리하는 방식이 필요한데, 이를 직접 구축하고 관리하는 것은 어렵습니다. 그래서 VM 환경에서 Spring Cloud 및 컨테이너 기반 MSA 환경을 쿠버네티스로 전환하기로 합니다. VM 환경에서 Spring Cloud 및 컨테이너 기반 M..

프리온보딩에서 진행한 AWS 인프라 설계 강의 내용을 정리 한 것 입니다. AWS ECR Amazon Elastic Container Registry - Amazon Elastic Container Registry(Amazon ECR)는 안전하고 확장 가능하고 신뢰 할 수 있는 AWS 관리형 컨테이너 이미지 레지스트리 서비스 - RDS(DB) = 데이터를 저장하는 장소 S3 = 사진, 이미지 등 파일을 저장하는 장소 ECR = 도커 이미지를 저장하는 장소 AWS ECS Amazon Elastic Container Service - ECS(Elastic Container Service)는 AWS에서 제공하는 컨테이너 오케스트레이션 서비스로 여러 어플리케이션 컨테이너를 쉽고 빠르게 실행하고, 컨테이너를 적절..

JPAQueryFactory는 Java Persistence API (JPA)를 사용하여 데이터베이스에서 쿼리를 실행하기 위한 유틸리티 클래스입니다. JPA는 자바 애플리케이션과 관계형 데이터베이스 간의 객체-관계 매핑을 제공하는 기술입니다. JPAQueryFactory는 JPA 쿼리를 작성하고 실행하기 위한 도구로 사용됩니다. JPAQueryFactory를 사용하면 JPA의 쿼리 기능을 더욱 간편하고 효율적으로 사용할 수 있습니다 [우아콘2020] 수십억 건에서 Querydsl 사용하기 **영상을 보고 정리한 내용입니다** https://youtu.be/zMAX7g6rO_Y cross join 회피 cross join은 성능이 좋지 않기 때문에 지양하는 것이 좋다. 실제로 조인을 하지 않아도 조건절에 ..

프리온보딩에서 진행한 AWS 인프라 설계 강의 내용을 정리 한 것 입니다. 목표 : AWS 인프라를 하나하나 깊게 파기보다는 전체적인 이해 AWS란 무엇일까? On-premise vs Cloud Computing On-Premise : 온프레미스란 기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌, 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식 Cloud Computing : 클라우드 컴퓨팅은 인터넷을 통해서 데이터를 저장하거나 데이터베이스, 서버, 네트워킹, 소프트웨어와 같은 도구, 애플리케이션 등 다양한 서비스를 제공하는 방식 Cloud Computing을 쓰는 이점 AWS 인프라의 전체적인 모습 1. 인프라 관련 요소들 - AWS API Gateway, AWS S3, AW..

웹 서버와 WAS의 차이 웹 서버 하드웨어, 소프트웨어 구분 하드웨어 : Web 서버가 설치되어 있는 컴퓨터 소프트웨어 : 웹 브라우저 클라이언트로부터 HTTP 요청을 받고, 정적인 컨텐츠(html,css)를 제공하는 컴퓨터 프로그램 웹 서버 기능 -Http 프로토콜을 기반으로, 클라이언트의 요청을 서비스하는 기능을 담당 요청에 맞게 두가지 기능 중 선택해서 제공 정적 컨텐츠 제공 WAS를 거치지 않고 바로 자원 제공 동적 컨텐츠 제공을 위한 요청 전달 클라이언트 요청을 WAS에 보내고, WAS에서 처리한 결과를 클라이언트에게 전달 웹 서버 종류 : Apache, Nginx, IIS 등 WAS Web Application Server의 약자 DB 조회 및 다양한 로직 처리 요구시 동적인 컨턴츠를 제공하기..

데일리 과제 4/3 트랜잭션이 무엇인지 설명해 주세요. 예를 들면, 은행 계좌 이체를 수행하는 경우, 이체가 완료되기 전까지는 계좌 잔액이 변하지 않아야 합니다. 이러한 일관성을 유지하기 위해, 이체 작업은 하나의 트랜잭션으로 처리됩니다. 만약 이체 작업 중 문제가 발생하면, 데이터베이스는 이전 상태로 롤백됩니다.원자성은 트랜잭션의 모든 작업이 완료되거나 모두 취소되어야 함을 의미합니다. 일관성은 트랜잭션이 완료된 후 데이터베이스가 일관된 상태를 유지해야 함을 의미합니다. 격리성은 여러 개의 트랜잭션이 동시에 수행될 때 각각의 트랜잭션이 서로 영향을 주지 않도록 보장해야 함을 의미합니다. 지속성은 트랜잭션이 완료된 후에도 데이터베이스가 계속 유지되어야 함을 의미합니다. 트랜잭션은 데이터베이스에서 중요한 ..

JDBC, SQL Mapper, ORM의 개념 이해하고 차이점 인지하기 JDBC (Java Database Connectivity)는 자바 언어를 통해 데이터베이스와 연결하여 데이터를 처리하기 위한 자바 API입니다. JDBC는 데이터베이스와의 연결, 쿼리 실행, 결과 처리 등 데이터베이스와의 상호작용을 담당합니다. 데이터베이스와 직접 통신하기 때문에 SQL 쿼리 작성에 대한 책임이 개발에게 있습니다. SQL Mapper는 SQL 쿼리를 자동으로 생성하여 데이터베이스와 상호작용할 수 있도록 도와주는 라이브러리입니다. SQL Mapper는 다바 객체와 데이터베이스의 테이블 간의 매핑을 담당하여, SQL 쿼리를 자동으로 생성하여 객체를 데이터베이스에 삽입, 갱신, 삭제 등의 작업을 수행할 수 있습니다. 개발..

N + 1 문제가 무엇인가? N + 1 문제는 데이터베이스에서 발생하는 성능 이슈 중 하나입니다. 이 문제는 특정 레코드를 조회 할 때, 그 레코드와 연관된 다른 레코드들을 함께 조회하는 경우 발생합니다. 예를 들어, 게시물을 저장하는 데이터베이스에서 각 게시물은 해당 게시물을 작성한 사용자의 정보를 참조 할 수 있습니다. 이때, 게시물을 조회할 때 해당 게시물의 작성자 정보도 함께 조회하게 되는데, 이때 작성자 정보가 중복해서 조회되는 경우를 N+1 문제라고 합니다. N + 1 쿼리 문제의 원인? Spring Data JPA에서 제공하는 Repository의 findAll(), findById() 등과 같은 메소드를 사용하면 바로 DB에 SQL 쿼리를 날리는 것이 아닙니다. JQL이라는 객체지향 쿼리 ..