본문 바로가기
공부/컴퓨터 공학, 학교 공부

5월 첫째주 학교 공부 정리

by Excidus 2023. 5. 7.

컴퓨터 네트워크

서비스 제공

  • defact 표준: 표준 아니지만 표준 처럼 사용
서비스  WWW  FTP  E-mail
프로토콜 HTTP FTP SMTP
프로그램 httpd(서버), 크롬(클라이언트) FTPd(서버), ftp, ftp.exe 아웃룩

 

패러다임

  • peer-to-peer 패러다임
  • 클라이언트- 서버 패러다임

소프트웨어 공학

Soft Evolution

학습 목표: Evolution process, Legacy가 어떤 것이고 어떻게 처리되는지, software maintenance, soft requirement 변경

Evoulution process

  • change → impact: 바뀌어서 생긴 영향
  • IDE에러, platform error: 플랫폼 변경시 생기는 오류, Nonfuctional requirement수정시 발생하는 에러

handover problem: Agile→ plan base로 아니면 그 반대로 넘겨줬을 때 발생하는 문제

 

Automated regression testing: 회귀 버그를 찾는 모든 소프트웨어 테스트 방식은 회귀 테스트(regression testing, non-regression testing)라 할 수 있다. 회귀 버그는 이전에 제대로 작동하던 소프트웨어 기능에 문제가 생기는 것을 가리킨다. 일반적으로 회귀 버그는 프로그램 변경 중 뜻하지 않게 발생한다.

회귀 테스트로는 이전의 실행 테스트를 재 실행하며 이전에 고쳐졌던 오류가 재현되는지 검사하는 방법이 많이 사용된다.

https://ko.wikipedia.org/wiki/회귀_테스트

TDD를 사용하여 원래 fuction이 제대로 동작하는지 확인

Legacy systems: 오래된 시스템, 지금 시스템과 맞지 않음

Legacy를 바꾸는 것은 risky하고 expensive함, 여러가지 위험한 요인들이 있음

Legacy management

  • scrap: 잘라서 사용
  • maintain: 현상유지
  • transform, re-engineering(규모가 큰 리팩토링): 쓸만한 상태로 바꾸기
  • replace

상황에 맞춰서 앞의 4가지 전력을 사용하는 것이 좋다

Business value Assessment: 소프트웨어가 비즈니스 적으로 어떠한 가치를 가지는지 판단

  • system dependability이 어떠한지 파악해야함
  • 뽑아내는 아웃풋이 어떠한지 파악해야함

System Quality Assessment: 시스템적으로 어떠한 가치를 가지는지 파악, 개발자인 만틈 더 구체적으로 파악하는 것이 필요

  • Business process assessment: 달성해야하는 목표를 잘 이루는가
  • Enviroment assessment: 현재 환경에서 유지보수하는데 들어가는 비용
  • Application assessment: 소프트웨어 시스템 퀄리티

Soft ware maintenance

  • 사용단계로 갔을 때 단계 수정
  • maintenance는 major change 포함 안함
  • minor change 있는지, 작은 추가사항 정도

Maintenance의 종류

  • fault repairs
  • Environmental adaptation
  • Fuctionality addition and modification

Maintenance costs

기술적이지 않은 요소에도 영향받음 ex) 킥보드 회사의 정부정책으로 인한 영향

코스트를 줄이기 위해 노력하는 것이 필요

Software reengineering

  • without changing its fuctionality
  • refactoring과 비슷, 그런데 더 대규모로 진행
  • non-fuctionality를 향상시킴
  • 이점: risk와 cost문제 해결

대학생을 위한 시사

미중 무역 갈등

 

각 국가간 눈치, 외교 싸움이 더 과열됨

인도: 러시아와 붙어서 천연가스를 싸게 수입

일본: 미국과 더 밀착하여서 아시아에서 미국의 대리인 포지션을 가져감

 

교육개혁

  • 교육 개혁의 필요성과 해결방안

연금 개혁

  • 소득 대체율 문제: 우리나라는 소득 대체율이 낮음 → 노인 빈곤률 문제, 자살률 문제

소득대체율: 은퇴 뒤 받는 국민연금이 은퇴 전 소득과 비교해 어느 정도 비율인지를 나타내는 지표

 

노동개혁

  • 노조 가입률이 낮음, 서로 양보가 필요함, 처우 개선이 필요함 → 그러나 연대가 잘 되지 않음
  • 노동 시장 이중 구조 개선 필요
  • 우리나라의 노동 효율성이 낮음, 노동 생산성도 낮음 → 개혁 필요

시스템 프로그래밍

Integer Arithmetic: 곱셈, 나눈셈

  1. Logical shifts, Arithmetic shifts: 산술 연산과 관련, 나눗셈을 한뒤에도 부호 그대로(MSB를 그대로 두어서)
  2. SHL: Logical, 방향 왼쪽, 곱하기 2와 같은 효과, 8비트 만큼의 shifting을 허용
  3. SHR: 2^n으로 나누는 효과

→ 위의 연산들은 숫자가 unsigned라 가정했을 때 사용 가능!, signed일 때는 다른 방식을 사용하는 것이 필요함

   

   4. SAL, SAR: MSB유지, 부호 유지, SAL은 shift left와 같은 연산임, SAR은 MSB가 빈칸되는 자리에 원래의 값을 카피해서 부호를 유지한다

   5. ROL: MSB를 Carry와 LSB로 이동시킨다. 비트를 잃지 않음

   6. ROR: ROL과 비슷, 방향만 반대

   7. RCL,RCR: 캐리까지 포함해서 로테이션을 돎

   8. Signed Overflow: overflow가 어떻게 세팅되는지, 피연산자가 signed일때 연산결과 부호가 달라지는 경우 → overflow발생

   9. SHLD, SHRD: dest, source를 붙여서 연산, 소스는 값이 업데이트 되지않지만 dest는 값 변함, 빠져나가는 쪽이 dest

  • 한비트씩 3번 로테이션 = 3비트씩 1번 로테이션