logo
한달 포트폴리오 멘토링
블로그

저번 포스팅에서는 프로젝트 관리 및 화면 기획 및 디자인에 사용하는 도구들을 알아보았습니다. 이번에는 프로젝트 설계 및 테스팅할때 도움이 되는 도구들을 알아보겠습니다.

설계

ERDCloud (DB설계)

ErdCloud온라인에서 ERD Diagram을 그려 SQL 데이터베이스 설계를 할수 있게 만드는 도구입니다. Cloud이기 때문에 팀원들과 공유가 쉽고 SQL나 PNG로 export가 가능하기 때문에 설계한 erd를 바로 sql서버에 적용해 볼수 있습니다.

또한 library에서 다른사람이 공개한 ERD를 볼 수 있어 자신의 데이터베이스 설계시에 참고할 수 있습니다.

PlantUML (UML)

PlantUmlText로 UML 다이어그램을 그려주는 툴입니다. SequnceDiagram, ClassDiagram 등 유용한 다이어그램들을 그릴 수 있죠. 텍스트로 그림을 그려보면 다시는 마우스로 못그릴 정도로 편합니다... VSCode에는 PlantUML plugin인이 존재해 플러그인을 설치하고 .puml 파일을 만들어 다이어그램을 만들 수 있습니다. 또한 온라인 에디터도 존재하니 설치하기 귀찮은 분들은 온라인에서 편집해보세요 ㅎㅎ 저는 주로 전체 소프트웨어 디자인을 UML로 그리기 보다는 복잡한 기능을 설명할때 SequnceDiagram을 통해 설명하곤 합니다.

Swagger UI (API)

Swagger는 API를 Documentation하는데 사용하는 도구입니다. API 문서를 볼수 있을 뿐 아니라 Postman처럼 API를 호출하고 응답을 받는 기능도 제공하는 도구입니다.

언어별로 라이브러리를 제공하며 API를 자동으로 검색해서 문서를 만들어주기도 합니다. 따라서 실제 사용시에는 사전 설계 단계 보다 서버 테스팅전에 많이 배포하기도 합니다. API 설계 자체는 notion이나 excel로 작업한 후 마지막 문서화때 만들어진 코드에 Swagger를 적용하는 방식이죠.

그렇다고 초기설계에 못쓰는것은 절대 아닌데요 스웨거 온라인에디터 처럼 yaml이나 json으로 API를 기술해 미리 설계를 하고 Swagger 웹 형태로 API를 설계하는데 사용할 수 있습니다. 개발시 즉시즉시 메세지를 보낼 수 있어 좋습니다.

테스팅

Rest Client (API 호출)

RestClient는 Postman처럼 API호출을 할 수 있게 해주는 도구입니다. Vscode와 IntelliJ(유료)에 플러그인으로 구현되어 있습니다. Postman과 다른점은 Postman이 장황한 UI에 http 호출을 하는 도구라면 RestClient는 .http 파일을 만들어 Http 호출을 할 수 있습니다.

이는 많은 이점을 가지고 있는데요 파일로 관리하기 때문에 git에 파일을 같이 공유하여 팀원들에게 API 테스팅을 할 수 있도록 할 수 있습니다.(postman은 git외에 따로 공유해야하죠) 또한 한 파일에 여러가지 API를 기술할 수 있기 때문에 매우 유용하게 쓸 수 있습니다. 강추 하는 툴입니다.

SonarQube (코드분석)

SonarQube는 코드 정적 분석 툴입니다. 소스코드를 분석해서 에러가 날 수 있는 부분을 발견해주고, 코드 퀄리티에 대해서도 알려주죠. 만약 당신의 프로젝트의 코드 퀄리티를 일정수준 이상으로 관리하여 좋은 코드를 유지하고 싶다면 SonarQube는 매우 좋은 선택일 것입니다. 보통은 다양한 CI/CD 툴과 연계해서 특정 이벤트마다 코드 분석하고 보고서를 받는 형태로 동작시킵니다.

포트폴리오 제작 전 과정을 가이드를 받고싶다면

카우치코딩에서는 6주 포트폴리오 수업을 통해 기획 ~ 배포까지의 과정을 멘토링하고 있습니다. 기획 ~ 배포까지의 과정을 전부 경험하고 싶으면 방문해주세요~

PortfolioAD
관련있는 글

couchcoding

2022-12-07

CI/CD란 무엇일까 (feat. gitflow 정책 연계)

CI는 Continuous Integration, CD는 Continuous Delivery의 약자입니다. 한국말로 하면 계속되는 통합, 계속되는 배달(배포)라는 뜻이죠. 그렇다면 공통되는 단어인 Continuous는 어떤 의미로 쓰이고 있을까요? ...

개발 도구

CI/CD
git
git flow
github actions
배포

couchcoding

2022-12-07

[CI/CD] Github Actions으로 내 포트폴리오에 CI/CD를 적용하기

Github Actions 는 Github에 내장된 CI/CD 도구입니다. Github에 내장되 있는 CI/CD라 github와 통합이 쉽고, CI/CD 서버가 내장 되어 CI/CD서버를 따로 구축할 필요 없으며, 일정 수준까지 가격이 무료 라서 개인 프로젝트를 수행할...

개발 도구

CI/CD
git
git flow
github actions
배포

couchcoding

2022-12-07

포트폴리오(개발 프로젝트) 제작시 도움이 되는 도구들 - 1 (프로젝트 관리 & 디자인)

이번 포스팅에서는 이러한 개발 과정을 돕기 위해 개발 포트폴리오 단계별로 유용한 도구를 소개하려고 합니다. 먼저 협업을 위한 메신저, 프로젝트 관리 툴, 화면 기획 & 디자인에 사용할 수 있는 도구들을 소개하겠습니다. 다음 포스팅에선 설계 및 배포를 위한 다양한 툴들을...

개발 도구

협업도구
프로젝트 관리
화면 기획
디자인 도구
slack
notion
trello
github
whimsical
figma

couchcoding

카우치코딩 공식 계정입니다.