본문 바로가기

전체 글74

[TIL 22] 팀 프로젝트 물류 도메인 시스템 구조 Today I Learned코딩 인생의 첫 번째 물류 관련 도메인을 하게 되었다. 처음 해보는 도메인인 만큼 프로젝트 발제를 읽으며 전체적인 흐름을 파악하는 것이 생각보다 굉장히 헷갈렸다. 이로써 물류 시스템의 전체적인 흐름을 파악하기 위해서 그림으로 그려보게 되었고, 그림으로 파악하니 확실히 전체적인 흐름을 이해하는데 큰 도움이 됐다고 생각한다.🔥 프로젝트를 그림으로 한 눈에 파악할 수 있도록 설계도를 그려보자!!시스템 구조주문 발생부산에 위치한 바구니 제작 업체가 경기도 일산의 플라스틱 가공 업체로 연락하여 1000개의 플라스틱 가공품을 주문합니다.이에 따라 플라스틱 가공업체는 스파르타 물류에 허브저장 가공품의 배송을 요청합니다.물류 처리 및 재고 이동경기도 허브에서 허브 이동 담당자에 의하여 부산.. 2024. 9. 6.
[TIL 21] 팀 프로젝트 ERD 다시 그려보기 Today I Learned팀 프로젝트가 마무리됨과 함께 돌이켜 보면, 프로젝트 초기 ERD 구성을 할 때 팀장으로서 주도적으로 ERD를 구성하지 못했다는 느낌을 받았다. 그래서 오늘은 스스로가 부족하다고 느꼈던 ERD 구성을 만들었던 팀 프로젝트를 바탕으로 혼자 한 번 만들어 보려고 한다.이는 앞으로 남은 2번의 팀 프로젝트에서 조금이나마 더 주도적으로 프로젝트에 참여하고 이를 통하여 프로젝트의 초기부터 마무리까지 프로젝트의 흐름을 머릿속에 그리고 이해하기 위해서이다.목표🔥 만들었던 팀 프로젝트를 바탕으로 ERD 구성하기[ ERD ]TimeStamped@Getter@Setter@MappedSuperclass@EntityListeners(AuditingEntityListener.class)public .. 2024. 9. 4.
[TIL 20] Redis를 사용하여 로그아웃 블랙리스트 처리하기 Today I Learned로그아웃 구현을 시작하기 전에는 단순히 Redis Cache에 있는 사용자의 정보를 삭제하고, 로그인 시 다시 캐싱해 주면 되겠지? 라고 생각했었지만 막상 구현을 시작하니 내 생각과는 많이 달랐다. 왜냐하면 로그아웃 시 정보를 삭제하는 것이 아닌 블랙리스트 처리를 해줘야 한다는 것을 처음 알게 되었기 때문이다.🤔 그렇다면 왜 로그아웃 시 토큰을 블랙리스트로 처리하는 걸까?💁 사용자가 로그아웃했음에도 불구하고 JWT는 여전히 유효하기 때문에 블랙리스트 저장소를 만들어서 관리해야 한다.목표🔥 로그아웃 시 Cache Blacklist 처리하기build.gradle//Redisimplementation 'org.springframework.boot:spring-boot-start.. 2024. 9. 3.
[TIL 19] Ai가 대세! Gemini API 사용하기 Today I Learned요즘은  Ai가 대세라고 한다. 현재 진행 중인 팀 프로젝트에 Google Gemini API를 사용하여 제품의 설명을 추천받고 RestTemplate을 사용하여 요청에 대한 응답을 DB에 저장하도록 하자!!목표🔥Gemini를 사용하여 제품의 설명글 추천받기, 응답내용 DB에 저장하기[ Gemini 설정 ]API 키를 발급https://aistudio.google.com/ 에 들아가서 API 키를 발급 받습니다.application.yml RequestDto@NoArgsConstructor@Setter@Getterpublic class GeminiRequest { private List contents; @Getter @NoArgsConstructor @AllArgsC.. 2024. 9. 1.
[TIL 18] 프로젝트에 Swagger 적용하기 Today I LearnedTIL 17을 보면 개발 후 API 명세서를 직접 작성해서 수정해 줬는데, 아침 스크럼 시간에 팀원들과 소통을 하던 중 팀원 분께서 내가 직접 작성한 API 명세서를 보더니.. API 명세서를 자동으로 생성해 주는 Swagger에 대해서 알려주었다. 이런 꿀팁을 알았더라면 처음부터 적용할걸..ㅠ 그래서 오늘은 Swagger에 대해서 알아보도록 하겠다!!목표🔥 팀 프로젝트에 Swagger를 적용하여 API 명세서 작성을 자동화 해보자!! Swag ~ 😎build.gradle//swaggerimplementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'application.ymlspringdoc: api-doc.. 2024. 9. 1.
[TIL 17] 프로젝트 중간 회고 Today I Learned개발 전 API 명세서개발 후 API 명세서회고이번 프로젝트에서는 유저 도메인을 맡게 되었다. 현재 개발을 시작한 지는 3일 정도 지났고, 이번 주 월요일에는 Jwt를 사용하여 로그인을 하기 위해 만든 Spring Security Filter에서 문제가 발생하여 팀원분의 도움을 받아 Security 부분을 문제없이 동작하도록 완성하였고, 본격적인 유저 도메인 개발은 화요일부터 수요일까지 이틀 동안 개발을 하여 오늘(수요일) 완성하였다.아쉬운 점은 아직 Redis를 사용하여 회원 기능을 빠르게 체크하는 기능인 "로그아웃" , "회원 아이디 삭제  ", "권한 변경 승인 및 거절"을 구현하지 못하였지만, 이 기능들은 Redis를 사용하기 때문에 필수 과제가 아닌 추가 도전과제로 분.. 2024. 8. 29.