ETC/ETC

[정보처리기사] 정처기 정리

dev.pudding 2024. 2. 16. 10:12
728x90

리눅스 

uname - 커널의 버전 확인  

wtmp - 사용자 로그인 및 로그아웃 정보 및 시스템 

 

스크럼

스프린트 (Sprint) -> 실제 개발 작업을 진행하는 과정으로 보통 2~4주 정도의 기간 내에서 진행함 

스크럼 마스터 -> 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할

제품 백로그 -> 스크럼 팀이 해결해야하는 목록 

속도 -> 한 번의 스프린트에서 한 팀이 어느정도의 제품 백로그를 감당할 수 있는가에 대한 추정치 

 

테스트 

알파 테스트 -> 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법 

베타 테스트 -> 선정된 최종 사용자가 여러명의 사용자 앞에서 행하는 테스트 기법 . 개발자에 의해 제어되지 않음 

 

XP

용단의 피죤 -> 용기, 단순성, 의사소통, 피드백, 존중 

Pair Programming( 프로그래밍) -> 다른 사람이랑 같이 개발

Test-Driven Development (스트 주도 개발) -> 실제 코드 작성전 테스트 케이스 먼저 작성

Whole Team (체 팀) -> 개발에 참여하는 모든 구성원들은 각자 자신의 역할이 있고 책임이 있음 

Design Improvement(자인 개선) or Refactoring -> 프로그램의 기능 변경 없이 단순화 (재구성)

Small Release (규모 릴리즈) -> 릴리즈 기간을 짧게 반복함 (요구변화에 신속히 대응)

Continuous Integration(속적인 통합) -> 모듈 단위로 나눠서 개발된 코드들은 하나의 작업이 마무리 될 때마다 지속적으로 통합 

 

계획 수립 -> 주기(Iteration) -> 승인 검사(Acceptance Test) -> 소규모 릴리즈 

 

요구사항 개발 프로세스 

도출(Eliciation) -> 분석(Analysis) -> 명세(Specification) -> 확인(Validation)

https://powerdev.tistory.com/36

 

명세기법

정형 명세 기법 

수학적 원리, 모델기반, 표기법 이용

정형 명세 언어: Z-스키마, Peri-Nets, 상태 차트, VDM

표현 간결, 명확, 검증용이, but  표기법을 배워야되서 이해어려움

 

 

HIPO(Hierarchy Input Process Output)

  • 시스템의 분석 및 설계 또는 문서화에 사용되는 기법 , 시스템의 실행 과정인 입력/처리/출력의 기능을 표현한 것

 

  • 기본 시스템 모델은 입력, 처리, 출력으로 구성됨
  • 하향식 SW 개발을 위한 문서화 도구로 이해하기 쉬움
  • 변경과 유지보수에 용이
  • 구조도, 개요 도표 집합, 상세 도표 집합으로 구성
  • 기능과 자료의 의존 관계를 동시에 표현
    • 가시적 도표: 시스템 전체적인 기능과 흐름을 보요주는 계층구조도
    • 총체적 다이어그램: 입력, 처리, 출력에 대한 전반적인 정보를 제공하는 도표
    • 세부적 다이어그램: 총체적 다이어그램을 상세 기술하는 도표 

UML 

객체지향 모델링 언어

럼바우, Booch, Jacobson 등의 객체지향 방법론의 장점을 통합

OMG(Object Management Group) 에서 표준으로 지정 

사물(Things), 관계(Relationship), 다이어그램(Diagram)

 

사물(Things) - 관계가 형성될 수 있는 대상 , 가장 중요한 기본요소 

  • 구조사물(Structural Things) - 물리적 요소 (노드, 클래스 등등)
  • 행동사물(Behavioral Things) - 시간과 공간에 따른 행위 (상호작용, 상태머신)
  • 그룹사물(Group Things) - 요소들을 그룹으로 묶어서 표현(패키지)
  • 주해사물(Annotation Things) - 부가적인 설명이나 제약조건 등을 표현(노드) 

