Post

공부 오답 노트 정리

Review notes for wrong answer.

► Overview

  • 자격증 공부하면서 틀린 부분, 숙지 안 된 부분들 오답 위주 정리
  • 더 깊게 공부하고 싶은 것들 체크해두기

Date: 2024년 4월 5일

► 나중에 복습할 것

  • TCP/UDP
  • OSI 7계층
  • IPv4, IPv6

◼︎ 유닉스 명령어

접근 권한 변경: Chmod

기존 파일, 디렉토리에 대한 접근 권한을 변경할 때 사용한다.

1
2
3
4
chomd 777 yoom.c //모든 사용자엑에게 rwx 권한 설정
chomd 664 yoom.c // U, G에게 rw(6)권한, O에게 r(4) 권한
chmod 600 yoom.c // U에게 rw(6) 권한 설정
chmod o-w yoom.c // O에게 쓰기 권한을 제거

접근 권한 기호 기술

1
2
3
r(읽기), w(쓰기), x(실행)
+ 추가, - 제거, = 지정
u 유저, g 그룹, o 그 외 사용자, a 모두
1
2
3
chmod go-w yoom.c // 그룹, 그 외 사용자에게 쓰기 권한 제거
chmod a=rw yoom.c // 모든 사용자에 rw 권한 설정
chmod g+w, o-x yoom.c // 그룹에 권한을 추가+하고, 그 외에 실행 권한 제거 -

◼︎ SSH(Secure Shell)

SSH는 원격으로 다른 컴퓨터에 접근할 수 있도록하는 프로토콜이다.

공개키 암호화 방식을 사용해 원격지 시스템을 적용하여 → 암호화된 메시지를 전송할 수 있는 시스템이다.

  • SSH는 기본 포트를 22번을 사용하고, 전송되는 데이터는 암호화된다.
  • 키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 하고, 서로 연결되어 있는 컴퓨터 간 원격 명령을 실행하거나 Shell 서비스를 수행해야 한다.

◼︎ OSI 7계층

OSI 7계층은 컴퓨터 네트워크 프로토콜 디자인, 통신을 계층으로 나눠 설명한 개방형 시스템 상호 연결 모델

계층 이름설명프로토콜전송단위장비
응용 (Application)사용자와 네트워크 간의 응용 서비스를 연결하고 데이터를 생성HTTP, FTP데이터-
표현 (Presentaion)데이터 형식 설정, 부호 교환, 암 복호화, 압축JPEG, MPEG데이터-
세션 (Session)연결 접속, 동기 제어하며 송수신 간 논리적인 연결RPC, NetBIOS데이터-
전송 (Transport)데이터 분할, 흐름-오류-혼잡 제어TCP/UDP세그먼트L4스위치
네트워크 (Network)단말기 간 데이터 전송 위한 경로 제공IP, ICMP패킷라우터
데이터 링크 (Datalink)인접 시스템 간 데이터 전송, 전송 오류제어HDLC, PPP프레임브리지, 스위치
물리 (Physical)0과 1 비트 정보 회선 보내기 위해 전기적 신호 변환RS-232C비트허브, 리피터

◼︎ 네트워크 장비

1계층

물리 계층에선 허브와, 리피터를 사용한다. 1계층은 실제 장치들이 네트워크에 연결되고 통신을 시작하는 계층이다.

장비설명
허브여러 대의 컴퓨터를 연결해서 네트워크로 보내거나 송신
리피터디지털 신호를 증폭시켜주는 장치

2계층

2계층인 데이터 링크 계층은 두 연결 노드간의 흐름, 회선, 오류제어를 담당하는 계층이다. 2계층에서 주로 사용되는 장비는 브릿지, L4스위치가 있다.

  • 브릿지
    • 두 개의 근거리 통신망을 연결
  • L4스위치
    • 속도가 느린 브릿지와, 허브의 단점 개선을 위해 프레임을 목적지까지 MAC 주소 기반으로 빠르게 전송해준다

