목록Toy Project/Tortee (4)
개발자의 오르막
이번 프로젝트는 안드로이드 APP 과 API 가 먼저 Beta 버전으로 런칭예정이다. 팀 내에서 안드로이드 개발자만 있었기 때문에 거의 모든 기능을 안드로이드 앱으로 해결을 하려했기 때문에 인증 또한 Firebase Auth 를 기준으로 개발에 착수하였다. Firebase Admin SDK 받기 먼저 firebase 홈페이지에 들어가 프로젝트를 추가한다. https://console.firebase.google.com/u/0/ 왼쪽 상단의 설정 단추 (톱니바퀴) 를 누른 후 프로젝트 설정 화면의 서비스 계정 탭으로 들어갑니다. Admin SDK 를 활용할 언어에 맞게 비공개 키를 생성합니다. Admin SDK 를 활용할 언어에 맞게 비공개 키를 생성합니다. SpringBoot 프로젝트에 Firebase ..
Layer Architecture 와 멀티모듈 https://catchdream.tistory.com/237 지속 가능한 개발을 위한 멀티모듈과 SpringBoot Keyword Multimodule , common , 지속가능한 개발 , 확장성 , 결합도 , 응집도 Overview 멀티모듈이라 할 때 가장 먼저 생각나는 키워드는 무엇일까? 바로 스파게티 소스이다. 특히나 자바 개발자로서 의존성 catchdream.tistory.com 이전 시간에 Layer 계층에 따라 멀티모듈을 구성할 목표를 설정하였다. app-service-api 프레젠테이션 계층으로서 내부 App API 를 제공한다. app-admin-api 프레젠테이션 계층으로서 내부 Admin API 를 제공한다. app-external-ap..
Keyword API , Rest Docs Overview API 문서를 작성할 때에는 크게 2가지 방법이 있다. 바로 Swagger UI 와 Spring Rest Docs 이다. Swagger UI Spring REST Docs Api Controller, Dto 부분에 애노테이션을 추가하여 문서가 작성되는 방식 테스트 코드로 문서를 작성하는 방식 (테스트가 성공해야만 작성할 수 있음) API 테스트가 가능하다. API 테스트가 불가능하다. 위의 표처럼 Swagger UI 는 문서도 깔끔하고, API 테스트를 바로 할 수 있지만, 문서를 위한 어노테이션을 Controller, Dto 부분에 작성해야하기 때문에 가독성이 떨어진다. 따라서 이번 Tortee 프로젝트에는 Spring Rest Docs 를 선..
Keyword Multimodule , common , 지속가능한 개발 , 확장성 , 결합도 , 응집도 Overview 멀티모듈이라 할 때 가장 먼저 생각나는 키워드는 무엇일까? 바로 스파게티 소스이다. 특히나 자바 개발자로서 의존성 덩어리의 모듈을 바라보았을 때는 그저 기피하고 회피하고 싶은 구성이다. 그러나 애플리케이션마다 여러 레파지토리로 분리하는 것은 너무 많은 번거로움을 만들어낸다. 예를 들어, API 어플리케이션과 ADMIN 어플리케이션이 있다고 하자. 동일하게 사용하는 도메인 로직을 변경할 때 각 레파지토리에서 로직간의 충돌을 고려해야 한다. 특히 JPA 를 사용할 때의 Entity 클래스는 변경 소요가 있을 때마다 모든 레파지토리를 신경써야한다. 물론 처음 개발할 때부터 기능명세를 명확히 ..