관계(Relationship) - 사물과 사물 사이의 연관성을 표현한 것 

  • 연관관계(Association)
    • 실선으로 연결
    • 방향성은 화살표 
  • 집합관계(Aggregation)
    • 하나의 사물이 다른 사물에 포함되어 있는 관계
    • 포함하는 쪽과 포함되는 쪽은 서로 독립적
    • 포함되는 쪽에서 포함하는 쪽으로 빈 마름모를 연결해 표현
  • 포함관계(Composition)
    • 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
    • 서로 독립적이지 못함 
    • 포함되는 쪽에서 포함하는 쪽으로 속이 채워진 마름모를 연결 
  • 일반화관계(Generalization)
    • 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계 
    • 일반적인 개념을 상위(부모), 보다 구체적인 개념을 하위(자식)
    • 하위에서 상위로 속이 빈 화살표를 연결하여 표현

 

  • 의존관계(Dependency)
    • 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지 
    • 영향을 주는 사물(이용자)가 영향을 받는 사물(제공자) 쪽으로 점선 화살표를 연결 

 

  • 실체화관계(Realization)
    • 사물이 할 수 있거나 해야하는 기능 
    • 서로를 그룹화할 수 있음
    • 사물 쪽에서 기능 쪽으로 속이 빈 점선 화살표를 연결하여 표현

 

다이어그램(Diagram) - 사물과 관계를 도형으로 표현한 것 

 

정적 모델링(구조적 다이어그램)

  • 클래스 다이어그램, 객체 다이어그램(럼바우의 객체모델링에 사용), 컴포넌트 다이어그램, 배치 다이어그램, 복합체 구조 다이어그램, 패키지 다이어그램

행위 다이어그램(동적 모델링)

  • 유스케이스 다이어그램(사용자 요구 분석,Actor[사용자], Use Case[사용사례]) , 시퀀스 다이어그램(메시지 표현), 커뮤니케이션 다이어그램, 상태 다이어그램(럼바우 동적 모델링), 활동 다이어그램(처리 흐름), 상호작용 개요 다이어그램, 타이밍 다이어그램 

유스케이스 다이어그램 

기능모델링 - 사용자의 요구사항을 분석하여 개발될 시스템이 갖추어야할 기능을 정리한 후, 사용자와 함께 정리된 내용을 공유하기 위해 그림으로 표현

개발될 시스템의 전반적인 형태를 기능에 초점을 맞춰 표현 

유스케이스(Use Case) 다이어그램

