시스템 프로그래밍
Conditional Loop Instruction
Loop
LoopZ: 제로 플래그가 세팅되어있을 때 루프 동작
LoopE: LoopZ와 같은 opcode 공유, 같은 기계어 공유, 똑같이 동작
LoopNZ: 제로플래그가 0이 아닐때 루프 동작
LoopNE: LoopNZ와 같은 opcode 공유, 같은 기계어 공유, 똑같이 동작
Conditinal Structures
if와 else의 동작
가능하면 명령어 줄이고, 단순하게
그대로 직역해서 어셈블리어로 바꾸면 점프를 두번 사용하므로 거꾸로 만들어서 사용한다.
Compound Expression
short-circuit evaluation: 단축 평가 계산이란 첫 번째 인수가 값을 결정하기에 충분하지 않은 경우에만 두 번째 인수가 평가되는 일부 프로그래밍 언어(C, C++, JAVA 등)의 일부 논리 연산(AND, OR)의 계산
ex) OR(||)의 결과값이 무조건 참이 되기 때문에 뒤의 연산을 진행하지 않은 것
OR을 어셈블러로 만들때 앞에꺼만 뒤집고 뒤에꺼는 그대로 어셈블리어로 바꾼다.
While → 어셈블리어로 바꾸기
Table Driven Selection: 어셈블리어로 IF, Else 사용하기 복잡하니까, 각구조에서 할일을 프로시저로 넘겨줘서 사용을 편리하게 함
장단점: 용량문제가 발생, Call 하는데 시간 소요, 런타임 중 실시간으로 테이블 값 변경가능
FSM
어셈블리어로 FSM만들기
ex) 컴파일러는 FSM방식으로 동작
구조,레이블,프로시저 쓰면 더 심플하게 구현 가능
소프트웨어 공학
Software Testing
목표: 어느 단계에 왔을 때 어떤 테스트 적용하는지, TDD가 무엇인지
TDD: 테스트 주도 개발은 소프트웨어 개발 방법론 중의 하나로, 선 개발 후 테스트 방식이 아닌 선 테스트 후 개발 방식을 말한다. 다시 말해 먼저 자동화된 테스트 코드를 작성한 후 테스트를 통과하기 위한 코드를 개발하는 방식의 개발 방식을 말한다.
Program testing:
우리가 원하는 대로 동작하는지,
버그(defects)가 없는지,
프로그램의 실행, 실제로 돌아가는 것을 테스트 → dynamic방식 ,
에러가 있는 것을 밝힐 수 있음, 근데 없다는 것을 밝히긴 어려움
Program Testing Goals
- custom: requirment 하나당 테스트 하나
- generic: 소프트웨어의 모든 기능을 테스트
Validation: 의도한 대로 동작하는지 확인
output이 생각한 것과 같은지 / test output이 expected output과 같은지 비교한다.
software inspections: 평상시에 자주 겪어본 IDE의 빨간 글씨, Static→ 실행X
software testing: dynamic → 실행O, Excuted
Inspection
- sourcerepresentation: 코드 뿐만 아니라, 문서까지, 구현이 다 되어있지 않아도 확인 가능, 비교적 효과적
- 거짓인 경우: 실행하면 문제가 없는데 문제가 있다고 하는 경우가 단점이다
- Execution 가기전에 주로 사용
Test 목적에 따른 Test 방식의 분류
Test 단계에 따른 Test의 분류
코드 커버리지를 높여야함
대학생을 위한 시사
국가채무: 국가가 가지고 있는 빚
미국은 국가가 가계 대신 빚을 떠안음
반면 우리나라는 가계가 국가 대신 빚을 떠안음
적정 국가 채무가 필요
가계부채: 국민 개개인이 갖는 빚
우리나라의 국가채무는 아직 허용 가능한 수준, 그러나 가계부채는 심각, OECD 최고 수준
정년연장:
정년 조정의 필요성 부상
현황 및 문제점: 초고령 사회 도달, 노인빈곤, 정년 60세까지 보장받지 않음, 고용시장 불안정 → 불평등을 야기
대안: 한국의 연공서열이 심함, 신입보다 고참의 수입이 3.3배에 달함 → 개선 필요, 직무급, 성과급 제도로 전환 필요
정치개혁이슈
한국정치의 문제: 비례적으로 대표하지 못함, 일부만 대표(강성 지지자들만을 대표)
정책으로 해결하지 못함
국론 분열
극심한 정쟁
선거제도 개혁
대통령에게 과도한 권력, 인사권 → 대통령의 인사권 제한 필요
개선방안
- 책임 총리제 도입: ex) 프랑스, 각장관들의 일반적인 업무관리로 분화
- 의회 강화: 헌법에서는 의회가 행정부보다 먼저 나옴, 견제력 강화, 국민의 분신, 뜻 반영
- 의회 책임성 강화
- 선거제도의 비례성 강화: 대표성강화, 승자독식을 약화시켜서 비례성을 강화
- 국회의원 의정수 문제 개선 필요
내일은 새로운 5월의 시작이다. 이제 힘들만큼 힘들고 이제 다시 괜찮, 아니 더 나은 사람이 되어야 한다!
'공부 > 컴퓨터 공학, 학교 공부' 카테고리의 다른 글
게임과 인문학 2차시 수업 정리 (0) | 2023.09.24 |
---|---|
5월 둘째주 학교공부 정리 (1) | 2023.05.14 |
5월 첫째주 학교 공부 정리 (0) | 2023.05.07 |
소프트웨어 공학 파이썬 퀴즈 (0) | 2023.04.09 |
유닉스 시스템 프로그래밍 프로젝트 (1) | 2022.12.30 |