목록스프링 부트와 AWS로 혼자 구현하는 웹 서비스 (11)
Rootable의 개발일기
[본 글은 프로젝트 과정을 기록할 목적으로 작성되었으며 아래 교재에 기반하여 작성됨] 📌 클라우드 서비스의 필요성 외부에서 본인이 만든 서비스에 접근하려면 24시간 작동하는 서버가 필수 24시간 작동하는 서버 집에서 PC를 24시간 구동 호스팅 서비스(Cafe24, 코리아호스팅 등) 클라우드 서비스(AWS, AZURE, GCP 등) 비용은 호스팅 서비스나 집 PC를 이용하는 것이 저렴하지만, 만약 특정 시간에만 트래픽이 몰린다면 유동적으로 사양을 늘릴 수 있는 클라우드가 유리 ✔ 클라우드 서비스 인터넷(클라우드)을 통해 서버, 스토리지(파일 저장소), DB, 네트워크, 소프트웨어, 모니터링 등의 컴퓨터 서비스를 제공하는 것이다. 단순히 물리 장비를 대여하는 것이 아니다. 예를 들어 AWS의 EC2는 서버..
[본 글은 프로젝트 과정을 기록할 목적으로 작성되었으며 아래 교재에 기반하여 작성됨] 📌 스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트 많은 서비스에서 소셜 로그인을 이용하는 이유는 다양한 로그인 관련 기능을 구글, 네이버, 페이스북 등에 맡기고 개발에 집중할 수 있기 때문이다. 🔎 spring boot 1.5 vs spring boot 2.0 OAuth2 연동 방법이 2.0에서 크게 변경되었지만 인터넷 자료들을 보면 설정 방법에 크게 차이가 없는 경우를 자주 본다. 이는 spring-security-oauth2-autoconfigure 라이브러리 덕분이다. spring-security-oauth-autoconfigure 라이브러리를 사용할 경우 스프링 부트 2에서도 1.5에서 쓰던 설정을 그..
[본 글은 프로젝트 과정을 기록할 목적으로 작성되었으며 아래 교재에 기반하여 작성됨] 📌 서버 템플릿 엔진과 머스테치 일반적으로 웹 개발에 있어 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 말한다. 🔎 서버 템플릿 엔진 vs 클라이언트 템플릿 엔진 동작하는 영역에서 차이 ✔ 서버 템플릿 엔진 서버에서 구동되며 화면 생성은 서버에서 Java코드로 문자열을 만든 뒤 이 문자열을 HTML로 변환하여 브라우저로 전달한다. 여기서 서버 템플릿 엔진은 javascript와 같은 클라이언트 템플릿 엔진을 단순한 문자열로 취급한다. ex) JSP, Freemarker ✔ 클라이언트 템플릿 엔진 브라우저 위에서 작동하며, 브라우저에서 화면을 생성한다. 즉, 서버에서 이미 ..
[본 글은 프로젝트 과정을 기록할 목적으로 작성되었으며 아래 교재에 기반하여 작성됨] 📌 SQL Mapper ve ORM ✔ SQL Mapper SQL 쿼리를 매핑하는 데이터 객체화 기술 장점 SQL 응답 결과를 객체로 편리하게 변환할 수 있다 JDBC 반복 코드를 제거할 수 있다 난이도가 낮은 편 단점 개발자가 SQL을 직접 작성해야 함 ex) MyBatis, Spring JdbcTemplate ✔ ORM(Object Relational Mapping) 객체를 관계형 DB 테이블과 매핑해주는 기술 장점 동적 SQL 생성 (SQL에 종속적인 개발을 하지 않아도 됨) DB마다 다른 SQL 문제 해결 개발 생산성이 높다 단점 난이도가 높은 편 ex) JPA(표준 인터페이스), Hibernate, eclips..