사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자 관점에서 표현한 것

  • System/System Scope - 시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현 
  • Actor - 시스템과 상호작용을 하는 모든 외부의 요소 , 주로 사람이나 외부시스템을 의미
    • 주액터: 시스템을 사용함으로서 이득을 얻는 대상(주로 사람)
    • 부액터: 시스템에 서비스를 제공하는 외부 시스템(조직, 기관 등)
  • Use Case - 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스나 기능을 표현한 것 

 

  • Relationship - 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날 수 있음
    • 포함관계(<<include>> ,  확장관계 <<extends>> , 일반화 관계(실선) 

UI 설계도구 

wireframe- 기획단계를 제작하는 것 

Mockup - 와이어프레임보다 좀 더 설계 화면과 유사하게 만든 정적인 형태의 모형 (시작적으로만 구성, 실제 구현 X)

Storyboard - 와이어프레임에 콘텐츠에 대한 설명, 페이지간 이동 흐름을 추가한 문서 

Prototype - 와이어프레임이나 스토리보드 등에 인터렉션을 적용함으로서 실제 구현된 것처럼 테스트가 가능 

UseCase - 사용자 측면에서의 요구사항, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술 

 

UX(User eXperience ; 사용자 경험) 

HCI(Human Computer Interaction or Interface) 

  • 사람이 시스템을 보다 편리하고 안전하게 사용할 수 있도록 연구 개발하는 학문
  • 최종 목표는 최적의 사용자 경험(UX)를 만드는 것 

UX(User Expierence) 

  • 사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험
  • 사용자의 삶의 질을 향상시키는 하나의 방향으로 보는 새로운 개념
  • UI를 통해 사용자가 느끼는 만족이나 감정 중시

UX의 특징 

  • 주관성(Subjectivity) : 사람들의 개인적, 신체적, 인지적 특성에 따라 다르므로 주관적
  • 정황성(Contextuality) : 경험이 일어나는 상황 또는 주변 환경에 영향을 받음
  • 총체성(Holistic) : 개인이 느끼는 총체적인 심리적, 감성적인 결과

감성공학

  • 제품이나 작업환경을 사용자의 감성에 맞게 설계 및 제작하는 기술
  • 여러분야의 학문이 공존하는 종합과학
  • 인간의 감성을 구체적으로 제품 설계에 적용하기 위해 공학적인 접근 방법 사용
  • HCI 설계에 인간의 특성과 감성을 반영
  • 감성공학의 기술요소
    • 기반 기술: 제품 설계에 적용할 인간의 특성을 파악
    • 구현 기술: 인간의 특성에 맞는 인터페이스를 구현
    • 응용 기술: 인간에 맞는지 파악하여 새로운 감성을 만듦 

Socket

통신을 위한 프로그램을 생성하여 포트를 할당하고, 클라이언트의 통신 요청 시 클라이언트와 연결하는 내외부 송수신 연계기술 

더보기
2. 통신을 위한 프로그램을 생성하여 포트를 할당하고, 클라이언트의 통신 요청 시 클라이언트와 연결하는 내·외부 송·수신 연계기술은?
① DB링크 기술
② 소켓 기술
③ 스크럼 기술
④ 프로토타입 기술

 

럼바우

객체 모델링, 동적 모델링, 기능 모델링(객동기)

 

디자인 패턴

https://memo-0u0.tistory.com/9

 

 

응집도

- 모듈내부의 요소들이 서로 연관되어 있는 정도

- 높을수록 좋다

- 우연적<논리적<시간적<절차적<교환적<순차적<기능적(우연적 worst, 기능적 best)

(우논시절교순기 - 리가 에서 놀던 시절 회에서 한 진한 도)

(1) 우연적 응집도(worst) Coincidental 

     : 모듈내부의 각 구성요소들이 연관이 없을 경우

(2) 논리적 응집도

     : 유사한성격을 갖거나 특정형태로 분류되는 처리요소들이 하나의 모듈에서 처리되는 경우

(3) 시간적 응집도(Temporal Cohesion)

     : 특정시간에 처리되어야하는 활동들을 한 모듈에서 처리하는 경우

(4) 절차적 응집도

     : 모듈안의 구성요소들이 순차적으로 수행할경우

(5) 교환적 응집도

     : 동일한 입력과 출력을 사용하여 다른기능을 수행하는 활동들이 모여있는 경우

(6) 순차적 응집도

     : 모듈내에서 한 활동으로부터 나온 출력값이 다음 활동의 입력데이터로 사용될 경우

(7) 기능적 응집도(best)

     : 모듈내부의 모든 기능이 단일한 목적을 위해 수행되는 경우

 

중위순회(InOrder) 

left -> root -> right 

후위순회(postOrder ) : left -> right -> root

전위순회(preOrder) : root -> left -> right  

해싱함수 

제산법(Division) - 레코드 키(K)를 해시표의 크기보다 큰 수 중에서 가장 작은 소수(Prime, Q)로 나눈 나머지를 홈 주소로 삼는 방식, 즉 h(K) = K mod Q

예시) 적어도 5000개의 레코드를 수용할 수 있는 해시표에 키값이 123456인 레코드가 저장되는 홈 주소는?

5000 보다 큰 수 중 가장 작은 소수는 5003 h(k) = 123456 mod 5003 = 2111... 

제곱법(Mid-Square) - 레코드 키 값(K)을 제곱한 후 그 중간 부분의 값을 홈 주소로 삼는 방식 

예시) 2123123 = 42343241232413 

h(K) = 3713

폴딩법(Folding) - 레코드 키 값(K)를 여러 부분으로 나눈 후 , 각 부분의 값을 더하거나 XOR한 값을 주소로 삼는 방식 

기수 변환법(Radix)기수 변환법(Radix)는 키 숫자의 진수를 다른 진수로 변환시켜 주소 크기를 초과한 자릿수는 절단하고, 이를 다시 주소 범위에 맞게 조정하는 방법 

대수적 코딩법(Algebraic Coding) - 키 값을 이루고 있는 각 자리의 비트 수를 한 다항식의 계수로 간주하고, 이 다항식을 해시표의 크기에 의해 정의된 다항식으로 나누어 얻은 나머지 다항식의 계수를 홈 주소로 삼는 방식 

계수 분석법(숫자 분석법) - 키 값을 이루는 숫자의 분포를 분석하여 비교적 고른 자리를 필요한 만큼 택해서 홈 주소로 삼는 방식

무작위법(random) - 난수(random number)를 발생시켜 나온 값을 홈 주소로 삼는 방식 

 

- SHA 시리즈, MD5, N-NASH, SNEFRU

