정보처리기사 실기 준비 #25

hongjungkim·2021년 10월 11일
1

애플리케이션 성능 개선

1. 애플리케이션 성능 분석

  • 애플리케이션 성능 지표
    • 처리량
    • 응답 시간
    • 경과 시간
    • 자원사용률
  • 성능 분석 도구 유형
    • 성능 테스트 도구
      • JMeter
      • LoadUI
      • OpenSTA
    • 시스템 모니터링 도구
      • Scouter
      • Zabbix
  • 애플리케이션 성능 저하 원인
    • 데이터베이스 락
    • 불필요한 데이터베이스 패치
    • 연결 누수
    • 부적절한 커넥션 풀 크기
    • 확정 관련

2. 애플리케이션 성능 개선

  • 베드 코드
    • 다른 개발자가 로직을 이해하기 어렵게 작성된 코드
    • 사례
      • 외계인 코드
      • 스파게티 코드
      • 알 수 없는 변수명
      • 로직 중복
    • 유형
      • 오염
      • 문서부족
      • 의미 없는 이름
      • 높은 결합도
      • 아키텍처 잠식
  • 클린 코드
    • 잘 작성되어 가독성이 높고 단순하며 의존성을 줄이고 중복을 최소화하여 깔끔하게 잘 정리된 코드
    • 작성 원칙
      • 가독성
      • 단순성
      • 의존성 최소
      • 중복성 제거
      • 추상화
    • 유형
      • 의미 있는 이름
      • 간결하고 명확한 주석
      • 보기 좋은 배치
      • 작은 함수
      • 읽기 쉬운 제어 흐름
      • 오류 처리
      • 클래스 분할 배치
      • 느슨한 결합 기법 적용
      • 코딩 형식 기법 적용
  • 소스 코드 품질분석 도구 유형
    • 정적 분석 도구
      • pmd
      • cppcheck
      • SonarQube
      • checkstyle
      • ccm
      • cobertuna
    • 동적 분석 도구
      • Avalanche
      • Valgrind
  • 리팩토링
    • 유지보수 생산성 향상을 목적으로 기능을 변경하지 않고 복잡한 소스 코드를 수정, 보완하여 가용성 및 가독성을 높이는 기법
    • 목적
      • 유지보수성 향상
      • 유연한 시스템
      • 생산성 향상
      • 품질 향상

Question

  • 애플리케이션 성능을 측정하기 위한 지표 4가지?
  • 리팩토링?
  • 성능 분석 도구 유형?
  • 클린 코드 작성 원칙?
  • 외계인 코드?
profile
hangout with 💻 :)

0개의 댓글