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/la..
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를 누른다. 그러면 다음과같이 각 항목에 대한 점수를 평가해준다. 아래로 내리면 점수에 대한 이유들이 나오며 어느점을 고쳐야하는지 알려준다.
1.Monorepo (모노레포)여러 프로젝트(서비스, 패키지, 라이브러리 등)를 하나의 리포지토리에서 관리하는 방식으로하나의 Git 리포지토리에서 모든 코드베이스를 운영한다. /monorepo ├── apps │ ├── frontend (React App) │ ├── backend (Node.js API) │ └── mobile (React Native App) ├── packages │ ├── ui-library (공통 UI 컴포넌트) │ ├── utils (공통 유틸리티 함수) │ └── config (공통 설정) ├── .git ├── package.json ├── README.md 하지만 리포지토리가 커질수록 성능 저하가 일어나고 하나의 레포지토리로 관리하기 때문에 일부..
1.Cloudflare란?웹사이트의 속도 최적화, 보안 강화, 안정성 향상을 위한 글로벌 콘텐츠 전송 네트워크(CDN) 및 보안 서비스이다.전 세계 300개 이상의 데이터 센터를 통해 DDoS 공격 방어, 트래픽 최적화, DNS 관리, API 보호 등의 기능을 제공한다. 2.Cloudflare의 기능2-1. 콘텐츠 전송 네트워크(CDN)전 세계적으로 분산된 캐시 서버를 활용해 정적 콘텐츠(이미지, CSS, JavaScript 등)를 빠르게 제공할수있다.사용자와 가장 가까운 서버에서 콘텐츠 제공 → 로딩 속도 단축 원본 서버 부하 감소 → 서버 비용 절감 2-2.DDoS 보호대규모 DDoS 공격을 차단하고 악성 트래픽을 걸러내는 WAF(Web Application Firewall) 기능을 제공한..
1.GitLabGit을 기반으로 한 웹 기반 버전 관리 및 협업 플랫폼이다.GitHub은 GitHub Actions를 사용하여 CI/CD를 설정하는 반면 GitLab은 자체적으로 CI/CD 기능을 내장하고 있다. 2.GitLab을 쓰는 상황?GitLab은 Github보다 기업 환경과 DevOps 프로세스에 적합한 도구이다.고급 CI/CD, 보안 기능을 제공하여 팀 내의 프로젝트 관리 및 보안 검토를 더 쉽게 해준다.