빌드도구 

Ant, Make, Maven,Gradle(Groovy), Jenkins(Java)

 

소프트웨어 패키징

배포용 설치 파일을 만드는 것, 모듈화하여 패키징, 일반적인 배포 형태로 패키징, 사용자의 편의성 및 실행 환경 고려

사용자 중심

 

DRM

DRM(디지털 저작권 관리) 기술과 거리가 먼 것은?

1 콘텐츠 암호화 및 키 관리
2 콘텐츠 식별체계 표현
3 콘텐츠 오류 감지 및 복구  -> 오류 복구는 상관 X 
4 라이센스 발급 및 관리

 

형상관리기능 

형상관리(SCM; Software Configuration Management)란 개발 과정에서 변경사항을 관리하기 위한 일련의 활동이다
✔ 소프트웨어 변경의 원인을 알아내고 제어하며 적절히 변경되고 있는지 확인하여 해당 담당자에게 통보
✔ 형상 관리는 소프트웨어 개발의 모든 단계 및 유지보수 단계에서도 수행된다
✔ 형상 관리는 개발 전체 비용을 줄이고 여러 방해요인 최소화 보증을 목적으로 한다
✔ 관리 항목에는 소스 코드뿐만 아니라 각종 정의서, 지침서, 분석서 등이 포함된다.

 

버전관리도구 

공유폴더방식 -> RCS 

중앙집중형 -> CVS, SVN, CVSNT, Clear Case, CMVC, Perforce

 

파레토 법칙

소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다

살충제 페러독스 : 동일한 테스트 케이스로 반복해서 테스트하면 새로운 버그를 찾지 못한다.

 

하향식 통합 테스트 (Top-down)

상위모듈 -> 하위모듈 

깊이우선 통합법 or 넓이 우선 통합법

테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있음

상위 모듈에서는 테스트 케이스 사용 어려움

1) 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁으로 대체 

테스트 스텁

제어 모듈이 호출하는 타 모듈의 기능을 수행하는 도구, 일시적인 필요 조건만 가지고 있는 시험용 모듈

상위 모듈은 있지만 하위 모듈이 없는 경우 하위 모듈 대체

실험용 모듈이라서 드라이버보다 작성이 쉬움

2) 깊이 우선 or 넓이 우선 등의 통합 방식에 따라 하위 모듈인 스텀들을 실제 모듈로 교체

3) 모듈이 통합될 떄마다 테스트 실시

4) 새로운 오류 발생않음을 보장하기 위해 회귀 테스트 실시 

 

상향식 통합 테스트 (Bottom-up)

하위 모듈 -> 상위모듈 

절차

1) 하위 모듈을 클러스터로 결합 

2) 상위 모듈에서 데이터 입,출력 확인 위해 드라이버 작성

* 드라이버 : 테스트 대상의 하위모듈 호출, 파라메터 전달, 모듈 테스트 수행 후 결과 도출하는 도구 

3) 통합된 클러스터 단위로 테스트

4) 테스트 완료시 클러스터는 프로그램 구조의 상위로 이동해 결합, 드라이버는 실제 모듈로 교체 

 

데이터 무결성 검사도구 

tripwire, AIDE, Samhain, Claymore, Slipwire, Fcheck

 

인터페이스 구현 검증도구

xUnit, STAF(컴포넌트 재사용), FitNesse, NTAF(네이버), Selenium, watir(Ruby)

파일

순차파일(Sequential File) - 입력되는 데이터의 논리적인 순서에 따라 물리적으로 연속된 위치에 기록하는 방식으로, 처리속도가 빠르고 저장 매체의 공간 효율이 좋지만 검색시에 불편하다. 

색인순차파일(Indexed Sequential File) - 키 값에 따라 순차적으로 정렬된 데이터를 저장하는 데이터 영역과 이 지역에 대한 포인터를 가진 색인 영역으로 구성된 파일로서, 기본영역, 색인영역, 오버플로우 영역으로 구성됨 

VSAM 파일(Virtual Storage Access Method File) - 동적 인덱스 방법을 이용한 색인 순차 파일로서 기본 데이터 영역과 오버플로우 영역을 구분하지 않는 대신에 제어영역이라는 것이 있음. 레코드를 삭제하면 제어영역에서 사용, 대형 운영체제에서 사용 (색인순차파일의 업그레이드 버전)

