본문 바로가기
반응형

분류 전체보기32

웹 애플리케이션 개발 프로젝트 회고(1) 프로젝트 협업 도구 팀프로젝트이기 때문에 협업 도구는 기획 단계부터 개발 단계, 마무리까지 공유 가능한 사이트를 적극 활용했다. 1) 아이디어 공유 - linoit lino https://ko.linoit.com/ 메모장과 사진을 공유합시다! - lino lino는 간단한 메모나 할 일, 아이디어나 사진을 온라인상의 Web캔버스에 메모장처럼 자유롭게 붙였다가 옮겨서 정리하고 필요없어지면 떼어버리는 것을 누구나 간단하게 할 수 있는 무료 웹메모 ko.linoit.com 브레인 스토밍같이 포스트잇 기반으로 필요한 기능을 자유롭게 저장하고, 저장한 내용을 바탕으로 우선 순위를 정해서 기능 명세서를 작성했다. 2) 화면 공유 - figma, exclidraw https://www.figma.com/ Figma: The Collab.. 2024. 1. 18.
springboot 프로젝트 AWS 프리티어로 배포하기(2) CodeDeploy, EC2 연동하기 CodeDeploy 란? aws의 배포 서비스 S3는 Jar 파일을 전달하기 위해서 사용한다. code deploy는 저장기능이 없기 때문에 빌드 결과물을 받아서 code deploy가 가져갈 수 있도록 보관하는 공간이 필요하고 그 역할을 S3 가 한다. 💡 code deploy 에서는 깃허브 코드를 가져오는 기능을 지원하기 때문에, 빌드와 배포를 모두 할 수 있다. 하지만 빌드없이 배포만 필요할 때 대응하기 어렵다. 빌드와 배포를 분리해서 배포만 필요할 경우 빌드된 jar를 재사용하면 되지만, 빌드와 배포를 모두 하게되면 항상 빌드를 하게 되기 때문에 확장성이 떨어진다. 따라서 웬만하면 빌드와 배포를 분리하는 것을 추천한다. IAM생성 ec2에 IAM 역할 추가하기 IAM 에서 사용자와 역할의 차이 역.. 2024. 1. 17.
springboot 프로젝트 AWS 프리티어로 배포하기(1) github actions, aws s3 연동 최종 목표 : CI/CD 구축해서 메인브렌치에 커밋하면 자동 배포되도록 설정하기 CI / CD란? CI (Continuous Integration- 지속적 통합) 코드 버전 관리를 하는 VCS 시스템(Git, SVN 등)에 PUSH 되면 자동으로 테스트와 빌드가 수행되어 안정적인 배포파일을 만드는 과정 CD (Continuous Deployment - 지속적인 패보) 빌드 결과를 자동으로 운영서버에 무중단 배포까지 진행되는 과정 CI / CD 의 필요성 CI 가 없을 경우: 여러명의 개발자가 동시에 작업을 할 경우 각자가 원격 저장소로 푸시될 때 마다 코드를 병합하고, 테스트 코드와 빌드가 수행되는지 수동으로 체크해야한다. CD 가 없을 경우: 역시 한두대의 서버에 개발자가 수동으로 배포를 할 수 있지만.. 2024. 1. 17.
디자인 패턴 1. 싱글톤패턴 하나의 클래스에 하나의 인스턴스만 가지는 패턴 보통 데이터베이스 연결 모듈에 많이 사용함 장점) 인스턴스 생성 비용 줄어듬 단점) 의존성이 높아짐 특징 TDD 할 때 단위테스트를 주로 하는데, 각 테스트마다 독립적인 인스턴스를 만들기 어려움 모듈간의 결합을 강하게 만드는 단점 → 의존성 주입(DI)을 통해 모듈간 결합을 느슨하게 만들어 해결 의존성 주입(DI) 장점) 테스팅하기 쉽고 마이그레이션이 수월함. 단점) 모듈이 더욱 분리되므로 클래스 수가 늘어나 복잡성이 증가 2 .팩토리 패턴 객체 생성부분을 떼어내 추상화 한 패턴 상속관계에 있는 두 클래스에서 상위 클래스가 뼈대를 결정하고 하위클래스에서 객체 생성의 구체적인 내용을 결정 장점) 상위 클래스와 하위클래스가 분리되어 느슨한 결합,.. 2024. 1. 9.
반응형