개발일지/개발일지
-
[Django] Redis로 API rate limit 해결하기개발일지/개발일지 2021. 7. 4. 22:14
백엔드 개발을 하다보면 외부 서비스가 제공하는 API를 사용하는 경우가 많습니다. 예를 들어, 다른 서비스의 유저 정보를 조회를 하거나, 다른 어플리케이션의 status를 확인하는 경우 등 입니다. 그리고 API request의 시간을 줄이기 위해 비동기적으로 구현하여 동시에 많은량의 API request 신호를 보낼수도 있습니다. 만약 외부 API에 "20 requests per second" 같은 rate limit이 존재한다면 구현이 조금 복잡해집니다. API request의 속도를 높이기 위해 비동기, 멀티쓰레딩 등 방법을 사용하여 동시에 여러 API requests를 발생시키도록 하였는데, 만약 우리의 어플리케이션을 동시에 여러 유저들이 사용하면 주어진 rate limit을 쉽게 초과해버리기 때..
-
나만의 온라인저지 사이트 만들기 - 3개발일지/개발일지 2021. 7. 3. 00:01
이번 포스팅에서는 가비아를 통한 도메인네임 등록과 ssl 인증서 발급하는 방법에 대해 포스팅 하겠습니다. 먼저 가비아 : https://www.gabia.com에 접속하여 회원가입 및 로그인을 한 뒤, 원하는 도메인을 구입해줍니다. 만약 *.shop 도메인인이 주로 저렴하니 추천드립니다. 도메인을 구입하셨다면 마이페이지->DNS관리툴로 들어가서 방금 구입한 도메인네임 옆 설정을 눌려줍니다. 그다음 레코드수정을 누르면 아래와 같이 나올텐데, 아래와 같이 타입은 A, 호스트는 www, 값은 자신의 ip주소를 입력해줍시다. TTL은 원하시는 값을 택하시면 됩니다. 그럼 도메인네임 등록이 끝났습니다! 구입한 도메인을 브라우저로 접속해보면 배포하고있는 Onlinejudge로 접속이 될것입니다. 그런데 Online..
-
나만의 온라인저지 사이트 만들기 - 2개발일지/개발일지 2021. 6. 28. 21:29
이번 포스팅에서는 Online Judge의 프론트엔드 수정하는 방법에 대해 알아보겠습니다. 일단 프론트엔드 레포를 clone 해줄 필요가 있습니다. 아래 링크로 들어가 레포 주소를 복사한 다음 개인 디렉토리에 git clone 해줍니다. https://github.com/QingdaoU/OnlineJudgeFE QingdaoU/OnlineJudgeFE A multiple pages app built for OnlineJudge. Contribute to QingdaoU/OnlineJudgeFE development by creating an account on GitHub. github.com 터미널에서 레포 디렉토리로 이동한 뒤 아래 커맨드들을 입력해서 프론트엔드를 실행해봅시다. $ npm instal..
-
AWS ec2 프리티어 t2.micro 인스턴스 다운문제 해결개발일지/개발일지 2021. 6. 25. 22:56
작은 개인 프로젝트 배포를 위해 AWS EC2중 무료인 t2.micro를 사용하시는 분들이 많을 것입니다. 그런데 t2.micro를 사용하다보면 인스턴스가 다운돼서 분명 인스턴스 상태는 running 이지만 ssh 접속이 안되고 배포가 정상적으로 이루어지지 않아 강제종료후 재시작한 경험이 많을 것입니다. 위와 같은 문제의 이유는 여러가지 있겠지만 아마 80% 이상은 메인메모리 부족때문에 생긴것입니다. t2.micro의 메모리는 1GB 밖에 되지 않아 웹배포라도 하나 돌리면 거의 메모리가 꽉차게 되어 다운되는 것입니다. 이 문제를 해결하기 위해 메모리가 더 큰 인스턴스를 사용하는 방법도 있겠지만 이러면 서버운영비가 나가게 되는데 작은 프로젝트 돌리기에는 너~무 아깝다. 그래서 다른 해결책을 소개해드리고자 ..
-
나만의 온라인저지 사이트 만들기 - 1개발일지/개발일지 2021. 6. 25. 22:41
어느 날 저는 수업 실습 조교를 맡게 되었고, 갑작스럽게 비대면 실습을 진행해야 하는 상황이라 어떻게 하면 비대면으로 그나마 효과적인 실습수업을 할 수 있을까 고민을 했었는데요. 저는 그래서 백준, 코드 포스처럼 온라인 저지 (Online Judge)를 구현해서 수업 때 하면 어떨까 생각을 하게 되었습니다. 그런데 수업까지 1주일도 남지 않은 상황이라 저지 사이트를 처음부터 구현을 하기에는 무리였고 괜찮은 소스가 있나 찾아봤는데 칭다오대학교에서 오픈소스로 배포하는 OnlineJudge 을 발견하였고 배포 환경부터 배포까지 일지를 남깁니다. 배포서버의 OS는 linux, mac을 추천합니다. 윈도우는 wsl으로는 안되고 wsl 2.0은 시도는 안해봤지만 패스... github.com/QingdaoU/Onl..