프로젝트 (15) 썸네일형 리스트형 프로젝트 `오디` 핵심 기능 구현 일지 : 실시간 친구 도착 예정정보 공유 기능 언제, 어디서, 무엇을 하든 지각하지 않게 도와주는 서비스 `프로젝트 오디`에서는3차 스프린트 목표로 실시간 친구 도착 여부를 알 수 있는 기능을 핵심 기능으로 삼았습니다. 프로젝트 오디의 서비스가 궁금하신 분들을 위해 소개 영상을 첨부합니다.https://youtu.be/-dsyc4CppL0 여기서 `실시간 친구의 도착 여부를 알 수 있는 기능`이란 약속 30분 전부터 친구에게 물어보지 않아도 시간 내에 도착할 수 있을지, 어느정도 걸릴지 등 실시간으로 친구의 위치를 기반으로 도착 예정정보를 제공하는 기능을 일컫습니다. 즉, 우리는 소비자에게 두 가지 기능을 제공해주고자 했습니다.1) 시간 정보 : 친구가 약속장소까지 몇 분정도 남았는지 알 수 있다2) 지각 정보 : 친구가 지각할지, 안 할지 물어보.. 🌐NAT gateway로 private 서브넷에서 외부 API 호출하기 안녕하세요 브로코딩입니다. 오늘은 프로젝트 '오디'에서 EC2가 private subnet안으로 들어감에 따라 외부 API 호출이 되지 않았던 문제를 극복했던 과정에 대해 기록해볼까 합니다. 🤔 Situation : 무슨 상황이었나? : private 서브넷 인스턴스에서 외부 API를 호출하지 못함 상황은 이렇습니다. 우아한 테크코스 레벨4 운영환경에서 미션 요구사항은 public subnet에 있는 prod 서버를 private subnet 내로 옮기는 작업이었습니다. AS- IS TO-BE 여러가지 변화가 있지만 이슈를 겪게 했던 가장 큰 변화는 바로 public subnet 내에 있었던 prod 서버 ec2가 private subnet으로 들어가면서부터였습니다. 현재 오디 팀에서는 실시간 대.. CD 배포 스크립트 실행 중 오류가 발생한다면? : tag를 활용한 롤백 전략 구축 하기 우아한 테크코스 Level 3 마지막 주에는 크루와 코치님 한분이 팀을 이루어 서로가 팀 프로젝트 안에서 배운 것을 면접 식으로 문답하는 '레벨 인터뷰'라는 문화가 있습니다. 저는 CI / CD 스크립트 작성을 맡아 이에 대한 질문을 받았는데요. 많은 질문 중 한 가지 질문에 크게 당황하며 답하지 못했던 기억이 있습니다. 바로 이 질문인데요. CD 스크립트 수행 중 오류가 발생하면이를 대처할 롤백 전략을 세워두셨습니까? 왜 생각해보지 못했나?- 운영 단계가 아니라 dev 서버 밖에 존재하지 않았기에 CD 스크립트 실패를 크게 염두해두지 않았습니다 그러나, 운영환경에서 CD 스크립트가 실패한다면? 그러나 운영 단계에서는 애플리케이션을 띄우는 과정에서 오류가 발생했다면 이를 대처할만한 롤백전략의 중요성.. 🙉 Test Fixture 생성전략에 대한 고민 feat) FixtureMonkey 무엇이 문제였나?팀 컨벤션으로 dummy sql을 사용하지 않기 + @Transaction을 사용하지 않기로 정했다.즉, 매 test마다 데이터 셋업을 통해 테스트 격리성을 챙기기로 했다 그러나, domain 객체가 하나둘 많아지면서 테스트 작성시 데이터 셋업 과정이 매우 길어지게 되었다.비슷한 도메인 객체를 초기화해주는 과정이 반복되었고, 이러한 불편함은 연관관계가 많은 객체일수록 심해져갔다. [이전 코드 - given 절이 매우 길다] @DisplayName("내 약속 목록 조회 시 오름차순 정렬한다.") @Test void findAllByMember() { //given Member member = memberRepository.save( .. Odsay 대중교통 길찾기 API를 쓰며 느낀 3가지 단점 일전에 프로젝트에 도입할 대중교통 길찾기 API 비교글을 작성했었다. 당시 우리 팀은 Odsay API를 활용하기로 선택했었는데, 배우기 쉽고 구현하기 쉽다는 것이 가장 큰 이유였다. 그러나, 직접 API를 사용하며 몇가지 불편함을 느꼈는데, Odsay API 활용을 고려하고 계시는 분들께 도움이 되고자 글을 작성해보고자 한다. 불편한 점은 다음과 같았다.1) 일일 호출 건수가 1000건으로 매우 적다.2) 에러 시, 상태코드 200이 반환되며 에러 객체 형태가 가변적이다.3) 호출 IP 주소를 직접 등록해주어야 한다. 그럼 Odsay API의 불편한 점들과 나름대로 생각해낸 극복방안을 소개해보고자 한다. 1) 일일 호출 건수가 1000건으로 매우 적다. 오디세이에 일일 호출 가능 건수는 1000건이다.. [Google Maps vs Odsay] 대중 교통 길찾기 API 비교하기 상황 프로젝트 진행 중 출발지(A)와 도착지(B)의 좌표값을 기반으로 대중교통을 이용할 때 어느정도의 시간이 소요되는지를 알아야 했다. 그 과정에서 Google Maps API와 Odsay가 후보군으로 추려졌다. 각 vendor의 대중교통 길찾기 API는 어떤 장단점을 가지고 있을까? 직접 코드를 쳐보며 장단점을 느껴보자 [SPEC 비교] - 요약vendorGoogle Maps APIOdsay특징- 월간 200달러 한도 무료(초과시 자동 과금)- 1000건에 5달러=> 일간 1333건까지 무료- 일 1000건- 6개월 간 무료 [ Odsay]=> 일 1000건에 한해 6개월간 무료 이용 가능하다= 오디세이 플랜 링크 [Google Maps]구글은 제공하는 API 기능에 따라 가격이 다르다매월 200달러.. [인프라 구축] AWS EC2 백엔드 API 서버 배포 배포(Deployment)- 다른 사용자들이 인터넷을 통해 사용할 수 있게 만드는 것- 우리가 개발을 할 때는 localhost로 개발하게 되나, 다른 컴퓨터에서는 접근이 불가하다 EC2(Elastic Compute Cloud)란?- 컴퓨터를 원격으로 접속해 사용하는 서비스- 서버를 배포하기 위해서는 컴퓨터가 필요하나, 시간적 경제적 비용이 막대하다.- 따라서 AWS EC2라는 컴퓨터를 빌려 사용하는 것- 주로 백엔드 서버 배포에 사용 EC2 배포 - Region 설정: 리전이란 인프라를 지리적으로 나누어 배포한 데이터 센터: EC2는 원격으로 컴퓨터를 빌리는 것이다.: 어디에 있는 컴퓨터를 빌릴 것인가? 에 대한 설정이 region: 사용자의 위치와 지리적으로 가까울수록 전송 속도가 빠르다 ec2 기본.. 이전 1 2 다음