스위치 장비

  • VLAN(Virtual Local Area Network)
    • 물리적 배치와 상관없이 논리적 LAN을 구성하여, 브로드 캐스트 도메인을 구분할 수 있게 해주는 기술
  • STP(Spanning Tree Protocol)
    • 2개 이상의 스위치를 연결할 때, 무한루프 현상 방지 목적

3계층

3계층은 네트워크 계층으로, 패킷을 단위로 데이터 전송을 위한 경로를 제공한다. 주요 프로토콜로는 IP, IGMP, ICMP, ARP, NAT를 사용한다. 우선 장비에 대해 먼저 복기

  • 라우터
    • LAN ↔ LAN 을 연결하거나, LAN ↔ WAN을 연결
  • 게이트웨이
    • 프로토콜을 서로 다른 통신망에 접속하게 해준다. 즉, 출입구 역할을 한다.
  • L3스위치
    • 3계층에서 네트워크 단위들을 연결해준다.

◼︎ 네트워크 계층의 프로토콜

네트워크 계층의 프로토콜로는 IP, IGMP, ICMP, NAT, ARP를 사용한다.

프로토콜설명
IP (Internet Protocol)네트워크 정보 교환 프로토콜
IGMP (Internet Group Message Protocol)호스트 컴퓨터와 인접한 라우터 간에 멀티 캐스트 그룹의 멤버십을 형성
ICMP (Internet Control Message Protocol)IP 동작 과정 중에서, 오류나 에러 정보를 전송
NAT (Network Address Translation)사설 네트워크 IP를 공인 IP 주소로 변환

◼︎ 라우팅 프로토콜

‘라우터 간에 라우팅 정보의 교환’을 동적으로 수행하는 프로토콜이다.

즉, 라우터들이 패킷을 어떻게 전송할지 결정하는 데 사용되는 규칙이다.

image

IGP (Interior Gateway Protocol) : AS 내부 간

  • RIP (Routing Information Protocol)
    • 거리벡터 알고리즘에 기초하여 개발 → 단지 이웃 라우터가 주는 갱신 정보에 의존하면서 거리, 방향에만 관심을 갖음
    • 최대 홉수는 15 Hop → 경로비용을 단지 홉 수로만 판단
    • 30초마다 응답 메시지를 브로드 캐스팅함
    • 벨만포드 알고리즘 사용
    • UDP 세그먼트에 캡슐화되어 사용되며 포트번호는 520
  • IGRP
  • OSPF (Open Shortest Port First)
    • 링크 상태 알고리즘을 사용
    • 최단 경로를 찾아냄
    • 다익스트라 알고리즘을 사용

EGP (Exterior Gateway Protocol) : 외부 간

  • BGP
    • 독립 운영되는 대규모 네트워크(AS)간에, 네트워크 정보를 교환하기 위해 주로 사용됨

◼︎ TCP/UDP

TCP와 UDP는 4계층인 전송계층에서 사용되는 프로토콜인데 그 둘의 차이를 이해해야 한다.

  • TCP (Transport Control Protocol)은 근거리 통신망이나, 프로그램 간 옥텟을 안정적으로 교환하기 위해 사용된다.
    • 연결지향적이고, 신뢰성을 보장하며, 흐름제어와 혼잡제어 기능을 제공한다.
  • UDP는 (User Datagram Protocol)은
    • 비연결성, 비신뢰성, 순서화되지 않은 프로토콜이다. (이렇게 기억해도 되는 게 맞나?)
  • 그럼 UDP를 사용할 이유가 없어 보이는데?
    • 궁금해서 찾아봤던 기억이 있다. UDP는 신뢰성이 낮은 대신에 연결 속도가 TCP보다 빠르다. → 그래서 실시간 스트리밍 같은 서비스에 적합하다.

◼︎ IPv4, IPv6

IP(Internet Protocol)이 뭔지 내가 설명할 수 있나

