전체 글
-
WebRTC 찍어먹기개발 2024. 5. 1. 15:48
WebRTC란?WebRTC는 중간자 없이 브라우저 간 미디어 스트림과 데이터 교환을 지원하는 기술이다. 우리가 많이 접하는 서비스로는 Zoom, Facetime이 있고 게임 리모트 플레이에도 사용된다.WebRTC의 장점 source: wowzaWebRTC는 P2P 통신이기 때문에 매우 적은 지연 시간을 보여준다. 또한 WebRTC는 브라우저 위에서 동작할 수 있기 때문에 다양한 OS 환경에서 쉽게 사용할 수 있다.WebRTC의 단점제한된 사용성하지만 WebRTC에는 다양한 단점이 존재하는데 첫째로 화상통화를 위해 만들어졌기 때문에 그외의 모든 작업에서 문제가 발생한다. WebRTC는 최고의 실시간성을 보장하기 위해 너무 많은 화질 열화를 감수해야한다. 이 부분은 하드코딩 되어 있어 조절이 불가능하다.어려..
-
소프트웨어마에스트로 14기 수료 후기잡담 2023. 12. 19. 11:29
2023년 12월 14일 소프트웨어마에스트로 14기의 정식 활동이 모두 끝났다. 사실 활동 자체는 11월 30일에 끝났긴 했지만, 수료를 하니까 더 실감이 나는 것 같다. 8개월의 시간이 훅 지나간 느낌이다. 특히 9월, 10월은 너무 빠르게 지나갔다. 3인으로 상용 가능한 서비스를 만들기에는 조금 벅찬 기간이었지만 나름 노력해서 잘 마무리한 것 같다. 인증이 되진 않았지만, 스스로 많이 성장할 수 있는 계기가 된 것 같다. 나는 소마에서 네트워킹, 개발 능력 향상을 목표를 했다. 개발 능력 향상은 대용량 서버를 위한 캐시 적용과 TCP 리눅스 최적화를 경험하면서 향상된 느낌이지만, 네트워킹은 소마 컨퍼런스 발표 등 다양한 활동에 참여했지만, 센터 자체에 많이 가지 않아서 그런지 큰 수확은 없었다. 그래..
-
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..
-
2023 -상-잡담 2023. 6. 27. 17:44
올해의 목표올해에는 1학기에만 학교를 다니고 2학기에는 외부 활동을 하는 것이 목표였다. 이번 상반기에 한 것들웨이브 채용연계형 인턴1월달에 웨이브 채용연계형 백엔드 직군 인턴을 지원했다. 이력이나 활동들이 나쁘지 않다고 생각해서 서류는 붙을 줄 알았지만, 서류에서 광탈을 했다. 정규직도 아니고 인턴을 광탈하니까 내가 지금까지 한 것들이 별거 아니였나 싶었다. 이때 자소설닷컴 채팅에서 나보다 좋은 스펙인 사람들도 떨어졌다는 거를 보면서 멘탈을 잡았다. 진짜인지 이닌진 모르지만 그냥 멘탈 회복에 도움이 됐다. 소프트웨어 마에스트로4년전에 떨어진 소프트웨어 마에스트로에 지원했다. 최종 합격을 해서 현재 연수생을 활동하고 있다. 대학교 학부 연구생개강 전 친한 교수님께 공부할 자리가 필요하다고 부탁드려서 연구..
-
소프트웨어 마에스트로 14기 합격 후기잡담 2023. 3. 24. 18:03
이번 14기의 선발 일정은 아래와 같았다. 지원서 검토 지원서는 그냥 내가 지금까지 했던 활동들을 잘 정리해서 작성했다. 설명회에서는 이상하게 쓴 게 없는지만 확인한다 하긴 했는데, 면접에서 다른 사람 질문할 때 확인하는 거 보면 열심히 써야 하긴 한 것 같다. 1차 전형(코딩 테스트) 프로그래머스로 진행했다. 알고리즘 4문제, SQL 1문제가 나왔다. 코테 문제는 다른 블로그 보면 문제를 간단히 설명하는 곳이 많다. 근데 중간에 서버오류가 있어서 추가시간을 줬었다. 중간에 실행이 잘 안되긴 했었는데 그냥 다른 문제 읽으면서 생각해서 사실 큰 문제라고는 생각 안 했다. SQL은 간단한 쿼리문들만 작성했었는데 무슨 정규표현식 사용하는 문제가 나와서 그냥 버렸다. 결국 1,2,3번 3솔했다. 2차 전형(코딩..
-
관심있는 분야 전문가와 1:1 멘토링 하는 방법잡담 2023. 3. 20. 08:44
공부하다보면 꼭 혼자 해결하기 힘든 순간이 오기 마련이다. 나도 미디어 스트리밍 프로토콜을 공부하면서 자료를 찾는데 찾기도 힘들고 대부분 공식 문서가 아닌 개인 블로그의 글이라 신빙성도 떨이지는 글들이 대부분이었다. 그러던 중 데보션(DEVOCEAN)을 발견했다. 데보션은 SK 그룹 내의 개발 전문가들이 각 분야의 새로운 기술이나 지식에 대한 글을 올리는 커뮤니티이다. 마침 데보션에 미디어 스트리밍 관련 전문가분의 글이 있었고 해당 프로필로 들어가보니 멘토링을 신청할 수 있었다. 나는 관련 공부를 위한 방법을 알고싶었기 때문에 너무 다행이라고 생각했고 바로 멘토링을 신청해 질문을 보냈다. 답변은 하루가 채 되지않아 달렸다. 답변의 내용에는 내가 궁금했던 내용들에 대한 명쾌한 답변이 있었고, 대면 멘토링을..
-
크롬 익스텐션의 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(백그라운드 스크립트 또는 를 의미함) 는 삽입된 웹의 출처로 요..