툴링
툴링
적절한 툴링 선택은 개발 워크플로 효율성과 효과에 큰 차이를 만듦
버전 관리 깃
버전관리는 협력적인 개발을 가능케함
일관성 있는 브랜칭 전략
기능 브랜치와 같이 명확하고 일관성 있는 브랜칭 전략을 구현해 새로운 기능 개발, 수정 사항, 출시를 관리하라
이를 잘 문서화해서 모든 팀원들이 명확하게 이해할 수 있게 해야한다.
리뷰 프로세스
메인 브랜치에 병합하기 전 명확한 코드리뷰 프로세스를 거쳐야 한다.
이슈를 식별하고 새로운 코드가 병합되기 전에 코드 품질을 보장하는데 도움된다.
지속적 통합
CI는 여러 개발자의 코드 변경을 그 즉시 하나의 소프트웨어 프로젝트로 병합하는 프랙티스
CI 프로세스가 진행되는 동안 자동화 체크 중 하나라도 실패하면 시스템을 통합 프로세스를 중지
잠재적인 문제를 가진 코드가 병합되는것을 방지함
CI 파이프라인에 전형적으로 구축할 수 있는 항목들
린팅, 포맷, 코드 스타일 체크
단위 테스트, 통합 테스트, E2E
타입스크립트 타이핑
번들러
개발 코드를 브라우저에 호환되는 형식(HTML, CSS, JS) 변환하는 도구
번들러의 핵심 기능은 코드 컴파일과 변환이지만, 요즘 도구들은 웹 개발에 필요한 추가적인 기능도 제공함
성능 최적화의 핵심적인 역할 (이미지 최적화, 지연 로딩, 코드 분할 기법 등)
트리 셰이킹 기능을 제공하여 사용하지 않는 코드를 제거 후 최종 번들 파일 크기를 줄인다.
로깅
사용자 경험에 영향을 미칠 수 있는 이슈들을 식별하고 진단하는 도구
처리되지 않은 예외, 문법 에러, 런타임 에러 같이 프로덕션에서 발생하느 에러를 추적하고 진단함
이 정보들을 활용하여 버그를 신속하게 식별하고, 수정함으로써 사용자 경험 개선하고 다운타임을 줄임
유용한 접근법
중앙 집중화된 로깅 솔루션을 사용
로깅 대상을 신중히 선택
너무 많은 정보를 로깅하면 검색 및 분석하는데 부정적인 영향을 끼침, 불필요한 정보는 제거
구조화된 로깅
일반 텍스트가 아닌 JSON같은 구조화된 형식의 데이터를 로깅하는 것을 말함
구조화된 로깅은 검색과 분석을 쉽게 할 수 있고 앱 동작의 패턴과 트렌드를 식별하는데 도움됨
로그에 컨텍스트 포함
사용자 ID, 요청 ID, 앱 버전과 같은 컨텍스트를 로그에 포함하면 버그 원인을 보다 쉽게 식별 가능
로그를 모니터링
로그를 실시간으로 모니터링하면 이슈를 빠르게 식별하고 대응 가능
성능 모니터링
앱의 효율성과 속도를 지속적으로 추적하고 평가하는 능력
응답 시간, 서버 부하, 리소스 효율같은 앱 성능에 관한 데이터 수집, 분석, 보고를 포함함
페이지가 느리게 작동하는 것과 로딩 시간이 긴 것을 식별하고 분석할 수 있는 이익을 얻음
Last updated