인터넷에 연결된 모든 장치들을 식별할 수 있도록 각각 장비에게 부여되는 고유한 주소

 IPv4IPv6
버전Version 4Version 6
주소 길이32비트, 8비트씩 4자리로 구분, 이진수128비트, 16비트씩 8부분으로 구분, 16진수
문제점 및 보완인터넷 이용자 수 증가로 주소가 부족IPv4의 주소 부족 문제를 해결

IPv6

IPv4 주소 부족 문제를 해결하기 위해 등장하였고, 128비트의 긴 주소를 사용한다. 인증, 기밀, 데이터 무결성을 보장해 보안성도 강화되었다.

실시간 흐름제어가 가능하고, 기본 헤더에 확장헤더가 추가되었다.

유니캐스트, 멀티캐스트, 애니캐스트

  • 유니 캐스트: 단일 송신자와 단일 수신자
  • 멀티 캐스트: 단일 송신자와 다중 수신자
  • 애니캐스트: 단일 송신자와 가장 가까운 단일 수신자

Date: 2024년 4월 6일

► 나중에 복습할 것

  • 메모리 (컴구), 메모리 관리 기법

◼︎ 패킷 교환(Packet Switching) 방식

네트워크 계층에서 일정한 패킷으로 잘라서 전송하는 방식

가상회선 방식

  • 통신 회선을 미리 설정하여, 물리적 회선을 공유함으로써 순서적으로 패킷을 전송 → 데이터 전송의 안정성, 신뢰성을 보장

데이터 그램 방식

  • 특정 경로를 설정하지 않고, 트래픽 상황을 감안하여 순서에 관계 없이 전송 → 헤더에 붙어 개별적으로 전달하는 비연결형 교환방식

◼︎ 애드 훅 네트워크 (Ad-hoc Network)

  1. 네트워크 장치를 필요로 하지 않고, 미리 정해진 구조 없이 각 노드들이 서로 독립적으로 연결을 구성
  2. 일시적인 네트워크 구성이 필요한 장소에서 많이 사용
  3. 응용 분야로는 긴급 구조, 긴급 회의, 전쟁터에서 군사 네트워크에 활용이 가능

  • 점대점 방식이나, 다중방식의 통신에 사용되는 ISO에서 표준화한 동기식 비트 중심 (비트 지향)의 데이터 링크 프로토콜
  • 점대점, 다중점 링크 상에서 전이중 통신을 모두 지원하도록 설계된 비트 지향형 프로토콜

프레임 종류

HDLC 프레임 종류설명
I (정보프레임)제어부 0으로 시작
S (감시프레임)제어부 10으로 시작
U (비번호프레임)제어부 11로 시작

통신 방법

HDLC 통신 방법설명
정규 응답 모드(NRM)주국이 링크제어 담당, 주국으로부터 폴 메시지 수신한 경우에만 데이터 전송
비동기 응답 모드(ARM)포인트 불균형 링크 → 링크 설정, 오류 제어 등은 주국만 하는 특징
비동기 균형 모드(ABM)포인트 균형 링크 → 각 국이 혼합국으로, 서로 대등하게 균형하며 명령하고 응답

◼︎ 오류 제어 방식

오류제어

데이터 링크(2계층)에서 수행하는데, 데이터 전송 시 생성된 오류를 검출하고 정정하는 기능

오류제어 종류

  • 전진 오류 수정 (FEC; Front Error Correction)
    • 재전송 요구 없이 직접 수정
      • 해밍코드(Haming)
        • 자신이 직접 오류를 수정하고, 1비트 단위의 오류 수정이 가능
      • 상승 코드 방식
        • 여러 개 비트 오류가 있더라도 한곗값, 순차적 디코딩을 이용해 모두 수정
  • 후진 오류 수정 (BEC; Backward Error Correction)
    • 오류가 발생하면, 송신측에 재전송을 요구
      • 패리티 검사 (Parity Check)
        • 7~8개 비트로 구성되는 전송 문자에 패리티 비트 추가하여 오류 검출
      • 순환잉여검사 CRC (Cycle Redundancy Check)
        • 다항식을 통해 산출된 값을 토대로 오류를 검사
      • 블록합 검사 (Block Sum Check)
        • 잉여 패리티 비트들을 사용하는 이차원 패리티 검사
      • 자동반복 요청방식 (ARQ)
        • 신뢰성있는 전달을 위해, 재전송을 기반으로 함

