스터디 & 프로젝트
-
[Azure] Spring Boot 프로젝트를 App Service에 배포하기스터디 & 프로젝트/Init Cloud 팀 프로젝트 2023. 2. 15. 18:09
개요 프로젝트를 진행하면서 외부에 인가 서버를 하나 노출시켜야 할 일이 생겼다. 서비스 로직을 위한 API 서버는 DB와 함께 도커라이징 되어 로컬호스트 환경이던 SaaS로 서비스 되던 배포 예정이었다. 다만, 일부 비즈니스 로직이 요구하는 기능이 인가를 받아서 해당 외부 Github API에서 데이터를 긁어온 후 처리해야 했다. 여기서 고민한 점이 있다. 기존에 Docker-compose로 관리하던 솔루션에 함께 묶어 배포할 것인가? 아니라면 클라우드에 SaaS 형태로 배포할 것인가? 전자의 경우, 인가에 필요한 클라이언트 비밀 값을 함께 묶어서 배포해야 했다. 이 부분이 제일 맘에 들지 않았다. 후자의 경우, 무조건 아웃바운드로 외부망을 타야 했다. 선택 여기서 후자를 선택하게 되었는데 그 이유는 다..
-
네이밍 컨벤션 정하기스터디 & 프로젝트/Mineme 프로젝트 2023. 2. 10. 23:22
필요성 매 번 프로젝트를 진행하면서 겪은 문제는 "이름 정하기" 였다. 모든 개발자들이 고민하는 문제다. 어떻게 하면 가독성 좋고 깔끔한 방식의 명칭을 정할 수 있을지 고민한다. 여러 번의 팀 프로젝트를 진행했지만 늘 백 엔드 개발을 거의 혼자 진행하다보니 협업의 관점에서 이런 컨벤션을 명확하게 작성한 적이 없었다. 늘 API 명세, DB 스키마 작성 정도 수준에서 마무리 했던 것 같다. 하지만 이번에 새로운 사이드 프로젝트를 진행하면서 백 엔드 개발 협업을 진행하기로 했다. 이제 우리 팀의 네이밍 컨벤션을 정해야 한다. 나의 습관 나도 무작정 네이밍 컨벤션을 쓰지는 않았다. 명칭 작성은 무조건 카멜케이스로 작성했다. 상수명은 대문자와 언더바 만을 사용했다. 하지만 습관에 의지한 상태였다. 주로 MVC ..
-
[Spring Boot] Github OAuth 적용하기스터디 & 프로젝트/Init Cloud 팀 프로젝트 2023. 1. 31. 22:39
Spring Boot를 활용해서 깃허브 앱을 만들 필요가 있었다. 그런데 이 앱을 OAuth App으로 만들어야 하는지, Github App으로 만들어야 하는지 아니면 개인키로 인증 받아 권한만 받아와야하는지 조금 헷갈렸다. 그래서 우선 Github OAuth를 적용하고 후에 인증 방식에 활용하기로 했다. 앱, 클라이언트 ID 및 비밀 값 생성 우선 깃허브 개인 또는 조직 설정에서 개발자 설정을 찾는다. 개발자 설정에서 앱 유형을 선택하고 설정 페이지에서 앱을 생성하자. 나는 각 앱 유형에 대한 이해가 아직 부족해서 우선 깃 허브 앱을 선택했다. 우선 URL 설정이 필요하다. 깃허브 앱이 동작할 URL과 OAuth 요청으로 리디렉션될 콜백 URL을 지정해야 한다. OAuth를 통해 얻은 접근 권한으로 어..
-
[Spring boot] 응답 값 직렬화.스터디 & 프로젝트/Mineme 프로젝트 2022. 12. 13. 14:38
public class ResponseDto { private boolean isSuccess; ... } { ... "success": true } 새로운 프로젝트를 시작하면서 공통 응답 DTO를 작성했다. 빌드 후에 테스트해보니 응답 API 명세와는 다르게 위와 같이 'is'가 사라진 형태로 응답이 발생한 것을 확인했다. boolean을 원시타입으로 작성하면서 직렬화 과정에서 is가 자동으로 삭제된 것이라고 한다. 이를 래퍼 타입인 Boolean으로 바꿔주면서 해결할 수 있었다. public class ResponseDto { private Boolean isSuccess; ... } { ... "isSuccess": true, }