본문 바로가기

👾 Server/🏭 배포4

[의사 결정] SonarCloud를 사용하여 사이드 프로젝트에 정적 분석을 하기까지 잘못된 내용이나 의견 있다면 편하게 말씀해주세요 🙏🏻 상황, 사건의 개요 상황 5명이 모여 사이드 프로젝트를 하고 있습니다. 팀원이 함께 코드를 작성하니 문제들이 발생했습니다. 문제 1. 작은 실수(오타, 제거하지 못한 인라인 주석...)는 반드시 존재한다. 2. 페어 프로그래밍을 했음에도 코드 스타일, 컨밴션 통일이 잘 안 된다. 3. 코드 리뷰에서 발견하지 작은 실수들이 모여 Code Smells이 더 짙어진다. 4. 작성한 코드에 대한 예상치 못한 보안 문제나 더 좋은 패턴이 존재한다. 재발 방지를 위한 조치 항목 정적 코드 분석 도구를 사용해보는 것은 어떨까? 자동화할 수 있는 것은 자동화해보자! 정적 코드 분석이란? 정적 코드 분석(static code analysis)은 말 그대로 정적으로 코.. 2022. 8. 7.
Git Submodules를 활용한 secret, config 파일 관리, 배포 (feat. SpringBoot, GitHub Actions) 잘못된 내용이나 다른 의견 있다면 편하게 말씀해주세요 🙏🏻 이전 글 secret, config 파일 관리 방법 소개(feat. SpringBoot의 application.*) 에서 소개한 방법 3 : Git Submodules를 활용한 방법 예제를 소개한다. Git Submodules Git Submodules란 저장소 안에 다른 저장소를 원하는 디렉토리를 복제하는 기능이다. 예를 들어 A,B 프로젝트에서 공통되게 사용하는 모듈(라이브러리, 설정 값 등) C가 있다고 하자. A,B,C 모두 저장소이다. 이때 A, B 저장소에 C 소스 코드가 중복될 수 있다. 이를 A,B 저장소에 C를 서브 모듈로 두어 공통되게 사용할 수 있다. C가 수정되면 A,B 모두 수정된 코드를 사용할 수 있다. (생활 코딩 : .. 2022. 7. 2.
secret, config 파일 관리 방법 소개(feat. SpringBoot의 application.*) 잘못된 내용이나 다른 의견 있다면 편하게 말씀해주세요 🙏🏻 들어가며 SpringBoot 프로젝트를 GitHub public repo에서 작업 후 배포한다고 가정하자. SpringBoot의 설정 파일은 application.* 또는 DB 초기 설정을 위한. sql 등이 있다. application.* 파일에는 DB 접속 정보(url, username, password)나 secret key 관리 등 많은 파일이 들어있다. 이를 public repo에 공개하면 문제가 발생할 수 있다. 외부 노출을 막고 배포하는 방법을 알아보자 방법 방법 1 : 로컬 개발 환경에서 application.* 설정 파일 그대로 사용하고 외부 저장소 노출을 막기 위해. gitignore 설정, 배포 시 application.yml.. 2022. 7. 1.
[의사결정] Mockup API Server 활용과 Postman Mock server 사용 (도입 이유와 기술 비교) Mockup API Server Mockup(모형) API Server(Mock API라고도 함)는 말 그대로 가짜 API 서버이다. 클라이언트 요청에 실제 서버처럼 동작하기보다는 미리 저장된 데이터를 단순하게 돌려주는 형태이다. 다시 말해 이는 가짜 서버를 사용해 실제 서버와 통신하는 것처럼 만들 수 있다. Mockup API 도입 이유 상황 Todo App 개발 프로젝트를 시작했다. 기획서만 주어졌다. API, DB 설계할 시간 없이 동시에 클라이언트(안드로이드), 백엔드 개발이 시작됐다. 문제 API, DB 설계안 없이 시작하다 보니 클라이언트 개발자는 단순 view, 디자인을 그릴 수 있었지만 비즈니스 로직을 구현할 수 없었다. API 서버가 없기 때문이다. 백엔드 입장에서 당장 API 서버를 제.. 2022. 4. 5.