본문 바로가기

전체 카테고리361

마케터의 문장 책 정리(1) 자산 시장의 양극화가 점점 심해지면서 기존에 자산을 가지고 있지 않던 사람이 자산을 가진 사람들을 따라잡는게 엄청나게 어려워지고 있다. 부모님께 물려받을 자산이 없는 20,30 직장인이라면 이에 대해 공감을할 것이다. 억대 연봉자여도 단시간에 서울에 아파트 한채 살 수 없는게 현실이다. 돈을 버는 동안 아파트 값은 계속 오르기 때문이다. 이를 극복하려면 노동 소득 + 기타 소득이 필요한데 기타 소득을 얻기 위한 방법이 아래 세가지가 아닐까싶다. 1. 노동 소득을 통해 자본을 어느정도 모으고 투자 (부동산/코인/주식) 2. 자신이 가진 지식을 이용한 지식 사업 3. 자본이 어느정도 필요한 사업 2번 지식 사업을 하기 위해서는 내가 좋아하면서 잘하고, 세상에 도움이 되는 일을 해야한다. 또한 개인 브랜딩을 .. 2021. 12. 19.
AWS Elastic Beanstalk (2) - github action을 연동한 배포 이전 포스팅에서는 가장 기본적인 hello world 애플리케이션을 aws elastic beanstalk로 배포하는 방법에 대해서 알아봤다.이번 포스팅에서는 github action을 연동하여 배포하는 방법에 대해서 살펴보겠다. 이전 포스팅을 보고 싶으면 여기를 참조한다. 여기서 작성한 hello-world 애플리케이션 깃허브는 여기를 참조하자.   1. Github Action yml 빌드 파일 작성프로젝트에 .github/workflows 디렉토리를 만들고 그 아래에 deploy.yml 파일을 생성한다. github action에서 수행되는 build 스크립트를 작성한다.name: helloworld-webappon: push: branches: - master workflow_.. 2021. 12. 13.
AWS Elastic Beanstalk (1) - 구축 1. 서버 운영의 복잡함서버를 운영해본 사람들은 알겠지만 서버 하나를 운영하는데는 정말 많은 과정이 필요하다. 예를 들어서 스프링 부트로 웹 애플리케이션을 개발했다면 이를 실행하기 위해서 서버에 자바도 설치해줘야하고, 주기적으로 버전도 업데이트 해줘야한다. 또한 배포한 애플리케이션에 버그가 있다면 빠르게 장애를 처리해서 배포하거나, 이전 버전으로 롤백을 해줘야한다. 그리고 서버가 잘 동작하고 있는지도 모니터링을 해야한다. 위에서 얘기한 내용만 정리해도 아래와 같은 것들을 개발자가 신경써야한다.installupgraderollbackmonitoring 이러한 일들을 플랫폼이 알아서 해준다면 개발 생산성을 크게 향상 시킬 수 있을 것 이다. 2. AWS Elastic Beanstalk 구축AWS의 Elast.. 2021. 12. 12.
JUnit5 테스트 병렬 실행 테스트 코드가 늘어날수록 테스트 수행 시간이 길어지고 있어서 테스트들을 병렬로 수행하기로 했다. 1. junit-platform.properties 파일 생성 우선 resources 폴더 아래에 junit-platform.properties 파일을 생성한다. 병렬 테스트를 위한 옵션으로 다음과 같이 지정해줄 수 있다. 하나씩 살펴보자 junit.jupiter.execution.parallel.enabled=true junit.jupiter.execution.parallel.mode.default=CONCURRENT junit.jupiter.execution.parallel.config.strategy=fixed junit.jupiter.execution.parallel.config.fixed.parall.. 2021. 12. 1.
코드 커버리지 적용(3) - 커버리지 제외 JaCoCo로 테스트 코드 수행 시 테스트가 필요없는 부분들도 커버리지에 잡히기 때문에 제외할 필요를 느꼈다. 제외할 클래스 범위로는 다음과 같이 잡았다. 1. 제외할 클래스 excludes 추가 @SpringBooTest가 붙은 클래스 각종 Config 클래스 Dto 클래스 Request/Response 클래스 Interceptor Exception QueryDSL 사용하기 위해 만들어지 Q도메인 클래스 위에있는 클래스 말고도 제외가 필요한 클래스는 각각 추가해주었다. QDomain의 경우 클래스 이름이 Q+대문자로 시작하기 때문에 그걸 특징으로 삼아 제외할 클래스에 추가해주었다. jacocoTestReport에는 분석 리포트 생성 시 특정 파일들을 제외하기 위해서 defQdomains = [] 부터 .. 2021. 11. 30.
코드 커버리지 적용(2) - JaCoCo 1. JacoCoCo란? JaCoCo는 자바 코드 커버리지를 체크하는데 사용하는 오픈소스 라이브러리이다. Line, Branch Coverage 제공 코드 커버리지 결과를 파일 형태로 저장 가능 html, xml, csv 설정한 커버리지 기준을 만족하는지 확인 가능 2. 스프링 부트 JaCoCo 적용 2.1 JaCoCo 플러그인 추가 Gradle 설정에 JaCoCo 플러그인을 추가하고 플러그인 설정을 한다. reportsDir로 테스트 결과 리포트를 저장할 경로를 바꿀 수 있다. build.gradle plugins { id 'jacoco' } jacoco { // JaCoCo 버전 toolVersion = "0.8.5" // 테스트결과 리포트를 저장할 경로 변경 // default는 "${project.. 2021. 11. 30.