직접파일(Direct File) - 특정 레코드에 접근하기 위해서 디스크의 물리적 주소로 변환할 수 있는 함수인 해싱 함수를 사용하며, 시간이 빠르고 랜덤 처리에 적합하나 메모리 효율이 떨어짐 

역파일(Inverted File)  - 파일이나 DB에서 레코드를 빨리 검색하기 위해 별도의 인덱스 파일을 만들어두고 인덱스 파일에 키 필드의 값, 그 키 값을 가지는 레코드에 대한 포인터들이 저장됨. 검색 속도 빠르고 처리가 쉽다. 

클러스터링 

  • 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장방법
  • 단일 테이블 클러스터링, 다중 테이블 클러스터링

클러스터 대상 테이블

  • 분포도가 넓은 테이블
  • 대량의 범위를 자주 조회하는 테이블
  • 입력, 수정, 삭제가 자주 발생하지 않는 테이블

트랜잭션

원자성(Atomicity) 

  • 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장한다.
  • 트랜잭션이 DB에 모두 반영되거나 혹은 전혀 반영되지 않아야한다(All or Nothing) 
  • 어느 하나라도 에러가 발생하면 트랜잭션의 전부가 취소

일관성(Consistency)

  • 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성있는 데이터베이스 상태로 변환함
  • 시스템의 고정요소가 트랜잭션 전후에 상태가 같아야함

독립성, 격리성(Isolation)

  • 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 중간에 끼어들 수 없음 
  • 수행중인 트랜잭션은 완전히 완료될 떄까지 참조 불가능

영속성, 지속성(Durability)

  • 성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영되야함 

정규화 이상(Anomaly) 

정규화를 거치지 않은 데이터베이스 내의 데이터들이 불필요하게 중복되어 릴레이션 조작시 예상치 못한 문제가 발생하는데 이를 이상(Anomaly)라고 한다.

  • 삽입 이상(Insertion Anomaly) : 릴레이션에 데이터를 삽입할 때 의도와는 상관없는 값들도 함께 삽입되는 현상 
  • 삭제 이상(Deletion Anomaly) : 릴레이션에서 한 튜플을 삭제할 떄 의도와는 상관없는 값들이 삭제되는 연쇄가 일어나는 현상 
  • 갱신 이상(Update Anomaly) : 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되며 정보에 모순이 생기는 현상 

정규화 과정

도부이결다조 

 

릴레이션 구조 

관계형 데이터베이스를 구성하는 개체나 관계를 모두 릴레이션이라는 표로 표현함 

장점 : 간결, 보기 편리, 다른 데이터베이스로 변환 용이

단점 : 성능이 떨어짐

 

구조 

릴레이션 : 데이터들을 표 형태로 표현한 것

릴레이션 스키마: 구조를 나타내는 릴레이션 

릴레이션 인스턴스 : 실제 값들 

 

튜플(Tuple)

- 릴레이션을 구성하는 각각의 행 

- 속성의 모임으로 구성됨

- 파일 구조에서 레코드와 같은 의미

- 튜플의 수 = 카디널리티 = 기수 = 대응수 

 

속성(Attribute) 

- 릴레이션을 구성하는 각각의 열

- 가장 작은 논리적 단위

- 파일 구조에서 데이터 필드에 해당

- 개체의 특성을 기술 

 

도메인(Domain) 

- 하나의 속성이 취할 수 있는 같은 타입의 원자수 

- 성별속성의 도메인은 남,여

 

특징

  • 한 릴레이션에 포함된 튜플들은 모두 상이함
  • 한 릴레이션에 포함된 튜플 사이에는 순서가 없음
  • 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변함
  • 속성들간의 순서는 중요하지 않음
  • 속성의 명칭은 유일해야 하지만, 구성하는 값은 동일할 수 있음
  • 튜플을 유일하게 식별하기 위해 속성들의 부분집합을 키로 설정함 ( <학생> 릴레이션에서는 학번이나 이름이 튜플들을 구분하는 유일한 값인 키가 될 수 있음) 

데이터 무결성(Integrity)

부정확한 자료가 DB 내에 저장되는 것을 방지 

개체 무결성(Entity Integrity; 실체 무결성) - 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복값을 가질 수 없다.  

도메인 무결성 (Domain Integrity; 영역 무결성) - 주어진 속성 값이 정의된 도메인에 속한 값이여야한다. (과목평 속성값에는 수학 , 영어, 전산 등등 과목만 들어갈 수 있음) 

