목록2024/08 (5)
미소를뿌리는감자의 코딩
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만큼을 필요로 하지 않기에, 상대적으로 빠른 ..
1번의 경우 아래와 같이 코드를 작성했다. @Transactional public boolean isCreatedChat(Long userId, Long tutorId) { User user = findByIdAndCheckPresent(userId, false); List chatParticipants = user.getChatParticipants(); for (ChatParticipant chatParticipant : chatParticipants) { List roomParticipants = chatParticipantRepository.findByChatRoomId(chatParticipant.getChatRoom().get..