전체 글
-
항해 99 5기 WIL_13항해 99 2022. 4. 11. 06:30
▶ Weekly I Learned (회고) 프로젝트가 끝나가면서도 여전히 배울게 많은 요즘이다. 단순히 비즈니스 로직만 짜는 것이 아닌 AWS의 기술들, 도커와 CI/CD, 타입스크립트 등 다른 팀원 분들이 적용하신 부분들을 공부하고 있다. 쉽지 않지만 하나씩 차근히 따라해보고 필요한 부분은 공부하며 내것으로 만들어나가자. 화이팅팅! + 항해 동안의 WIL 작성은 이것으로 마무리이다. 모두와 함께하던 시간이 그리울 듯 하다. 다같이 열심히 공부하고 답을 찾아나가던, 아니, 우리만의 답을 완성해가던 그때를 기억하며 그 열정을 가지고 꾸준히 공부해나가자. 화이팅팅 :) ▶ 공부 시 참고 링크들 없음
-
항해 99 5기 TIL_91항해 99 2022. 4. 11. 06:30
▶ Today I Learned 며칠 전 찾은 글에 이어 추가적으로 도커에 대해 정리해보고자 한다. IBM의 정의: "Docker is an open source platform for building, deploying, and managing containerized applications." 도커는 컨테이너화된 애플리케이션을 만들고 배포하고 관리하는 오픈소스 플랫폼이다. "Docker is an open source containerization platform. It enables developers to package applications into containers—standardized executable components combining application source code wi..
-
항해 99 5기 TIL_90항해 99 2022. 4. 10. 00:10
▶ Today I Learned [이력서] 종이 규격에 맞는 워드 파일 것은 것을 사용하기! (하지만 제출 시에는 pdf나 링크 사용! 뷰어가 없는 경우에 대비하여!) 이력서 포맷은 인터넷에도 많이 나와 있음 [이력서의 목적] 1) 면접 볼만한 사람을 걸러내기 위해 채용 담당자가 보기에 빠르게 보다가도 '오 다시봐야지' 하는 생각이 들 수 있는가 2) 면접 질문을 준비하기 위해 이력서 내용이 면접 때 어떤 질문으로 이어질지 고민하고 작성하자 3) 나의 부족한 점을 발견하는 것 이력서에 쓸 내용이 없다면? 의미있는 경험이 더 필요하다는 뜻 혹은 한 일에 대한 성과를 모르거나 숫자로 표현할 수 없다는 것 -> 일할 땐 항상 성과(목표)에 집중하고 숫자로 나타낼 수 있도록 항상 측정하고 기록하자. 즉, ‘통계..
-
항해 99 5기 TIL_89항해 99 2022. 4. 9. 20:24
▶ Today I Learned [최종 발표회] 팀원들과 그간 준비한 프로젝트에 대해 최종 발표회를 진행하였다. 우리의 최종 프로젝트 아키텍처는 다음과 같다. 기본적으로 메인이 되는 화상채팅 기능은 WebRTC 기술인 simple peer를 사용하였다. P2P방식을 사용하였기에 많은 인원을 수용할 수는 없으며 인원 제한은 4명으로 두었다. STUN 서버는 구글에서 제공되는 것을 사용한 것으로 안다. 그 외 보안을 위해 HTTPS를 설정했고 편리한 배포를 위해 Travis CI와 Docker를 이용, 서버 이용량 증가 시 자동 확장을 위해 Amazon Auto Scailing을 사용하였다. 클라이언트로 부터 어떤 트래픽이 발생하면 Elastic Load Balancer가 이를 서버 상에서 적절히 나누어준다..
-
항해 99 5기 TIL_88항해 99 2022. 4. 8. 00:14
▶ Today I Learned [프로젝트 발표영상 피드백] 1) 각 서버 안에서 다시 도커 컨테이너를 실행시키는 이유는 뭔가요? 즉, 도커를 사용한 이유가 궁금합니다. 왜냐면 이미 오토 스케일링 되는 환경을 구성했는데 하나의 서버에 하나의 컨테이너만 실행하는 것이 어떤 점에서 도커를 사용하는 의미가 있는 것인지 모르겠습니다. 굳이 컨테이너로 만들지 않아도 어차피 오토 스케일링 하는 과정에서 똑같은 서비스가 복제되어 생성되지 않나요? 2) RDB와 NoSQL DB를 함께 사용한 이유가 NoSQL DB가 로그를 남기기에 더 좋다고 판단해서라고 했는데 실제로 얼마나 좋았나요? RDB와 NoSQL DB에 각각 로그를 남기는 테스트 해서 나온 객관적인 결과로 결정한 건가요? 그리고 실제로 어느 한쪽이 더 좋은 ..
-
항해 99 5기 TIL_87항해 99 2022. 4. 7. 11:44
▶ Today I Learned [HTTPS] 프로젝트 초반에는 제작에 초점을 맞춰 HTTP로 시작하였지만 보안을 위해 이를 HTTPS로 바꾸어주어야 한다. 이를 위해 HTTPS가 무엇인지 정리해보겠다. cf) HTTP: HyperText Transfer Protocol, 하이퍼텍스트란 참조를 통해 독자가 다른 문서로 즉시 접근할 수 있는 텍스트이다. HTTP는 하이퍼텍스트를 전송하기 위한 통신규약이다. 쉽게 말해 인터넷에서 HTML과 같은 문서를 사용자 컴퓨터에 설치된 웹 브라우저가 웹 서버에 요청할 때의 규칙인 것이다. 기본 포트는 80번이다. HTTP는 텍스트로 정보를 주고 받는데 네트워크 상에서 전송 신호를 가로채는 경우 데이터 유출이 발생할 수 있다. 이러한 보안 문제를 해결하기 위해 나온 것이..
-
항해 99 5기 TIL_86항해 99 2022. 4. 7. 00:38
▶ Today I Learned [STUN서버와 TURN 서버] WebRTC를 사용하다 보니 stun서버와 turn서버라는 개념이 등장했다. 우리의 경우 구글에서 제공되는 stun 서버의 주소를 임의로 사용하였는데 각각에 대해서 조사해보았다. 우선 두 서버가 사용되는 이유는 WebRTC에서 Peer간의 시그널링이 필요한 데 유저 간에 방화벽이나 NAT환경이 존재할 경우 직접적인 시그널링이 불가능하다. 따라서 중간에서 중개해줄 대상이 필요한데 이 때 사용되는 것이 STUN서버와 TURN 서버이다. STUN: Session Traversal Uilities for NAT의 약자, MDN 문서에 따르면 NAT을 할 때 데이터를 전송하는 보조 프로토콜이다. STUN은 IP 주소와 포트, 그리고 NAT에서 네트워..
-
항해 99 5기 TIL_85항해 99 2022. 4. 5. 03:48
▶ Today I Learned [방 제목, 태그, 카테고리로 검색하기 - 문제 해결] 지난 주 토요일 구현 후 오랜 시간 끝에 드디어 구현했다. 코드는 아래와 같다. // 개발자 꿈나물 세번째 시도 /* 제목, 카테고리, 태그 순으로 조건에 부합하는 방 모두 가져오기 겹치는 방이 없도록 배열 내 중복 제거 시간 순과 내림차순으로 정렬 이떄 offset과 roomSearchingLimit은 적용하지 않음, 태그로 찾은 방, 카테고리로 찾은 방, 제목으로 찾은 방 간에 시간차가 있기 때문, 예를 들어 각각 7개의 방을 찾았는데 시간 순으로 따졌을 때 태그 2, 카테고리 2개, 제목 3개 총 7개의 방이 노출됨, 여기서 offset으로 각각의 Room.findAll 마다 방을 7개씩 건너가 버리면 중간에 생..