참조 무결성(Referential Integrity) - 외래키 값은 Null 이거나 참조 릴레이션의 기본키 값과 동일해야한다. 

사용자 정의 무결성(User-Defiend Integrity) - 속성 값들이 사용자가 정의한 제약 조건에 만족해야한다. 

 

데이터 무결성 강화 -> db 구축 과정에서 정의하며, 제약조건, 어플리케이션, 트리거 사용 

 

분산 데이터베이스 

논리적으로 하나의 시스템 but 물리적으로는 네트워크를 통해 연결된 여러개의 사이트에 분산되어 있는 데이터베이스 

 

위치 투명성(Location Transparency) - 실제위치 X , 논리적인 명칭만으로 엑세스

중복 투명성(Replication Transparency) - 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용 가능, 시스템은 자동으로 여러 자료에 대한 작업 수행

병행 투명성(Concurrency Transparency) - 다수의 트랜잭션이 실현되더라도 그 결과는 영향을 받지 않음

장애 투명성(Failure Transparency) - 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 트랜잭션을 정확히 처리함 

 

장점 

지역 자치성이 높음

자료의 공유성이 향상됨 

분산 제어 가능

시스템 성능 향상

중앙 컴퓨터의 장애가 전체 시스템에 영향 X

효용성, 융통성, 신뢰성, 가용성

용량 확장이 용이함

 

단점

DBMS가 수행할 기능이 복잡

설계가 어려움

개발,처리 비용 증가

잠재적 오류 증가 

접근통제

  • MAC : 시스템에 대한 접근을 시스템 정보의 허용등급을 기준으로 제한
  • DAC : 시스템에 대한 접근을 사용자/그룹의 신분으로 제한
  • RBAC : 시스템에 대한 접근을 조직 내 맡은 역할을 기반으로 제한 

스레싱(Thrashing) 

  • 어떤 프로세스가 계속적으로 페이지 부재(page fault)가 발생하여 프로세스의 실제 처리 시간보다 페이지 교체 시간이 더 많아지는 현상
  • 다중 프로그래밍 정도가 높아짐에 따라 CPU 이용율이 높아지게 되고, CPU이용율이 최대값에 도달했을 떄 스레싱이 일어난다.
  • 각 프로세스가 필요로 하는 최소한의 프레임 갯수를 보장해줘야한다. 

세션 계층

PDU(Protocol Data Unit) : 메시지

대화 구성 및 동기 제어, 데이터 교환 관리 

응용계층
표현 계층
세션 계층
응용 계층 HTTP, FTP, SMTP, DNS, TELNET

 

OSI 7계층

https://devinus.tistory.com/29

 

서브넷팅(200.1.1.159 기출과 똑같이 나옴)

 

선점 스케줄링

- 하나의 프로세스가 CPU를 할당받아 사용하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로 뺴앗아 사용할 수 있는 스케줄링 기법

  • 우선순위가 높은 프로세스를 빠르게 처리 가능
  • 빠른 응답시간을 요구하는 대화식 시분할 시스템에서 사용
  • 많은 오버헤드를 초래
  • 선점이 가능하도록 인터럽트용 타이머 클록이 필요

RR(Round Robin) , SRT(Shortest Remaining Time) , MLQ(Multi Level Queue; 다단계큐) , MLFQ(Multi Level Feedback Queue; 다단계 피드백큐) 

 

https://liveyourit.tistory.com/236

페르소나

잠재적 사용자의 목적와 패턴을 응집시킨 가상의 사용자 

 

MQTT

  • 대역폭이 제한된 통신환경에 최적화하여 개발된 푸시기술 기반의 경량 메시지 전송 프로토콜 메시지. 
  • 송신자가 특정 메시지를 발행하고 수신사자 메시지를 구독하는 방식 
  • IoT 장치, 텔레메트리 장치 등에서 최적화되어 사용할 수 있도록 개발된 프로토콜

 

자바 

System.out.println("5+2 = " + 3 + 4); // 5+2 = 34
System.out.println("5+2 = " + (3+4)); // 5+2 = 7

 

() 괄호가 없으면, 문자열이랑 합쳐질 때 그냥 문자가 그대로 출력되서 34로 나옴 

 