자동반복 요청방식; ARQ 방식의 종류

방식설명
Stop-And-Wait한 개의 프레임을 전송하고, ACK, NAK 신호 수신할 때까지 정보 전송 중지하고 기다리는 방식
Go-Back-N ARQ데이터 프레임을 연속적으로 전송하는 과정에서, NAK를 수신하게 되면 오류가 발생한 프레임 이후에 전송된 모든 데이터 프레임을 재전송
Selective Repeat ARQ에러가 발생한 프레임만 재전송하는 방식

◼︎ 메모리 관리 기법

메모리 관리란?

  • 프로그램의 실행이 종료될 때까지 메모리를 가용한 상태로 유지 및 관리

메모리 관리 기법 종류

  • 반입, 배치, 할당, 교체

► 배치기법

배치기법설명
최초 적합(First Fit)프로세스가 적재될 수 있는 공간 중, 첫 번째 분할에 할당
최악 적합(Worst Fit)가용 공간 중, 가장 큰 공간에 할당
최적 적합(Best Fit)가장 크기가 비슷한 공간에 할당하여 프로세스를 적재

► 할당 기법

메모리 할당 기법은 → 어떻게 할당할 것인지에 따라 연속 할당, 분산 할당 방식으로 나눌 수 있다.

연속 할당 기법

  • 단일 분할 할당 기법
  • 다중 분할 할당 기법

분산 할당 기법

  • 페이징 기법
  • 세그멘테이션 기법
  • 페이징/세그멘테이션 기법

► 교체기법

교체 기법은 어떤 프로세스를 제거할 것인지 결정하는 기법

종류: FIFO, LRU, LFU, OPT, NUR, SRC

교체기법설명
First In First Out선입선출 방식으로, 가장 먼저 들어온 페이지를 교체
Least Recently Used가장 오랫동안 사용되지 않은 페이지를 교체
Least Frequently Used사용된 횟수를 확인하여, 참조 횟수가 가장 적은 페이지를 교체
OPTimal Replacement앞으로 가장 오랫동안 사용하지 않을 페이지를 교체
Not Used Recently최근에 사용되지 않은 페이지는 앞으로도 사용되지 않을 가능성이 크다는 것을 전제로 LRU에서 나타나는 시간적 오버헤드를 줄일 수 있음
SCR (Second Chance Replacement)페이지마다 참조 비트를 두고, FIFO 기법을 이용하여 페이지 교체 수행 중 참조 비트가 0일 경우 교체를 수행
  • 정리

    메모리 교체 기법은 어떤 프로세스를 제거할 것인지 결정하는 방법인데, 종류로는 FIFO, LRU, LFU, OPT, NUR, SRC 방법이 있다.

    FIFO는 선입선출 방식으로, 가장 먼저 들어온 프로세스를 제거하는 방식이고 LRU는 (Least Recently Used)로, 이름대로 가장 오랫동안 사용되지 않은 페이지를 교체하고, LFU는 (** Frequently)로, 가장 적게 참조된 페이지를 교체한다.

    그리고 OPT는? OPTimal Replacement로, 앞으로 오랫동안 사용되지 않을 페이지를 교체한다. LUR은 Not Used Recently ⇒ 최근에 사용되지 않은 페이지는 앞으로 사용되지 않을 가능성이 크다는 것을 전제로, LRU에서 나타나는 오버헤드를 줄일 수 있다.

    SCR은 페이지마다 참조비트를 두고, FIFO를 이용해 참조비트가 0일 경우 교체를 수행

    SCR 이해안됨

    FIFO를 기반으로 하지만, 로드된 이후로 참조되지 않았는지를 확인하는 참조비트를 사용해서 페이지 교체 시점을 결정함 → 참조비트가 0인 경우 메모리에서 제거되고, 1인 경우 페이지가 최근에 참조되었음을 나타냄 → 1인 경우에 페이지에게 두 번째 기회를 주는데, 참조 비트를 0으로 재설정하고 페이지를 메모리에 유지함 ⇒ 즉, 한 번이라도 참조된 페이지는 가능한 메모리에 유지하려는 성질을 갖고 있는 것. → ‘지역성’의 원칙을 반영한 것이 SCR


