프로젝트 기획에 앞서 필요기술 정리하기

Ke Fa·2022년 10월 4일
post-thumbnail

필요 세부 기술 목록을 뽑는 방법은

	• 미리 사용 기술을 모두 파악한 후 처음부터 프로젝트에 넣는 방법
	• 기능 하나를 만들 때마다 필요한 기술을 추가해 나가는 방법

크게 이렇게 두가지라고 하는데
강의에선 필요한 기술을 추가해 나가는 방법을 채택했다고 한다.

하지만 게시판에선 들어갈 기술들이 거의 정해져있기 때문에

	• 게시판, 댓글 도메인의 설계
	• 도메인 데이터를 DB 에 저장
	• JSON API 로 데이터 제공
	• 사용자에게 웹 화면으로 서비스 제공 + 디자인 요소
	• 게시판 페이지
	• 게시글 페이지
	• 로그인 페이지
	• 적절한 입출력 데이터의 검증
	• 인증 기능
	• 생산성에 도움이 되는 도구들 선택

정도로 나열할 수 있다.
세부 기능으로부터 선택을 예상하는 기술들은

	• Java + Spring Boot 기반에서 선택
	• 웹 서비스 제공 -> Spring Web
	• 도메인의 설계와 DB 저장 -> Spring Data JPA, H2 Database,MySQL Driver
	• JSON API 로 데이터 제공 -> Rest Repositories, RestRepositories HAL Explorer
	• 웹 화면: 강의 목표에 맞춰 서버 사이드 렌더링으로 접근 -> 템플릿 엔진 -> Thymeleaf
	• 디자인 요소 -> Bootstrap 5.2
	• 적절한 입출력 데이터의 검증 -> Validation
	• 인증 기능 -> Spring Security
	• 생산성 -> Lombok, Spring Boot DevTools, Spring BootActuator

H2 Database :  테스트용, 인메모리 데이터베이스
HAL :  Rest Repositories를 시각화
서버 사이드 <=> 클라이언트 사이드 (VIEW,REACT) 

Lombok 
과 같은 AnnotationProcessor가 필요한 경우 Spring 에서 configuration 기능이 필요하다.

Annotation Processor는 컴파일 단계에서 Annotation에 정의된 일렬의 프로세스를 
동작하게 하는 것을 의미합니다. 
사용하는 예로 자바의 @Override가 있으며, Lombok(롬북)이라는 라이브러리도 있습니다.


JUnit5
테스트를 위한 Dependency로 Gradle에 Junit5를 사용하기위해 명시해줘야 함.

이 정도

스프링에 적당한 기술들을 Dependency 하여 Spring 파일 생성해주는 사이트
https://start.spring.io/

(스프링 이미지는 귀엽지만 마냥 귀엽진 않은거같다.)

[개인적으로 추가검색 해봐야 할 것 정리]
GRADLE : Gradle은 그루비를 이용한 빌드 자동화 시스템이다
Spring Boot DevTools
Spring Boot Actuator

profile
프로그래밍 공부정리용

0개의 댓글