1. UWB
UWB(Ultra-Wideband)는 매우 넓은 대역폭을 이용한 무선 통신 기술입니다. UWB 기술은 주로 짧은 거리에서 매우 높은 데이터 전송률을 제공하며, 위치 추적과 같은 용도로도 사용됩니다. 이 기술의 주요 특징 중 하나는 매우 낮은 전력으로 운영되면서도 매우 정밀한 위치 측정이 가능하다는 것입니다. 이러한 특성 때문에 UWB는 스마트폰, 웨어러블 기기, 자동차 열쇠와 같은 제품에서 널리 사용되고 있습니다.
UWB의 주요 특징
- 넓은 대역폭: UWB 신호는 매우 넓은 대역폭(500 MHz 이상)을 사용합니다. 이는 UWB가 높은 데이터 전송 속도를 달성할 수 있게 해 줍니다.
- 저전력: UWB 기술은 매우 낮은 전력으로 작동합니다. 이는 배터리 수명이 중요한 모바일 기기에 이상적입니다.
- 고정밀 위치 측정: UWB는 거리 측정에 매우 정확하며, 일반적으로 10cm 이내의 오차 범위를 제공합니다. 이는 물리적 위치 기반 서비스에 매우 유용합니다.
- 보안: UWB 신호는 감지하기 어렵고, 고유한 코드를 이용해 통신하기 때문에 상대적으로 보안성이 높습니다.
- 간섭 저항: 낮은 전력 수준과 넓은 대역폭 덕분에 UWB는 다른 무선 기술과의 간섭에 강합니다.
사용 사례
- 스마트폰과 스마트워치: 사용자의 장치들 사이에서 빠르고 정확한 파일 전송을 가능하게 합니다.
- 키리스 엔트리 시스템: 자동차에서 UWB를 이용해 운전자가 접근하면 자동으로 문을 잠금 해제합니다.
- 실내 위치 추적: 매장 내에서의 정확한 위치 추적, 산업 현장에서의 장비 및 인력 추적 등에 사용됩니다.
UWB 기술은 그 특성 때문에 특정 응용 분야에서 다른 무선 통신 기술보다 더 선호됩니다. 그러나 사용 사례에 따라 Bluetooth, Wi-Fi, NFC와 같은 다른 기술과 경쟁하거나 보완적으로 사용됩니다.
2. 킬 스위치 (Kill switch)
킬 스위치(Kill Switch)는 일종의 안전 장치로서, 장비, 시스템, 애플리케이션 또는 기능을 긴급하게 중단하거나 비활성화하기 위해 사용됩니다. 킬 스위치는 다양한 분야에서 사용되며, 그 목적과 구현 방식이 상황에 따라 달라질 수 있습니다. 기본적으로, 킬 스위치는 예상치 못한 상황이 발생했을 때 즉각적으로 시스템을 중지시켜 피해를 최소화하거나 사용자의 안전을 보장하기 위한 것입니다.
분야별 킬 스위치 사용 사례
- 전자기기와 엔진: 전동 스쿠터, 모터사이클, 보트 등의 전자기기나 엔진에는 킬 스위치가 있어, 긴급 상황시 장비의 전원을 끌 수 있습니다. 예를 들어, 운전자가 갑자기 떨어졌을 때 엔진을 멈추게 하여 추가적인 피해를 방지합니다.
- 소프트웨어와 인터넷 서비스: 일부 소프트웨어나 클라우드 기반 서비스에서는 사용자 데이터 보호를 위한 킬 스위치를 제공합니다. 이는 데이터 유출이 의심될 때 데이터 전송을 즉시 중단시켜 추가 피해를 막는데 사용됩니다.
- 스마트폰과 태블릿: 도난이나 분실 시, 사용자가 원격으로 장치를 잠그거나 데이터를 삭제할 수 있는 킬 스위치 기능을 제공합니다. 이를 통해 개인 정보의 노출 위험을 줄일 수 있습니다.
- 군사 및 안보 분야: 특정 군사 장비나 보안 시스템에서는, 위협이 되는 경우나 통제를 벗어날 때 시스템을 즉시 중단시킬 수 있는 킬 스위치를 포함할 수 있습니다.
킬 스위치의 중요성
킬 스위치는 시스템이나 장비의 안전한 사용을 보장하며, 긴급 상황 발생 시 신속하게 대응할 수 있게 해 줍니다. 특히, 기술이 발전하고 그 사용 범위가 확장됨에 따라, 장비나 시스템의 예상치 못한 동작으로부터 사용자와 주변 환경을 보호하는 것이 중요해지고 있습니다. 또한, 사이버 보안 측면에서 킬 스위치는 데이터 유출이나 해킹 공격에 대한 초기 대응 조치로 중요한 역할을 할 수 있습니다.
3. 검증 & 확인
검증(Verification) - 개발자 시각, 개발 과정 테스트
확인(Validation) - 사용자 시각, 결과를 테스트
4. 자료 사전(Data Dictionary; DD) 의 작성 목적
조직에 속해있는 다른 사람들에게 특정한 자료 용어가 무엇을 의미하는지를 알려주기 위하여, 용어의 정의를 조정하고 취합하고 문서로 명확히 하는 목적이 있다.
5. 집계 함수는 NULL인 값은 제외하고 계산한다.
6. 파이썬 코드
7. 인증기술의 유형
지식 기반 / 소지 기반 / 생체 기반 / 특징 기반
8. 백엔드
9. 데이터베이스의 트랜잭션
데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
특성 (ACID)
원자성 / 일관성 / 격리성 / 영속성
10. DCL - REVOKE
# 관리자가 사용자에게 부여했던 테이블에 대한 권한을 회수
REVOKE 권한 ON 테이블 FROM 사용자
# 관리자가 사용자 'user1'에게 테이블 'employees'에 대한 조회(SELECT), 삽입(INSERT), 수정(UPDATE) 권한을 부여하려면
GRANT SELECT, INSERT, UPDATE ON employees TO user1;
11. Java
12. EAI 구축 유형
EAI(Enterprise Application Integration)의 구축 유형은 기업 내 다양한 시스템과 애플리케이션을 통합하는 방법론입니다. 각 유형은 특정한 통합 요구와 환경에 적합한 방식을 제공합니다.
1. 포인트 투 포인트(Point-to-Point)
- 설명: 가장 단순하고 직관적인 통합 방식으로, 두 시스템이 직접 연결하여 데이터를 교환합니다.
- 장점: 구현이 간단하고 직접적입니다.
- 단점: 시스템의 수가 증가함에 따라 관리해야 할 연결의 수가 기하급수적으로 늘어나, 복잡성이 증가하고 유지보수가 어려워집니다.
2. 허브 앤 스포크(Hub and Spoke)
- 설명: 중앙 집중식 허브를 통해 모든 시스템이 연결되는 구조입니다. 모든 데이터 교환과 통신은 중앙 허브를 거쳐 이루어집니다.
- 장점: 연결 관리가 용이하며, 중앙에서 데이터와 통신을 제어할 수 있습니다.
- 단점: 중앙 허브에 문제가 발생하면 전체 시스템에 영향을 줄 수 있습니다.
3. 메시지 버스(Message Bus)
- 설명: 모든 시스템이 공통의 메시지 버스를 통해 메시지를 교환하는 방식입니다. 시스템 간 직접적인 연결이 없이, 메시지 버스를 통해 데이터를 송수신합니다.
- 장점: 시스템 간의 결합도가 낮고, 확장성과 유연성이 높습니다.
- 단점: 메시지 버스의 설계와 구현이 복잡할 수 있으며, 메시지 형식을 표준화하는 것이 중요합니다.
4. 하이브리드(Hybrid)
- 설명: 위의 방식들을 조합하여 사용하는 통합 방식입니다. 기업의 요구 사항에 따라 포인트 투 포인트, 허브 앤 스포크, 메시지 버스 방식을 적절히 혼합하여 사용합니다.
- 장점: 다양한 통합 요구를 유연하게 수용할 수 있으며, 각각의 장점을 최대한 활용할 수 있습니다.
- 단점: 다양한 통합 방식의 관리와 조정이 필요하여, 구현과 유지보수가 복잡해질 수 있습니다.
13. 이상현상
데이터를 데이터베이스에 저장할 때 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는 현상
삽입 / 삭제 / 갱신
14. C언어
15. DDL
# '학생' 이란 뷰를 삭제하는 쿼리
DROP VIEW 뷰이름;
16. 스크럼\SCRUM) 기법
스크럼(Scrum)은 복잡한 프로젝트 관리를 위한 애자일 프레임워크 중 하나로, 특히 소프트웨어 개발 프로젝트에 널리 사용됩니다. 스크럼은 작은 단위의 팀이 짧은 주기(스프린트)로 반복 작업하면서, 지속적으로 제품을 개선해 나가는 방식을 채택합니다. 스크럼의 주요 요소는 다음과 같습니다:
1. 역할(Roles)
- 제품 책임자(Product Owner): 제품의 가치와 사용자 요구 사항을 대표하며, 제품 백로그를 관리합니다.
- 스크럼 마스터(Scrum Master): 스크럼 팀이 스크럼 프로세스를 올바르게 따르도록 돕고 장애물을 제거합니다.
- 개발 팀(Development Team): 제품이나 서비스를 실제로 개발하는 자기 조직화된 팀으로, 디자이너, 프로그래머, 테스터 등으로 구성될 수 있습니다.
2. 이벤트(Events)
- 스프린트(Sprint): 스크럼 작업의 기본 단위로, 보통 2-4주 동안 진행되는 고정된 기간입니다. 스프린트 동안 목표를 달성하기 위한 작업이 수행됩니다.
- 스프린트 계획 회의(Sprint Planning Meeting): 스프린트 시작 시, 팀이 수행할 작업을 결정하고 작업 목록을 스프린트 백로그에 넣는 과정입니다.
- 데일리 스크럼(Daily Scrum): 매일 진행되는 짧은 회의로, 팀 구성원이 작업 진행 상황을 공유하고 오늘 할 작업을 계획합니다.
- 스프린트 검토 회의(Sprint Review Meeting): 스프린트 종료 시, 개발된 제품을 검토하고 이해관계자의 피드백을 받는 회의입니다.
- 스프린트 회고(Sprint Retrospective): 스프린트가 끝난 후, 팀이 과정을 회고하고 개선점을 도출하는 시간입니다.
3. 아티팩트(Artifacts)
- 제품 백로그(Product Backlog): 제품 개발에 필요한 모든 요구 사항, 기능, 개선점 등이 포함된 목록입니다.
- 스프린트 백로그(Sprint Backlog): 현재 스프린트에서 팀이 작업할 항목을 포함하는 목록입니다.
- 증분(Increment): 스프린트의 결과물로, 이전 스프린트에서 완성된 작업에 추가하여 제품의 새로운 버전을 만듭니다.
스크럼은 이러한 요소들을 통해 팀이 더 빠르고 유연하게 반응할 수 있도록 돕고, 지속적인 개선을 통해 최종 제품의 품질을 높이는 것을 목표로 합니다.
17. 방화벽
방화벽(Firewall)은 네트워크 보안 시스템의 한 형태로, 허용되지 않은 접근을 차단하고, 인터넷과 같은 외부 네트워크와 내부 네트워크(예: 사무실 또는 가정 내 네트워크) 간의 트래픽을 모니터링 및 제어함으로써 네트워크를 보호합니다. 방화벽은 하드웨어, 소프트웨어, 또는 둘의 조합으로 구현될 수 있으며, 들어오고 나가는 모든 데이터 패킷을 검사하여 미리 정의된 보안 규칙에 따라 트래픽을 허용하거나 차단합니다.
18. 페이지 교체 기법의 유형
페이지 교체 알고리즘은 가상 메모리 시스템에서 페이지 폴트가 발생했을 때, 어떤 페이지를 메모리에서 제거하고 새 페이지를 불러올지 결정하는 방법입니다. 이 알고리즘의 주요 목적은 페이지 폴트의 수를 최소화하여 시스템의 성능을 최적화하는 것입니다. 다양한 페이지 교체 기법이 있으며, 각각의 특성과 성능은 상황에 따라 다릅니다. 주요 페이지 교체 알고리즘은 다음과 같습니다:
1. FIFO(First In, First Out)
- 설명: 가장 먼저 메모리에 올라온 페이지를 가장 먼저 제거합니다. 메모리에 적재된 순서대로 페이지를 관리하는 큐를 사용합니다.
- 단점: 자주 사용되는 페이지라도 메모리에 오래 머물렀다면 제거될 수 있습니다(Belady의 이상 현상).
2. LRU(Least Recently Used)
- 설명: 가장 오랫동안 사용되지 않은 페이지를 제거합니다. 각 페이지가 마지막으로 참조된 시간을 추적합니다.
- 장점: 최근에 사용된 페이지는 앞으로도 사용될 가능성이 높다는 원칙에 기반합니다.
- 단점: 구현이 복잡하고, 참조 시간을 추적하는 데 추가 비용이 발생합니다.
3. LFU(Least Frequently Used)
- 설명: 가장 적게 참조된 페이지를 제거합니다. 각 페이지의 참조 횟수를 추적하고, 참조 횟수가 가장 적은 페이지를 선택합니다.
- 장점: 빈번히 사용되는 페이지를 메모리에 유지할 수 있습니다.
- 단점: 초기에 자주 사용되었던 페이지가 나중에는 사용되지 않아도 메모리를 점유할 수 있습니다.
4. Optimal Page Replacement
- 설명: 미래의 참조를 알고 있다고 가정하고, 앞으로 가장 오랫동안 사용되지 않을 페이지를 제거합니다.
- 장점: 이론적으로는 가장 낮은 페이지 폴트 비율을 제공합니다.
- 단점: 실제 시스템에서는 미래의 페이지 참조 정보를 알 수 없기 때문에 구현이 불가능합니다.
5. Clock(또는 Second Chance)
- 설명: FIFO와 유사하지만, 각 페이지에 "사용됨" 플래그를 추가하여 두 번째 기회를 제공합니다. 플래그가 설정된 페이지는 한 번 더 순환할 기회를 얻고, 플래그가 클리어된 페이지부터 제거 대상이 됩니다.
- 장점: LRU의 근사치를 제공하면서 구현이 단순하고 효율적입니다.
- 단점: 완벽한 LRU의 성능을 달성하지는 못합니다.
19. 데이터베이스 정규화
데이터베이스 정규화는 데이터베이스 설계를 최적화하는 과정으로, 중복을 최소화하고 데이터 무결성을 유지하기 위해 데이터를 구조화하는 과정입니다. 정규화는 여러 단계(정규형)로 진행되며, 각 단계는 데이터의 중복을 줄이고, 무결성을 향상시키는 데 초점을 맞춥니다. 다음은 데이터베이스 정규화의 기본 단계를 간단한 예시로 설명합니다.
1단계 정규형(1NF)
- 목표: 각 컬럼의 값이 원자값을 가지도록 하여, 테이블이 최소한의 정규형을 만족하게 합니다.
- 예시:
- 비정규형 테이블: 학생 테이블에 학생 이름, 등록 과목(여러 과목을 하나의 컬럼에 저장)이 포함되어 있습니다.
- 1NF 적용 후: 등록 과목 컬럼을 분해하여 각 과목이 별도의 레코드로 저장되도록 합니다.
2단계 정규형(2NF)
- 목표: 부분적 함수 종속을 제거하여 모든 비주요 속성이 기본 키에 완전하게 함수적으로 종속되도록 합니다.
- 예시:
- 1NF 테이블: 학생 ID, 과목 ID, 과목명을 포함합니다. 여기서 과목명은 과목 ID에만 종속됩니다.
- 2NF 적용 후: 과목 정보를 별도의 테이블로 분리하여 과목 ID와 과목명만 포함시키고, 원래 테이블에서는 과목 ID를 참조하도록 합니다.
3단계 정규형(3NF)
- 목표: 이행적 함수 종속을 제거하여 모든 비주요 속성이 기본 키에만 직접적으로 종속되도록 합니다.
- 예시:
- 2NF 테이블: 학생 ID, 학생 주소, 우편번호를 포함합니다. 여기서 우편번호는 학생 주소에 종속적입니다.
- 3NF 적용 후: 주소 정보를 별도의 테이블로 분리하여 학생 테이블과 주소 테이블이 각각 우편번호를 참조하도록 합니다.
보이스-코드 정규형(BCNF)
- 목표: 기본 키가 아닌 모든 후보 키에 대해서도 3NF를 적용하여, 모든 결정자가 후보 키가 되도록 합니다.
- 예시:
- 3NF 테이블: 강의실 배정 테이블에 강의실 번호와 시간대가 후보 키이며, 강사 이름이 이에 종속적입니다.
- BCNF 적용 후: 강의실 번호와 시간대가 모두 강사 이름을 결정할 수 있도록 보장하여 모든 결정자가 후보 키가 되게 합니다.
20. C언어 코드
'Certificate > 정보처리기사 실기' 카테고리의 다른 글
정처기 실기 모의고사 4회 정리 (1) | 2024.04.12 |
---|---|
정처기 실기 모의고사 3회 정리 (1) | 2024.04.12 |
정처기 모의고사 01회 6번 - C언어 (0) | 2024.04.09 |
[개념] 애자일(Agile) (0) | 2024.04.04 |
2023년 3회 기출 08 - C언어 (0) | 2024.04.03 |