본문 바로가기
반응형

전체 글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.
springboot 에서 어노테이션기반 MyBatis 적용하기 (xml 사용하지 않고) springboot 에서 mybatis 를 사용할 때 xml 을 사용하지 않는 방법에 대한 정보가 많이 없어서 정리해보았다. xml 파일을 사용하지 않고 어노테이션으로도 간단한 사용이 가능하다. 1. 설정 추가 1) build.gradle - dependencies 에 mybatis 추가한다. implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.3' 2) application.properties 에 DB 정보를 추가한다. (아래 예시는 mysql) # database spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mys.. 2023. 12. 16.
[공유] 면접관 관점에서 본 좋은 개발자 블로그 https://f-lab.kr/blog/developer-blog-tips 면접관 관점에서 본 좋은 개발자 블로그 개발자 블로그는 취업스펙이 되어버린 듯하다. 도움이 되면서 이력서 첨부해도 도움이 되는 블로그를 쓰는 방법을 전달하고자 한다. f-lab.kr 2023. 12. 8.
반응형