스프링부트와 AWS로 혼자 구현하는 웹 서비스

1. 서버 템플릿 엔진 템플릿 엔진 : 지정된 템플릿 양식 + 데이터 = HTML문서를 출력하는 소프트웨어 Ex) JSP, Freemarker, React, Vue의 View파일 서버 템플릿 엔진 : JSP, Freemarker 클라이언트 템플릿 엔진 : React, Vue ★자바스크립트에서 JSP나 Freemarker처럼 자바 코드를 사용할 순 없나요? css와 js의 위치가 다른 이유? 페이지 로딩 속도를 높이기 위해 css는 header에 js는 footer에 HTML은 위에서부터 코드가 실행되기 때문에 head가 다 실행되고서야 body가 실행된다 js의 용량이 크면 클수록 body 부분의 실행이 늦어지기 때문에 js는 body 하단에 두어 화면이 다 그려진 뒤에 호출하는 것이 좋다. css는 화..
API를 만들기 위한 3개의 클래스 Request 데이터를 받을 Dto API 요청을 받을 Controller 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service - 기존의 스프링 프로젝트 : Service에서 비즈니스 로직을 처리하는 식 - Web Layer 흔히 사용하는 컨트롤러(@Controller)와 JSP/Freemarker 등의 뷰 템플릿 영역 이외에도 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@ControllerAdvice) 등 외부의 요청과 응답에 대한 전반적인 영역을 이야기한다. - Service Layer @Service에 사용되는 서비스 영역이다. 일반적으로 Controller와 Dao의 중간 영역에서 사용된다. @Transactional이 사용되어야 하는 영역 -..
요구사항 분석 - 어떤 프로젝트든 요구사항 분석이 첫번째이다. 게시판 기능 회원 기능 - 게시글 조회 - 게시글 등록 - 게시글 수정 - 게시글 삭제 - 구글 / 네이버 로그인 - 로그인한 사용자 글 작성 권한 - 본인 작성 글에 대한 권한 관리 프로젝트에 Spring Data Jpa 적용하기 1. build.gradle에 의존성 등록 org.springframework.boot:spring-boot-starter-data-jpa com.h2database:h2 - spring-boot-starter-data-jpa 스프링 부트용 Spring Data Jpa 추상화 라이브러리 스프링 부트 버전에 맞춰 자동으로 JPA관련 라이브러리들의 버전을 관리해준다 - h2 인메모리 관계형 데이터베이스이다 별도의 설치..
웹 서비스를 개발하고 운영하다 보면 피할 수 없는 문제 -> 데이터베이스를 다루는 일 ibatis, mybatis == SQL 매퍼(Mapper) 문제점 - 실제로 개발하는 시간 JPA라는 자바 표준 ORM(Object Relational Mapping) 기술 사용 ★Mybatis, iBatis는 ORM이 아니다. SQL Mapper이다. ORM은 객체를 매핑하는 것이고, SQL Mapper는 쿼리를 매핑한다 현업에서는 수십, 수백 개의 테이블이 있는데, 이 테이블의 몇..
(자신의 Group Id + 현재 프로젝트명 springboot)패키지를 생성하고 패키지 아래에 Java클래스를 생성 Application.java 인텔리제이 단축키 Window/Linux : 패키지 가져오기(import) [Alt + Enter] Mac : 패키지 가져오기 (import) [Option + Enter] Application클래스는 앞으로 만들 프로젝트의 메인 클래스이다. - @SpringBootApplication으로 인해 스프링 부트의 자동 설정, 스프링 Bean 읽기와 생성을 모두 자동으로 설정된다. - @SpringBootApplication이 있는 위치부터 설정을 읽어가기 때문에 이 클래스는 항상 프로젝트의 최상단에 위치해야만 한다. - main메소드에서 실행하는 SpringAp..
TDD - 테스트가 주도하는 개발 항상 실패하는 테스트를 먼저 작성하고(Red) 테스트가 통과하는 프로덕션 코드를 작성하고(Green) 테스트가 통과하면 프로덕션 코드를 리팩토링합니다(Refactor). 단위 테스트(Unit Test) - 기능 단위의 테스트 코드를 작성하는 것을 이야기한다. TDD와 달리 테스트 코드를 꼭 먼저 작성해야 하는 것도 아니고, 리팩링도 포함되지 않는다. 순수하게 테스트 코드만 작성하는 것을 이야기한다. - 테스트 코드를 작성함으로써 얻는 이점 단위 테스트는 개발 단계 초기에 문제를 발견하게 도와줍니다. 단위 테스트는 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있습니다.(예, 회귀 테스트). 단위 테스트는 기능..
알아가자
'스프링부트와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 글 목록