본문 바로가기

전체 글348

[AWS] 데이터베이스 환경 구성하기 - RDS 이 글은 이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 읽으며 정리한 글입니다. 1. RDS 인스턴스 만들기 2. 내 PC에서 RDS 접속하기 3. EC2에서 RDS 접속하기 RDS는 AWS에서 지원하는 클라우드 기반 관계형 데이터베이스이다. 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같이 잦은 운영 작업을 자동화하여 개발자가 개발에 집중할 수 있게 지원하는 서비스이다. 1. 인스턴스 만들기 아래와 같은 이유로 MariaDB를 선택했다. 가격 Amazon Aurora 교체 용이성 RDS의 가격은 라이센스 비용 영향을 받는다. 상용 데이터베이스인 오라클, MSSQL이 오픈소스인 MySQL, MariaDB, PostagreSQL보다는 동일한 사양 대비 더 가격이 높다. 또한.. 2023. 2. 24.
[AWS] 서버 환경 구성하기 - EC2 이 글은 이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 읽으며 정리한 글입니다. 1. EC2 인스턴스 생성 2. 탄력적 IP 만들기 3. EC2 인스턴스 접속하기 더보기 🍌 24시간 구동하는 서버 구성하기 개인 PC를 24시간 구동시킨다. 호스팅 서비스(Cafe 24, 코리아호스팅 등)을 이용한다. 클라우드 서비스(AWS, AZURE, GCP 등)을 이용한다. 1번과 2번 방법이 비용이 저렴하지만 특정 시간대에 트래픽이 몰리는 시스템의 경우 유동적으로 사양을 늘릴 수 있는 클라우드가 유리하다. 클라우드 서비스는 인터넷(클라우드)를 통해 서버, 스토리지, 데이터베이스, 네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스를 제공하는 것이다. EC2(Elastic Compute Cloud).. 2023. 2. 22.
JUnit 테스트에 Spring Security 적용하기 이 글은 이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 읽으며 정리한 글입니다. JPA 구성과 스프링 시큐리티를 적용한 후 이전에 작성했던 테스트들을 돌려 보면 아래와 같이 통과되지 않는다. @WebMvcTest의 특성을 정리하고 인증된 사용자를 추가하는 방법을 알아보자! 🎆 @EnableJpaAuditing은 엔티티를 필요로 한다 Error creating bean with name 'jpaAuditingHandler' JPA metamodel must not be empty! Failed to load ApplicationContext java.lang.IllegalStateException: Failed to load ApplicationContext ... Caused by: .. 2023. 2. 22.
스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (feat. Google, Naver) 이 글은 이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 읽으며 정리한 글입니다. 구글 API 콘솔에서의 OAuth 2 설정프로젝트 만들기 → 사용 설정된 API 및 서비스OAuth 동의 화면 (User Type: 외부)사용자 인증 정보 생성 → OAuth 클라이언트 ID발급받은 클라이언트 ID와 보안 비밀번호(Secret)는 안전하게 보관한다. 네이버 API 콘솔에서의 OAuth 2 설정네이버에서는 스프링 시큐리티를 지원하지 않기 때문에 Common-OAuth2Provider에서 기본으로 설정해 주던 값을 수정으로 입력해 주는 과정이 필요하다. 🔮 의존성 추가스프링 부트 2.0부터 oauth2-client 라이브러리를 추가하면 CommonOAuth2Provider라는 enum 클래스.. 2023. 2. 17.
머스테치(Mustache)로 화면 구성하기 이 글은 이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 읽으며 정리한 글입니다. 🍊 템플릿 엔진 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어이다. 서버 템플릿 엔진: 서버에서 구동된다. 서버에서 Java 코드로 문자열을 만든 뒤, 문자열을 HTML로 변환하여 브라우저로 전달한다. JSP, Freemarker 등 클라이언트 템플릿 엔진: SPA(Single Page Application)는 브라우저에서 화면을 생성한다. 서버에서 이미 코드가 벗어난다. React, Vue 등 🍊 머스테치 수많은 언어를 지원하는 가장 심플한 템플릿 엔진이다. JSP와 같이 HTML을 만들어 준다. 자바에서는 서버 템플릿 엔진으로, 자바스크립트에서는 클라이언트 템플릿 엔진으로 모.. 2023. 2. 10.
[Spring Boot] JPA로 데이터베이스 다루기 이 글은 이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 읽으며 정리한 글입니다. JPA는 인터페이스로서 자바 표준 명세서이다. 인터페이스 JPA를 사용하려면 Hibernate, EclipseLink 등의 구현체가 필요하다. Spring에서 JPA를 사용할 때에는 이 구현체를 직접 다루지 않고, 구현체를 쉽게 사용하고자 추상화시킨 Spring Data JPA 모듈을 이용한다. JPA ← Hibernate ← Spring Data JPA 🍊 Entity // domain/posts @Getter @NoArgsConstructor @Entity public class Posts extends BaseTimeEntity { @Id @GeneratedValue(strategy = Generat.. 2023. 2. 9.