0.개요졸업작품을 만들면서 EC2에서 Docker로 SpringBoot, RabbitMQ,Mysql을 배포하게되었는데SpringBoot의 코드를 CD(Continuous Delivery)하는 플로우를 만들어볼려고 했는데 마침 Docker에서 무료로 DockerHub Private Repository 1개를 지원해주길래 그를 이용하여 CD를 구축해보았다. 1. Docker Hub 란Docker에서 운영하는 클라우드 기반의 컨테이너 이미지 저장소 서비스이다.쉽게말하면 Docker 버전의 Github이다. 여기서 Dockerhub은 코드가 아닌 "이미지"를 올린다. 2.Docker Hub 사용방법.2-1. 레포지토리 만들기우선 DockerHub을 사용할려면 Docker 계정이 필요하다.http..
Development Tools
0. 개요오늘도 아무생각 없이 릴스를 내리다가 인도인 개발자 릴스를 만나게 되었다. 내용은 Docker Compose를 Production 환경에서 사용하지마라. 오늘은 이에 대해 알아볼 예정이다. 1.Docker ComposeDocker Compose는 여러 개의 컨테이너로 구성된 애플리케이션을 단일 YAML 파일에 정의하여, 한 번의 명령으로 전체 서비스를 생성하고 관리하는 도구이다.솔직히 여러 환경 옮겨가며 작업할때 Docker 환경 설정하기 귀찮은데 해당 Docker Compose YAML 하나만 가지고 다니며 Docker 환경을 구축했다. 2. Docker Compose Production?사실 지금 작업중인 졸업작품 프로젝트도 그렇고, 작은 프로젝트들을 배포환경에서 테스트 해..
1. 계기개인 SpringBoot 프로젝트를 AWS에 Ec2에 배포도 해보고, 공부해보며 AWS 인프라에 대해 공부해야겠다고 생각하고있었는데, 그때 마침 학교에서 여름방학에 진행하는 AWS 자격증 취득과정에 참여해 보기로하였다. 2.사전 지식AWS에 대한 지식은 거의 없는 수준에서 학습을 시작하였다.작년 AWS에 대해 공부해보려고 시도했었는데, 혼자 공부하다가 인터넷에서 큰 금액이 과금 되었다는 글들을 보고 겁먹고 계정을 비활성화해두고, 추후에 공부하기로 마음먹었었다. 3.실습내가 직접 AWS에서 실습해봤던 내용은 EC2에 SpringBoot 서버를 배포하고 보안규칙을 설정하는 정도였다.그래서 이번 기회에 다양한 서비스들에 대해 실습을 진행해봤다.(AWS SAA 서비스 범위가 많아서 다하지는..
1. AWS 설정AWS 설정은 프리티어에 맞게 설정하였고 아래는 보안그룹 및 EC2 설정 내용이다.AWS EC2OS: Ubuntu인스턴스: t2.micro스토리지: 20GB 2. 배포 시도 1(실패)배포는 Docker을 통해 시도할것이기 때문에 EC2내부에 Docker 패키지를 설치해줬다.//Ubuntu 시스템의 패키지 목록을 업데이트sudo apt update//Docker 패키지 설치sudo apt install -y docker.ioDocker 설치확인Docker Compose를 통해 실행 할것이므로 Docker Compose를 설치해주고 권한을 설정해준다.// Docker Compose 설치sudo curl -L "https://github.com/docker/compose/releases/lat..
1.EditorConfigIDE에서 일관된 코딩 스타일을 유지하도록 도와주는 설정 파일이다..editorconfig 파일을 생성하여 코드 스타일을 정의할수 있다. Vscode에서는 별도 설정없이 다음 확장을 설치하면 .editorconfig을 생성하는것만으로 적용이 가능하다. 2 .editorconfig 작성법파일의 확장자나 경로에 맞춰 별도의 설정을 할수 있다.[*] # 모든 파일에 적용[*.js] # .js 확장자를 가진 파일에만 적용[*.{html,css}] # .html, .css 확장자에만 적용[tests/*] # tests 폴더 아래 모든 파일에 적용 설정이 가능한 대표적인 것들은 다음과같다.indent_style들여쓰기 스타일 (space ..
1. Antora 오픈 소스 문서 생성 도구 Git 리포지토리에서 문서 소스를 직접 가져와 빌드한다.스프링부트의 해당 문서 또한 Antora로 생성되었다. https://spring.io/projects/spring-framework Spring FrameworkThe Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring f..
1.Git Blame git blame은 각 코드의 변경 이력을 한 줄 단위로 추적하는 Git 명령어이다.누가, 언제, 어떤 커밋에서 해당 코드를 수정했는지 빠르게 확인할 수 있다.git blame 2..git-blame-ignore-revs프로젝트에서 코드 스타일 변경, 포매팅, 대량 리팩토링처럼 로직 변경 없이 파일 전체가 수정된 커밋이 있을 때, git blame을 실행하면 그 커밋이 모든 줄에 영향을 미친 것으로 나타나게되는 문제가 있다.이 문제를 해결하기 위해 git-blame-ignore-revs 파일을 추가해야한다. 다음으로 파일을 생성하고touch .git-blame-ignore-revs 무시할 커밋 해시들을 추가해준다(Prettier같은것들 적용한 커밋)a1b2c3d4e5f6g..
1.Light House 란?Google에서 제공하는 웹 애플리케이션 품질 분석 도구다.웹 페이지의 성능, 접근성, SEO, PWA등의 요소를 분석해준다.https://developer.chrome.com/docs/lighthouse/overview?hl=ko Lighthouse 소개 | Chrome for DevelopersLighthouse를 설정하여 웹 앱을 감사하는 방법을 알아보세요.developer.chrome.com 2.사용법F12로 개발자 도구를 연후 LightHouse메뉴를 누르고 자신에게 맞는 세팅을 한후 Analyze page load를 누른다. 그러면 다음과같이 각 항목에 대한 점수를 평가해준다. 아래로 내리면 점수에 대한 이유들이 나오며 어느점을 고쳐야하는지 알려준다.