책에 있는 내용을 바탕으로 제가 잘 모르는 부분은 구글링해서 덧붙여 정리한 내용입니다.참고한 책과 사이트 출처는 맨 아래에 정리해놓았습니다.build.gradle : 프로젝트 환경설정, 빌드방법, 라이브러리 정보 등 기술함으로써 빌드 및 프로젝트의 관리 환경 구성.
스프링부트와 AWS로 혼자 구현하는 웹 서비스(저자 이동욱) 혼자 학습하며 정리한 게시글입니다. 참고 부탁드립니다.대부분의 IT 회사가 VCS(버전 관리 시스템)인 Git을 통해 버전 관리.깃의 원격 저장소 역할을 하는 서비스는 깃허브와 깃랩이 있는데 깃허브에 저장.C
테스트 코드 견고한 서비스를 만들고 싶은 개발자나 팀에선 TDD를 하거나 최소한 테스트 코드는 작성. 최근 들어 대부분의 서비스 회사가 테스트 코드에 관해 요구. TDD(Test Driven Development) 테스트가 주도하는 개발. 레드 그린 사이클 -항상 실
자바 개발의 필수 라이브러리 롬복.자주 사용하는 코드 Getter, Setter, 기본생성자, toString 등을 어노테이션으로 자동 생성.build.gradle 의존성에 아래와 같이 작성(gradle 5.X 이상)※ 참고 포스팅 : 스프링부트 롬복 @Required
Java ORM 기술 Interface 표준. 이를 구현한 가장 대표적 기술은 Hibernate. 이때, persistence는 '영속성'이며 데이터가 프로그램이 종료되어도 사라지지 않고 저장됨을 의미.Java에서는 데이터 영속성을 위한 JDBC(Java DataBas
domain 패키지 생성※ domain : 게시글, 댓글, 회원, 정산, 결제 등 소프트웨어에 대한 요구사항 혹은 문제영역.※ 기존의 MyBatis와 같은 SQL Mapper를 사용할 시 dao 패키지를 썼지만, domain 패키지와는 다름. xml에 쿼리를 담고, 클
출처 : \[스프링] Spring 웹 계층흔히 말하는 Controller, View Template 영역이외에도 Filter, Interceptor, ControllerAdvice 등 외부 요청과 응답에 대한 전반적인 영역을 일컫음.※ Filter : 디스패처 서블릿(
API 필요 클래스 종류별 분류 Request Data를 받을 DTO web.dto 패키지에 클래스로 생성 PostsSaveRequestDto - 등록요청 PostsUpdateRequestDto - 수정요청 PostResponseDto - 조회응답 API 요청을
@WebMvcTest의 경우, JPA 기능 작동X Controller와 ControllerAdvice 등 외부 연동과 관련된 부분만 활성화되어 JPA 기능까지 테스트 시 @SpringBootTest 사용webEnvironment란, 테스트 웹 환경을 설정하는 속성.:
차후 유지보수를 위해 Entity에 해당 데이터의 생성시간과 수정시간을 포함.JPA Auditing을 통해서 매번 DB 삽입/갱신 전에 넣는 날짜 데이터 등록/수정 코드를 굳이 쓰지 않아도 되게 만듦.DB에선 생성시간, 수정시간이 굉장히 중요한데, JPA의 Audit(
웹 개발의 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어(또는 컴포넌트)이다.서버 템플릿 엔진, 클라이언트 템플릿 엔진으로 나눌 수 있음. 서버 템플릿 엔진에는 JSP, FreeMaker 등 있고 클라이언트 템플릿에는 Rea
src>main>resources>templates에 생성 후 아래와 같이 코드 작성web 패키지에 생성 후 아래와 같이 코드 작성앞서 추가한 mustache 의존성으로 Controller에서 문자열을 반환할 때 앞의 경로와 뒤의 파일 확장자는 자동으로 지정.View
jquery : JavaScript 언어를 간편하게 사용할 수 있도록 단순화시킨 오픈 소스 기반의 JavaScript 라이브러리.Bootstrap : 웹 프로젝트 손쉬운 개발을 위한 HTML, CSS, JavaScript 프레임워크.'프레임워크'라 하는 것은 재사용이
index.mustache 아래와 같이 코드 변경{{- {{변수명}}\` : List에서 뽑아낸 객체의 필드 사용PostsRepository 인터페이스 아래와 같이 코드 추가@Query : Spring Data JPA에서 제공하지 않는 메소드는 쿼리로 작성가능.Post
templates 디렉토리에 posts-update.mustache 생성 후 아래와 같이 작성{{post.id}} : 객체의 필드 접근 시 .으로 구분(객체명.필드명)posts-update.mustache에 아래의 코드 추가index.js에 update function
로그인을 직접 구현할 경우, 배보다 배꼽이 커지는 경우가 많기 때문직접 구현 시, 로그인 시 보안 / 회원가입 시 이메일 혹은 전화번호 인증 / 비밀번호 찾기 / 비밀번호 변경 / 회원정보 변경 모두 구현. 소셜 로그인 구현 시 앞의 기능을 모두 구글, 페이스북 등에
신규 서비스를 생성함으로써 얻는 clientId와 clientSecret를 통해서 로그인 기능과 소셜 서비스 기능을 사용할 수 있음.Google Cloud Flatform 접속'프로젝트 선택' 버튼 클릭 후 '새 프로젝트 선택' 버튼 클릭프로젝트 이름의 경우, 원하는
구글 로그인 구현 1. User 클래스 - 사용자 정보 담당 domain 패키지에 user 패키지 생성 후 User 클래스 생성 @Enumerated(EnumType.STRING) : JPA로 DB 저장 시 Enum 값을 어떤 형태로 저장할지 결정. 기본은 int형.
스터디를 통해 스프링부트와 AWS로 혼자 구현하는 웹 서비스(저자 이동욱) 서적을 공부하는 중입니다.공부/실습한 내용을 정리한 포스팅입니다.책에 모르는 부분이 있으면 구글링하거나 챗gpt에 물어봐서 보충하였습니다.(아직 초보라 모르는 부분이 많아 이것저것 다 적었습니다
일반적인 프로그래밍에서 개선이 필요한 대표적인 나쁜 부분은 같은 코드가 반복되는 부분. 이후 수정이 필요할 때 모든 부분을 하나씩 찾아가며 수정해야 하기 때문에 유지보수성이 떨어지거나 미처 수정하지 못한 부분이 있어 문제가 발생할 수 있음.앞서 했던 실습에서 Index
기본적인 방식톰캣(WAS)에 세션 저장. 2대 이상의 WAS가 구동되는 환경에서는 톰캣들 간의 세션 공유를 위한 추가 설정이 필요.여러 WAS 간의 공용 세션을 사용할 수 있는 가장 쉬운 방법.로그인 요청마다 DB IO가 발생하여 성능상 이슈 발생.로그인 요청이 많이
네이버 API 등록 [네이버 애플리케이션 등록 페이지] (https://developers.naver.com/apps/#/wizard/register) 접속 아래와 같이 설정 application.properties 코드 추가
스터디를 통해 스프링부트와 AWS로 혼자 구현하는 웹 서비스(저자 이동욱) 서적을 공부하는 중입니다.공부/실습한 내용을 정리한 포스팅입니다.책에 모르는 부분이 있으면 구글링하거나 챗gpt에 물어봐서 보충하였습니다.(아직 초보라 모르는 부분이 많아 이것저것 다 적었습니다