본문 바로가기

분류 전체보기

선을 지키는 일 미유로 블로그에 글을 써보자고,, 마음먹은 뒤로 길고양이 관련해서 느꼈던 감정을 기록해봐야겠다는 생각이 강해졌다# 우리는 "기록"플랫폼이니까~ 주택가 근처로 출퇴근하는 나는자주 선호하는 주차 자리가 있는데어느 식료품 가게 옆쪽이다 ,,,아침 저녁으로 타고 내리다보면 이 문구를 만나게 된다. 꽤나 오랫동안 붙여져 있어서이 글씨색이 처음에는 어떤 색을 쓰여졌을까,,??라는생각을 만들게 하기도했다. 이 식료품가게 사이에는 조그마한 틈이있는데그 틈 사이로,, 사료와 물이 놓여져 있는 것을 몇번 본적이 있다...하지만 이 실외기가 있는곳은 식료품 가게의 창고쪽이라 고양이들이 전선을 망가뜨리고,하는 일이 잦았다는,,다른 바래진 종이를 본적도 있는데 어느날은 이 종이가 위력을 발휘하여사료그릇과 물그릇이 치워져있는.. 더보기
🛠 Spring Boot 서버 GitHub Actions 자동 배포 정리 (Self-hosted runner) 실제 운영 중인 리눅스 서버에 GitHub Actions를 사용한 자동 배포를 구축하면서 발생했던 이슈와 해결 방법을 정리합니다.✅ 목표dev 브랜치에 코드 푸시 시, 리눅스 서버에서 Spring Boot 프로젝트 자동 빌드 & 배포Docker + docker-compose 환경에서 실행 중인 API 서버를 자동 재배포📁 서버 디렉토리 구조 (예시)/home/service/┣ meowro/┃ ┣ api/┃ ┃ ┗ dev/┃ ┃ ┣ docker-compose.yml┃ ┃ ┣ Dockerfile┃ ┃ ┣ meowapi-0.0.X.jar ← 최신 버전 자동 복사됨⚙ GitHub Actions 워크플로우 (.github/workflows/deploy-dev.yml)name: Deploy to .. 더보기
아직은,, 기세를 모아야 할 때 오늘 업무 차 출장을 다니다가 공원에 잠깐 들렀다.공원을 쭉 둘러보던 중, 고양이 한 마리가 정자 한켠에 앉아 있는 모습을 보았다.누군가 밥을 주고 있나 싶어서두리번두리번했는데,  낡은 정자 밑에 사료와 물, 숨숨집 두 개가 놓여 있었다.이렇게라도 보살핌을 받고 있구나, 싶은 생각이 들었다. 그때 근처 벤치에 앉아 계시던 할아버지들이 그 정자 밑이 지저분하다고다 치워야 한다고 이야기하는 소리를 들었다.대여섯 명의 할아버지들이 그런 말을 하는 걸 보니,'길고양이와 공존하려면 급식소가 필요하다'는 말이아니'어쩌면 조금 더 깨끗한 환경을 위해서라도급식소를 운영해야해요' 라고 말하고 싶었지만묵묵히 그 말씀을 듣고 왔다.자신 있게 나서지 못한 내 자신이 조금 슬프기하며길고양이와의 공존을 위해 내가 더 적극적으로 .. 더보기
캣맘과 소개팅 3편(feat.Meowro의 시작) 3편. - 길고양이, 그녀와 나의 새로운 만남 즐거운 썸타임~~.우리는 점심을 함께 먹고, 카페에서 이야기를 나누며 즐거운 시간을 보냈다.데이트를 즐기는 끄트머리에 "고양이 보러 가실래요?"라고 말했다.나는 잠시 멈칫했지만, 동시에 그녀의 말이 호기심을 자극했다. 어느 아파트 담벼락 앞에 작은 집이 두개보였다사람들이 잘 보려고 하지 않으면 볼 수 없는 외진 곳에서그녀는 주위를 살피다가 작은 목소리로 "달아~! 달아~!"라고 외쳤다.나는 그 모습에 조금 당황했지만, 그녀의 눈빛을 보고 웃음을 참을 수 없었다.마치 놀이터에 자식들을 풀어놓고집에돌아가자고 부르는 모양새 같던 ㅎㅎ 몇번의 외침 끝에 "야옹~" 하는 소리와 함께하얀색 고양이와 치즈냥이 나타났다....반질반질한 윤기가 그 고양이들이 마치 .. 더보기
캣맘과 소개팅 2편(feat.MeowRO의 시작) " 남자라면 역시,, 나도 캣대디? "첫 만남 이후, 머릿속을 떠나지 않는 생각이 있었다. 고양이 얘기를 하던 그녀의 눈빛, 그 순수하고 진심 어린 말들. 솔직히 말하면, 내가 갖고 있던 ‘캣맘’에 대한 선입견은 이미 사라졌고, 오히려 그녀의 모습이 내게 점점 더 매력적으로 다가왔다. “그래, 남자라면 이제 나도 캣대디가 돼야 하나?” 이런 헛물켜는 고민을 하며, 내가 왜 이렇게 그녀에게 끌리는지 점점 더 알아가게 되었다. 카톡 반응이 그냥 그러하던 캣맘의 마음을 훔치려면 뭐든지 해야 할 것 같았다. 그녀가 책을 좋아한다는 걸 기억하고, 서점에 가서 고양이 모양의 책갈피를 샀다 부담스럽지 않지만 센스있는 선물이라 스스로를 되뇌이며 그녀와의 두 번째 만남 준비를 마쳤다. 두 번째 만남, 조용.. 더보기
캣맘과 소개팅 1편 (feat. MeowRo 의 시작) "캣맘이라고 당당하게 소개하던 소개팅녀" 23년 10월의 어느 날오랜만에 잡힌 소개팅. 정신업는 외주개발건 때문에 그냥,, 큰 기대 없이 향했다.그런데 그녀를 처음 봤을 때, 내가 상상했던 이미지와는 확실히 달랐다.키가 크고, 모델 같은 도시적인 외모를 가진 그녀를 보자마자, 마음이 몽글몽글해졌다.잘 차려입고 스타일리시한 그녀가 나타나자, 나도 모르게 '이런 사람이라면 딱 맞는 사람을 만났겠구나'라는 생각이 들었다. 이런저런 이야기 중그런데, 그녀가 "저 캣맘이에요"라고 말했을 때,순간 내 머릿속에 떠오른 건... 고양이와는 전혀 어울리지 않는 이미지였다."캣맘?" 나는 그 말에 한참 멍하니 듣고 있었다. 도시적인 스타일의 그녀와 고양이? 내 머리속에서 급작스럽게 일어난 이미지의 충돌!그렇게 고양이에 대.. 더보기
MSA로 인증과 회원을 분리하고 JWT 연동 구조 설계하기 길고양이 기록 관리 플랫폼(MeowRo)을 개발하면서, 점점 늘어나는 기능과 사용자 요구에 대응하기 위해 MSA 구조로 전환을 고려하게 되었습니다. 이 글에서는 인증과 회원을 분리하고, JWT 기반 인증 구조를 어떻게 설계하고 연동하는지, 그리고 함께 띄워야 할 서비스들을 무엇으로 구성할지에 대해 정리합니다. ✨ 목표 구조auth-service: 로그인, 로그아웃, JWT 발급 및 검증user-service: 회원 정보 CRUD, 프로필 수정 등meow-service: 고양이 일지, 급식소 등 도메인 기능 (기존 모놀로식에서 유지) 1. 인증과 회원 서비스는 왜 분리해야 할까?이유설명보안 강화인증 로직과 비밀번호는 auth-service에만 존재하게 함책임 분리인증과 회원 기능의 변경 주기가 다름확장.. 더보기
모놀리식에서 MSA로, 우리 서비스의 변화 1. 왜 MSA로 전환했을까?우리 서비스는 처음부터 모놀리식 아키텍처로 개발되었습니다. 모놀리식 구조는 초기 개발과 배포가 빠르다는 장점이 있었지만, 서비스가 성장하면서 몇 가지 문제점이 나타났습니다.🚨 모놀리식의 한계배포와 유지보수의 어려움: 서비스의 한 부분만 수정해도 전체 애플리케이션을 다시 빌드하고 배포해야 했습니다.확장성 문제: 특정 기능(예: 인증 서비스)에 트래픽이 집중될 경우, 전체 애플리케이션의 성능이 저하되었습니다.팀별 독립 개발의 어려움: 모든 팀이 하나의 코드베이스에서 작업해야 했기 때문에, 병목 현상이 발생했습니다.기술 스택 변경의 어려움: 새로운 기술을 적용하려면 전체 애플리케이션을 수정해야 했습니다.이러한 문제를 해결하기 위해 MSA (Microservices Architec.. 더보기