◼︎ WLAN, WAN과 LAN

무선랜 통신망WLAN(Wireless Local Area Network)

유선 LAN ↔ 무선 단말 사이를 무선 주파수를 이용하여 전송하는 네트워크이다.


원거리 통신망: WAN (Wide-Area-Network)

국가망, 또는 각 국가의 공중 통신망을 상호 접속시키는 국제정보통신망

종류

전용 회선 방식, 회선 교환 방식, 패킷 교환 방식이 있다.

망 종류설명
전용 회선 방식사전에 계약을 체결한 송, 수신자 끼리만 데이터를 교환
회선 교환 방식물리적 전용선을 활용하여 동일한 전달 경로로만 데이터가 전달되는 방식
패킷 교환 방식메시지를 각 노드가 수용할 수 있는 크기로 잘라서 보내는 방식

근거리 통신망: LAN (Local-Area-Network)

근거리 통신망은 거리가 짧은 학교, 연구소 등 건물 내부에서 사용하는 통신망


기타 용어

ATM

정보 전달 기본 단위를 53바이트 셀 단위로 사용하는 비동기식 시분할 다중화 방식의 패킷형 전송 기술

X.25

  • 두 단말 장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜
  • 고정된 대역폭을 갖고 신뢰성있는 통신을 하지만, 복잡한 기능으로 인해 ISDN 등의 고속망으로 대체되는 통신기술

Port 번호

프로세스 식별하기 위한 주소

살충제 패러독스

동일한 테스트 전략을 적용할 시 장애가 도출되지 않음


Date: 2024년 4월 7일

► 나중에 복습할 것

  • 프로세스, 스레드
  • Port 번호

◼︎ 프로세스

프로세스는 공부해둔 적 있어서 일단 내가 알고 있는 지식대로 정리

프로세스는

프로세스는 CPU에 의해 처리되는 프로그램으로, 실행중인 프로그램을 말한다. 또한 작업, 태스크 라고도 한다.

프로세스의 상태 전이

  • 생성 → 준비 → 실행 → 대기 → 완료 상태
    • 프로세스가 생성된 상태, CPU를 할당받을 수 있는 준비 상태, 프로세스가 CPU를 할당받아 동작중인 상태, 프로세스가 CPU를 양도하고 대기 중인 상태, 프로세스가 CPU를 할당받아 주어진 시간 내 수행을 종료한 상태

프로세스의 상태 전이

프로세스 상태 전이설명
디스패치 (준비 → 실행)준비상태에 있는 프로세스 중, 실행될 프로세스를 선정
Wake-Up (대기 → 준비)입출력이 종료되면 대기 상태의 프로세스에게 입출력 사실을 알려주고, 대기에서 준비 상태로 전이됨
입출력 발생 (실행 → 대기)할당 시간 초과 전, 입
타이머 런 아웃 (실행 → 준비)CPU를 할당받은 프로세스는 시간이 초과되면, CPU를 반납 후 다시 준비 상태로 전이

문맥교환(Context-Switching)

CPU가 현재 실행 중인 프로세스의 문맥 상태를 PCB에 저장하고, 다음 프로세스의 PCB로부터 문맥을 복원하는 작업

