개발 라이프(355)
-
서비스 아키텍쳐
TV에서만 보던 라이어게임을 온라인으로 화상 및 채팅을 통해 구현해보고자 했다. 나는 BackEnd 를 담당하고 있기 때문에 FrontEnd 아키텍쳐에 대한 설명은 생략하도록 한다. # WebRTC 화상/보이스 채팅 기능을 위해 카메라와 마이크 등의 미디어 자원을 통해 실시간으로 소통할 수 있는 기술이 필요했다. WebRTC는 카메라, 마이크와 같은 미디어 자원들을 활용해 실시간 커뮤니케이션을 할 수 있는 기술이다. 화상통화, 화상공유 등을 구현할 수 있는 오픈소스이며, p2p 방식으로 피어간의 통신을 지원한다. [장점] Latency(지연시간)가 짧다. 인스타라이브, 유튜브라이브, 트위치와 같은 스트리밍 서비스는 대부분 RTMP를 사용하여 실시간으로 스트리밍 한다고 한다. WebRTC의 latency는..
2022.12.15 -
Weekly I Learned 10주차
[기간] - 11월 21일 ~ 11월 26일 [Weekly I Learned ( 10주차)] 이번 주는 이때까지 만들어온 프로젝트의 중간 발표가 있는 주차이다. 저번 주차 WIL 에서도 말했듯이 라이어 게임이 주제라 WebRTC, WebSocket 기술들이 주가 되는 프로젝트여서 이번에는 구현해본 WebRTC 에 대해서 얘기해보고자 한다. 우선 서비스 아키텍쳐는 이러하다. 프론트 쪽은 차치하고, 현재 중심적으로 볼것은 메인 기능 부분인 WebRTC 부분이다. [WebRTC란?] 화상/보이스 채팅 기능을 위해 카메라와 마이크 등의 미디어 자원을 통해 실시간으로 소통할 수 있는 기술이 필요했다. WebRTC는 브라우저에서 지원하는 프레임워크로 많이 사용되어 안정성이 검증되어있고, 별도의 플러그인 없이 사용이..
2022.11.27 -
Weekly I Learned 9주차
[기간] - 11월 14일 ~ 11월 19일 [Weekly I Learned ( 9주차)] 벌써 실전 프로젝트를 진행하지 2주차다. 다음 주가 드디어 중간발표 주간이기 때문에 만들고자하는 메인 기능들을 빨리 정리하고 구현할 필요가 있었다. 아무래도 메인기능은 게임 기능이다 보니 평범한 http 형식의 로직으로는 게임 주제에 적합하지 않아서 WebSocket 과 Stomp 를 활용해서 구현하고자 했다. WebSocket 이란? TCP 연결을 통해 클라이언트와 서버 간에 전이중 양방향 통신 채널을 설정하는 표준화된 방법을 제공한다. HTTP와 다른 TCP 프로토콜이지만 포트 80 및 443을 사용하고 기존 방화벽 규칙을 재사용할 수 있도록 HTTP를 통해 작동하도록 설계되었다고 한다. WebSockets에는..
2022.11.22 -
Weekly I Learned 8주차
[기간] - 11월 07일 ~ 11월 12일 [Weekly I Learned ( 8주차)] 본격적인 실전프로젝트 주간이다. 생각했던 것보다 너무 빨리 실전 주간으로 진입한 것 같다. 아직 잘 모르는 부분들이 너무나 많은데 걱정이 너무 앞선다. 스스로가 팀장 격의 사람은 아니라고 생각하기 떄문에 팀장은 바라지도 않았고, 실력도 개인적으로 많이 부족하다고 생각했기 때문에 팀원으로써 엄청 잘하지는 못하더라도 최소한 1인분은 하자! 라는 마음이 컸던 것 같다. 그런데..... 우려했던 일이 현실이 되고 말았다.... 내가 부팀장이 되버린 것이다... 나를 선택해주신 팀장님께 정말정말 감사드리고 그렇기 때문에 승낙했지만 이렇게 갑자기 되어버릴 줄은 상상도 못했다... 왜인지 모르겠지만 나에 대한 소문도 되게 과장..
2022.11.15 -
Weekly I Learned 6주차
[기간] - 10월 24일 ~ 10월 29일 [Weekly I Learned ( 6주차)] 지난주 5주차에 맛보기로 진행했던 프론트와의 협업 팀 프로젝트를 진행하고, 이번 주차는 현재 실제로 운영되고 있는 사이트를 클론하여 프로젝트를 만들어보는 클론 프로젝트를 진행하게 되었다. 우리 팀의 주제는 '번개장터' 를 모티브로 한 클론 프로젝트로 하기로 했다. 다른 팀은 인스타그램, 채팅서버를 이용한 유사 카카오톡 등등 우리가 항해를 진행하면서 접해보지 못했던 프로젝트를 진행하는 반면에 우리 팀은 이때까지 배웠던 기술들을 토대로 CRUD 가 메인인 번개장터 클론 프로젝트라 걱정이 많이 되었다. 왜냐? 남들과는 다른 무기가 없다고 느껴졌었기 때문이다. 하지만, 지난주 경험을 되돌아보았을떄, 너무 과한 욕심을 가지..
2022.10.30 -
[에러] com.amazonaws.SdkClientException: Failed to connect to service endpoint
[Reason] amazonS3 를 활용해보려고 의존성을 주입하고 서버를 실행하였으나 이러한 에러가 발생하였다. build.gradle에, spring-cloud-starter-aws 의존성 주입시 로컬환경은, aws환경이 아니기때문에 나는 에러라고 한다. [Solution] vm option에 아래 문장을 추가하니 해결되었다. -Dcom.amazonaws.sdk.disableEc2Metadata=true (1) 인텔리제이 Run 탭 (2) Edit Configuration 클릭 (3) VM Option 란이 안보인다면 Modify Options 를 클릭하여 add vmoption 선택 (4) -Dcom.amazonaws.sdk.disableEc2Metadata=true 입력 후 apply
2022.10.28