비즈니스 요구사항 정리 * 데이터: 회원 아이디, 이름 * 기능: 회원 등록, 조회 * 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오) 회원 도메인과 리포지토리 만들기 Optional은 자바8에 들어가있는 내용 NULL을 그냥 반환하는 방법보다 Optional로 한번 감싸고 반환하는 것을 선호. 회원 리포지토리 테스트 케이스 작성 개발한 기능을 실행해서 테스트 할 때 자바의 main 매서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵고 여러 테스트를 한번에 실행하기 어렵다는 단점이 있다. 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다. Optional에서 값을 꺼낼..
정적 컨텐츠 이전 섹션에서 진행했던 Welcome 페이지처럼 파일을 그대로 웹브라우저에 내려주는 것 - 스프링 부트 정적 컨탠츠 기능 MVC와 템플릿 엔진 가장 많이 하는 방식 html을 동적으로 변형해서 내리는 것 View는 그냥 화면을 그리는데 집중을 해야함. Controller는 내부적인 것을 처리하는 데 집중. Thymeleaf 템플릿 장점은 html을 그대로 쓰고 파일을 서버 없이 열어봐도 껍데기 볼 수 있음 API JSON으로 클라이언트에게 데이터를 전달 JSON은 key, value로 이루어진 구조 최근에는 거의 JSON 방식으로.. @ResponseBody를 사용하고, 객체를 반환하면 객체가 JSON으로 변환됨 @ResponseBody를 사용 * HTTP의 BODY에 문자 내용을 직접 반환..
어느 포지션으로 방향을 잡아야 할지 모르겠어서 방황을 하던 나는 시간을 많이 허비했다. 그래서 고학년이 되었는데 아직도 자바를 사용해본 적이 없었다. 동아리 새로운 기수가 시작되며 '스프링 스터디'에 참여하게 되었다. 자바를 전혀 모르는데 스프링을 하는게 맞을까 고민을 하던 중, 에타에 나와 같은 고민을 하는 학우의 글이 올라왔다. 나에게 도움이 되는 댓글이 있었고, 이를 따르기로 결심하였다. 1. 생활코딩 같은 강의로 java의 기본적인 부분만 빠르게 뗀다 2. 스프링을 공부한다. 3. 다시 이펙티브 java 같은 걸로 숙련한다. 더이상 미룰 수 없다. 아무리 생각해도 지금이 적기인거 같다. 일단 시작해보자. 세션 1은 솔직히 할게 별로 없었다. 그냥 강사님이 말하시는 대로 따라하며 프로젝트 환경설정을..