본문 바로가기

명지대학교 3-2/분산프로그래밍2

[0911] 분산프로그래밍2

품질: 변하지 않는 것, 입력값 대비 출력값의 변화를 제약하는 것 (= 부사)

품질에 있는 것: 성능, 안정성, 효율성, 사용성, 보안성, 유지보수성

 

성능이 좋다(3가지) -> 쉬움: 모든 것을 다 숫자로 나타낼 수 있기 때문, 회사에 가장 많음(성능 요구사항)

- 시간과 관련된 것(버튼->결과가 나올 때까지 걸리는 시간)

- Resource (CPU 조금 먹음 > CPU 많이 먹음) => 성능을 좋게 짰다. (더 정확한 건 효율성이지만 성능이라 부름)

- Capacity 동시에 확 몰리는 것, = 구글 (견뎌낼 수 있는 능력)

 

Relability (신뢰성)

-Recoverability 빠르게 회복되는 것

-Port  tol~

( Error -> Fault ) - X > Failure

(Bug)    

error - fault -> failure이 안나게 하려면? 

- 시스템을 두개 두는 것, (= 서버) -> fault (falut막기 위해 redundancy를 사용)

error(처리) -> Redundancy(잉여)

 

다음 CPU 많이 먹음 -> 서버가 다 다운됨(과부하돼서) -> 2대 - 복구 24시간 걸림 -> 그 이후로 naver 못이김

네이버 redundancy를 400대를 만듦 -> 그래서 만들어진 것이 하드웨어 AWS

에러가 터졌을 때 그걸 견디는 능력이 있으면 좋음.

ava (안정성) -> 99%안정성 -> 안좋은 것. 

relabiliity -> 100% -> 좋은 것

mutuality 버전 

 

sequrity, usability -> 기능성으로 

기능보다 기능성이 더 많다.

입력값 대비 출력값의 변화로 다 됨

사용편의성과 보안은 대부분 기능으로 다 커버가 된다.

 

Functional stability ->기능성

보안과 사용성은 기능성으로 거의다 커버가 된다. (보안, 사용성 안 적어도 됨)

software의 유지보수성은 성능, 신뢰성과 비교할 수 없이 중요하다.

 

유지보수성은 품질의 근간이다. 유지보수가 안되면 버그가 생긴다.

잡기 어려운 버그: 고칠 때 생기는 버그

 

유지보수성

modulability (7번째)

-  코드에 쉴드를 쳐줌, 어떻게 바꿔도 영향을 못미침, 터져도 나만 죽음 -> 모듈화가 되는 것

- 나만 독자적으로 돌게 짜면 됨. multi process가 되면 된다.

- 도커 - 터져도 나혼자 죽음  

ex. 화면이 다 쪼개져 있음. - netflix

- 도망을 못가게 가둬놓는다. (짠 에러를 가둬놓음)

usability 재사용성 - 소스코드를 재사용하면 좋음

modifiability: 수정이 쉽다. 수정하기 쉬운 소스코드는 없다. 소스코드는 한줄도 안 고치는 것이 정답이다. -> 어떻게? 설정화하면 소프트웨어는 항상 설정화를 읽어서 처리해야 한다. static은 무조건 설정으로 처리한다. 설정화한다.-> 소스코드는 건드리는 순간 버그가 터진다. => " " 으로 되어있는 경우가 보통 오류가 잘남. configration file을 많이 가질수록 소스코드는 유지보수가 좋아진다. 왜냐면 변경이 쉽기 때문. , 설정을 많이 쓴다

 

 23일 레포트

 

 

'명지대학교 3-2 > 분산프로그래밍2' 카테고리의 다른 글

[1007] 분산프로그래밍2  (0) 2024.10.10
[0930] 분산프로그래밍2  (0) 2024.09.30
[0923] 분산프로그래밍2  (0) 2024.09.23