프로세스 제어블록 (Process Control Block)

  • 구성요소
    • PID(프로세스 식별자), 프로세스 상태, 카운트, 레지스터 저장 영역, 스케쥴링 정보, 계정 정보, 입출력 상태정보, 메모리 관리의 정보로 구성됨

참고로 스레드는

프로세스 보다 가벼운, 독립적으로 수행되는 실행단위로, 한 개의 프로세스는 여러 개의 스레드를 가질 수 있다.


◼︎ 프로세스 스케줄링

선점형 스케줄링, 비선점형 스케줄링으로 나뉜다.

선점형 스케줄링은

  • CPU에 할당되어 동작중인 프로세스가 있더라도, 우선 순위가 높은 프로세스가 현재 동작중인 프로세스를 중지시키고 CPU를 점유할 수 있다.

종류

스케줄링 방식설명
SRT가장 짧은 시간이 소요되는 프로세스를 먼저 수행
다단계 큐작업을 여러 종류 그룹으로 분할하고, 상위 단계 작업에 의한 하위 단계 작업이 선정
다단계 피드백 큐새로운 프로세스는 높은 우선순위가 할당 → 실행 시간 길어질수록 낮은 우선순위 큐로 이동 → 마지막 단계는 RR 방식 적용
라운드 로빈(RR)모든 프로세스에 같은 시간을 할당하고, 시간 내 처리를 못하면 준비 큐 리스트의 가장 뒤로 보내지고 CPU는 대기 중인 다음 프로세스로 넘어감

비선점형 스케줄링

한 프로세스가 CPU를 점유하고 있으면, 반환될 때까지 다른 프로세스는 CPU를 점유할 수 없는 스케줄링 방식

종류

스케줄링 방식설명
우선순위 (Priority)프로세스 별 우선순위가 주어지고, 우선순위에 따라 CPU를 할당
기한부 (DeadLine)명시된 시간, 기한 내에 완료되도록 계획한다. 요청에 명시된 시간 내에 처리를 보장
HRN현재 응답률이 가장 높은 것을 선택. (대기시간 + 서비스 시간) / 서비스 시간을 계산
FCFS (First Come First Service)준비 큐에 도착한 순서에 따라 CPU를 할당
SJF (Shortest Job First)모든 프로세스에 같은 크기의 CPU를 할당하고, 할당된 시간 내 처리를 못하면 준비 큐리스트의 가장 뒤로 보내지고 CPU는 대기 중인 다음 프로세스로 넘어감

◼︎ 네트워크 프로토콜 포트번호

내가 아는 거

  • HTTP 80, HTTP 443, SSH 22, DNS 43(틀렸다. 53이다.)

모르는 거

포트이름
21FTP
23Telnet
25SMTP (이메일 전송)
53DNS
110POP3 (이메일 수신)
143IMAP (이메일 수신, 보관 기능)
194IRC

포트번호가 어떻게 동작 하는지

image

  1. 포트번호는 네트워크 서비스가 실행되는 위치를 식별할 수 있는데 → IP 주소 내에서 특정 프로세스 또는 서비스를 말 한다.
  2. 예를 들어 HTTP 요청은, 웹 브라우저가 웹 페이지를 요청할 때 → HTTP(80), HTTPS(443) 프로토콜을 사용해서 서버에 전송
  3. 192.168.0.1:80
  4. 192.168.0.1 IP 주소를 가진 장치에서 80번 포트로 동작하는 웹 서버에 접속

Date: 2024년 4월 8일


LoC (Line of Code)

Lines of Code (LoC)을 이용한 소프트웨어 개발 기간 계산은 일반적으로 COCOMO (Constructive Cost Model)를 기반으로한다.

1
2
프로젝트 기간 = Man Month / 인력
Man Month = LoC/월간 생산성

