본문 바로가기

프로젝트/토이 프로젝트9

Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 완 나만의 작은 토이 프로젝트를 끝마쳤다. 중간에 정보처리기사 필기도 봐서 너무 늦어졌지만, 토이 프로젝트를 결국 마쳤다. 회고를 해보자면.. 아직 많이 부족한 것 같다. 클린 코드나 객체지향적 설계 그리고 테스트 코드까지 숙달이 필요하다. 그래도, 덕분에 최소한 이제는 코드와 관련하여 고민해볼 수 있는 사람이 된 것 같다. 학교에서 배운 것들이 조금씩 생각나며 이제는 올바른 코드를 작성할 수 있는 사람이 되어야겠다는 생각이 들은 것은 아주 좋은 현상이라고 생각한다. 가상머신으로 진행하여 애를 많이 먹었지만, 그래도 재미있었다. 잘 안풀릴 땐 솔직히 재밌진 않지만, 오기가 생겨 계속 하다가 성공할 때 참 재밌음을 느낀다. 나름 많은 것을 얻었다. AWS S3나 이메일 인증, CI/CD까지 새로운 것들을 해봐.. 2024. 3. 1.
Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 8 이번 포스팅에서는 AWS S3 테스트와 API 명세서를 작성한 과정을 담는다. 우선, AWS S3를 사용하기 위해 MockS3를 사용한다. 그 이유는 S3에 테스트를 위해 생성한 파일들이 계속 저장되기도 하고 프리티어 계정에는 GET/POST 요청이 횟수 제한이 있기 때문이다. 따라서, 관련된 설정을 해줘야 한다. MockAwsS3Config 기존 AmazonS3 대신 MockAwsS3Config를 사용한다. 이때 사용되는 @Primary는 동일한 빈이 있을 때 우선순위를 설정해준다. @Configuration public class MockAwsS3Config extends AwsS3Config { @Bean @Primary @Override public AmazonS3 amazonS3Client() .. 2024. 2. 28.
Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 7 이번 포스팅에서는 AWS S3에 사용자의 프로필 이미지를 CRUD(?)한 과정을 담는다. AWS S3가 뭘까? AWS Simple Storage Service의 줄임말로 Object Storage 개념이 적용되었다고 생각하면 된다. 파일을 저장하고 불러오는 작업이 RESTful API를 통해 간단하고 뛰어난 보안성을 자랑한다. 장점 거의 무제한에 가까운 용량이다.(물론 용량 제한도 설정할 수 있다.) 보안성이 아주 좋다. 저렴한 비용 플랫 구조를 사용한 빠른 탐색 높은 객체 가용성 개인적으로 AWS S3는 학부연구생을 하며 Object Storage 개념의 Ceph에 관한 논문을 작성했기에 친숙했다. Object Storage 관련해서는 아래 포스팅을 참고 바란다. https://hdbstn3055.ti.. 2024. 2. 26.
Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 6 이번 포스팅에서는 엄청난 우여곡절 끝에 성공해낸 Github actions + Docker CI/CD에 대해 포스팅 하려한다. 원래는 AWS S3에 이미지 CRUD를 진행하려했다. 하지만, 해외가능 카드가 존재하지 않아 발급하였다. 그래서, 남는 시간에 CI/CD를 시작했다. 나의 서버 환경은 다음과 같다. github actions VirtualBox 가상머신 YN01 VirtualBox 가상머신 YN02 설정한 가상머신 네트워크 환경에 대해 간략하게 설명하자면, 통신사 모뎀 -> 와이파이, 데스크탑 -> 데스크탑 내 가상머신(어댑터에 브릿지) 여기서 가상머신 네트워크 설정을 어댑터에 브릿지로 설정하면 모뎀 입장에서는 해당 가상머신을 하나의 호스트로 인식하여 IP를 할당해준다.(가상머신에 대한 자세한 .. 2024. 2. 25.