내일배움캠프(114)
-
[Spring Plus] Level 1-3 요구사항 반영
'Level 1-3' 의 요구사항을 반영한 내용을 기록한 포스팅이다. 어떠한 생각과 과정을 통해 요구사항을 반영했는지 알 수 있도록 작성해 보았다. 0. 요구사항 AOP 가 원래 의도와 다르게 잘못 동작하고 있다. 'UserAdminController' 클래스의 'changeUserRole()' 수행전 'AdminAccessLoggingAspect' 클래스의 'logAfterChangeUserRole()' 이 동작하도록 코드를 수정해야 한다. 1. 문제 원인 파악 현재 프로젝트의 'org.example.expert.aop.AdminAccessLoggingAspect' 클래스는 아래와 같다.@Slf4j@Aspect@Component@RequiredArgsConstructorpublic class Admi..
2024.11.12 -
[Spring Plus] Level 1-2 요구사항 반영
'Level 1-2' 의 요구사항을 반영한 내용을 기록한 포스팅이다. 어떠한 생각과 과정을 통해 요구사항을 반영했는지 알 수 있도록 작성해 보았다. 0. 요구사항 기획자의 요청을 현재 프로젝트에 반영해야 한다. 전달 받은 요청은 JWT 에 사용자 닉네임 정보를 담아 프론트 쪽에서 이를 꺼내 화면에 보여주길 원한다는 것이다. 1. 사용자 닉네임 추가1-1. User 클래스 필드 추가 일단 JWT 에 사용자의 닉네임 정보를 담고 싶다면 User 클래스와 매핑된 테이블에 닉네임 정보를 가질 필드 및 컬럼을 아래와 같이 추가할 필요가 있다 생각했다.@Getter@Entity@NoArgsConstructor@Table(name = "users")public class User extends Timestamped..
2024.11.12 -
[Spring Plus] Level 1-1 요구사항 반영
'Level 1-1' 의 요구사항을 반영한 내용을 기록한 포스팅이다. 어떠한 생각과 과정을 통해 요구사항을 반영했는지 알 수 있도록 작성해 보았다. 0. 요구사항 현재 'API(POST /todos)' 를 요청할 경우 아래와 같은 에러가 발생하고 있다.jakarta.servlet.ServletException: Request processing failed: org.springframework.orm.jpa.JpaSystemException: could not execute statement [Connection is read-only. Queries leading to data modification are not allowed] [insert into todos (contents,created_at,..
2024.11.11 -
[Spring Plus] 5분 기록 테이블
이번 개인과의 5분 기록 테이블을 작성한다. 프로젝트의 성격에 맞추어 테이블에는 아래와 같은 정보를 작성한다.단계 : 작업한 요구사항의 Level(단계) 정보 작성요구사항 : 작업한 요구사항의 간략한 정보를 작성분류 : 구현, 트러블 슈팅 등 작업의 목적을 작성날짜 : 작업 날짜 작성링크 : 작업한 내용에 대한 블로그 게시물 또는 Github 커밋 내역을 링크단계요구사항분류날짜링크1-1'API(/todos)' 호출 시 발생 에러 해결트러블슈팅2024.11.11블로그1-2'User' 클래스 'nickname' 필드 추가 및 'JWT' 사용자 별명 정보 삽입코드수정2024.11.12블로그1-3'AdminAccessLoggingAspect.logAfterChangeUserRole()' 이 원래 의도대로 동작하..
2024.11.11 -
[Outsourcing] 5분 기록 테이블
프로젝트가 시작되고 Github 의 'issue' 를 활용해 기능 구현에 대한 기록을 하기로 했지만 해당 게시물에 좀 더 간략하게 어떤 기능을 구현해야 하는지 기록하기 위해 '5분 기록 테이블' 을 작성해보려 한다. 테이블은 어떤 기능을 추가해야 하는지(했는지)와 관련 이슈를 확인할 수 있는 링크 정보를 담고 있다.기능 : 작업한 '기능' 에 대한 정보를 작성기록 : 어떤한 작업을 했는지 간단한 내용을 작성분류 : 구현, 트러블 슈팅 등 작업의 목적을 작성날짜 : 작업 날짜 작성이슈 : 팀 프로젝트(in Github Organization)에 작성한 'issue' 링크를 작성기능기록분류날짜이슈주문 생성사용자가 선택한 가게의 메뉴 정보를 통해 주문을 생성하는 기능 구현기능 구현2024.11.04#30주문내..
2024.11.04 -
[일정 관리 앱] 피드백 반영(2)
해당 프로젝트에 LoggingFilter 를 구현해 두었지만 이를 제대로 사용하지 못하고 있다는 피드백을 받아 해당 필터를 수정해 보았다. 기존에는 요청 URL 과 요청이 수행되고 나서 완료 메시지만을 로그로 남겼다면 수정을 통해 요청 정보(Request Header, Parameter, Body)와 응답 정보(HttpStatus, Response Body)를 로그로 남겨보았다. 0. 요청/응답 정보에 대한 로그를 Filter 에서 남긴 이유 처음에는 "그냥 적절한 곳에 로그를 남기면 되지 않을까?" 라는 생각만 있었지만 LoggingFilter 를 수정해보면서 "요청을 가장 먼저 마주하는 곳과 응답을 가장 마지막에 마주하는 곳이 Filter(프로젝트에서는 LoggingFilter)이니 여기서 로깅을 하..
2024.10.29