CodeDeploy로 CD 구성하기 With Github Actions, S3, Linux Service
2023. 9. 3. 19:51
Web
노션에서 보기 : https://cabi.oopy.io/b06df004-0449-4aa4-adfc-f15fe2d18f24 개요 이전 글 Github Actions로 CI 구성하기 with Spring Boot, 그리고 EC2로 서버 인스턴스 구성하기 with Spring Boot, Docker를 통해 CI와 서버 인스턴스를 구성해보았다. 이제, CI-CD의 마지막인 CD, 배포 부분을 구성해보려 한다. AWS EC2를 서버 인스턴스로서 사용하고, Github Actions에서도 사용하기 편리한 것으로 보여서 AWS의 CodeDeploy를 이용해서 CD를 구성해보고자 한다. CodeDeploy CodeDeploy는 EC2 인스턴스 등 애플리케이션 배포를 자동화하는 서비스다. CodeDeploy는 서버에서 ..
EC2로 서버 인스턴스 구성하기 with Spring Boot, Docker
2023. 9. 3. 19:49
Web
노션에서 보기 : https://cabi.oopy.io/caf8d5c7-63e9-4a1f-8c06-d1bce46311c5 개요 이전 글(Github Actions로 CI 구성하기 with Spring Boot)을 작성하면서, CI를 구성해보았다. CD에 앞서서, Spring Boot 서버로서 기능하는 인스턴스를 구성해야한다. 현재 진행하고 있는 반려동물 SNS 프로젝트는 국제화를 구현한 상태이다. 이에 따라 늘어날 수 있는 사용자들에 대해서 유연하게 스케일링 할 수 있는 클라우드 환경의 인스턴스를 이용하고자 하였고, AWS의 EC2를 이용하기로 결정했다. EC2 - 서버 인스턴스 Elastic Compute Cloud(EC2)는 AWS 클라우드에서 on-demand인 확장 가능한 컴퓨팅 용량을 제공한다(..
Github Actions로 CI 구성하기 with Spring Boot
2023. 9. 3. 19:44
Web
노션에서 보기 : https://cabi.oopy.io/1022ea8e-7ef4-423d-84cf-94dae980d3e2 개요 반려동물 SNS 프로젝트를 마무리 해가면서 협업에 따른 기존 코드와 새 코드의 지속적인 통합(CI), 그리고 배포(CD)를 위한 파이프라인이 필요해졌다. 직접적으로 Github를 통해 협업을 진행하고 있고, 이에 따라 Github에서 제공하는 무료 서비스인 Github-Actions를 이용해 CI를 구축해보고자 한다. 먼저 CI/CD에 대해서 알아보고, 프로젝트의 CI부터 적용해보려 한다. CI, CD CI/CD (Continuous Integration/Continuous Delivery)는 애플리케이션 개발을 자동화하여 더욱 짧은 주기로 사용자에게 제공하는 방법이다. CI/C..
iOS 푸시 알림 구현하기 구현편 - Spring, AWS SQS, Lambda, Firebase
2023. 7. 26. 17:49
Web
Notion에서 보기 iOS 푸시 알림 구현하기 구현편 - Spring, AWS SQS, Lambda, Firebase 개요 cabi.oopy.io 개요 이전 글인(iOS 푸시 알림 구현하기 세팅편 - AWS SQS, Lambda, Firebase )에서 SQS와 Lambda를 이용한 푸시 알림 부분까지는 세팅, 구현이 되었다. 이제 WAS에서 AWS 인스턴스와 관련한 세팅을 완료하고, 원하는 때에 원하는 방식으로 내부 앱 알림을 사용할 수 있도록 구현해야한다. 주의사항 : 제 개인적인 생각을 통한 구현으로, 항상 올바른 구현이나 정답이 아님을 인지해주세요! Spring으로 AWS 인스턴스 연결하기 먼저 내부적으로 AWS와 관련한 설정을 통해, SQS를 사용할 수 있도 개요 현재 구현된 구조 이전 글인(..
iOS 푸시 알림 구현하기 세팅편 - AWS SQS, Lambda, Firebase
2023. 7. 26. 17:42
Web
Notion에서 보기 iOS 푸시 알림 구현하기 세팅편 - AWS SQS, Lambda, Firebase 개요 cabi.oopy.io 개요 이 글은 백엔드의 입장에서 작성되었습니다. iOS를 이용한 앱의 Java 백엔드를 담당하게 되면서, 앱 내 알림 및 Push 알림 기능 구현을 맡게 되었다. 이를 위해 DB 알림 관리와 Push 알림 전송 관리 구현이 필요했다. 방법들을 찾아보는 도중, AWS의 SQS, Lambda, 그리고 Google의 Firebase를 이용하면 무료로 이 알림들을 구현할 수 있음을 알게 되었다. iOS 앱의 백엔드 서버로써 DB 알림과 Push 알림을 구현하기 위한 나의 삽질기를 기록하려고 한다. AWS SQS, Lambda? **SQS(Simple Queue Service)**..
DTO와 VO, DAO 그리고 Repository
2023. 5. 7. 21:01
Web
개요 스프링으로 백엔드를 포팅하는 과정에서, DDD에서 주로 쓰이는 VO와 기존에 쓰던 DTO의 차이, 그리고 DAO와 Repository같이 상당히 유사한 기능을 함에도 이름이 다르고 용처가 다른 것들에 대해서 그 이유가 무엇인지 궁금해졌고, 이에 대해 알아보려고 한다. DTO? DTO(Data Transfer Object)란, 프로세스 간에 데이터를 전달하는 객체다. 현재 웹 서비스에서는 주로 계층들, 특히 컨트롤러 - 서비스(표현 - 도메인) 단계에서 서로 주고 받는 데이터 양식이다. 주클라이언트에서 서버 쪽으로 전송하는 요청 데이터, 서버에서 클라이언트 쪽으로 전송하는 응답 데이터 형식으로 데이터가 전송된다. (Request && Response) 마틴 파울러의 정의에 따르면, 서비스 계층이란 어..
토큰과 세션, Stateful과 Stateless
2023. 4. 11. 14:59
Web
개요 새롭게 스프링 포팅 작업을 진행하면서, 인증 부분 구현을 맡게 되었습니다. 기존에는 간단하게만 이해하고 있던 부분들이었는데, 더 명확하게 짚을 필요가 있지 않을까 하는 생각이 문득 들었습니다. 현재 우리가 사용하는 인증 방식들에 대한 이해와 관련한 개념들에 대한 학습이 필요하다고 느꼈고, 이것들을 정리해보고자 합니다. 인증과 인가 인증(Authentication)과 인가(Authorization)는 다른 의미입니다. 인증은 접근할 수 있는 사용자인지 자격을 1차적으로 검증하는 것입니다. 42의 경우에는 42 OAuth(인트라 로그인)을 통과하는 사람들이 1차적으로 우리가 제공하는 서비스에 접근할 수 있는 ‘인증된 사용자’일 것입니다. 인가는 접근 권한을 식별하는 것입니다. 1차적으로 우리 서버에 접..
(HTML) 첫 웹사이트 호스팅 + 하이퍼텍스트와 마크업 언어?
2022. 6. 13. 21:28
Web
갓헙을 통해 호스팅한 내 첫 웹사이트! (https://ssuamje.github.io/My_Web/index.html) 웹의 근본! HTML을 오늘 처음 배웠다. 정말 배울 것들을 찾다보면 황금 같은 자료들이 많은데, 이 강의 또한 그렇다. (참강의) (생활코딩 - Web 1 : HTML + a) 지금 저 텍스트에 링크를 넣으면서도 HTML로 어떻게 굴러가겠구나 싶다. (태그를 이용해서 target = "_blank" 설정하겠구나) 당장 HTML 강의 외적으로도 우리가 뭘 배우는지, 왜 배우는지, 작동원리가 어떻게 되는지 짧은 시간안에 말랑한 분위기와 좋은 딕션, 시각화로 설명해준다. 얼마나 공을 들이신거야.. 아무튼 감사하다. 태그 구분, 속성이 무엇인지, 부모-자식 짝을 이루는 태그, 이미지와 동영..