본문 바로가기
반응형

분류 전체보기351

Spring MVC 2편 - API 예외 처리 (@ControllerAdvice, ExceptionHandler) 본 게시글은 인프런 김영한 선생님 강의 스프링 MVC 2편을 완강하고 배운 것을 남기고자 적은 포스팅입니다. 강의 링크는 아래와 같습니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2/dashboard 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 본격적으로 시작하겠습니다. SSR(서버 사이드 렌더링, 템플릿 엔진)에서는 4xx, 5xx 같은 오류 페이지만 있으면 예외 처리를 할 수.. 2022. 5. 11.
개인 프로젝트 API 디자인 API 디자인 책을 본격적으로 읽기 전에 본인이 생각한 API를 디자인해보려고 합니다. 먼저 HTTP 메소드와 URI를 정하겠습니다. 더 자세한 API 명세서는 차후에 더 자세히 작성하겠습니다. 사용자 입장에서 생각하면서 디자인! User 관련 API HTTP Method URI 경로 설명 GET /users/:userId 유저를 조회 POST /users 유저를 생성 PUT /users/:userId 유저 정보를 수정 PATCH /users/:userId 논리적 유저 삭제 Post 관련 API HTTP Method URI 경로 설명 GET /posts 게시글 조회, 페이징을 사용할 예정 POST /posts 게시글 생성 PUT /posts/:postId 게시글 수정 PATCH /posts/:postId.. 2022. 5. 7.
일상 속 사물이 알려주는 웹 API 디자인 - 사용자를 위한 API 디자인하기 TIL (Today I LeTIL (Today I Learned) 2022.05.07 오늘 읽은 범위 2부 사용자를 위한 API 디자인하기 책에서 기억하고 싶은 내용 API는 무조건 사용자들의 목표를 달성하기 위해서 존재합니다. 올바른 입장, 올바른 관점을 선택하는 것이 인터페이스와 API를 디자인하는데 있어서 가장 중요합니다. 작업 방식(내부 동작 원리)에 집중하면 인터페이스가 복잡해진다. 사용자가 할 수 있는 일에 집중해 인터페이스를 단순하게 해라. API는 반드시 컨슈머의 관점에서 디자인되어야 합니다. 프로바이더의 관점이 아니라. API 디자인 시 체크 사항 누가 API를 사용하는가? 무엇을 할 수 있는가? 어떻게 하는가? 하기 위해서 무엇이 필요한가? (입력에 대한 질문) 끝나면 무엇을 반환하는가.. 2022. 5. 7.
7주차 실습 - API 코딩 후 배포하기 이번 시간에는 7주차에 진행한 API 코딩 진행과정과 배포 진행 과정에 대해 정리해보겠습니다. 연합 동아리 주최자인 컴공 선배 레포지토리를 클론 했으므로 모든 아키텍쳐를 서술하기는 어려워서 작성한 API와 사용한 클래스 위주로 정리하겠습니다. 이제 본격적으로 시작하겠습니다!! API 코딩 코딩할 API는 유저 삭제 API다. 먼저 논리적인 삭제(상태 컬럼을 변경)가 아니라 실제로 행을 삭제하는 물리적 연산을 진행했다. 따라서 DELETE 메소드를 사용했다. 먼저 Controller, Service, Dao 순으로 나열하겠다. 정말 기초적인 수준의 API로 Validation도 가볍게 진행했다. 우선은 사용할 DTO와 사용자 정의 Exception, 최종 응답 DTO에 대해 알아보자. @Getter @Se.. 2022. 5. 6.
프로젝트 기본 ERD 다이어그램 설계 우선 프로젝트를 시작하면서 제일 먼저 구현할 기능을 게시판으로 정했습니다. 이에 따라 게시판을 먼저 구현하고 추가적인 기능을 더해가려고 합니다. 툴은 Aquery Tool을 사용했으며, 아래와 같은 엔티티(테이블)를 4개 작성했습니다. M : N 관계를 풀기 위한 중간 테이블도 하나 작성했습니다. Member - 게시판을 사용할 유저들의 정보를 저장할 테이블입니다. Post - 게시판을 사용할 때 게시글을 작성하면 그에 대한 정보를 저장할 테이블입니다. Comment - 게시글이 있으면 댓글을 달아야 소통이 이루어지므로, 댓글에 관련된 데이터를 저장할 테이블입니다. Alarm - 개인적으로 고민을 정말 많이 한 테이블입니다. 결국 소통을 하기 위해서는 게시글에 댓글이 달리거나, 댓글에 대댓글이 달려야하는.. 2022. 5. 3.
개인 프로젝트 시작 이번에 개인 프로젝트를 시작하려고 합니다. 일단은 게시판을 구체적으로 만들어보고 본인이 생각해 둔 프로젝트 기능이 있는데 그것을 구현해보려고 합니다. 전체적인 기술 스택 클라우드 - AWS EC2, RDS 프론트엔드 - React 백엔드 - Spring Boot, Spring JPA(ORM) DB - h2 database, MySQL 현재 수준과 목표 React : 거의 반년만에 만지는데.. 그래도 노마드 코더 React 챌린지를 통과한 짬이 있으니 잘 해결할 수 있으리라고 믿습니다 ㅎㅎ.. AWS는 새 프리티어 계정을 만들어서 EC2 인스턴스를 생성하고, 우선 Nginx를 이용해 프론트 웹 서버와 백엔드 웹 애플리케이션 서버를 띄우려고 합니다. 프론트에 S3를 사용하는 것도 생각해두고 있습니다. RDS.. 2022. 5. 2.
반응형