목록프로젝트 (21)
미소를뿌리는감자의 코딩
1. 개요이번에 Flask를 기반으로 한 프로젝트를 진행하게 되면서 CI/CD를 적용시키게 되었다.Spring(Java)를 기반으로 한 배포가 익숙하였기에, 새로운 도전이 되었다. 이전에 하던 배포와 유사하게, github dev에 push가 되게 되면, github actions가 동작하도록 구성하였다.이후, docker image를 만들고 이를 ECR에 올렸다.EC2에서 docker-compose를 이용해서, ECR에서 이미지를 가져와서 배포를 하도록 하였다. 항상 헷갈리기에 또 정리해보는~! docker는 왜 사용하는 것일까? docker의 정의: 개발자가 컨테이너를 구축, 배포, 실행 즉, 관리할 수 있게 해주는 오픈 소스 플랫폼이다. 도커 이미지로 언어와 프레임워크를 정의를 해 둔 후, 이를 컨..
1. 개요SSL 인증서를 추가해 보았다. 2. 적용https://velog.io/@jungtaesu/AWS-EC2-https-%EC%97%B0%EA%B2%B0-%EA%B0%80%EB%B9%84%EC%95%84 AWS EC2 - https 연결 (가비아)본인이 배포한 사이트의 도메인이 그저 ip와 포트가 적힌 모습이 아닌 원하는 이름으로 배포된 모습을 보면 더욱 뿌듯할 겁니다.오늘은 가비아와 AWS EC2 이용해서 https 연결까지 해보겠습니다.가velog.io 이 분의 블로그를 보고, 적용을 해보았다.SSL 인증서를 추가해 본 것은 처음이라, aws 과정이 어떤 것을 의미하는지 이해하는 과정을 가져보도록 할 것이다. 가비아에서 구매해 두었던 도메인을 이용할 것이다. 호스팅 영역 생성을 통해 DNS에서 ..
1. 개요채팅 서버 1차적 구현을 완료하고, 배포를 시작하였다.무중단 배포를 목표로 구현을 하였으며 MongoDB를 이용하기로 생각하였다.MongoDB를 RDS에서 선택해서 구현할 수 있을 것이라 생각하였지만, 예상과 달리 RDS에는 MongoDB가 없었다.사실 relation이 아니라서 그것이 맞는 것이기도 하다. 따라서 Docker를 이용해서 container로 MongoDB를 띄우기로 생각하고 구현을 시작하였다. 2. Swagger 적용프론트엔드분들에게 API에 대한 정보를 보내드리기 위해 Swagger를 이용하였다. https://velog.io/@gmlstjq123/SpringBoot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%97%90-Swagger-UI-%EC%A..
1. 개요처음엔 채팅 서버를 비동기적으로 처리하기로 목표를 잡았다.그렇게 코드를 구현하던 도중, Webflux가 pub/sub을 지원하지 않는다는 것을 알게 되었다.MVC 기반이 아닌, webflux를 기반 구현 목표로 하고 있던 나에게는 당황스러웠다.구독 기능을 직접 구현하는 것이 이미 기존에 작성된 stomp 기능보다 효율적일 지 고민이 되었다.직접 구독을 잘 구현할 엄두가 나지 않았던 것도 사실이다. 추후에 기능을 확장시켜서 여러명이서 채팅을 하도록 기능을 수정하게 된다면 pub/sub은 필수적이었기에, 아쉽지만 MVC 패턴으로 구현하기로 마음먹었다. 2. 백엔드 코드 구성저장은 mongoDB에 저장하기로 결정하였다. 그 이유로는 관계형 database만큼을 필요로 하지 않기에, 상대적으로 빠른 ..