일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- verilog HDL
- boj
- FPGA
- 코딩테스트
- axi
- vitis
- amba
- Backjoon
- SQL
- 자격증
- linux
- verilog
- C++
- HDLBits
- Xilinx
- java
- 실기
- 리눅스
- hdl
- Bus
- 백준
- Beakjoon
- chip2chip
- 정처기
- baekjoon
- UNIX
- 정보처리기사
- Vivado
- AMBA BUS
- Zynq
- Today
- Total
Hueestory
마무리 요약 본문
#01
<요구사항>
- 기능적 : 기능이 있냐 없냐
- 비기능적 : 성능이 이정도는 나와야 되지 않겠냐?
<워크 스루>
- 명세서를 미리 배포, 가볍게 결함 발견
<인스펙션>
- 작성자 제외 전문가들이 명세서를 확인, 무거운 검사
<럼바우> 객모동상기자
- 객체 : 모델링, 객체
- 동적 : 상태, 동작순서
- 기능 : 자료흐름도(DFD)
<DFD>
- process : 원
- data flow : 화살표
- data store : 직선
- terminator : 사각형
* 삼각형 X
<생명주기>
- 폭포수 : 순차적, 완료되면 넘어감
- HIPO : 하향식
- 애자일 : 과정 여러번 반복, 위험 최소화
<하향식>
- 절차 지향, 순차적
<상향식>
- 객체 지향, 기능 추가 어려움
<다이어그램>
- 구조, 동적 : 클래스, 객체, 컴포넌트, 배치, 복합체, 패키지
- 행위, 동적 : 유스케이스, 순차, 커뮤니케이션, 상태, 활동, 타이밍, 상호작용 개요
<GoF>
- 생성 : 추상 팩토리, 빌더, 팩토리메서드, 프로토타입, 싱글톤
- 구조 : 어댑터, 브릿지(독립적 확장), 컴포지트, 데코레이터, 퍼사드, 플라이웨잇, 프록시(접근 힘든 객체 연결 인터페이스)
- 행위 : 메멘토, 옵저버, 상태, 전략, 템플릿
#02
<화이트박스> 내부 소스를 볼 수 있는 테스트
- 기초 경로 검사 : 설계나 코드 기초로 흐름도 작성 후 경로 실행 검사
- 제어 구조 검사 : 논리적 조건 테스트, 프로그램 반복 구조 검사, 변수 사용 검사
- 프로그램 구조 고려
<블랙박스 테스트>
- 경계값 분석 : 입력 조건 경계값으로 분석
- 동치분할검사 : 입력 자료를 균등하게 배분
- 원인-결과 그래프 검사, 오류 예측 검사, 비교 검사 등
- 프로그램 구조 고려 안함
<정렬>
- 버블 정렬 : 한번 실행 시 마다 가장 큰 값이 맨 뒤로 이동
- 선택 정렬 : 가장 작은 값 선택해서 정렬 안된 가장 왼쪽 값과 변경
- O(n2) : 선택, 삽입, 버블
- O(Nlogn) : 병합
<스텁, 드라이버>
- 스텁 : 하향식, 인자를 통해 받은 값을 가지고 수행한 후 그 결과를 테스트할 모듈에 넘겨주는 역할
- 드라이버 : 상향식, 필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과 값을 받는 역할
<인스펙션>
계획 - 사전 교육 - 준비 - 인스펙션 회의 - 수정 - 후속 조치
<인수 테스트>
- 알파 : 개발자 앞에서 사용자가
- 베타 : 사용자가 사용자에게
<트리>
- 전위(Pre) - Root Left Right
- 중위(In) - Left Root Right
- 후위(Post) - Left Right Root
* Left는 항상 Right보다 우선, Root의 위치로 전 중 후
<EAI(Enterprise Application Integration)>
- 기업 내 각종 애플리케이션 및 플랫폼 간 정보 전달, 연계 통합 등 상호 연동이 가능하게 해주는 솔루션
<형상관리>
- 소프트웨어 변경사항 관리
- GIT, SVN
<DRM(Digital Rights Management)>
- 디지털 무단 사용을 막고 제공자의 권리, 이익을 보호해주는 기술 및 서비스
- 불법 복제와 변조 방지
- 키 관리 및 라이선스 발급 관리
<인터페이스 보안>
- IPSec : IP패킷 단위 데이터 변조 방지 및 은닉 기능을 제공
- SSL : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화
- S-HTTP : 클라이언트-서버 간 전송되는 메시지 암호화
* SMTP는 보안이 아니라 메일과 관련된 서비스
#03
<데이터베이스 기초 개념>
- 릴레이션 : 데이터를 표 형태로 표현한 것
- 속성 : 릴레이션의 열
- 튜플 : 릴레이션의 행
- 차수(Degree) : 속성의 수, 열
* 열차
- 카디널리티 : 튜플의 수, 행
<SQL>
- DCL(Data Control Language) / 명령어 : COMMIT, ROLLBACK, GRANT, REVOKE
- DDL(Data Definition Language) / 테이블 : CREATE, ALTER, DROP
- DML(Data Manipulation Language) / 튜플 : SELECT, INSERT, UPDATE, DELETE
- DISDINCT : 중복제거(SELECT)
- CASCADE : 부모 값 삭제 시 자식 값도 삭제
- ALTER : 속성 추가, 삭제 등 릴레이션 자체에 대한 수정
- BETWEEN AND : 서로 짝
- UPDATE SET : 서로 짝
<키 종류>
- 후보키 : 유일성 O 최소성 O
- 슈퍼키 : 유일성 O 최소성 X
- 기본키 : NULL X 중복값 X
- 외래키 : 기본키를 참조
- 대체키 : 기본키가 없을 때 대체
<로킹>
- 로킹 단위가 커지면 다른 모든게 작아지고 관리가 수월
- 로킹 단위가 작아지면 다른 모든게 커지고 관리가 복잡
<정규화>
- 1NF 2NF 3NF BCNF 4NF 5NF, 도부이 결다조
- 이행적(3NF) : A→B, B→C일 때 A→C 만족
<트랜잭션>
- 원자성(Atomicity) : 모두 반영되거나 전혀 반영되지 않거나
- 일관성(Constistency) : 시행 전·후 데이터베이스 상태는 같다
- 영속성(Durability) : 결과는 시스템이 고장나도 영구적으로 반영
- 격리성(Isolation) : 트랜잭션 실행 중 다른 트랜잭션 접근 불가
<무결성>
- 개체 : 테이블의 기본키를 구성하는 어떤 속성도 NULL X 중복값 X
- 참조 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일
- 도메인 : 주어신 속성 값이 정의된 도메인에 속한 값
<관계 대수>
- 절차적 언어
- select(σ) - 조건에 맞는 튜플 검색
- project(𝝅) - 특정 속성만 보여주기
- join(▷◁) - 합치기
- division(÷) -해당 튜플의 검색 대상 속성은 제거하고 보여주기
<뷰>
- 테이블 기반으로 만들어진 가상의 테이블, 논리적
- 기본 테이블 삭제 시 뷰도 삭제
- 뷰 위에 다른 뷰 정의 가능
- 삽입, 갱신, 삭제에 제약 존재
- CREATE, DROP O / ALTER X
<데이터베이스 목표>
- 위치, 중복, 병행, 장애, 분할
<물리적 설계>
- 레코드 집중 분석 및 설계
- 저장 레코드 양식 설계
- 저장 경로 지정
- 접근 경로 설계
<논리적 설계>
- 논리적 구조 매핑
- 트랜잭션 인터페이스 설계
- 스키마 평가 및 절제
#04
<결합도>
- 모듈 간, 낮을수록 좋음
- 내용→공통→외부→제어→스탬프→자료 (약해지는 순서)
* 내공부 제스자
- 내용(Content) 결합도 : 한 모듈이 내부 기능 및 내부 자료를 직접 참조하거나 수정할 때
- 공통(Common) 결합도 : 공유되는 영역 여러 모듈이 사용
- 외부(External) 결합도 : 외부의 다른 모듈에서 참조할 때 결합도
- 제어(Control) 결합도 : 제어하기 위한 목적, 권리 전도현상
- 스탬프(Stamp) 결합도 : 모듈 간 자료 구조 전달될 때 변화가 생기면 그걸 조회하는 모듈에 영향
- 자료(Data) 결합도 : 자료요소로만 구성, 처리값을 다시 돌려줌
<응집도>
- 모듈 내부, 높을수록 좋음
- 우연적→논리적→시간적→절차적→통신적→순차적→기능적 (강해지는 순서)
* 우논시절 통순기
- 우연적 응집도 : 서로 관련x
- 논리적 응집도 : 유사 성격이나 특정 형태로 분리되는 처리요소들로 모듈 형성
- 시간적 응집도 : 특정 시간에 처리되는 몇 개 기능을 모아 모듈 구성
- 절차적 응집도 : 모듈안의 구성 요소들이 그 기능을 순차적으로 수행할 경우
- 교환(통신)적 응집도 : 동일 입출력 사용 시 서로 다른 기능을 수행하는 구성요소가 모였을 경우
- 순차적 응집도 : 활동을 통해 나온 출력 데이터를 그 다음 활동 입력데이터로 활용하는 경우
- 기능적 응집도 : 모든 기능 요소가 단일 문제와 연관되어 수행될 경우
<IPv4>
- 32bit, 10진수 표현
- A : 0 ~ 127 (128)
- B : 128 ~ 191 (64)
- C : 192 ~ 223 (32)
- D : 224 ~ 239 (16)
- E : 240 ~ 255 (16)
<IPv6>
- 128bit, 2^128개 주소
- 16bit 8부분을 16진수 표현
<OSI 7 Layer>
- 응용
- 표현
- 세션
- 전송 : End-to-End 신뢰성 있는 정보 전달, 오류제어, 흐름제어, TCP/UDP
- 네트워크 : 라우터, L3, 빠른 전송, IP
- 데이터 링크 : 인접 노드 간 신뢰성 있는 정보 전달, 오류제어, 흐름제어, 브릿지, 스위치
- 물리
- ICMP : 오류 관련 패킷 전송
- ARP : 논리→물리
- RAPR : 물리→논리
<쉘>
- 외부 껍데기
- 사용자 명령 해석
- 반복 명령, 사용자 환경 설정
<커널>
- 내부 알맹이
- 프로세스 생성, 종료
- 쉘 실행을 위해 프로세스, 메모리 관리
<프로세스 스케줄링>
- SJF(Shortest Job First) : 실행시간 짧은 프로세스부터
- HRN(Highest Response-ratio Next) : 우선순위 = (대기시간 + 실행시간) / 실행시간
<페이지 교체 알고리즘>
- FIFO(First in First Out) : 가장 먼저 들어온 페이지 교체
- LRU(Least Recently Used) : 가장 오래 사용되지 않은 것 교체
- LFU(Least Frequently Used) : 가장 적게 사용된 페이지 교체
<변수명>
- 변수 이름 사이 공백 X
- 숫자 시작 X
- if, else, for, while, continue, true, false X
<내부 단편화>
- Best-Fit : 요구치보다 작지 않으면서 단편화 크기 제일 적은 것
- Worst-Fit : 가장 큰 것
<IP 프로토콜 주요 특성>
- 패킷 길이 : 2^16 - 1 bit
- 헤더 길이 : 32bit
- 헤더 체크섬 O 데이터 체크섬 X
- 비연결형, Best Effort
- 패킷 분할, 병합
<파이썬 자료구조 형태>
- 리스트(시퀀스) : 순서 O 가변
- 튜플(시퀀스) : 순서 O 불변
- 셋(셋) : 순서 X 중복 X
- 맵(딕셔너리) : 순서 X 키:밸류
<빌드 도구>
- Ant, Maven, Gradle
#05
<생명 주기>
- 폭포수 : 고전적, 선형, 순차적, 지나간 과정 다시 보기 어려움
- 애자일(나선형) : 리스크 최소화, [계획 수립-위험 분석-개발 및 검증-고객 평가] 반복, 지나간 과정 다시 볼 수 있음
<비용 산정 모델 - LOC(Lines Of Code)>
- 원시 코드의 라인수로 낙관치, 중간치, 비관치를 측정해 예측
- Man-Month : 코드 라인 수 / 프로그래머 1명 당 월간 생산량
<COCOMO>
- Organic : 5만 라인 이하
- Semi-Detached : 30만 라인 이하
- Embedded : 30만 라인 이상
<CMM(Capability Maturity Model)>
- 초기→반복→정의→관리→최적화
* 계획단계 X
<프레임워크>
- 개발에 공통적으로 사용되는 구성 요소와 아키텍쳐를 일반화하여 손쉽게 구현할 수 있도록 도움을 주는 반제품 형태
- 품질보증, 개발 용이성, 변경 용이성
- 라이브러리와 달리 사용자 코드가 직접 호출하지 않는다
<RIP>
- Bellman-Ford 알고리즘을 이용한 거리 벡터 라우팅 프로토콜
- 최대 15홉
- 소규모망에 적합, 느린 속도, 주기적 업데이트
<OSPF>
- Dijkstra 알고리즘을 이용한 링크 상태 라우팅 프로토콜
- 홉수 제한 X
- 대규모망에 적합, 빠른 속도, 변화가 있을 때만 업데이트
<암호화 알고리즘>
- 단방향 : HASH
- 대칭키 - DES, SEED, AES, ARIA (블록 암호화에 'E'가 들어감)
- 개인키 - LFSR, RC4
- 공개키(비대칭) - RSA, 암호화는 공캐기 복호화는 비밀키
<정보보안 3대 요소>
- 기밀성(Confidentiality) : 허가 받은 사람만 열람 가능
- 무결성(Integrity) : 허가 받은 사람만 수정 가능
- 가용성(Availability) : 필요할 때 사용 가능
<공격 기법>
- Ping of Death : 허용 범위 이상 크기의 패킷 전송
- SQL Injection : SQL문을 주입해 데이터베이스가 비정상적으로 동작하도록 한다
- XSS(Cross Site Scripting) : 웹사이트에 스크립트를 삽입해 공격
- Ransomware : 컴퓨터 문서를 암호화하고 돈을 요구
<FAT>
- Dos때 부터 사용되던 윈도우 파일시스템
- 저용량, 호환성 좋음, 최대 4GB
<NFTS>
- FAT 대체, FAT보다 보안이 뛰어남
- 대용량, 안정성 좋음
<접근통제>
- 강제 접근 통제(MAC; Mandatory Access Control) : 주체와 객체의 등급을 비교, 시스템이 지정
- 임의 접근 통제(DAC; Discretionary Access Control) : 신원에 따라 권한 부여, 데이터 소유자가 지정
- 역할 기반 접근 통제(RBAC; Role Based Access Control) : 사용자의 역할에 따라 권한 부여, 중앙관리자가 지정
<테일러링>
- 프로젝트 상황 및 특성에 맞게 정의된 방법론의 절차, 사용 기법들을 보완하는 작업
- 내부적 요건 : 목표 환경, 요구사항, 프로젝트 규모, 보유 기술
- 외부적 요건 : 법적 제약사항, 국제표준 품질기준
'challenge > 정보처리기사 필기(完)' 카테고리의 다른 글
정보처리기사 필기 합격 (0) | 2024.08.08 |
---|---|
기출 위주 개념 (0) | 2024.07.12 |
정처기 요약 (0) | 2024.07.05 |
정처기 기출 (계속 추가) (0) | 2024.07.03 |