개요
프로젝트를 편리하게 개발 하기 위해 필요한 4가지
1. 코드 저장소
1. 한가지 프로젝트를 동시에 여러 사람이 작업하기 위해선 다른 개발자가 작성한 코드를 최신버전으로 항상 동기화되어야 한다.
=> 파일을 서로 주고 받는 것은 시간, 인원에 등 제약이 많다.
2. 코드 버전이 관리 되어야 한다.
=> 파일을 서로 주고 받으면 변경 내용을 알기 어렵고, 오류 시 이전 버전으로 돌아가기는 더 어렵다.
3. 코드 유지보수성 향상
=> 고객사에 따라 기능이 다른 경우, 배포 전 오류패치 버전만 테스트 하고 싶은 경우 등 프로젝트 버전, 용도를 구분하여 개발 할 수 있다. 작업을 위해 같은 코드를 프로젝트 별로 분리하는 것은 코드 유지보수시에 좋지 않다.
목적
- 코드 동기화 및 버전 관리
예
- Git, SVN
2. 문서 에디터 툴
1. 개발자 시 발생한 이슈에 대해서 정리 된 문서가 필요하다
=> 작업내용을 메모장에서 하기엔 에디터 기능이 적고, 시각적으로 불편하다,
2. 개발 일정, 업무 내용 등을 정리하여 업무보고, 인수인계 등 업무을 해야한다.
=> 로컬에서 파일로 관리한다면 메일 등 주고받는 과정이 필요하고 타 부서 사람은 접근하기 힘들 수 있다.
3. 이전에 발생한 이슈 해결, 관련 업무 자료 내용을 찾는 페이지가 있다면 분석에 소요하는 시간을 줄일 수 있다.
=> 로컬에서 파일로 관리하면 문서 버전 관리가 어렵고, 필요한 정보 있는지 직접 하나씩 열어봐야 하고, 없는 경우 담당자에게 요청하는 프로세스가 필요하다.
목적
- 기획/설계/이슈, 보고용 문서, 문의내용 등 문서 관리
예
- Confluence, Trello
Confluence란?
- 개발 일정/범위/진행상태 등등 업무 정리하는 기능
- 에디터 페이지
- 팀별, 부서별 문서를 공유하는 페이지
- 보통 회사내 계정을 사용하고, 내부방에서만 볼 수 있게 되어었다.
장점
- 다양한 에디터 기능 지원(표, 차트)
- Office, Jira 등 호환됨
- 링크로 공유 가능
- 시각적으로 보기 좋음
- 문서 버전화 관리가능(첨부파일도 가능, 수정자도 확인 가능)
3. 이슈 관리 툴
1. 업무별로 업무 내용, 담당자, 소요 시간, 진행 상태 등이 관리 되어야 한다.
=> 위 항목 들을 관리할 수 있고, 수정 시 변경 이력이 남는다.
2. 이슈 발생 시 history의 커밋 메시지로 작업 내용을 분석 할 때
=> 텍스트만 가능한 깃메시지는 개발자에 따라 다르게 이해되지만 사진/문서 등 을 가지고 공유한다면 이해도가 높아진다.
3. 유지보수, QA 등 타 부서에게 업무를 할당받을 때, 타 부서에 담당자를 지정해야 하는 경우가 발생 할 때
=> 타 부서사람은 깃메시지를 보지 못하고 제3자 담당자 지정을 위해 이전 작업 내용을 따로 정리하는것은 시간이 오래 걸리는 작업이다.
목적
- 이슈 관리/추적
예
- Jira
Jira
- 개발 담당자 할당/조회 하는 기능
- 일감 내용, 관련 참고내용, 개발 소요시간 등을 관리할 수 있다
- 애자일 개발방식 프로젝트 작업에 주로 사용하여, 지속적인 관리가 필요한 작업에 용이하다.
- 이슈, 일감 별로 작업 내용을 공유하기 때문
장점
- 담당자를 지정/변경할 경우 작업내용을 다시 작성하지 않아도 된다.
- 커밋한 이력만 가지고 상세 작업내용을 바로 조회할 수 있다.
- 스프린트 관리에 용이하다.
- Git과 연동시 커밋메시지를 통해 이슈번호가 개발내용에 동기화 된다.
4. 메신저
1. 간단한 문의내용이나 보고를 해야 할 때
=> 작은 업무가 중요한 업무 알림과 혼동되어 혼란을 줄 수 있다.
2. 빠르게 업무 공유을 하고 피드백이 필요할때
=> 직접 미팅하거나, 메일로 주고 받는 경우 시간이 많이 소요된다.
목적
- 소통 및 업무 공유
예
- Slack, Jandi, Hiworks
5. 통합 개발툴 (IDE)
소프트웨어 편집, 빌드, 테스트, 패키징과 같은 기능들을 사용하기 쉽게 하나로 통합한 애플리케이션을 말합니다.
모든 텍스트 편집기를 사용하여 코드를 작성할 수 있습니다. 그러나 대부분의 통합 개발 환경에는 텍스트 편집 이상의 기능이 포함되어 있습니다. 공통 개발자 도구를 위한 중앙 인터페이스를 제공하여 소프트웨어 개발 프로세스를 훨씬 더 효율적으로 만듭니다. 개발자는 다른 소프트웨어를 수동으로 통합하고 구성하는 대신 새 애플리케이션 프로그래밍을 빠르게 시작할 수 있습니다. 또한 모든 도구에 대해 알아야 할 필요가 없으며 대신 한 애플리케이션에만 집중할 수 있습니다. 다음은 개발자가 IDE를 사용하는 몇 가지 이유입니다.
IDE가 중요한 이유는 무엇인가요?
- 코드 편집 자동화
- 프로그래밍 언어에는 명령문이 구조화되어야 하는 방법에 대한 규칙이 있습니다. IDE는 이러한 규칙을 알고 있기 때문에 소스 코드를 자동으로 작성하거나 편집하기 위한 많은 지능형 기능을 포함합니다.
- 구문 강조 표시
- IDE는 자동으로 일부 단어를 굵게 또는 기울임꼴로 표시하거나 다른 글꼴 색상을 사용하여 작성된 텍스트의 서식을 지정할 수 있습니다. 이러한 시각적 신호는 소스 코드를 더 읽기 쉽게 만들고 우발적인 구문 오류에 대한 즉각적인 피드백을 제공합니다.
- 지능형 코드 완성
- 검색 엔진에 단어를 입력하기 시작하면 다양한 검색어가 나타납니다. 마찬가지로 개발자가 입력을 시작할 때 IDE가 코드 문 완성을 위한 제안을 할 수 있습니다.
- 리팩터링 지원
- 코드 리팩터링은 핵심 기능을 변경하지 않고도 소스 코드를 보다 효율적이고 가독성 있게 재구성하는 프로세스입니다. IDE는 어느 정도 자동 리팩터링할 수 있으므로 개발자가 코드를 빠르고 쉽게 개선할 수 있습니다. 다른 팀원은 읽을 수 있는 코드를 더 빨리 이해하므로 팀 내 협업을 지원합니다.
- 로컬 빌드 자동화
- IDE는 일반적으로 모든 코드 변경의 일부인 반복 가능한 개발 태스크를 수행하여 프로그래머 생산성을 높입니다. 다음은 IDE에서 수행하는 일반 코딩 태스크의 몇 가지 예입니다.
- 컴파일
- IDE는 운영 체제가 이해할 수 있는 단순화된 언어로 코드를 컴파일하거나 변환합니다. 일부 프로그래밍 언어는 IDE가 애플리케이션 내에서 사람이 읽을 수 있는 코드를 기계 코드로 변환하는 적시 컴파일을 구현합니다.
- 테스트
- IDE를 통해 개발자는 소프트웨어가 다른 개발자의 코드와 통합되고 더 복잡한 통합 테스트가 실행되기 전에 로컬에서 단위 테스트를 자동화할 수 있습니다.
- 디버깅
- 디버깅은 테스트에서 밝혀진 오류나 버그를 수정하는 프로세스입니다. 디버깅 목적을 위한 IDE의 가장 큰 가치 중 하나는 코드 실행 시 코드를 한 줄씩 순서대로 진행하고 코드 동작을 검사할 수 있다는 것입니다. IDE는 또한 개발자가 입력하는 동안에도 실시간으로 인적 오류로 인한 버그를 강조 표시하는 여러 디버깅 도구를 통합합니다.
IDE 종류
Confluence/Jira 생성 방법
1. 컨플루언스 로그인
2. Jira 연결
3. 컨플루언스 생성
4. 개인 스페이스 생성
- 메뉴를 만들고, 글을 작성하면 된다.(글 작성하는 방법은 비슷하다)
5. 협업에 사용하고 싶다면.. 만들기 선택 후 계정을 초대한다.