업무요약이번 업무는 화재경보 API 관련 테스트 및 연동이에요. 빠르게 코드를 구현해서(목요일에 업무받아서 월요일 마감인 업무...) 기능 구현을 마쳤고, 배포와 로그 기록 세팅이 남았어요. 갑자기 받은 업무라서 기능 구현을 위한 설계를 할 시간도 없어서 빠르게 기능만 돌아가도록 구현을 했고, 여기서 요구사항은 log파일의 저장과 로그 파일의 이름을 날짜로 지정해달라는 내용이었어요.그래서! 그냥 간단하게 yml file 세팅하면 되겠지~ 생각하고 시작했지만... 그게 아니더군요...yml 세팅 만으로는 간단한 설정 밖에 할 수가 없다더군요... 그래서 Logback과 Log4J, Log4J2, SLF4J를 알아보고, 작업을 진행했어요! SLF4J는 뭔가?알아보니 대충 SLF4J는 spring loggin..
이전에 했던 요구사항에 맞춰서 이번에는 MVC패턴을 적용하여 코드를 수정하는 과정을 진행하기로했다. MVC패턴에 대해 공부를 해왔지만, 아직 숙련도가 많이 부족하고, 개념에 대한 이해도 떨어지는 것 같다. 그래서 먼저, MVC패턴에 대해서 다시 한번 공부해본다. MVC는 Model, View, Controller의 약자이다. 먼저, MVC 패턴이 생겨난 개요를 알면 MVC 패턴이 사용되기 이전에는 JSP와 서블릿만을 이용하여 개발을 하였다. 하나의 서블릿이나 JSP만으로 비즈니스 로직과 뷰 렌더링까지 모두 처리하게 되면, 너무 많은 역할을 하고, 유지보수가 어려워진다. 비즈니스 로직을 수정해야할 때도 해당 코드를 수정하고, UI를 변경하는 경우도 비즈니스 로직이 있는 해당 코드를 손대야한다. 이런 문제를..
2주간의 시도 끝에 드디어 프런트 서버와 연결을 하여 통신이 가능하게 되었다! 우리가 가지고 있는 서버는 1대이기 때문에 3-tier를 구성하기는 힘들었다. 그래서 docker에 올려서 조금 부담을 줄여보고자 하였고, nginx 또한 올리려고 했으나 하는 과정에서 어려움이 있어서 기존에 통신이 가능했던 서버 로컬에서 spring과 NGINX를 구동하기로 했다. NGINX 설정 먼저 NGINX는 이전에 SSL을 인증할 때는 아는 것이 거의 1도 없었지만 이번 과정을 통해서 어느 정도 감각은 익힐 수 있었다. 그래서 먼저 서버 블록 설정을 보자. nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log noti..
비밀번호 재설정을 위한 이메일 인증 JWT를 이용하여 로그인을 구현하였고, 그 다음으로 회원이 비밀번호를 잃어버린 상황을 고려해야 했다. 회원이 비밀번호를 잃어버린 상황이라면, 어떻게 사용자를 인증하고, 비밀번호 재설정 권한을 줄지 로직을 생각해야 했다. 그래서 이메일 인증 방식으로 인증 코드를 보내를 것으로 로직을 지정하였다. EmailConfig Java에서 제공하는 JavaMailSenderImpl을 이용하여 사용자에게 email을 보낼 수 있게 하는 Config를 정의한다. JavaMailSenderImpl을 EmailService에서 사용할 것이다. @Configuration @PropertySource("classpath:email.properties") public class EmailCon..
Guest 모임과 그 모임에 참여하는 사람들을 관리하기 위해서 guest테이블을 만들었다. @Getter @Builder @Entity @AllArgsConstructor @NoArgsConstructor @EqualsAndHashCode public class Guest { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; Long boardId; String guestId; boolean participate; } boardId와 guestId 그리고 참여 여부를 저장한다. @Repository public interface GuestJpaRepository extends JpaRepository { List findAllByBoard..
뇽안 하세요! 이번주는 제품관리 페이지를 제작해봤읍니다. 사실 예전에 해봤던 것이라 수월하게 끝내버렸읍니다. 조금의 annotation이 기억이 안났지만..ㅎ 다시 기억을 꺼내꺼내 했습니다..ㅎㅎ 우선 필요한 HTML파일을 만들어 봤씁니돠! 일단 구조는 이런뎁쇼.. WEB-INF로 만들어야 하지만..귀ㅊ.. 어쨌든 일단 맹글고 맹글어 봤습니다! 일단 메인으로 보일 상품목록 페이지를 맹글몽글 더보기 상품 목록 상품 등록 ID 상품명 가격 수량 회원아이디 상품명 10000 10 그 다음은 상품을 등록할 페이지를 만들었숩다니 더보기 상품 등록 폼 상품 입력 상품명 가격 수량 상품 등록 취소 그리고 상품을 등록했으면 수정도 해야하지 않것읍니꽈? 바로 그냥 수정 페이지 만들기 더보기 상품 수정 폼 상품 ID 상품..
오늘은 스프링으로 계산기를 만들어 보아요오오 우선 먼저 스프링 프로젝트를 생성합니당. 슉슉 금방 누르기만 하면 만들어져요! 주의할 점은 War파일로 만들어야 한다는 것입니당. 그럼 이제 만들어 보겠읍니다. package hello.servlet; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @ServletComponentScan @SpringBootApplication public class ServletApplicati..