Secure Coding 

  • 구현단계에서 발생할 수 있는 보안 취약점들을 최소화하기 위해 보안 요소들을 고려하여 코딩하는 것
  • 보안 취약점을 사전 대응하여 안전성과 신뢰성을 확보한다
  • 보안 정책을 바탕으로 시큐어 코딩 가이드를 작성하고 개발 참여자에게는 시큐어 코딩 교육을 실시한다. 

 

비용산정기법 

전문가 감정 기법 , 델파이 감정기법 , LOC(원시코드라인수) 기법 , 개발 단계별 인월수 기법(Effort Per Task), 수학적 산정기법 

 

TLS

Handshake 과정에서 클라이언트와 서버 간의 인증과 암호화를 수행하여 전송계층 종단 간 보안과 데이터 무결성을 확보 

 

TLS 1.2 -> 보안에 취약한 SHA-1 알고리즘 대신 SHA-2 알고리즘 사용 

TLS 1.3 -> 인증서 암호화 및 Handshake 과정 간소화로 인한 성능 향상 

 

Salt (단답형)

- 일방향 해시 함수에서 다이제스트를 생성할 경우 추가되는 임의의 문자열 

- 문자열 앞 뒤에 난수생성을 통해 작성된 특정 문자열을 끼어넣는 상태로 해시를 돌림 

 

네트워크 보안 솔루션

  • 방화벽(Firewall) : 기업 내부, 외부 간 트래픽을 모니터링 하여 시스템의 접근을 허용/차단하는 시스템
  • 웹 방화벽 (WAF: Web Application Firewall): 웹 애플리케이션 보안에 특화된 보안 장비
  • 네트워크 접근 제어(NAC: Network Access Control) : 단말기 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제하는 기능을 제공하는 솔루션
  • 침입 탐지 시스템(IDS: Intrusion Detection System) : 네트워크에 발생하는 이벤트를 모니터링하고, 보안정책 위반 행위를 실시간으로 침입 탐지하는 시스템
  • 침입 방지 시스템(IPS: Intrusion Prevention System) : 네트워크에 대한 공격이나 침입을 실시간적으로 차단하고, 유해드래픽에 대해 능동적으로 조치하는 시스템
  • 무선 침입 방지 시스템(WIPS: Wireless Intrusion Prevention System) : 무선 단말기의 접속을 자동 탐지 및 차단하고 보안에 취약한 무선 공유기를 탐지하는 시스템
  • 통합 보안 시스템(UTM: Unified Threat Management) : 다양한 보안 장비의 기능을 하나의 장비로 통합하여 제공하는 시스템
  • 가상사설망(VPN: Virtual Private Network) : 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용해 마치 전용망을 사용하는 효과를 가지는 보안 솔루션

보안 장비나 솔루션이 아닌 것은?( Ids, ips, waf, secure coding) 

https://velog.io/@ocy7111/%EC%A0%95%EC%B2%98%EA%B8%B0-%EC%8B%A4%EA%B8%B0-%EC%95%94%EA%B8%B09.%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C-%EB%B3%B4%EC%95%88-%EA%B5%AC%EC%B6%95

 

입력 데이터 검증 및 표현 

약점 : 경로조작 및 자원 삽입 (데이터 입출력 경로를 조작해 서버 자원을 수정, 삭제할 수 있는 보안약점) 

 

C언어

예약어 union -> 변수사용 X 

 

운영체제 제어 프로그램

  • 감시 프로그램
    • 프로그램의 실행과 시스템 전체의 작동상태를 감시 감독
  • 작업제어 프로그램 
    • 어떤 업무를 처리 후 다른 업무로 이행을 자동으로 수행하기 위한 준비 및 그 처리에 대한 완료를 담당함
  • 자료관리 프로그램
    • 주기억과 보조기억장치 사이의 데이터 전송과 보조기억장치의 자료 갱신 및 유지 보수 기능을 함 

 

MDM

모바일기기의 무선전송기술을 이용하여 원격에서 모바일 기기를 관 리할 수 있는 보안 시스템

 

 

 

 

 

파이썬 range 문제 (0부터 시작해서 n-1까지 ), C언어 보기 

'ETC > ETC' 카테고리의 다른 글

이번주  (0) 2024.02.28
정처기 두음법칙  (0) 2024.02.23
[정보처리기사] 오답 개념정리  (0) 2024.02.14
[정보처리기사] 오답 개념정리  (1) 2024.02.13
정처기 정리  (0) 2024.02.05