예를 들어, LoC가 30,000이고 개발자가 5명이며, 개발자가 월 평균 300라인을 개발한다.

1
2
기간 = 100 / 5 -> 20개월
Man Month = 30,000/300 = 100개월

럼바우 데이터 모델링

구성요소내용
객체 모델링 (Object Modeling)객체 간의 관계를 정의하여 ER 다이어그램을 만드는 과정까지의 모델링 → 가장 중요하며, 선행되어 진행되고, 객체 다이어그램을 활용
동적 모델링 (Dynamic Modeling)시간의 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서 등 동적인 행위를 표현 → 상태 다이어그램을 활용
기능 모델링 (Functional Modeling)프로세스들의 자료 흐름을 중심으로 처리 → 자료흐름도(DFD)를 활용

객체지향 설계 원칙(SOLID)

원칙설명
단일 책임 원칙 (Single responsibility principle, SRP)각 클래스는 단 하나의 목적을 위해서 생성되고, 하나의 책임을 수행해야 한다.
개방-폐쇄 원칙 (Open-closed principle, OCP)클래스는 확장에 대해 열려 있어야 하며, 변경에 대해서는 닫혀 있어야 한다.
리스코프 치환 원칙 (Liskov substitution principle, LSP)서브 타입 (상속을 받은 하위 클래스)는 언제든지 기반 타입 (상위 클래스)로 교체할 수 있어야 한다.
인터페이스 분리 원칙 (Interface segregation principle, ISP)자신이 사용하지 않을 인터페이스는 구현해서는 안되며, 클래스가 변해도 영향을 받지 않아야 한다.
의존 관계 역전 원칙 (Dependency inversion principle, DIP)실제 사용 관계 바뀌지 않으며, 추상을 매개로 메시지 주고 받으며, 최대한 느슨하게 만드는 원칙

소프트웨어 생명주기 모델

모델설명
폭포수 모델 (WaterFall Model)개발 시 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘감
프로토 타입 모델주요 기능을 프로토 타입으로 구현하여, 고객의 피드백을 반영하여 소프트웨어를 만들어 나감
나선형 모델 (Spiral Model)위험을 최소화 하기 위해, 점진적으로 완벽한 시스템으로 개발
반복적 모델구축 대상을 나눠 병렬적으로 개발

개발 방법론

  • 구조적 방법론
    • 전체 시스템을 기능에 따라 나누고, 분할과 정복 접근 방식
  • 컴포넌트 기반 방법론 (CBD)
    • 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성
  • 애자일 방법론
    • 절차보다는 사람이 중심, 변화에 유연하고 신속하게 적응
  • 정보 공학 방법론
    • 정보 시스템 개발에 필요한 관리 절차, 작업 기법을 체계화

일정 관리 기법

  • PERT
    • 낙관치, 중관치, 비관치의 3점 추정 방식을 통해 일정을 관리
  • 중요 연쇄 프로젝트 관리 (CCPM)
    • 주 공정 연쇄법으로, 자원 제약사항을 고려하여 일정 작성
  • 주 공정법 (CPM)
    • 여러 작업들의 수행 순서가 얽혀 있는 프로젝트 일정을 계산

소프트웨어 아키텍처 4+1 뷰

image

  • 유스케이스 뷰(시나리오)
  • 논리 뷰
    • 기능적 요구사항이 어떻게 제공되는지 설명
  • 프로세스 뷰
    • 자원 사용, 병행 실행, 비동기, 이벤트 처리 표현한 뷰 ⇒ 개발자 관점
  • 구현 뷰
  • 배포뷰

Date: 2024년 4월 10일

► 나중에 복습할 것

  • 메모리에 데이터가 적재되는 원리
  • SQL 쿼리문 작성 프로그래머스로 연습

VPN 기술 중, 2계층 터널링 프로토콜

PPTP (Point to Point Tunnel Protocol)

마이크로 소프트사에서 개발한 프로토콜로 IP, IPX 페이로드를 암호화하고, IP 헤더로 캡슐화하여 전송하는 프로토콜

