본문 바로가기

IT 엔지니어/자격증

정보처리기사 실기 -1

 

전체가 정상적으로 완료되거나 전혀 실행되지 않아야 한다. 이는 데이터의 일관성과 무결성을 유지하기 위한 중요한 특성이다. 

 

 

  • 제 1 정규형 (1NF): 모든 속성이 원자값을 갖는 형태로 이미 주어진 테이블들은 이 단계를 충족하고 있다고 가정할 수 있습니다.
  • 제 2 정규형 (2NF): 모든 비주키(주키가 아닌) 속성이 주키에 완전 함수적으로 종속되어야 합니다. 이 단계를 넘어서는 설명이 필요합니다.
  • 제 3 정규형 (3NF): 2NF를 만족하면서, 모든 속성이 주키에 직접 종속되어야 하며, 이행적 종속성을 제거해야 합니다.
  • 제 4 정규형 (4NF): 3NF를 만족하면서, 어떤 비주키 속성도 부분 함수적으로 종속되는 주키의 조합에 종속되지 않아야 합니다. 즉, 멀티비어드 종속성을 제거하는 단계입니다.

 

제 1 정규형 :도메인(두)이 원자값

제 2 정규형: 분함수종속 제거

제 3 정규형: 행적함수 종속 제거 

BCNF: 모든 결(걸)정자가 후보키가 되도록 테이블 분해

제 4 정규형: 치 종속 제거

제 5 정규형: 인 종속 제거 

 

 

내공외제스자 결합도

내용: 내부 동작 의존
공통: 공통된

전역 변수 의존
외부: 외부 / 다른 프로토콜 함께 의존
제어: 제어권 의존
스탬프: 데이터 구조 의존
자료: 파라미터 정도로만 의존

 

 

우논시절통순기 응집도

 


 

 

SELECT .... 
FROM 학생정보 a 
JOIN 학과정보 b 
ON a.학과번호 = b.학과

 

 


 

XML + Language = WSDL

XML + Protocol = SOAP

XML + JAVAscript = AJAX

XML + 검색 = UDDI

XML + 대체 = JSON

 


단위 테스트 -> 통합 테스트 -> 시스템 테스트 -> 인수테스트

 

단위 테스트(Unit Test)

개별 코드 모듈이나 서브루틴이 독립적으로 올바르게 작동하는지를 검증하는 과정을 의미합니다.

개발자 수준에서 개별 모듈 수준의 기능을 확인하는 데 주로 사용됩니다.

 

통합 테스트(Intergration Test)

여러 모듈이나 시스템의 인터페이스가 함께 작동할 때 문제가 없는지 확인하는 과정입니다.

개별 컴포넌트가 통합된 후 전체 시스템의 상호 운용성을 평가하는 데 중점을 둡니다.

 

 

시스템 테스트 (System Test)

통합된 전체 시스템이 명세된 요구사항에 맞게 동작하는지를 검증하는 단계입니다.

  • 사용자의 실제 사용 환경과 유사한 조건에서 테스트가 진행됩니다.
  • 기능 테스트뿐 아니라 성능, 보안, 오류 처리 등 비기능적 요소까지 포함해 확인하죠.

인수 테스트 (Acceptance Test)

 

시스템이 고객의 요구사항을 만족하는지를 확인하는 최종 검증 단계입니다.

  • 주로 실제 사용자나 고객이 테스트에 참여합니다.
  • 제품을 “인수”할 수 있는지 결정짓는 중요한 기준이 되죠.
  • 이 단계에서 문제가 없으면 제품을 배포하거나 현장에 적용할 수 있어요.

 

 


프로세스 간 통신(IPC)은 여러 프로세스가 정보를 교환하고 공유 자원을 효율적으로 관리하기 위한 기술 집합을 의미합니다. 주어진 옵션들인 공유메모리, 소켓, 세마포어, 메시지 큐는 모두 IPC의 다양한 방식입니다.

  • 공유메모리: 여러 프로세스가 동일한 메모리 영역을 공유하여 데이터를 직접 교환합니다. 빠른 데이터 전송이 가능하지만 동기화 문제를 관리해야 합니다.
  • 소켓: 네트워크를 통해 프로세스 간 통신을 가능하게 하는 인터페이스로, 로컬 시스템 내의 프로세스 간 통신뿐만 아니라 네트워크를 걸친 통신에도 사용됩니다.
  • 세마포어: 공유 자원에 대한 접근을 제어하는 동기화 도구로, 프로세스 간 자원 경쟁을 방지하고 순서를 관리합니다.
  • 메시지 큐: 프로세스가 메시지를 큐 형태로 주고받는 방법으로, 비동기적 통신을 지원하며 안정적인 데이터 전송을 보장합니다.

