본문 바로가기

프로젝트/AeStagram4

배포환경에서 애플리케이션과 S3 연동방법 본 포스팅은 이미 AWS에 EC2와 S3가 만들어져 있다고 가정하고 시작하겠습니다. 혹시라도 S3를 어떻게 만들지?, SpringBoot와 연동은 어떻게 하지? 하시는 분이 있으시다면 이전 포스팅을 참고 부탁드립니다. RDS 만들기 일단 SpringBoot 애플리케이션을 EC2에 띄우기 위해서는 해당 애플리케이션이 접속하는 DB를 구축해야 합니다. 여기서는 MariaDB를 사용하였습니다. MariaDB를 사용하는 이유는 가격입니다. 현재 AWS의 프리티어를 사용하고 있어 1년동안은 최대한 프리티어의 이점을 누리기 위해서 제일먼저 고민했던 부분입니다. MariaDB는 라이센스가 무료임으로 추후 프리티어 기간이 끝나도 MsSql이나 Oracle보다 가격선방을 해줄 것 같았습니다. 또한 성능면에서도 Mysql.. 2021. 10. 26.
Spring Boot AWS S3 연동 진행하던 프로젝트에서 정적 이미지를 업로드 하는 기능이 필요하여 가장 많이 사용하는 AWS S3를 어떻게 구성하고 사용했는지 공유하려고 합니다. 🤔어떤 S3를 사용할까? S3는 AWS뿐만아니라 대표적으로 MS, Google 등 많은 곳에서 제공하고있습니다. 그중 AWS를 사용하기로 결정한 이유는 다음과 같습니다. 클라우드 서비스 중 AWS를 사용한적이 없습니다...(Naver Cloud Platform, GCP) 등 사용한 적이 없어 이번엔 AWS와 친해보려고 합니다. 많은 기업들이 사용하고 있습니다. 1년동안 무료로 사용할 수 있습니다. AWS의 S3로 결정하고 정보를 찾던 도중 GCS는 월 5G까지 무료라고... 하지만 이번엔 1년동안 AWS와 친해져서 익숙해지려고 합니다. S3같은 서비스를 사용하는.. 2021. 10. 22.
페이지네이션 어떻게 처리해야 할까요? 피드를 개발하던 도중 페이징 처리에 대해서 고민을 하게되었습니다. 페이징은 크게 2가지로(offset 방식, cursor방식) 볼 수 있습니다. 각각의 장단점을 파악한 뒤 해당 프로젝트에서는 왜 cursor방식으로 선택했는지 공유해보고자 합니다. offset방식은 offset과 limit를 기준으로 DB에서 특정부분 데이터를 가져오는 방식을 말합니다. 그래서 sql쿼리를 보면 다음과 같습니다. SELECT * FROM Feed ORDER BY updated_at DESC LIMIT 0, 10;그래서 해당 프로젝트에서는 JPA를 사용하기 때문에 JPA에서 제공하는 pageable을 사용하여 손쉽게 페이징처리를 하였습니다. PageRequest pageRequest = PageRequest.of(pageIn.. 2021. 9. 30.
Spring rest docs를 사용한 API문서화 🤔Swegger대신 Spring Rest Docs를 왜 사용하나요? 일단 Swegger와 Spring Rest Docs를 왜 사용해야 할까요? 백엔드 개발의 주된 일은 바로 Api를 제공하는 일 입니다. Api를 프론트 개발자에게 전달한다는 것은 수 많은 대화가 필요하다는 것을 의미합니다. 이러한 대화를 조금이라도 줄인다면 더 많은 성과와 업무 효율을 극대화 할 수 있습니다. 따라서 백엔드 개발자는 Api문서를 제공하여 파라미터 설명, 요청 url, 응답 형식 등을 알려주어 해당 Api를 사용할 개발자들에게 알려줄 의무가 있습니다. 주로 Java 진영에서는 Swegger, Spring Rest Docs를 사용하여 Api 문서를 제공합니다. 우선 Swegger, Spring Rest Docs의 특징을 비교.. 2021. 9. 21.