PPP에 기초하여 두 대의 컴퓨터가 직렬 인터페이스를 이용하여 통신할 때 사용

하나의 터널에 하나의 연결 만을 지원하며, 일대일 통신이 가능

L2F (Layer 2 Forwarding)

시스코 사에서 개발한 프로토콜로, 하나의 터널에 여러 개의 연결을 지원

전송계층의 프로토콜로, TCP가 아닌 UDP를 사용

L2TP (Layer 2 Tunneling Protocol)

L2F와 PPTP의 결합한 방법으로, UDP 포트가 사용되고, 터널링에 대한 인증을 수행


UML

다음은 UML에 관한 설명이다. 괄호안에 알맞는 답을 작성하시오.

1
2
3
4
5
6
7
8
9
10
11
12
UML 통합 모델링 언어로써, 시스템을 모델로 표현해주는 대표적인 모델링 언어이다.

구성 요소로는 사물, (    1    ), 다이어그램으로 이루어져 있으며, 
구조 다이어그램 , (     2    )  다이어그램은 시스템에서 사용되는 객체 타입을 정의하고, 
그들 간의 존재하는 정적인 관계를 다양한 방식으로 표현한 다이어그램이다.  
또한 UML 모델링에서 (     3    )/ 클래스와 같은 기타 모델 요소 또는 컴포넌트가 
구현해야 하는 오퍼레이션 세트를 정의하는 모델 요소이다.

// 1. 사물, 관계, 다이어그램
// 2. <클래스 다이어 그램>
// 3. <인터페이스>**

릴레이션 관련 단어

튜플은?

릴레이션을 구성하는 각각의 행으로, 중복을 허용한다.

카디널리티(Cardinality) = 튜플 = 기수 = 대응수

Attribute(속성)

가장 작은 논리적 단위로, 릴레이션을 구성하는 각각의 열을 말한다.

Degree = 속성의 수 = 차수 = 4

릴레이션 인스턴스

릴레이션에 들어있는 튜플들의 집합, 릴레이션 or 릴레이션 외연이라고 부른다.


용어

NAT(Network Adress Translation)

IP 패킷에서 외부 공인 IP주소와, 내부 IP 주소를 재 기록하여 라우터를 통해 네트워크 트래픽 주고받는 기술

TrustZone

ARM사에서 개발하였고, 프로세서 안에 독립적인 보안 구역을 따로 두어 정보를 보호하는 하드웨어 기반 보안 기술


Date : 2024년 4월 11일

► 나중에 복습할 것

  • Web Server, WAS 차이

웹 서버(Web Server)와 웹 애플리케이션 서버(WAS)

둘의 차이점은?

  • 웹 서버는 정적인 데이터를 처리하는 서버이고, 반면 WAS는 DB 서버와 함께 동작하여 동적인 데이터를 위주로 처리한다.

웹 서버(Web Server)

주로 정적인 콘텐츠(CSS, JS, Image)를 사용자에게 제공하는 역할을 한다.

주요 임무는

  1. 단순히 저장된 웹 리소스들을 사용자에게 전달하고, 사용자로부터 콘텐츠를 전달받아 저장하거나 리턴한다.
  2. 사용자로부터 동적인 요청이 들어왔을 때, 해당 요청을 웹 서버 자체적으로 처리하기 어렵기에 → WAS에게 요청한다.

Web Server 종류

Apache, Nginx


웹 애플리케이션 서버(Web Application Server)

동일하게 HTTP 기반으로 동작하고, 웹 서버가 할 수 있는 기능 대부분이 WAS에서도 처리가 가능하다. 주로 DB 서버와 같이 수행된다.

즉, 주요 임무는

동적인 요청을 받아 처리해주는 서버다.

WAS 종류

Tomcat, JBoss, Jeus, Web Sphere


This post is licensed under CC BY 4.0 by the author.