이들 기술들은 각기 다른 통신 요구사항과 환경에 맞춰 설계되어 프로세스 간 효율적이고 안전한 상호작용을 지원합니다. 따라서 이러한 기술들을 포괄하는 용어는 "프로세스 간 통신(IPC)"입니다.

 


 

개체 데이터 모델에서는 (  A  ) 을/를 이용하여 실제 데이터를 처리하는 작업에 대한 명세를 나타내고 
논리 데이터 모델에서는 (  B  ) 을/를 어떻게 나타낼 것인지 표현한다. 
(  C  ) 은/는 데이터 무결성 유지를 위한 데이터베이스의 보편적 방법으로 
릴레이션의 특정 칼럼에 설정하는 제약을 의미하며, 개체무결성과 참조 무결성 등이 있다.

 

연산 / 구조 / 제약사항

 

 


 

■ 서버 접근통제 유형

임의적 접근통제 / 강제적 접근통제 / 역할 기반 접근통제

 

■ 임의적 접근 통제(DAC - Discretionary Access Control)

시스템 객체에 대한 접근을 사용자나 그룹의 신분을 기준으로 제한하는 방법

 

신분 - DAC

 

■ 강제적 접근 통제(MAC - Mandatory Access Control)

정해진 정책과 보안 등급에 따라 허용된 접근 권한과 객체에게 부여된 허용 등급을 비교하여 접근을 통제하는 모델

 

등급 - MAC

 

■ 역할기반 접근 통제(RBAC - Role Based Access Control)

DAC와 MAC의 단점을 보완한 방식으로 멀티 프로그래밍 환경에서의 보완 처리를 위해 제안되었으며 사용자에게 할당된 역할에 기반하여 접근을 통제하며 중앙에서 집중적으로 관리

 

 


python
class good:
    li = ["seoul", "kyeonggi", "inchon", "daejeon", "daegu", "pusan"]

g = good()
str01 = ''
for i in g.li:
    str01 = str01 + i[0]

print(str01)

이 코드는 다음과 같은 과정을 거칩니다:

  1. good라는 클래스를 정의하고, 그 안에 li라는 리스트를 포함시킵니다. 이 리스트에는 6개의 도시 이름 문자열이 들어 있습니다.
  2. g = good()을 통해 good 클래스의 인스턴스를 하나 만듭니다.
  3. str01이라는 빈 문자열을 하나 초기화합니다.
  4. for 반복문을 통해 리스트 g.li에 담긴 각 도시 이름을 하나씩 꺼냅니다.
  5. 각 도시 이름의 첫 글자만을 str01에 차례로 덧붙입니다.
  6. 마지막으로 str01을 출력하면 도시 이름의 첫 글자들을 이어 붙인 문자열이 나옵니다.

즉, 출력 결과는 다음과 같습니다:

skiddp → seoul → s, kyeonggi → k, inchon → i, daejeon → d, daegu → d, pusan → p

 


 

 

📌 코드 분석

c
struct good s[] = {{"Kim", 28}, {"Lee", 38}, {"Seo", 50}, {"Park", 35}};
  • 구조체 배열 s는 총 4개의 구조체 데이터를 가지고 있어요.
c
struct good *p;
p = s;
p++;
  • 포인터 p는 배열 s의 첫 번째 요소 s[0]을 가리키고,
  • p++는 다음 요소인 s[1] ({"Lee", 38})을 가리키게 돼요.
c
printf("%s", p->name);
printf("%d", p->age);
  • 두 번째 구조체의 name과 age를 각각 출력합니다.

✅ 출력 결과

 
Lee38

 

 

 


public class Good {
    public static void main(String[] args) {
        int i, j;
        for (j = 0, i = 0; i <= 5; i++) {
            j += i;
            Systehttp://m.out.print(i);
            if (i == 5) {
                Systehttp://m.out.print("=");
                Systehttp://m.out.print(j);
            } else {
                Systehttp://m.out.print("+");
            }
        }
    }
}

 

  • i는 0부터 5까지 하나씩 증가하면서 반복
  • j는 누적 합을 저장하는 변수 (0 + 1 + 2 + ... + 5)
  • 매 반복마다 현재 i를 출력하고,
  • i가 5가 아니면 + 출력
  • i가 5면 = 와 누적합 j 출력

'IT 엔지니어 > 자격증' 카테고리의 다른 글

정보처리기사 실기 -3  (0) 2025.06.26
정보처리기사 실기 -2  (0) 2025.06.25
네트워크관리사 2급  (0) 2025.05.13
리눅스마스터 2급  (0) 2025.05.13
트워크관리사 2급 2024년 11월 03일 기출문제  (0) 2025.02.17