목록Toy Project (10)
개발자의 오르막
이번 프로젝트는 안드로이드 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 클래스는 변경 소요가 있을 때마다 모든 레파지토리를 신경써야한다. 물론 처음 개발할 때부터 기능명세를 명확히 ..
네이버 클라우드는 서버 작업이 가능한 22 포트를 제외하고는 Public IP 를 유료로 지원한다. 내가 서버를 띄워도 접속해보려면 80포트, 443포트, 8080 포트 등 기본적인 포트가 필요한데, 이 부분들을 유료로 사용해야 한다.. ㅜㅜ Public IP 신청 Naver Cloud 의 Console → Server → Public IP 메뉴로 진입한다. Public IP 와 연결시킬 해당 인스턴스를 선택한다. 월 이용료 4,032 원을 안내해준다. 이건 Credit 으로 무조건적으로 나가는 비용이다. 포트 포워딩 Public IP 를 생성했으면 이제 서버에 포트 포워딩을 진행한다. 포트 포워딩은 SERVER → 상단 측에 포트포워딩 버튼으로 팝업을 띄워서 아래와 같이 진행한다. 이후 ACL 설정으로..
비사이드에서는 네이버클라우드와 NHN 클라우드 중 선택해서 크레딧을 제공하고 있다. 나는 기존 AWS 와 GCP 를 사용해보았는데, 이참에 크레딧을 제공해주는 타 클라우드 플랫폼을 경험해보는 것도 나쁘지 않다고 생각했다. 서버 생성 → ACG 설정 → 공인 IP 할당 → 웹 서버 설치 서버생성 : 서버의 스팩과 OS를 결정 ACG 설정 : 해당 서버의 방화벽을 구성 공인 IP 할당 : 외부에서 해당 서버로 접근하도록 공인 IP를 할당 웹 서버 설치 네이버 클라우드에서 계정 및 크레딧을 신청한다. 네이버 클라우드에서 제공하는 무료 서버 스택 OS : CentOS 6.6(64bit) 서버스팩 : [Micro] 1vCPU, 1GB Mem, 50GB Disk 스토리지 : [HDD] 기본 50GB 포트 포워딩(서..