⌨️ Docker 도커에 대해 공부하고 이전에 팀원이 배포한 환경에서 몇 가지를 고려하여 변경하여 적용하였다. 그러면서 있었던 문제들에 대해 기록해두고자 한다. 1. Docker-compose 우선 첫 번째는 Docker-compose 파일이다. 1.1. Docker Life Cycle 관리 우리 서비스는 그래도 Spring Cloud Gateway와 Feign Client를 사용한 MSA 아키텍처로 설계했다. 우선 기술적 난도와 활용도에 대해서는 차치하고 위 방식에서 Docker-compose로 실행을 하려니 이런 문제점이 발생했다. Eureka 서버가 가장 먼저 켜져야한다. Config와 Gateway는 크게 개의치 않으나 Eureka 다음에 켜지는 것이 좋다. MySQL과 Redis 서버는 API와..
PROJECT/KOSA
이전 글 2024.01.02 - [PROJECT/KOSA] - [PROJECT] KOSA 최종 프로젝트 진행 (1) - 연관 게시물 : 연관에 대하여 [1/5] 2024.01.05 - [PROJECT/KOSA] - [PROJECT] KOSA 최종 프로젝트 진행 (1) - 연관 게시물 : Legacy와 현재 구현한 코드 [2/5] 2024.01.07 - [PROJECT/KOSA] - [PROJECT] KOSA 최종 프로젝트 진행 (1) - 연관 게시물 : 연관도 변화 [3/5] 2024.01.10 - [PROJECT/KOSA] - [PROJECT] KOSA 최종 프로젝트 진행 (1) - 연관 게시물 : 캐시 [4/5] ⌨️ 연관 게시물 구현 마무리 신입에게 있어서 막연한 것이 문제 상황을 해결 혹은 단순한..
이전 글 2024.01.02 - [PROJECT/KOSA] - [PROJECT] KOSA 최종 프로젝트 진행 (1) - 연관 게시물 : 연관에 대하여 [0/0] 2024.01.05 - [PROJECT/KOSA] - [PROJECT] KOSA 최종 프로젝트 진행 (1) - 연관 게시물 : Legacy와 현재 구현한 코드 [2/0] 2024.01.07 - [PROJECT/KOSA] - [PROJECT] KOSA 최종 프로젝트 진행 (1) - 연관 게시물 : 연관도 변화 [3/0] ⌨️ 캐시 1. 캐시 우선 왜 캐시를 사용했는지에 대해 얘기해 보자 1.1. 캐시의 사용목적 내가 생각하는 캐시의 사용목적은 이렇다 동일한 API 요청이 반복 API 응답이 변하지 않음 API 응답이 자주 업데이트 되지 않음 위와 ..
이전 글 2024.01.02 - [PROJECT/KOSA] - [PROJECT] KOSA 최종 프로젝트 진행 (1) - 연관 게시물 : 연관에 대하여 [0/0] 2024.01.05 - [PROJECT/KOSA] - [PROJECT] KOSA 최종 프로젝트 진행 (1) - 연관 게시물 : Legacy와 현재 구현한 코드 [2/0] ⌨️ 연관도 변화 게시물이 추가로 작성될 때마다, 이전 게시물도 연관도 변화에 따른 연관 게시물 변화가 필요하다. 이전 글에서도 말했지만, 예전에는 이 변화를 즉각적으로 반영시키고 싶었으나, 현재는 그 중요도가 즉각적으로 반응해야 할 정도는 아니라고 판단해서 Spring Batch + Scheduler로 주기적인 작업을 통해 해결하려고 했다. 1. Spring Batch 왜 배치..
이전 글 https://romanc3.tistory.com/87 [PROJECT] KOSA 최종 프로젝트 진행 (1) - 연관 게시물 : 연관에 대하여 [0/0] ⌨️ 연관 게시물 구현 그동안 막혀 있던 혈이 하나 뚫린 듯한 기분이 드는 프로젝트였다. 이전 과제로 한번 받았던 내용인데 그때도 어찌어찌 완수는 했지만 완성도가 너무 낮았고, 이 프로젝 romanc3.tistory.com ⌨️ 예전 구현 코드와 현재 코드를 비교 이번 포스팅에서는 이전에 구현했던, 연관게시물 서비스 로직과 지금 구현 완료한(* 운영적인 측면을 제외한 로직만) 코드를 비교하며 달라진 점에 대해 포스팅하려 한다. 다음 글들에서는 이전 코드를 리팩토링 하면서 고민한 것들 그리고 공부한 내용들을 차근히 풀어나가려 한다. 연관도를 매..
⌨️ 연관 게시물 구현 그동안 막혀 있던 혈이 하나 뚫린 듯한 기분이 드는 프로젝트였다. 이전 과제로 한번 받았던 내용인데 그때도 어찌어찌 완수는 했지만 완성도가 너무 낮았고, 이 프로젝트를 하기 전까지 해야지 해야지 하면서 미루고 있었다. 이번 프로젝트를 하며 마침 기능을 붙힐 수 있다는 생각에 도전해 봤는데 좋은 결과가 나왔고, 개인적으로도 큰 성취감이 드는 기능 중 하나이다. 그리고 조금은 개발자라는 것에 대해 다시금 생각해보는 계기가 된 기능이다. 1. 연관에 대하여 연관이란 개념이 굉장히 모호 했다. 연관의 기준은? 무엇이 연관 게시물일까? 나는 아직 역량이 달려 이 부분에서 매우 힘들었다. 그동안 명확한 개념들에 대해서는 구현이 가능했지만, 이런 모호한 부분에 대해 기능을 구현하려니 사고가 마..
프로젝트 개요 프로젝트 개발 기간 : 12.04~12.29 프로젝트 인원 : 5인 개발 배경 : 텍스트 형 유튜브 같은 플랫폼 구축을 해보고 싶었습니다. 브런치스토리, 네이버의 유료 간행물등 정식으로 등록된 작가들에 대한 후원 및 구독 등은 가능했으나, 유튜브처럼 누구나 편하게 나의 글을 공유할 수 있는 공간을 만들고 싶었습니다. 기술 스택 : BE Java 17, Spring Boot 3.x.x , Spring Data JPA, Spring Batch, Spring Security, Spring Quartz, Redis, MySQL FE HTML5, CSS3 , TailwindCSS, Axios, Toast UI , Vue.js (3) CI/CD Docker 협업툴 Jira, Github, Notion..
⌨️ 리뷰 작성 구현 multipart 파일을 태그가 아닌 Axios를 통해 전달하며, 미리 보기 방식을 Vue.js에 맞게 바꾸면서 많은 어려움이 있었다. 1. 리뷰 작성 리뷰 등록 {{ walkingPath.title }} {{ walkingPath.mapList[0].distance }} {{ walkingPath.addr }} 별점 ★★★★★ 본문 사진(5개 제한) + 뒤로가기 리뷰 작성의 부분 1.1. request Axios 만들기 function postReview() { const formData = new FormData(); const reviewsRequestDTO = { content: content.value } const json = JSON.stringify(reviewsReq..
⌨️ Vue.js 로이 전환 타임리프에서 Vue.js로 CSR 방식으로 전환하며 프런트에 대해 거의 깊이가 없어 많이 힘들었던 것 같다. 1. 회원가입/로그인 타임리프에서 Vue.js로 바꾸는 것만 해도 많은 공수가 들었어서 꽤 힘들었다. Vue.js에 대한 자세한 공부는 차차 포스팅 하도록 하겠다. 1.1. 회원가입 ISSUE 주소 찾기를 통해 건네준 데이터가 null로 들어가는 현상 -> 문제 상황 실제로는 null로 들어가는 것이 아니라 애초에 전달이 되지 않았다. 해당 문제는 Vue.js 에서 DOM을 직접 조작할 경우 생기는 문제로 데이터 바인딩이 되지 않는 것이 원인이었다. AS-IS function searchAddr() { new daum.Postcode({ oncomplete: funct..