개발
-
WebRTC 찍어먹기개발 2024. 5. 1. 15:48
WebRTC란?WebRTC는 중간자 없이 브라우저 간 미디어 스트림과 데이터 교환을 지원하는 기술이다. 우리가 많이 접하는 서비스로는 Zoom, Facetime이 있고 게임 리모트 플레이에도 사용된다.WebRTC의 장점 source: wowzaWebRTC는 P2P 통신이기 때문에 매우 적은 지연 시간을 보여준다. 또한 WebRTC는 브라우저 위에서 동작할 수 있기 때문에 다양한 OS 환경에서 쉽게 사용할 수 있다.WebRTC의 단점제한된 사용성하지만 WebRTC에는 다양한 단점이 존재하는데 첫째로 화상통화를 위해 만들어졌기 때문에 그외의 모든 작업에서 문제가 발생한다. WebRTC는 최고의 실시간성을 보장하기 위해 너무 많은 화질 열화를 감수해야한다. 이 부분은 하드코딩 되어 있어 조절이 불가능하다.어려..
-
AWS ec2에 wireguard로 VPN 구축하기개발 2023. 7. 25. 13:55
개발을 진행하면서 DB 서버를 보안상의 이유로 Private subnet 안에 넣는 것이 맞을 것 같다고 생각해 기존의 모두 Public subnet에 있던 구조를 변경하여 위의 사진과 같이 변경하였다. 변경하는 과정과 변경하면서 발생한 문제점을 공유해본다. 먼저 private subnet을 만들기 위해서 VPC 의 subnet을 하나 만들어 준다. 그 후 이 private subnet을 네트워크로 사용하는 ec2를 만든다. 이후 scp 커멘드를 이용해 DB 서버를 구축한다. 그 다음 동일 VPC에 존재하는 public subnet을 네트워크로 이용하는 ec2(51820 UDP 포트를 열어둔)를 하나 만들어준다. ec2에 Docker를 설치하고 wireguard 이미지를 다운받아 실행시켜주면된다. wir..
-
Nest.js 와 MongoDB 를 AWS ec2 환경에 Dockerizing 해 Github Actions를 통해 자동화 배포 설정하면서 배운 점개발 2023. 7. 13. 15:14
서론 SW마에스트로 과정 중 프로젝트 진행을 위해 개발 환경 설정을 테스트 해봤다. 그 중 발생했던 나중에 까먹지 않기 위해 문제와 고민을 정리하고 기록한다. nest.js 프로젝트 Dockerize 프로젝트 최상위 폴더에 Dockerfile 을 생성해준다. # 로컬 버전과 일치 FROM node:18.12.1 # node:18.12.1 이미지 가져오기 # 명령어를 실행할 워크 디렉토리 생성 RUN mkdir -p /app # mkdir -p /app 커맨드 실행 WORKDIR /app # /app로 디렉토리 이동 # 프로젝트 전체를 워크 디렉토리에 추가 ADD . /app/ # 프로젝트 파일을 모두 /app/ 경로로 복사 # 프로젝트에 사용되는 의존성 설치 RUN npm install # nest.js..
-
크롬 익스텐션의 CORS개발 2023. 1. 30. 15:18
CORS 란? CORS 은 Cross-Origin Resource Sharing 의 축약어로 다른 출처의 리소스 공유라는 뜻이다. 더 정확히 하고자 MDN 의 내용을 인용하면 "교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다." 라고 한다. 일반적으로 크롬 브라우저에서는 Xhr 나 fetch api 를 통해 서버에서 데이터를 주고 받을 수 있지만 같은 출처가 아니라면 Same policy 정책에 의해 제한된다. Content Script(백그라운드 스크립트 또는 를 의미함) 는 삽입된 웹의 출처로 요..
-
소득 분위 10분위가 전북대에서 1500만원 받고 학교 다니는 방법개발 2022. 12. 2. 21:37
나는 전북대 4학년이다. 지금까지 학교를 다니면서 받은 장학금을 모두 합하면 약 1500만 원이다. 학교에서 받은 장학금만이다 교외 장학금은 포함되어 있지 않다. 믿기 힘들 수도 있으니 전체 장학 목록을 캡처한 사진을 첨부한다. 내가 3학년 2학기까지 받은 총 장학 내역이다. 15건이며 정확히 15,434,000 원이다. 나는 10분위이라 국가장학금 및 각종 혜택을 받을 수 없다. 그럼에도 내가 1500만원이라는 장학금을 받을 수 있었던 방법은 매우 간단하다. 바로 학교 홈페이지의 '공지'를 매일 확인하는 것이다. 매우 간단하지 않은가? 이 글을 읽는다면 누구든지 할 수 있을 것이다. 누구는 이렇게 생각할 수 도 있다. '매일 공지를 본다고 뭐가 달라지나?' 그렇게 생각할 수 있다. 하지만 매일 공지를 ..
-
첫 오픈소스 기여로 배운 점개발 2022. 11. 6. 21:26
처음으로 오픈소스에 기여를 했다. PR 을 날리고 merge가 되는 순간까지 배운 점들을 기록한다. 우선, robyn 은 rust 런타임 의 비동기 파이썬 백엔드 프레임워크이다. 다른 파이썬 백엔드 프레임워크보다 훨씬 빠른 장점이 있다. 최근 유튜브 영상에서 소개가 되어 관심이 생겨서 한번 사용해봤다. 그런데 문제가 발생했다. 공식 문서를 보고 따라 해봤지만 앱이 계속 실행되지 않았다. 그때 나는 클라우드 서버를 이용하고 있어서 환경에 문제가 있는건가 헷갈려서 안되서 다른 환경에서도 시도해봤지만 작동하지 않았다. 그렇게 약 6시간동안 삽질을 한 결과, 앱이 항상 5000번 포트로만 동작한다는 것을 알았다. 너무 어이가 없어서 코드를 뜯어보니 호스트와 포트가 각각 127.0.0.1 과 5000번으로만 동작..