[Spring Boot] 분산 락(Distributed Lock) 타임 아웃 시 트랜잭션 관리를 하고 계신가요? (+ `25.04.21 1차 오류 수정)
·
Backend/Spring Boot & JPA
💡 Kurly 기술 블로그의 분산 락 AOP를 적용하신 분들에게 해당되는 내용입니다.⚠️ (`25.04.21) Lock 소유권이 없는 Thread에서 Unlock을 할 수 있다는 내용은 잘못된 분석이었고 정정했습니다.1. Introduction 📌 Why Doesn't It Throw an Exception??최근에 겪은 일은 아니고, 2달 전에 발생했었던 일이고 상당히 치명적인 이슈로 취급했었다.다만 프로젝트가 런칭 실패로 공중 분해되면서 해당 이슈도 자연스럽게 처리할 필요가 없어졌는데, 그냥 개인적인 호기심이 들어서 종종 떠올리다가 생각보다 쉽게 해결할 수 있을 것 같아서 도전해봤다가 진짜 해결해버렸다. 당시에 어떤 문제가 있었는지 우선 설명을 하고, 그 다음 심층적으로 분석을 해볼 것이다. 우리..
[GoCD] Secrets Management야, 제발 파이프라인에 환경 변수 주입 좀 해봐.
·
DevOps/GoCD
1. Introduction 📌 Come on, just work with me here!!!!!이건 개발기가 아니다.GoCD와 싸우(일방적으로 맞으)면서 틈틈이 작성한 전쟁 일기 같은 것이다. 서류 붙은 회사 AI 인적성 검사해야 하는데, SDK 배포 파이프라인 구축한다고 진땀 빼다가 아직도 안 한 내가 레전드다.내일 영어 회화 스터디 끝나고 바로 해야겠다. 파이프라인 구상은 다 해놨는데, GoCD 관련 자료가 터무니 없이 적어서 혼자 WebUI랑 공식 문서, 무슨 깃헙 하나 붙잡고 이것저것 다 시도해보느라 진행이 더디다.그냥 github actions 서버를 self-hosted로 돌릴 걸 그랬나 싶긴 한데, 한 번 잘 구축해놓으면 앞으로 다른 서비스 만들 때도 요긴하게 쓸 수 있으니 이 악물고 하..
[GoCD] Pipeline as Code
·
DevOps/GoCD
1. Introduction 📌 Pipeline in ConsoleGoCD 파이프라인 구축을 하긴 했었는데, WebUI로 관리하려니 생각보다 귀찮은 점이 많다.모니터링하긴 좋은데, 파이프라인 자체를 관리하기엔 접근성도 떨어지고 task 관리하려고 딸깍을 여러번 해서 들어가야 한다는 점도 여간 귀찮은 게 아니었다. 그래서 이참에 코드로 GoCD 파이프라인을 관리해보려고 한다. 이번 작업은 환경 변수 주입 같은 건 필요가 없어서, 진짜 사용법에 가까운 가벼운 글에 해당한다.앞으로 올라올 포스팅의 빌드업같은 느낌.YAML로 관리하는 방법도 있고 JSON으로 관리하는 방법도 있는데, 난 보다 친숙한 YAML 방법을 사용할 것이다. 개인적으로 더 알아보고 싶다면 아래 두 링크를 참고해보는 것을 권장한다.정말 많..
[IT News] MCP(Model Context Protocol)는 혁신이라 할 수 있는가?
·
IT News
1. Introduction 📌 MCP? 이건 또 무슨 마케팅이야?이미 저번 주에 찾아봤지만 포트폴리오 쓴다고 포스팅이 미뤄졌다.A2A도 같이 다룰까 하다가 결이 다른 느낌이라 그냥 따로 쓰기로 결정. 최근 들어, 링크트인에서도 심심치 않게 찬양하는 글이 많이 보여서 대체 뭔가 찾아봤는데, '그냥 이쯤 성숙해진 단계에서 당연히 나와야 할 게 나온 거 아닌가....?'라는 생각이 들었다.API 요청/응답 스펙 문서를 관리하고 SDK 만드는 개발자가 이렇게까지 없는 건 아닐 테고, 업계 표준이라 여겨질만한 프로토콜이 나온 것에 환호하는 거라면 그나마 이해가 되긴 한다. 우선, MCP는 새로운 기술이나 아이디어가 아니다.그냥 기존의 아이디어를 AI 생태계에 맞게 잘 적용한 거라서, 새로운 개념을 공부해야 한..