내일배움캠프 56일차 TIL - AWS(3) RDS
·
내일배움캠프 Spring 5기
2024.07.05학습    ●  1. RDS RDS(Relational Database Service)RDS는 관리형 데이터베이스 서비스로, Amazon RDS 서비스를 통해 데이터베이스 엔진을 선택하고 필요한 크기 및 용량을 선택하여 인프라를 자동으로 프로비저닝할 수 있습니다. 따라서 EC2인스턴스 내에 직접 데이터베이스를 설치하고 구성하는 대신 RDS서비스를 사용하여 데이터베이스를 생성, 관리 및 확정할 수 있습니다. 해석1. DB를 위한 인프라를 자동으로 구축 및 업데이트를 도와주는 AWS의 서비스 중 하나이다.2. RDS에서 지원하는 다양한 기능을 통해 DB에 대한 용량을 늘린다던가 하는 작업들을 손 쉽게 할 수 있어 DB 생성 및 관리 확장등을 손 쉽게 컨트롤 할 수 있는 장점이 있다. 정리정..
내일배움캠프 55일차 TIL - QueryDSL Pagination
·
내일배움캠프 Spring 5기
2024.07.04학습    ●  1. Pagination 사용 방법과 사용 이유 Pagination페이지네이션 이란, 여러개의 게시글을 페이지당 보여질 갯수와 페이지로 나누어서 보여주는 방식이다.  1. Pagination을 사용하는 이유서버 입장에서 게시글이 몇개가 존재할지 알 수가 없다. 만약, DB에 1억개의 게시글이 존재한다고 가정했을 때1억개의 게시글을 전체 조회를 하게 되면 서버에 부하가 걸려 서버가 내려갈 것이다.또한, 한 페이지에 1억개의 데이터를 보여주게 된다고 했을때, 눈으로 보기가 매우 힘들 것이다.이러한 이유 때문에 많은 웹 사이트들은 Pagination을 사용하고 있다. 2. Pagination 예시위의 사진과 같이 한페이지에는 여러개의 게시글을 보여줄 수 있으며, 페이지 하나당..
내일배움캠프 54일차 TIL - QueryDSL 사용하는 방법
·
내일배움캠프 Spring 5기
240703학습    ●  1. QueryDSL 사용법 QueryDSL이란?1. SQL, JPQL 등을 코드로 작성할 수 있도록 해주는 프레임워크이다.2. 쿼리를 type-safe(컴파일시 에러 체크 가능)하게 Java코드로 작성을 할 수 있게 도와준다. SpringDataJPA는 복잡한 쿼리, 동적 쿼리 등을 구현하는데 있어 한계가 존재하며 MyBatis, JPQL과 같은 문자열 형태로 쿼리문을 작성하게 되면 컴파일 시에 오류를 발견하는 것이 불가능하다는 큰 단점이 존재했다.이러한 문제점을 해결하기 위해 Querydsl을 이용할 수 있다. 해당 Querydsl은 자바 코드로 SQL문을 작성할 수 있기 때문에 컴파일시에 오류 확인이 가능하여 잘못된 쿼리가 실행되는 것을 미리 방지를 할 수 있다. Quer..
내일배움캠프 53일차 TIL - 면접 예상 질의 응답
·
내일배움캠프 Spring 5기
240702학습    ●  1. 면접 예상 답변 공통 질문1. JPA에서 Lazy Loading과 Eager Loading의 차이점은 무엇인가요? 각각의 장단점에 대해 설명해 주세요.Eager Loading은 즉시로딩으로 불리며, 특징으로는 특정 엔티티를 조회시 연관 된 엔티티를 함께 조회한다는 특징이 있고 Lazy Loading은 지연로딩으로 불리며, 특징으로는 특정 엔티티를 조회시 연관 된 엔티티는 조회하지 않는 특징이 있다.이 둘의 특징을 비교해보면, 엔티티 조회시 연관 된 엔티티를 함께 조회하느냐 안하느냐의 차이점을 알 수 있다. 2. JPA에서 N + 1 문제를 해결하기 위한 방법을 설명해 주세요.기본적으로 N+1문제를 해결하기 위해서는 LazyLoading을 디폴트로 가지고 가야하며, fetc..
내일배움캠프 52일차 TIL - AWS(2) EC2
·
내일배움캠프 Spring 5기
240701학습    ●  1. EC2(Elastic Compute Cloud) EC2(Elastic Compute Cloud)컴퓨터 클라우드 시스템을 탄력(Elastic)적으로 성능을 제공을 해주는 것을 의미한다. 클라우드 서비스의 종류IaaS (Infrastructure as a Service) : 하드웨어 인프라를 인터넷을 통해 제공하는 서비스를 말합니다. IaaS는 가상화된 하드웨어, 스토리지, 네트워크, 운영체제 등을 제공하며, 사용자는 이를 이용해 자신의 애플리케이션을 실행할 수 있습니다. AWS EC2, Microsoft Azure, Google Compute Engine 등이 IaaS 서비스를 제공합니다.PaaS (Platform as a Service) : 애플리케이션을 개발, 실행, 관..
내일배움캠프 51일차 TIL - AWS(1)
·
내일배움캠프 Spring 5기
240628오늘의 학습    ●  1. AWS  AWSAWS란, Amazon Web Services의 약자로, 아마존닷컴이 제공하는 클라우드 컴퓨팅 플랫폼이다.AWS는 전 세계에 분산되어 있는 데이터 센터에서 고객에게 IT인프라를 제공하며, 이를 사용하여 고객은 필요한 인프라를 빠르고 쉽게 설정하고 관리할 수 있습니다. AWS에는 무수히 많은 다양한 서비스가 존재하며, 주로 이용하는 서비스는 다음과 같다.컴퓨팅: EC2 (Elastic Compute Cloud), Elastic Beanstalk 등데이터베이스: RDS (Relational Database Service) 등스토리지: S3 (Simple Storage Service), EBS (Elastic Block Store)등네트워킹: VPC (Vi..
내일배움캠프 50일차 TIL - JDBC
·
내일배움캠프 Spring 5기
240627오늘의 학습    ●  1. H2 Database 사용 방식 3가지    ●  2. JDBC  H2 Database 사용 방식 3가지H2 Database는 Server Mode, In-memory Mode, Embeded Mode 세 가지 방식으로 사용할 수 있다. 1. ServerMode직접 H2 Database엔진을 설치하여 사용하는 방식으로, 애플리케이션과 상관 없이 외부에서 DB 엔진이 따로 구동이 된다.데이터가 애플리케이션 외부에 저장이 되므로 애플리케이션을 종료해도 데이터가 사라지지 않는다. ( 서버 방식 ) 2. In-memory Mode엔진을 설치하지 않고 애플리케이션 내부의 엔진을 사용하는 방식으로, 애플리케이션을 실행하면 DB 엔진이 함께 실행되고 애플리케이션을 종료하면 DB..
내일배움캠프 49일차 TIL - Spring Security 필터 순서에 따른 인가 문제
·
내일배움캠프 Spring 5기
240626오늘의 학습    ●  SpringSecurity 자습 Spring Security를 이용하며 생긴 문제와 해결Security 설정에 requestMatchers().permitAll().anyRequest().authenticated() 메서드를 이용하면 인가 권한이 없이 넘어갈 수 있다고 들어 개인적으로 해석을하여 위의 빌더 방식의 메서드를 호출하면 SecurityFilterChain에 들어있는 Filter들을 모두 건너뛰어 바로 Controller로 넘어가는 줄 알았지만, FilterChain 내부에 커스텀한 JwtAuthorizationFilter에 토큰 검증 메서드를 수행한다는 사실을 알게되었다. 결국 SecurityFilterChain의 Filter를 탄다는 사실을 알게되었고, 그럼..
내일배움캠프 48일차 TIL - 아웃소싱 프로젝트[KPT회고]
·
내일배움캠프 Spring 5기
240625오늘의 학습    ●  프로젝트 컨셉    ●  구현해야 할 기능 및 분배     ●  패키지 구조    ●  API 명세서    ●  트러블 슈팅아웃소싱 프로젝트가 끝나고 난 회고 1. 프로젝트 컨셉부트캠프 내에서 수강생 분들끼리 대화를 할 수 있는 커뮤니티 사이트 2. 구현해야 할 기능 및 분배팀장프로필 조회 및 수정좋아요 기능(게시물 및 댓글 좋아요/ 좋아요 취소)소셜 로그인 기능 구현팀원 1게시글 CRUD - 기능팀원  2댓글 CRUD - 기능글쓴이(me)사용자 인증 (회원가입/탈퇴, 로그인, 로그아웃) 3. 패키지 구조아키텍처 패키지 구조로는 크게 2가지인 "계층형 방식"과 "도메인형" 방식을 생각을 했었고, 이번 프로젝트에는 도메인형 방식을 채택하여 패키지 구조를 짜게 되었습니다. ..
내일배움캠프 47일차 TIL - SpringDataJPA
·
카테고리 없음
240624오늘의 학습    ●  SpringDataJPA  Application 스프링 프레임워크, 스프링부트로 만든 기본적인 어플리케이션 레이어를 의미한다. 1. SpringDataJPAJPA를 Spring환경에서 편리하게 이용하기 위해 확장된 JPA이다.ex) findById , repository 등2. JPAJava Persistence API의 약자로 자바 ORM 표준 명세이며, 표준 인터페이스라고 생각하면 된다.자바에서 데이터베이스에 데이터를 영구히 저장을 도와주는 환경을 제공을 해주는 인터페이스이다.JPA는 하나의 표준으로써 명세이다. 이걸 구현한 Hibernate나 다른 구현체로 언제든지 갈아끼워서 이용할 수 있다.3. Hibernate JPA의 구현체 중 하나이며, Hibernate가 ..