프로젝트 시작 전 가장 고민을 많이 하고, 결정하는 사항 중 하나죠! 프로젝트를 어떻게 설계 하냐에 따라서 추후 유지보수성에도 중요한 영향을 끼친다고 생각해요. 물론 그냥 MVC로 가볍게 시작해도 되지만, 어차피 공부할 겸 만드는 프로젝트니까. 최대한 나중에 유지보수 하기 쉬운 것으로 고려해서 결정해 보려고 해요. 먼저 Server! Server는 사실 딘님이 만든 Base project가 헥사고날 아키텍처 패턴이에요. App만 개발하던 저 같은 클라이언트에게는 생소한 아키텍쳐 이지만, 전 CTO님의 헥사고날 아케텍쳐에 대한 생생 강의를 듣고 나니 아주 훌륭한 아키텍처라는 걸 알 수 있었어요!! 헥사고날 아키텍처의 구조는 아래 그림과 같아요. 그림을 보면 어려워 보이지만 그냥 쉽게 비즈니스 로직과 외부 ..
소개팅앱을 만들기 위한 첫 번째 준비물 그건 바로 사용자들과 대화를 중계해 줄 Server와 사용자들이 채팅을 작성할 수 있는 Client 에요. 저는 App을 통해서 사용자들 간 채팅을 주고받길 원하기 때문에 Android와 iOS 앱을 만들 거고, 각각 앱을 따로 만들기에 저는 1인 개발을 할 것이기 때문에 크로스 플랫폼인 Flutter를 통해 개발할 거예요. 채팅앱은 사실 Native App 기능이 크게 필요 없기 때문에 Flutter 만으로도 충분히 구현이 가능해요. 자 그럼 이제 Server는 뭐로 할 것이냐!!! 서버는 용도를 크게 두 가지로 나눠서 만들 거예요. 1. API 서버 (인증 및 Rest API 용도) 2. Socket 서버 (실시간 채팅을 위한 용도) 첫 번째 API 서버는 무엇..
채팅을 만들어 보고는 싶었는데 뭐랄까 항상 App 개발만 하다보니 서버쪽은 대충 수박 겉 핥기만 하다보니 자신이 없어서 안하고 있다가 갑자기 소개팅앱을 하나 만들고 싶어져서 혼자 북치고 장구치고 하며 소개팅앱 만들기를 진행해 보려고 해요. 나중에 뒤를 돌아봤을때 아! 내가 이런 것도 했었지라는 추억을 남기고 싶어 일기장 처럼 메모를 작성해요.
Android 에서 apple 로그인을 할때 인증서 설정 부분에 대해서 간단하게 메모를 남기려 합니다. App ID 추가 1. identifier 탭에서 + 를 누르고 App IDs 선택후 Continue 2. App 누르고 Continue 3. 만들려는 App 과 똑같은 bundle id로 기입 4. Capabilities -> Sign In with Apple 체크 5. continue 후 register 를 눌러 마무리 Service id 1. identifier 탭에서 + 를 누르고 Service IDs 선택후 Continue 2. 대충 식별 가능하도록 네이밍 해서 continue 및 register 까지 완료 하여 생성 3. 다시 identifiers 탭에서 빨간색 네모 부분은 Services ..
@Configuration @EnableWebSocketMessageBroker @PropertySource("classpath:application.properties") class WebSocketConfig: WebSocketMessageBrokerConfigurer { override fun configureWebSocketTransport(registration: WebSocketTransportRegistration) { registration.addDecoratorFactory { handler -> object : WebSocketHandlerDecorator(handler) { @Throws(Exception::class) override fun afterConnectionEstablis..