일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 연습문제
- JSP
- 자바 실습
- html/css
- 혼공머신
- 오블완
- 디버깅
- 자바
- 데이터베이스
- JSP/Servlet
- rnn
- JDBC
- 머신러닝
- SQL
- CSS
- 정보처리기사필기
- 중학수학
- 중학1-1
- 데이터분석
- 자바스크립트심화
- 파이썬
- 순환신경망
- 컴퓨터비전
- 개발일기
- 딥러닝
- 정보처리기사실기
- 상속
- 컴퓨터구조
- 자바스크립트
- c언어
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
애플리케이션 테스트 관리 4 - Session 99~101 : 애플리케이션 성능 분석 및 성능 개선 그리고 복잡도 본문
애플리케이션 테스트 관리 4 - Session 99~101 : 애플리케이션 성능 분석 및 성능 개선 그리고 복잡도
huenuri 2024. 10. 4. 05:22애플리케이션 성능 분석부터 학습을 이어가 보겠다.
세션 99 - 애플리케이션 성능 분석
1번은 처리량, 응답 시간, 처리 시간이다. 2번은 시스템 모니터링..
처리시간이 아니라 경과 시간이다. 2번은 성능 테스트, 시스템 모니터링이다.
세션 100 - 복잡도
1번은 O(n)이다. 2번은 모르겠다. 3번은 5 - 4 + 2 = 3이므로 3이다. 다 틀렸다. 1:1 관계를 가지는 게 O(n)이고 하나의 단계만 가지는 건 O(1)이다. 이 부분은 아무래도 정리를 해야 할 것 같다.
시간 복잡도
알고리즘을 수행하기 위해 프로세스가 수행하는 연산 횟수를 수치화한 이다. 시간 복잡도가 낮을수록 알고리즘의 실행시간이 짧고 높을수록 실행시간이 길어진다. 종류는 다음과 같다.
- 빅오 표기법 : 알고리즘의 실행 시간이 최악일 때를 표기하는 방법
- 세타 표기법 : 알고리즘의 실행시간이 평균일 때를 표시하는 방법
- 오메가 표기법 : 알고리즘의 실행시간이 최상일 때를 표시하는 방법
빅오 표기법으로 표현한 최악의 알고리즘 시간 복잡도
1. O(1) : 입력값(n)에 관계없이 일정하게 물제 해결에 하나의 단계만을 거침
- 스택의 삽입(Push), 삭제(Pop)
2. O(log₂n) : 문제 해결에 필요한 단계가 입력값(n) 또는 조건에 의해 감소함
- 이진 트리, 이진 검색
3. O(n) : 문제 해결에 필요한 단계가 입력값(n)과 1:1 관계를 가짐
- for문
4. O(nlog₂n) : 문제 해결에 필요한 단계가 n(log₂n)번 만큼 수행됨
- 힙 정렬, 2-way 합병 정렬
5. O(n²) : 문제 해결에 필요한 단계가 입력값(n)의 제곱만큼 수행됨
- 삽입 정렬, 쉘 정렬, 선택 정렬, 버블 정렬, 퀵 정렬
6. O(2ⁿ) : 문제 해결에 필요한 단계가 2의 입력값(n) 제곱만큼 수행됨
- 피보나치 수열
그러니까 1번 답은 O(1)이다. 2번은 힙 정렬, 2-way 합병 정렬이다.
3번은 내부 영역 3개에 외부 영역 1개를 더하니 4이다. 아니면 화살표의 수 6에서 노드 수 4를 빼고 2를 더한 값인 4가 된다.
세션 101 - 애플리케이션 성능 개선
정적 분석 도구이다.
동적 분석 도구이다.
1번은 Static Analysis, Dynamic Analysis이다. 5번은 참고문서가 없어 개발자가 유지보수하기 어려운 코드이다.
외계인 코드는 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 코드이다.
학습을 마치고
이것으로 길고 길었던 7장 공부를 모두 마쳤다. 수업 듣고 문제 풀고 개념 공부를 하는데 어제부터 4시간 반 정도 걸린 것 같다. 생각보다 분량도 많고 암기할 것도 많아서 정말 어려웠다.
특히 중간에 공부를 중단하고 싶은 마음도 있었지만 끝까지 이기고 다시 공부에 집중할 수 있어서 정말 감사했다. 요즘에는 이런 마음 관리가 잘 되는 편이다. 아무리 내가 하기 싫은 일이 있어도 해야 한다고 생각하고 필요한 일이라면 참고 인내하면서 목표를 이루어나간다.
이러한 덕목이 개발자에게 가장 필요한 자질이 아닐까 싶다. 이제 남은 시간은 문제를 한번 더 풀며 예상문제은행 문제도 풀고 틀린 문제를 정리해보려고 한다.
'자격증 공부 > 정보처리기사 실기' 카테고리의 다른 글
SQL 1 - Session 102 : DDL 데이터 정의어 1 <이론 학습 1> (0) | 2024.10.08 |
---|---|
애플리케이션 테스트 관리 5 - 기출문제 틀린 문제 다시 풀기 (0) | 2024.10.04 |
애플리케이션 테스트 관리 3 - Session 96~98 : 테스트 케이스 · 시나리오 · 오라클 및 테스트 자동화 도구 그리고 결함 관리에 대하여 (2) | 2024.10.04 |
애플리케이션 테스트 관리 2 - Session 93~95 : 테스트 기법에 따른 애플리케이션 테스트 및 통합 테스트 (0) | 2024.10.04 |
애플리케이션 테스트 관리 1 - Session 91~92 : 애플리케이션 테스트 및 테스트 분류 (0) | 2024.10.03 |