과제 내용
도커 실습 예제. 도커 이미지를 바탕으로 MySQL, Django 컨테이너를 만들어서 장고 컨테이너에서 홈페이지를 들어오는 Client의 IP를 받아 IP를 조회할 수 있는 API 구현
흐름도
1) MySQL과 Django에 적절한 image를 기반으로 컨테이너 생성
2) MySQL과 Django 컨테이너를 연동
3) Django 컨테이너에서 IP 조회 API를 구현
4) Client가 GET 호출을 하면 IP 및 데이터가 MySQL DB에 저장됨
5) Client에 response로 IP 및 데이터를 전송
과제 내용
API GW, Lambda 실습 예제. 1번 과제랑 동일하지만 Docker 컨테이너에서 구현한 API를, API GW / Lambda로 구현
흐름도
1) Client로부터 GET 호출 발생
2) GET 호출을 API GW가 Lambda로 라우팅 해줌
3) Lambda에서 AWS RDS, Dynamo DB로 데이터를 전송 및 받아옴
4) Lambda에서 Client로 IP 및 데이터를 전송.
과제 내용
트래픽 테스트 예제. 10000번의 HTTP 호출을 하여 Lambda에서 10000번의 쿼리문을 DB에 보내고 DB에 몇 개의 데이터가 저장되는지 확인.
흐름도
1) Client에서 Multi Thread를 만들어 10000번의 호출을 보냄
2) API GW에서 Lambda로 호출을 라우팅 해줌
3) Lambda에서 10000번의 호출에 대해서 10000번의 쿼리문을 DB에 보냄
4) DB에서 몇 개의 데이터가 저장되었는지 확인
과제 내용
두 번째 트래픽 테스트 예제. 첫 번째 예제에서는 1/5 정도의 데이터만이 DB에 저장이 됨. 이를 해결하는 방법에 대해서 진행한 예제.
흐름도
1) Client에서 10000번의 호출을 보냄
2) API GW에서 Lambda로 호출을 라우팅 해줌
3) Lambda에서 호출을 내용을 SQS로 메시지를 보냄
4) SQS에서 Queue로 여러 개의 메시지를 축적하여 한 번에 Trigger Lambda로 보냄
5) Trigger Lambda에서 Bulk Message에 대해서 하나의 쿼리문으로 Bulk Message 내용을 받아 DB로 전송
6) DB에 모든 데이터가 저장됨
Yolov4 Darknet
1) Graphic Driver, CUDA, cudnn 설치
2) Yolov4 알고리즘으로 내시경 영상을 돌려 용종 Detecting 영상을 만듦
DeepSort
1) 필요 라이브러리를 설치
2) DeepSort 알고리즘으로 내시경 영상을 돌려 용종 Detecting 영상을 만듦
3) Detecting이 제대로 되지 않아 iou, anchor 값을 변경해서 다시 해봄.
4) 그래도 좋은 결과가 나타나지 않아, SORT 알고리즘으로 돌려보려고 했음. 하지만 SORT 알고리즘을 커스텀해서 사용하기에는 실력이 부족하였음.