<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://devhrxoobm.itwiki.kr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Doha</id>
	<title>IT 위키 - 사용자 기여 [ko]</title>
	<link rel="self" type="application/atom+xml" href="https://devhrxoobm.itwiki.kr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Doha"/>
	<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/w/%ED%8A%B9%EC%88%98:%EA%B8%B0%EC%97%AC/Doha"/>
	<updated>2026-09-16T14:43:55Z</updated>
	<subtitle>사용자 기여</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=%EB%94%94%EC%8A%A4%ED%81%AC_%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81&amp;diff=26886</id>
		<title>디스크 스케줄링</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=%EB%94%94%EC%8A%A4%ED%81%AC_%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81&amp;diff=26886"/>
		<updated>2021-09-23T07:43:05Z</updated>

		<summary type="html">&lt;p&gt;Doha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:운영체제]][[분류:정보처리기사]]&lt;br /&gt;
;Disk Scheduling&lt;br /&gt;
&lt;br /&gt;
== 지연 시간 구성 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 스케줄링&lt;br /&gt;
! 설명&lt;br /&gt;
|-&lt;br /&gt;
| 탐색 시간(Seek Time)&lt;br /&gt;
| 헤드를 해당 데이터가 존재하는 트랙이나 실린더에 위치시키는 데 소요 시간&lt;br /&gt;
|-&lt;br /&gt;
| 회전 지연시간(Latency Time)&lt;br /&gt;
| 디스크 원판이 회전하여 섹터가 헤드의 바로 아래에 위치할 때까지 소요 시간&lt;br /&gt;
|-&lt;br /&gt;
| 전송 시간(Transfer Time)&lt;br /&gt;
| 디스크와 주 기억장치 간 실제 데이터가 이동하는데 소요 시간&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 종류 ==&lt;br /&gt;
=== FCFS ===&lt;br /&gt;
;First Come First Served&lt;br /&gt;
먼저들어온 요청부터 처리&lt;br /&gt;
* 알고리즘이 단순하고 구현 용이&lt;br /&gt;
* 공정한 스케줄링&lt;br /&gt;
* 비효율적&lt;br /&gt;
&lt;br /&gt;
=== SSTF ===&lt;br /&gt;
;Shortest Seek Time First&lt;br /&gt;
현재 헤드 위치에서 가장 가까운 트랙부터 처리&lt;br /&gt;
* 헤드 이동 거리 최소화&lt;br /&gt;
* 단위시간당 처리량 최대화&lt;br /&gt;
* [[Starvation]] 가능성&lt;br /&gt;
* 응답시간의 편차가 큼&lt;br /&gt;
&lt;br /&gt;
=== SCAN ===&lt;br /&gt;
;aka. 엘리베이터 알고리즘&lt;br /&gt;
실린더의 양쪽 끝을 왕복하여 진행 방향에 있는 요청 처리&lt;br /&gt;
* 진행 방향의 실린더 끝에 도달하면 방향을 전환하는 방식&lt;br /&gt;
* SSTF의 응답시간 편차를 극복하기 위해 Denning이 제안&lt;br /&gt;
* 현재 가장 널리 사용됨(C-SCAN 포함)&lt;br /&gt;
* SSTF 대비 탐색시간의 편차 감소&lt;br /&gt;
* SSTF 대비 [[Starvation]] 해소&lt;br /&gt;
* 실린더 끝에 위치한 블록은 상대적으로 대기시간 및 대기 편차 큼&lt;br /&gt;
&lt;br /&gt;
=== C-SCAN ===&lt;br /&gt;
;Circular SCAN&lt;br /&gt;
한쪽 방향으로 진행하며 진행 방향에 있는 요청 처리&lt;br /&gt;
* 진행 방향의 실린더 끝에 도달하면 반대편 실린더 끝으로 한번에 이동 후, 동일한 방향으로 진행함&lt;br /&gt;
* SCAN의 응답시간 편차 개선&lt;br /&gt;
* 처리할 블럭이 없어도 끝까지 이동하므로 비효율적&lt;br /&gt;
&lt;br /&gt;
=== LOOK ===&lt;br /&gt;
진행방향에 있는 마지막 블럭을 처리하면 방향을 전환하여 진행&lt;br /&gt;
* SCAN과 같이 처리하되, 처리 블럭이 있는 첫 지점, 마지막 지점 까지만 이동&lt;br /&gt;
* 진행여부 결정에 오버헤드 발생&lt;br /&gt;
&lt;br /&gt;
=== C-LOOK ===&lt;br /&gt;
;Circular Look&lt;br /&gt;
진행방향에 있는 마지막 블럭을 처리하면 반대편 끝과 가까운 요청 블럭으로 이동&lt;br /&gt;
* C-SCAN과 같이 처리하되, 처리 블럭이 있는 첫 지점부터 시작하고 더이상 처리할 블럭이 없으면 되돌아 옴&lt;br /&gt;
* 진행여부 결정에 오버헤드 발생&lt;br /&gt;
&lt;br /&gt;
=== N-Step Scan ===&lt;br /&gt;
진행하는동안 새로 요청된 블럭은 다음 진행에서 처리&lt;br /&gt;
* 기존 블럭들은 Scan과 같은 방식으로 처리&lt;br /&gt;
&lt;br /&gt;
=== SLTF ===&lt;br /&gt;
;Shortest Latency Time First&lt;br /&gt;
회전 지연시간이 가장 짧은 것을 먼저 서비스&lt;br /&gt;
* 고정 헤드 장치에 적합&lt;br /&gt;
&lt;br /&gt;
=== Eschenbach ===&lt;br /&gt;
;C-SCAN처럼 전체 트랙을 한바퀴 돌 동안 요청을 재배열&lt;br /&gt;
* 부하가 큰 항공 시스템을 위해 개발&lt;br /&gt;
* 탐색 시간과 회전 지연 시간을 최적화하기 위한 최초의 기법&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=%EA%B4%80%EA%B3%84%EB%8C%80%EC%88%98&amp;diff=26880</id>
		<title>관계대수</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=%EA%B4%80%EA%B3%84%EB%8C%80%EC%88%98&amp;diff=26880"/>
		<updated>2021-09-17T08:49:06Z</updated>

		<summary type="html">&lt;p&gt;Doha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:데이터베이스]][[분류:정보처리기사]]&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;릴레이션 조작을 위한 연산의 집합&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
* 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다.&lt;br /&gt;
* 일반 집합 연산과 순수 관계 연산으로 구분된다.&lt;br /&gt;
* 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.&lt;br /&gt;
* 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 특징을 가지고 있다.&lt;br /&gt;
* 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력 면에서 동일하다.&lt;br /&gt;
&lt;br /&gt;
== 순수 관계 연산자 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 연산자&lt;br /&gt;
! 기호&lt;br /&gt;
! 표기법&lt;br /&gt;
! 설명&lt;br /&gt;
! 예시&lt;br /&gt;
|-&lt;br /&gt;
| SELECT&lt;br /&gt;
| δ(시그마)&lt;br /&gt;
| δ&amp;lt;sub&amp;gt;&amp;lt;조건&amp;gt;&amp;lt;/sub&amp;gt;(R)&lt;br /&gt;
| 선택 조건&lt;br /&gt;
| δ&amp;lt;sub&amp;gt;DNO=4&amp;lt;/sub&amp;gt;(EMP)&lt;br /&gt;
|-&lt;br /&gt;
| PROJECT&lt;br /&gt;
| π(파이)&lt;br /&gt;
| π&amp;lt;sub&amp;gt;&amp;lt;리스트&amp;gt;&amp;lt;/sub&amp;gt;(R)&lt;br /&gt;
| 속성 선택&lt;br /&gt;
| π&amp;lt;sub&amp;gt;DNO,NAME&amp;lt;/sub&amp;gt;(EMP)&lt;br /&gt;
|-&lt;br /&gt;
| JOIN&lt;br /&gt;
| ⋈(보타이)&lt;br /&gt;
| R⋈&amp;lt;sub&amp;gt;&amp;lt;조건&amp;gt;&amp;lt;/sub&amp;gt;S&lt;br /&gt;
| 두 릴레이션 결합&lt;br /&gt;
| DEPT⋈&amp;lt;sub&amp;gt;dssn=essn&amp;lt;/sub&amp;gt; EMP&lt;br /&gt;
|-&lt;br /&gt;
| DIVISION&lt;br /&gt;
| ÷(나누기)&lt;br /&gt;
| R÷S&lt;br /&gt;
| R 중 S 기준 교집합&lt;br /&gt;
| EMP÷DEPT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 일반 집합 연산자 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 연산자&lt;br /&gt;
! 표기법&lt;br /&gt;
! 집합 표현&lt;br /&gt;
! 카디널리티&lt;br /&gt;
|-&lt;br /&gt;
| 합집합&lt;br /&gt;
| ∪&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;R∪S = {t|t∈R∨t∈S}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|R∪S|≤|R|+|S|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 교집합&lt;br /&gt;
| ∩&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;R∩S = {t|t∈R∧t∈S}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|R∩S|≤MIN(|R|,|S|)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 차집합&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;R-S = {t|t∈R∧t∉S}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|R-S|≤|R|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 교차곱&lt;br /&gt;
| ×&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;R×S = {rs|r∈R∧s∈S}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|R×S|=|R|×|S|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 관계대수와 관계해석 비교 ==&lt;br /&gt;
{{틀:관계대수와 관계해석}}&lt;br /&gt;
&lt;br /&gt;
== 같이 보기 ==&lt;br /&gt;
* [[관계해석]]&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=%EA%B4%80%EA%B3%84%EB%8C%80%EC%88%98&amp;diff=26879</id>
		<title>관계대수</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=%EA%B4%80%EA%B3%84%EB%8C%80%EC%88%98&amp;diff=26879"/>
		<updated>2021-09-17T08:44:59Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* 순수 관계 연산자 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:데이터베이스]][[분류:정보처리기사]]&lt;br /&gt;
* 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다.&lt;br /&gt;
* 일반 집합 연산과 순수 관계 연산으로 구분된다.&lt;br /&gt;
* 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.&lt;br /&gt;
* 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 특징을 가지고 있다.&lt;br /&gt;
* 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력 면에서 동일하다.&lt;br /&gt;
&lt;br /&gt;
== 순수 관계 연산자 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 연산자&lt;br /&gt;
! 기호&lt;br /&gt;
! 표기법&lt;br /&gt;
! 설명&lt;br /&gt;
! 예시&lt;br /&gt;
|-&lt;br /&gt;
| SELECT&lt;br /&gt;
| δ(시그마)&lt;br /&gt;
| δ&amp;lt;sub&amp;gt;&amp;lt;조건&amp;gt;&amp;lt;/sub&amp;gt;(R)&lt;br /&gt;
| 선택 조건&lt;br /&gt;
| δ&amp;lt;sub&amp;gt;DNO=4&amp;lt;/sub&amp;gt;(EMP)&lt;br /&gt;
|-&lt;br /&gt;
| PROJECT&lt;br /&gt;
| π(파이)&lt;br /&gt;
| π&amp;lt;sub&amp;gt;&amp;lt;리스트&amp;gt;&amp;lt;/sub&amp;gt;(R)&lt;br /&gt;
| 속성 선택&lt;br /&gt;
| π&amp;lt;sub&amp;gt;DNO,NAME&amp;lt;/sub&amp;gt;(EMP)&lt;br /&gt;
|-&lt;br /&gt;
| JOIN&lt;br /&gt;
| ⋈(보타이)&lt;br /&gt;
| R⋈&amp;lt;sub&amp;gt;&amp;lt;조건&amp;gt;&amp;lt;/sub&amp;gt;S&lt;br /&gt;
| 두 릴레이션 결합&lt;br /&gt;
| DEPT⋈&amp;lt;sub&amp;gt;dssn=essn&amp;lt;/sub&amp;gt; EMP&lt;br /&gt;
|-&lt;br /&gt;
| DIVISION&lt;br /&gt;
| ÷(나누기)&lt;br /&gt;
| R÷S&lt;br /&gt;
| R 중 S 기준 교집합&lt;br /&gt;
| EMP÷DEPT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 일반 집합 연산자 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 연산자&lt;br /&gt;
! 표기법&lt;br /&gt;
! 집합 표현&lt;br /&gt;
! 카디널리티&lt;br /&gt;
|-&lt;br /&gt;
| 합집합&lt;br /&gt;
| ∪&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;R∪S = {t|t∈R∨t∈S}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|R∪S|≤|R|+|S|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 교집합&lt;br /&gt;
| ∩&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;R∩S = {t|t∈R∧t∈S}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|R∩S|≤MIN(|R|,|S|)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 차집합&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;R-S = {t|t∈R∧t∉S}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|R-S|≤|R|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 교차곱&lt;br /&gt;
| ×&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;R×S = {rs|r∈R∧s∈S}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|R×S|=|R|×|S|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 관계대수와 관계해석 비교 ==&lt;br /&gt;
{{틀:관계대수와 관계해석}}&lt;br /&gt;
&lt;br /&gt;
== 같이 보기 ==&lt;br /&gt;
* [[관계해석]]&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=B_%ED%8A%B8%EB%A6%AC&amp;diff=26878</id>
		<title>B 트리</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=B_%ED%8A%B8%EB%A6%AC&amp;diff=26878"/>
		<updated>2021-09-16T13:33:51Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* 조건 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:자료 구조]][[분류:데이터베이스]]&lt;br /&gt;
;Balanced Tree, B-Tree, B Tree&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
* 자가 균형 트리(Self Balancing Tree)&amp;lt;ref&amp;gt;모든 리프노드의 높이를 항상 같게 유지하는 트리&amp;lt;/ref&amp;gt;의 일종.&lt;br /&gt;
&lt;br /&gt;
== 조건 ==&lt;br /&gt;
* 차수가 m인 B 트리는 아래의 조건을 만족해야 한다.&lt;br /&gt;
** 모든 노드는 최대 m개의 자식들을 가진다.&lt;br /&gt;
** 루트노드와 리프노드가 아닌 모든 노드는 최소 m/2개의 자식을 가진다.&lt;br /&gt;
** 루트노드는 2개 이상의 자식을 가진다.&lt;br /&gt;
** k개의 자식을 가진 노드는 k-1개의 키를 가진다.&lt;br /&gt;
** 즉, 자식을 가진 노드는 최소 m/2-1개에서 최대 m-1개의 키를 가진다.&lt;br /&gt;
** 모든 리프노드들은 같은 높이에 있어야 한다.&lt;br /&gt;
** 모든 노드들은 키와 자식노드에 대한 포인터로 이루어져 있다.&lt;br /&gt;
&lt;br /&gt;
==특징==&lt;br /&gt;
* 탐색 시간 복잡도 : O(logN)&lt;br /&gt;
* 노드의 삽입 또는 삭제 연산 후에도 정렬된 자료구조를 보장한다.&lt;br /&gt;
&lt;br /&gt;
== 비트리의 장단점 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 장점 !! 단점&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 노드의 삽입/삭제 후에도 균등한 응답 속도를 보장  &lt;br /&gt;
|| &lt;br /&gt;
* 삽입/삭제 시 균형 유지를 위해 복잡한 연산 필요&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 같이 보기 ==&lt;br /&gt;
* [[B+ 트리]]: 순차검색 향상을 위해 Index Set과 Data Set을 구분&lt;br /&gt;
* [[B* 트리]]: 삽입 시 빈번한 노드 분할에 따른 연산 감소&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=B_%ED%8A%B8%EB%A6%AC&amp;diff=26877</id>
		<title>B 트리</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=B_%ED%8A%B8%EB%A6%AC&amp;diff=26877"/>
		<updated>2021-09-16T13:20:55Z</updated>

		<summary type="html">&lt;p&gt;Doha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:자료 구조]][[분류:데이터베이스]]&lt;br /&gt;
;Balanced Tree, B-Tree, B Tree&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
* 자가 균형 트리(Self Balancing Tree)&amp;lt;ref&amp;gt;모든 리프노드의 높이를 항상 같게 유지하는 트리&amp;lt;/ref&amp;gt;의 일종.&lt;br /&gt;
&lt;br /&gt;
== 조건 ==&lt;br /&gt;
* 차수가 m인 B 트리는 아래의 조건을 만족해야 한다.&lt;br /&gt;
** 모든 노드는 최대 m개의 자식들을 가진다.&lt;br /&gt;
** 루트노드와 리프노드가 아닌 모든 노드는 최소 m/2개의 자식을 가진다.&lt;br /&gt;
** 루트노드는 2개 이상의 자식을 가진다.&lt;br /&gt;
** k개의 자식을 가진 노드는 k-1개의 키를 가진다.&lt;br /&gt;
** 즉, 모든 노드는 최소 m/2-1개에서 최대 m-1개의 키를 가진다.&lt;br /&gt;
** 모든 리프노드들은 같은 높이에 있어야 한다.&lt;br /&gt;
** 모든 노드들은 키와 자식노드에 대한 포인터로 이루어져 있다.&lt;br /&gt;
&lt;br /&gt;
==특징==&lt;br /&gt;
* 탐색 시간 복잡도 : O(logN)&lt;br /&gt;
* 노드의 삽입 또는 삭제 연산 후에도 정렬된 자료구조를 보장한다.&lt;br /&gt;
&lt;br /&gt;
== 비트리의 장단점 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 장점 !! 단점&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 노드의 삽입/삭제 후에도 균등한 응답 속도를 보장  &lt;br /&gt;
|| &lt;br /&gt;
* 삽입/삭제 시 균형 유지를 위해 복잡한 연산 필요&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 같이 보기 ==&lt;br /&gt;
* [[B+ 트리]]: 순차검색 향상을 위해 Index Set과 Data Set을 구분&lt;br /&gt;
* [[B* 트리]]: 삽입 시 빈번한 노드 분할에 따른 연산 감소&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=%EA%B5%90%EC%B0%A9%EC%83%81%ED%83%9C&amp;diff=26829</id>
		<title>교착상태</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=%EA%B5%90%EC%B0%A9%EC%83%81%ED%83%9C&amp;diff=26829"/>
		<updated>2021-09-04T05:46:10Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* 교착상태의 방지법 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 개요 ==&lt;br /&gt;
* 교착상태 : Deadlock&lt;br /&gt;
* 두개 이상의 프로세스가 서로의 작업이 끝나기만을 기다리고 있어 둘다 영원히 끝나지 않는 상황을 가리킨다.&lt;br /&gt;
&lt;br /&gt;
== 예시 ==&lt;br /&gt;
semaphores A and B, initialized to 1&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Process1&lt;br /&gt;
| Process2&lt;br /&gt;
|-&lt;br /&gt;
| wait(A);&lt;br /&gt;
| wait(B);&lt;br /&gt;
|-&lt;br /&gt;
| wait(B);&lt;br /&gt;
| wait(A);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 교착상태의 4가지 필요조건 ==&lt;br /&gt;
* 아래 4가지 조건&amp;lt;ref&amp;gt;순서나 우선순위는 없다.&amp;lt;/ref&amp;gt;이 모두 만족하면 데드락이 &#039;&#039;&#039;발생할 가능성&#039;&#039;&#039;이 있다.&lt;br /&gt;
* 하나라도 만족하지 않으면 절대 발생하지 않는다.&lt;br /&gt;
# &#039;&#039;&#039;상호 배제(Mutual exclusion)&#039;&#039;&#039; &lt;br /&gt;
#* 한 리소스는 한번에 한 프로세스만이 사용 할 수 있음&lt;br /&gt;
# &#039;&#039;&#039;점유와 대기(Hold and wait)&#039;&#039;&#039; &lt;br /&gt;
#* 어떤 프로세스가 하나 이상의 리소스를 점유하고 있으면서 다른 프로세스가 가지고 있는 리소스를 기다리고 있음&lt;br /&gt;
# &#039;&#039;&#039;비선점(No preemption)&#039;&#039;&#039;&lt;br /&gt;
#* 프로세스가 테스크를 마친 후 리소스를 자발적으로 반환할 때 까지 기다림 (강제로 빼앗지 않는다)&lt;br /&gt;
# &#039;&#039;&#039;환형 대기(Circular wait)&#039;&#039;&#039; &lt;br /&gt;
#* Hold and wait관계의 프로세스들이 서로를 기다림&lt;br /&gt;
&lt;br /&gt;
== 교착상태의 방지법 ==&lt;br /&gt;
* 사전에 교착상태가 발생하지 않도록 조치하거나, 발생한 뒤에 고치는 방법이 있다. 대표적으로 아래 세가지로 나눈다.&lt;br /&gt;
# &#039;&#039;&#039;방지(Prevention)&#039;&#039;&#039;&lt;br /&gt;
#* 할당 구조 측면에서, 교착상태가 발생할 수 있는 요구조건을 만족시키지 않게 함으로써 교착상태를 방지한다.&lt;br /&gt;
# &#039;&#039;&#039;회피(Avoidance)&#039;&#039;&#039;&lt;br /&gt;
#* 리소스 할당의 측면에서, 교착상태가 발생할 가능성이 있는 자원 할당(unsafe allocation)을 하지 않는다.&lt;br /&gt;
#* 대표적으로 [[은행원 알고리즘]], [[자원 할당 그래프]]가 있다.&lt;br /&gt;
# &#039;&#039;&#039;탐지 및 회복(Detection and Recovery)&#039;&#039;&#039;&lt;br /&gt;
#* 교착상태가 발생 할 수 있도록 놔 두고 교착상태가 발생 할 경우 찾아내어 고친다.&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;br /&gt;
* 초기 원문 출처 : [http://raisonde.tistory.com/entry/Deadlock의-발생-조건과-해결법 [지식잡식 블로그]]&lt;br /&gt;
&lt;br /&gt;
[[분류:운영체제]]&lt;br /&gt;
[[분류:정보처리기사]]&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=UML&amp;diff=26828</id>
		<title>UML</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=UML&amp;diff=26828"/>
		<updated>2021-09-03T12:57:14Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* UML 다이어그램의 종류 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:소프트웨어 공학]]&lt;br /&gt;
;Unified Modeling Language&lt;br /&gt;
* 통합 모델링 언어&lt;br /&gt;
* 시스템을 모델로 표현해주는 대표적인 모델링 언어&lt;br /&gt;
&lt;br /&gt;
== 특징 ==&lt;br /&gt;
* 통합적: 방법론을 기반으로 한 표준화된 기법 제공&lt;br /&gt;
* 시각적: 풍부한 시각적 표현 모델 제공&lt;br /&gt;
* 독립적: 시스템의 종류나 규모에 관계 없이 적용 가능&lt;br /&gt;
&lt;br /&gt;
== 구성 요소 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 구성요소 !! 내용&lt;br /&gt;
|-&lt;br /&gt;
| 사물(Things) || 구조, 행위, 그룹, 주석 등&lt;br /&gt;
|-&lt;br /&gt;
| 관계(Relationships) || 의존 관계, 연관 관계, 일반화 관계 등&lt;br /&gt;
|-&lt;br /&gt;
| 다이어그램(Diagrams) || 객체 다이어그램, 클래스 다이어그램, 시퀀스 다이어그램 등&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
== UML 다이어그램의 종류 ==&lt;br /&gt;
# &#039;&#039;&#039;구조 다이어그램(Structure Diagram)&#039;&#039;&#039;&lt;br /&gt;
#* 클래스 다이어그램(Class Diagram)&lt;br /&gt;
#* 객체 다이어그램(Object Diagram)&lt;br /&gt;
#* 복합체 구조 다이어그램(Complex Structure Diagram)&lt;br /&gt;
#* 배치 다이어그램(Deployment Diagram)&lt;br /&gt;
#* 컴포넌트 다이어그램(Component Diagram)&lt;br /&gt;
#* 패키지 다이어그램(Package Diagram)&lt;br /&gt;
# &#039;&#039;&#039;행위 다이어그램(Behavior Diagram)&#039;&#039;&#039;&lt;br /&gt;
#* 활동 다이어그램(Activity Diagram)&lt;br /&gt;
#* 상태 머신 다이어그램(State Machine Diagram)&lt;br /&gt;
#* 유즈 케이스 다이어그램(Use Case Diagram)&lt;br /&gt;
#* 상호작용 다이어그램(Interaction Diagram)&lt;br /&gt;
#* 커뮤니케이션 다이어그램(Communication Diagram)&lt;br /&gt;
&lt;br /&gt;
=== UML 다이어그램에서 관계 표현 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 명칭 !! 표현 !! 설명&lt;br /&gt;
|-&lt;br /&gt;
| 연관 관계 || ────&amp;gt; || 객체간 개념적으로 연관&lt;br /&gt;
|-&lt;br /&gt;
| 의존 관계 || - - - - - -&amp;gt; || 객체 변경 시 관계된 다른 객체도 변경&lt;br /&gt;
|-&lt;br /&gt;
| 집합 연관 관계 || ────◇ || 전체와 부분인 연관 관계&lt;br /&gt;
|-&lt;br /&gt;
| 복합 연관 관계 || ────♦ || 전체 소명 시 부분도 소멸되는 집합 연관 관계&lt;br /&gt;
|-&lt;br /&gt;
| 상속 관계 || ────▷ || 일반화된 개념과 구체화된 객체의 관계&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=%ED%85%8C%EC%8A%A4%ED%8A%B8_%EC%9E%90%EB%8F%99%ED%99%94_%EB%8F%84%EA%B5%AC&amp;diff=26798</id>
		<title>테스트 자동화 도구</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=%ED%85%8C%EC%8A%A4%ED%8A%B8_%EC%9E%90%EB%8F%99%ED%99%94_%EB%8F%84%EA%B5%AC&amp;diff=26798"/>
		<updated>2021-09-01T15:23:18Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* 웹 브라우저용 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:프로그래밍]][[분류:소프트웨어 공학]]&lt;br /&gt;
;Test Automation Tool&lt;br /&gt;
소프트웨어의 테스트를 자동화하기 위한 도구&lt;br /&gt;
&lt;br /&gt;
== 웹 브라우저용 ==&lt;br /&gt;
* [[셀레니움]]: 웹 테스트용&lt;br /&gt;
* [[FitNesse]] : 인수 테스트를 위한 오픈소스 자동화 테스트 도구&lt;br /&gt;
&lt;br /&gt;
== 모바일 OS용 ==&lt;br /&gt;
* [[앱피움]]: 모바일 테스트용, UIAutomator2 + FacebookWDA&lt;br /&gt;
* [[UIAutomator2]]: 안드로이드용&lt;br /&gt;
* [[FacebookWDA]]: iOS용&lt;br /&gt;
&lt;br /&gt;
== 윈도우용 ==&lt;br /&gt;
* [[Python-UIAutomation-for-Windows]]&lt;br /&gt;
&lt;br /&gt;
== 맥 OS용 ==&lt;br /&gt;
* [[PyAtom]]&lt;br /&gt;
&lt;br /&gt;
== 리눅스용 ==&lt;br /&gt;
* [[LDTP]]: Linux GNOME기반 application 테스트 자동화 툴&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=%EC%84%9C%EB%B9%84%EC%8A%A4_%EA%B1%B0%EB%B6%80_%EA%B3%B5%EA%B2%A9&amp;diff=26797</id>
		<title>서비스 거부 공격</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=%EC%84%9C%EB%B9%84%EC%8A%A4_%EA%B1%B0%EB%B6%80_%EA%B3%B5%EA%B2%A9&amp;diff=26797"/>
		<updated>2021-09-01T13:56:21Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* 공격의 종류 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류 : 보안]][[분류 : 보안 공격]][[분류 : 정보보안기사]]&lt;br /&gt;
;Denial of Service, DoS&lt;br /&gt;
; 대상 시스템이 정상적인 서비스를 할 수 없도록 가용성을 떨어뜨리는 공격&lt;br /&gt;
&lt;br /&gt;
==DDoS와의 차이==&lt;br /&gt;
* DoS공격은 공격자가 단일 컴퓨터를 이용해 공격하는 경우&lt;br /&gt;
* [[분산 서비스 거부 공격|DDoS(Distributed Denial of Service)]] : 분산된 다수의 좀비 PC를 이용하여 공격하는 경우&lt;br /&gt;
* DDoS는 대량의 호스트가 일시에 정상적인 접근을 하는 것 만으로도 공격이 되므로 뚜렷한 취약점이 없어도 공격이 가능하나 DoS공격은 한 호스트가 비정상적인 접근을 통해 부하를 유발하는 것이므로 취약점에 의한 공격이다.&lt;br /&gt;
&lt;br /&gt;
== 공격의 목표 ==&lt;br /&gt;
* 네트워크 자원 소진 : 네트워크 대역폭(Bandwidth)을 소진시키다.&lt;br /&gt;
* 시스템 자원 소진 : CPU, 메모리, 디스크 등 자원에 과도한 부하를 발생시킨다.&lt;br /&gt;
* 자원 파괴 : 디스크, 데이터, 시스템을 파괴한다.&lt;br /&gt;
&lt;br /&gt;
== 공격의 종류 ==&lt;br /&gt;
=== Ping Of Death Attack ===&lt;br /&gt;
* [[ICMP]] 패킷을 정상적인 크기보다 아주 크게 만들어 전송하면 IP 단편화(fragment)가 발생한다. 이를 재조합하는 과정에서 많은 부하가 발생하거나 버퍼 오버플로우가 발생하여 정상적인 서비스를 하지 못하게 한다.&lt;br /&gt;
* 자세한 내용은 [[Ping of Death|Ping of Death 문서]] 참조&lt;br /&gt;
&lt;br /&gt;
=== [[Land Attack]] ===&lt;br /&gt;
* 출발지와 목적지가 같은 패킷을 만들어 공격 대상이 자기 자신에게 응답하도록 해 부하 유발&lt;br /&gt;
* 현재는 대부분의 OS에서 해당 취약점이 해결되어 이론적으로만 존재&lt;br /&gt;
&lt;br /&gt;
=== [[스머프 공격|Smurf Attack]] ===&lt;br /&gt;
* 출발지를 공격 대상 IP로 위조한 ICMP 패킷을 브로드캐스트하여 공격 대상이 다수의 ICMP 응답 받게 만들어 부하 유발&lt;br /&gt;
&lt;br /&gt;
=== Teardrop Attack ===&lt;br /&gt;
* 하나의 IP 패킷이 분할된 IP 단편의 offset값을 서로 중첩되도록 조작하여 이를 재조합하는 공격 대상 시스템에 에러와 부하 유발&lt;br /&gt;
* 유사한 공격으로 Bonk, Boink&lt;br /&gt;
** Bonk는 순서번호가 1번인 단편을 계속 보냄&lt;br /&gt;
** Boink는 처음에는 정상적인 순서의 단편을 보내다가 점점 순서번호가 어긋난 패킷을 보내는 방법으로, Bonk보다 개선된 방식&lt;br /&gt;
* 이러한 공격들을 Inconsistent Fragmentation 공격 이라 한다.&lt;br /&gt;
&lt;br /&gt;
=== [[Syn Flooding|SYN Flooding]] ===&lt;br /&gt;
* 다량의 TCP SYN 패킷을 전송하여 공격대상 시스템을 마비시키는 공격&lt;br /&gt;
* 자세한 내용은 [[Syn Flooding|SYN Flooding]] 참조&lt;br /&gt;
&lt;br /&gt;
=== UDP Flooding ===&lt;br /&gt;
* 다량의 UDP 패킷을 전송하여 네트워크 자원을 고갈시키는 공격&lt;br /&gt;
&lt;br /&gt;
== 대응 절차 ==&lt;br /&gt;
# &#039;&#039;&#039;모니터링&#039;&#039;&#039;: 서비스 거부 공격을 탐지할 수 있는 시스템을 갖추고 모니터링을 수행한다.&lt;br /&gt;
# &#039;&#039;&#039;침입탐지&#039;&#039;&#039;: 서비스 거부 공격으로 추정되는 공격을 탐지한다.&lt;br /&gt;
# &#039;&#039;&#039;초동조치&#039;&#039;&#039;: 신속하게 할 수 있는 조치로 공격의 피해를 완화한다.&lt;br /&gt;
# &#039;&#039;&#039;상세분석&#039;&#039;&#039;: 서비스 거부 공격이 맞는지, 어떤식으로 차단해야 정상 이용자에게 피해가 없을지 분석한다.&lt;br /&gt;
# &#039;&#039;&#039;차단조치&#039;&#039;&#039;: 차단 조치를 수행한다.&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=B*_%ED%8A%B8%EB%A6%AC&amp;diff=26766</id>
		<title>B* 트리</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=B*_%ED%8A%B8%EB%A6%AC&amp;diff=26766"/>
		<updated>2021-08-31T14:22:45Z</updated>

		<summary type="html">&lt;p&gt;Doha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:자료 구조]][[분류:데이터베이스]]&lt;br /&gt;
;현대 RDBMS에서 가장 많이 사용되는 인덱스 구조로, B 트리의 개선 버전&lt;br /&gt;
&lt;br /&gt;
== 특징 ==&lt;br /&gt;
&lt;br /&gt;
* 노드의 약 2/3이상이 채워지는 B트리&lt;br /&gt;
* 노드가 꽉 차면 분리하지 않고, 키와 포인터를 재배치하여 다른 형제 노드로 옮김&lt;br /&gt;
* 삽입/ 삭제 시 발생하는 노드 분리를 줄이려고 고안됨&lt;br /&gt;
* 데이터가 기본적으로 정렬되어 저장됨&lt;br /&gt;
* Max/Min의 효율적 처리 가능&lt;br /&gt;
&lt;br /&gt;
== 구성 ==&lt;br /&gt;
&lt;br /&gt;
* Root 노드&lt;br /&gt;
* Branch 노드&lt;br /&gt;
* Leaf 노드&lt;br /&gt;
&lt;br /&gt;
== 규칙 ==&lt;br /&gt;
&#039;&#039;&#039;차수가 m인 B*트리는 다음 조건을 만족하는 B 트리이다&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 공집합이거나 높이가 1이상인 m원 탐색 트리이다.&lt;br /&gt;
* Root 노드는 2개 이상 2(2m-2)/3+1 개 이하의 자식노드를 갖는다. &lt;br /&gt;
* 내부노드는 최소한 (2m-1)/3개의 자식노드 를 갖다. &lt;br /&gt;
* 모든 Leaf 노드는 동일한 레벨에 놓인다.&lt;br /&gt;
* 포인터가 k개인 Leaf가 아닌 노드는 k-1개의 키를 갖는다. (Root 노드 포함)&lt;br /&gt;
&lt;br /&gt;
== 같이 보기 ==&lt;br /&gt;
&lt;br /&gt;
* [[B 트리]]&lt;br /&gt;
* [[B+ 트리]]&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=IP_Spoofing&amp;diff=26765</id>
		<title>IP Spoofing</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=IP_Spoofing&amp;diff=26765"/>
		<updated>2021-08-31T14:19:15Z</updated>

		<summary type="html">&lt;p&gt;Doha: IP 스푸핑 문서로 넘겨주기&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[IP 스푸핑]]&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=DRDoS&amp;diff=26764</id>
		<title>DRDoS</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=DRDoS&amp;diff=26764"/>
		<updated>2021-08-31T14:13:26Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* DDoS와의 차이 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:보안]]&lt;br /&gt;
[[분류:보안 공격]]&lt;br /&gt;
[[분류:정보보안기사]]&lt;br /&gt;
&lt;br /&gt;
;Distributed Reflection Denial of Service&lt;br /&gt;
;취약점이 있는 외부의 정상적인 서버들을 이용하여 공격을 수행하는 [[분산 서비스 거부 공격]]&lt;br /&gt;
&lt;br /&gt;
* 출발지의 IP를 위조하여 정상 요청(request)하면 공격 대상 에 대량의 응답 값이 전달되는 것을 이용한 공격방법이다.&lt;br /&gt;
* DDoS의 에이전트 설치의 어려움을 보완한 공격으로 TCP 프로토콜 및 라우팅 테이블 운영상의 취약성을 이용한 공격으로 정상적인 서비스를 제공 중인 서버 Agent를 활용하는 공격기법이다.&lt;br /&gt;
* 클라이언트의 특성상 외부 인터넷 서버 접속이 잦으므로 인하여 클라이언트의 보호는 사실상 어렵다.&lt;br /&gt;
&lt;br /&gt;
==DDoS와의 차이==&lt;br /&gt;
&lt;br /&gt;
*[[IP 스푸핑|IP Spoofing]]의 적극적인 사용&lt;br /&gt;
**우월한 공격자 은닉(추적 방지)&lt;br /&gt;
*반사체(Reflector)의 사용&lt;br /&gt;
**공격량의 증대(공격력 강화)&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=%EC%9D%91%EC%A7%91%EB%8F%84&amp;diff=26763</id>
		<title>응집도</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=%EC%9D%91%EC%A7%91%EB%8F%84&amp;diff=26763"/>
		<updated>2021-08-31T13:58:29Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* 종류 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:소프트웨어 공학]][[분류:정보처리기사]]&lt;br /&gt;
;Cohension&lt;br /&gt;
&lt;br /&gt;
* [[결합도|결합도(Coupling)]]와 함께 모듈의 독립성을 판단하는 지표&lt;br /&gt;
* &#039;&#039;&#039;응집도는 모듈 내부의 기능적인 응집 정도를 나타낸다.&#039;&#039;&#039;&lt;br /&gt;
* 결합도는 모듈과 모듈간의 상호 결합 정도를 나타낸다.&lt;br /&gt;
* &#039;&#039;&#039;응집도는 높을수록 좋고&#039;&#039;&#039; 결합도는 낮을수록 이상적이다.&lt;br /&gt;
&lt;br /&gt;
== 종류 ==&lt;br /&gt;
;우연적 응집도 &amp;lt; 논리적 응집도 &amp;lt; 시간적 응집도 &amp;lt; 절차적 응집도 &amp;lt; 교환적 응집도 &amp;lt; 순차적 응집도 &amp;lt; 기능적 응집도&amp;lt;ref&amp;gt;아래 내용 출처 [https://raisonde.tistory.com/entry/결합도Coupling과-응집도Cohension 지식잡식 블로그]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;기능적 응집도(Functional Cohesion)&#039;&#039;&#039;&lt;br /&gt;
** 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우&lt;br /&gt;
* &#039;&#039;&#039;순차적 응집도(Sequential Cohesion)&#039;&#039;&#039;&lt;br /&gt;
** 모듈 내의 한 활동으로부터 나온 출력값을 모듈 내의 다른 활동이 사용할 경우&lt;br /&gt;
* &#039;&#039;&#039;교환적 응집도(Communication Cohesion)&#039;&#039;&#039;&lt;br /&gt;
** 서로 다른 기능을 수행하지만 동일한 입력과 출력을 사용하는 활동들이 모여있을 경우&lt;br /&gt;
* &#039;&#039;&#039;절차적 응집도(Procedural Cohesion)&#039;&#039;&#039;&lt;br /&gt;
** 모듈 안의 구성요소들이 서로 다른 기능을 하지만 그 기능을 순차적으로 수행할 경우&lt;br /&gt;
* &#039;&#039;&#039;시간적 응집도(Temporal Cohesion)&#039;&#039;&#039;&lt;br /&gt;
** 연관된 기능이라기 보단 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우&lt;br /&gt;
* &#039;&#039;&#039;논리적 응집도(Logical Cohesion)&#039;&#039;&#039;&lt;br /&gt;
** 실제와 달리 논리적으로만 같은 그룹으로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우&lt;br /&gt;
* &#039;&#039;&#039;우연적 응집도(Coincidental Cohesion)&#039;&#039;&#039;&lt;br /&gt;
** 모듈 내부의 각 구성요소들이 연관이 없을 경우&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%ED%85%8C%EC%8A%A4%ED%8A%B8&amp;diff=26762</id>
		<title>소프트웨어 테스트</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%ED%85%8C%EC%8A%A4%ED%8A%B8&amp;diff=26762"/>
		<updated>2021-08-31T13:06:41Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* 테스트 종류 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:소프트웨어 공학]]&lt;br /&gt;
;Software Test&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
=== 정의 ===&lt;br /&gt;
* 노출되지 않은 숨어있는 결함(Fault)을 찾기 위해 소프트웨어를 작동시키는 일련의 행위와 절차&lt;br /&gt;
* 오류 발견을 목적으로 프로그램을 실행하여 품질을 평가하는 과정&lt;br /&gt;
* 개발된 소프트웨어의 결함과 문제를 식별하고 품질을 평가하며 품질을 개선하기 위한 일련의 활동&lt;br /&gt;
* 일반적으로 테스트 케이스에 따라 SW를 동적으로 실행시켜 예상결과치와 비교 분석&lt;br /&gt;
* SW의 동작과 성능, 안정성이 요구되는 수준을 만족하는지 확인하기 위한 결함을 발견하는 메커니즘&lt;br /&gt;
&lt;br /&gt;
=== 목적 ===&lt;br /&gt;
* 프로그램의 잠재된 오류의 발견&lt;br /&gt;
* 기술적인 기능 및 성능의 확인&lt;br /&gt;
* 사용자 요구 만족도 향상&lt;br /&gt;
* 제품 신뢰도 향상&lt;br /&gt;
&lt;br /&gt;
=== [[소프트웨어 테스트 원리|테스트의 일반적인 원리]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 원리&lt;br /&gt;
! 내용&lt;br /&gt;
! 원인&lt;br /&gt;
|-&lt;br /&gt;
| 결함 발견&lt;br /&gt;
| &lt;br /&gt;
* 결함제거가 아닌 결함의 발견을 목적으로 함&lt;br /&gt;
| &lt;br /&gt;
* Test 본연의 역할&lt;br /&gt;
|-&lt;br /&gt;
| 불완전성&lt;br /&gt;
| &lt;br /&gt;
* 완벽한 테스팅은 불가능&lt;br /&gt;
* 무한경로, 무한입력값, 무한타이밍&lt;br /&gt;
| &lt;br /&gt;
* 자원의 한계&lt;br /&gt;
|-&lt;br /&gt;
| 정황 의존성&lt;br /&gt;
| &lt;br /&gt;
* 테스트는 테스트 주변환경에 의한 영향을 받음&lt;br /&gt;
| &lt;br /&gt;
* 외부요소, 심리요소&lt;br /&gt;
|-&lt;br /&gt;
| 초기 집중&lt;br /&gt;
([[요르돈 법칙]])&lt;br /&gt;
| &lt;br /&gt;
* 개발 설계 시 부터 테스트를 고려&lt;br /&gt;
* 결함의 조기발견 및 재유입 방지&lt;br /&gt;
| &lt;br /&gt;
* 품질비용 감소&lt;br /&gt;
|-&lt;br /&gt;
| 결함 집중&lt;br /&gt;
| &lt;br /&gt;
* 결함의 80%는 20%코드에 집중&lt;br /&gt;
* 결함이 높은 곳에 자원집중&lt;br /&gt;
| &lt;br /&gt;
* 파레토 법칙&lt;br /&gt;
|-&lt;br /&gt;
| 살충제 페러독스&lt;br /&gt;
| &lt;br /&gt;
* 동일한 테스트 전략, 기법을 적용할 시 내성이 생김&lt;br /&gt;
| &lt;br /&gt;
* 테스터의 수동적 자세&lt;br /&gt;
|-&lt;br /&gt;
| 오류-부재 궤변&lt;br /&gt;
| &lt;br /&gt;
* 결함을 모두 제거하였다고 품질이 우수하다고 볼 순 없음&lt;br /&gt;
| &lt;br /&gt;
* SW 요구사항 불만족&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 참조 모델 ==&lt;br /&gt;
* [[TMMi]]&lt;br /&gt;
* [[ISO/IEC/IEEE 29119]]&lt;br /&gt;
* [[확인과 검증|확인과 검증(V&amp;amp;V)]]&lt;br /&gt;
&lt;br /&gt;
== 테스트 종류 ==&lt;br /&gt;
=== 단계별 구분 ===&lt;br /&gt;
[[V 다이어그램]]&lt;br /&gt;
[[파일:V다이어그램.jpg]]&lt;br /&gt;
* 소프트웨어 개발 생명주기에 따라 대응되는 테스트를 표현한 다이어그램 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 테스트 !! 세부 내용&lt;br /&gt;
|-&lt;br /&gt;
| [[단위 테스트]]&lt;br /&gt;
(Unit Test)&lt;br /&gt;
||&lt;br /&gt;
* 인터페이스 테스트&lt;br /&gt;
* 자료구조 테스트&lt;br /&gt;
* 수행경로 테스트&lt;br /&gt;
|-&lt;br /&gt;
| [[통합 테스트]]&lt;br /&gt;
(Integration Test)&lt;br /&gt;
|| &lt;br /&gt;
* 하향식 통합&lt;br /&gt;
* 상향식 통합&lt;br /&gt;
* 백본 통합&lt;br /&gt;
|-&lt;br /&gt;
| [[시스템 테스트]]&lt;br /&gt;
(System Test)&lt;br /&gt;
|| &lt;br /&gt;
* [[보안 테스트]]&lt;br /&gt;
* 민감도 테스트&lt;br /&gt;
* [[성능 테스트]]&lt;br /&gt;
|-&lt;br /&gt;
| [[인수 테스트]]&lt;br /&gt;
(Acceptance Test)&lt;br /&gt;
|| &lt;br /&gt;
* 알파 테스트 : 통제된 환경에서 선별된 사용자들(사내 직원 등)이 개발자와 함께 수행하는 테스트&lt;br /&gt;
* 베타 테스트 : 실제와 동일한 환경에서 사외의 사용자들이 테스트하게 하고 피드백을 받는 방법&lt;br /&gt;
|-&lt;br /&gt;
| [[설치 테스트]]&lt;br /&gt;
(Install Test)&lt;br /&gt;
|| &lt;br /&gt;
* 하드웨어 호환성&lt;br /&gt;
* 파일시스템 구성&lt;br /&gt;
* 다른 소프트웨어와의 연계&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 접근방법에 따른 구분 ===&lt;br /&gt;
==== [[정적 테스트]] ====&lt;br /&gt;
* 동료 검토&lt;br /&gt;
* 워크스루&lt;br /&gt;
* [[정형 기술 검토]]&lt;br /&gt;
&lt;br /&gt;
==== [[동적 테스트]] ====&lt;br /&gt;
* &#039;&#039;&#039;소스 코드 열람에 따른 구분&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[[블랙박스 테스트]]&#039;&#039;&#039;: 동치분할 검사, 경계값 분석, 오류 예측 검사, 비교 검사, 원인 효과 그래프&lt;br /&gt;
** &#039;&#039;&#039;[[화이트박스 테스트]]&#039;&#039;&#039;: 조건 검사, 루프 검사, 기대값 분석, 데이터 흐름 검사&lt;br /&gt;
* &#039;&#039;&#039;설계 기법에 따른 분류&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[[명세 기반 테스트]]&#039;&#039;&#039;: 동치 분할, 경계값 분석, 상태 전이 모델&lt;br /&gt;
** &#039;&#039;&#039;[[구조 기반 테스트]]&#039;&#039;&#039;: 제어흐름 테스트, 자료흐름 테스트&lt;br /&gt;
** &#039;&#039;&#039;[[경험 기반 테스트]]&#039;&#039;&#039;: 애드혹 테스트, 탐색적 테스트 등&lt;br /&gt;
&lt;br /&gt;
=== 계획 정도에 따른 분류 ===&lt;br /&gt;
* [[애드혹 테스트]]: 계획 없이 휴리스틱으로 수행&lt;br /&gt;
* [[탐색적 테스트]]: 최소한의 계획으로 수행&lt;br /&gt;
* [[스크립트 테스트]]: 방법론 기반, 구체적 시나리오하에서 수행&lt;br /&gt;
&lt;br /&gt;
== 같이 보기 ==&lt;br /&gt;
* [[테스트 오라클]]&lt;br /&gt;
* [[리틀의 법칙]]&lt;br /&gt;
* [[퍼즈 테스트]]&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=OSI_7%EA%B3%84%EC%B8%B5&amp;diff=26728</id>
		<title>OSI 7계층</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=OSI_7%EA%B3%84%EC%B8%B5&amp;diff=26728"/>
		<updated>2021-08-25T15:08:00Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* Layer 4: 전송 계층(Transport layer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 개요 ==&lt;br /&gt;
* Open Systems Interconnection Reference Model 7 Layer&lt;br /&gt;
*:-개방형 시스템 상호연결 참조 모델 7계층&lt;br /&gt;
* 국제 표준화 기구(ISO)에서 개발한 통신에 관한 계층화 표준 모델&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 의의 ==&lt;br /&gt;
* 분산된 이기종 시스템간의 네트워크 상호호환을 위한 표준 아키텍처를 정의할수 있다.&lt;br /&gt;
* 통신에 관련된 목적을 달성하기 계층별로 분할하여 분업이 가능하다. (Divide and conquer)&lt;br /&gt;
* 기술표준인 기존 TCP 4계층 모델이 계층별로 역할이 불명확하여 발생했던 많은 문제들에 대한 해답을 제시한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 7계층 ==&lt;br /&gt;
=== Layer 1 : 물리 계층(Physical layer) ===&lt;br /&gt;
자세한 내용은 [[물리 계층]]&lt;br /&gt;
* 물리적인 장치의 전기적, 전자적 연결에 대한 명세&lt;br /&gt;
* 디지털 데이터를 아날로그적인 전기적 신호로 변환하여 물리적인 전송이 가능케 한다.&lt;br /&gt;
* 주소 개념이 없으며 물리적으로 연결된 노드간에 신호를 주고 받는다.&lt;br /&gt;
&lt;br /&gt;
 - 단위(PDU) : 비트(Bit)&lt;br /&gt;
 - 주요 프로토콜 : [[X.21]], [[RS-232C]] 등&lt;br /&gt;
 - 주요 장비 : [[허브]](HUB), [[리피터]](Repeater) [[네트워크 카드]](NIC : Network Interface Card) 등&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Layer 2: 데이터링크 계층(Data link layer) ===&lt;br /&gt;
자세한 내용은 [[데이터링크 계층]]&lt;br /&gt;
* 인접한 노드간의 신뢰성 있는 데이터(단위 : 프레임) 전송을 제어(&#039;&#039;&#039;Nod-To-Nod Delivery&#039;&#039;&#039;)&lt;br /&gt;
* 네트워크 카드의 [[MAC]](Media Access Control)주소를 통해 목적지를 찾아간다.&lt;br /&gt;
* 신뢰성 있는 전송을 위해 흐름제어(Flow Control), 오류제어(Error Control), 회선제어(Line Control)을 수행한다.&lt;br /&gt;
* 논리링크제어계층, 매체접근제어계층이라는 두 개의 부계층으로 나뉜다.&lt;br /&gt;
&lt;br /&gt;
 - 단위(PDU) : 프레임(Frame)&lt;br /&gt;
 - 주요 프로토콜 : [[HDLC]], [[X.25]], [[Ethernet]], [[TokenRing]], [[DFFI]], [[FrameRelay]] 등&lt;br /&gt;
 - 주요 장비 : [[브리지]](Bridge), [[L2 Switch]] 등&lt;br /&gt;
&lt;br /&gt;
=== Layer 3: 네트워크 계층(Network layer) ===&lt;br /&gt;
* 종단간 전송을 위한 경로 설정을 담당한다. (&#039;&#039;&#039;End-To-End&#039;&#039;&#039; 혹은 &#039;&#039;&#039;Host-To-Host Delivery&#039;&#039;&#039;)&lt;br /&gt;
* 호스트로 도달하기 위한 최적의 경로를 라우팅 알고리즘을 통해 선택하고 제어한다.&lt;br /&gt;
* 종단간 전송을 위한 주소로 IP주소를 사용한다.&lt;br /&gt;
&lt;br /&gt;
 - 단위(PDU) : 패킷(Packet)&lt;br /&gt;
 - 주요 프로토콜 - IP, ARP, ICMP, IGMP, RIP, RIP v2, OSPF, IGRP, EIGRP, BGP 등&lt;br /&gt;
 - 주요 장비 : [[라우터]](Router), [[L3 Switch]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Layer 4: 전송 계층(Transport layer) ===&lt;br /&gt;
* 종단간 신뢰성 있는 데이터 전송을 담당한다. (&#039;&#039;&#039;End-To-End Reliable Delivery&#039;&#039;&#039;)&lt;br /&gt;
* 종단(Host)의 구체적인 목적지(Process)까지 데이터가 도달할 수 있도록 한다. (&#039;&#039;&#039;Process-To-Process Communication&#039;&#039;&#039;)&lt;br /&gt;
* Process를 특정하기 위한 주소로 Port Number를 이용한다.&lt;br /&gt;
* 신뢰성 있는 데이터 전송을 위해 분할과 재조합, 연결제어, 흐름제어, 오류제어, 혼잡제어를 수행한다.&lt;br /&gt;
&lt;br /&gt;
 - 단위(PDU) : 세그먼트(Segment)&lt;br /&gt;
 - 주요 프로토콜 : [[TCP]], [[UDP]]&lt;br /&gt;
 - 주요 장비 : L4 Switch&lt;br /&gt;
&lt;br /&gt;
=== Layer 5: 세션 계층(Session layer) ===&lt;br /&gt;
* 응용 프로그램간의 논리적인 연결(세션) 생성 및 제어를 담당한다.&lt;br /&gt;
&lt;br /&gt;
 - 단위(PDU) : 데이터(Data) 또는 메세지(Message)&lt;br /&gt;
 - 주요 프로토콜 : 해당사항 없음&lt;br /&gt;
 - 주요 장비 : 해당사항 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Layer 6: 표현 계층(Presentation layer) ===&lt;br /&gt;
* 데이터 표현방식, 상이한 부호체계 간의 변화에 대해 규정한다.&lt;br /&gt;
* 인코딩/디코딩, 압축/해제, 암호화/복호화 등의 역할을 수행한다.&lt;br /&gt;
&lt;br /&gt;
 - 단위(PDU) : 데이터(Data)&lt;br /&gt;
 - 주요 프로토콜 : 해당사항 없음&lt;br /&gt;
 - 주요 장비 : 해당사항 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Layer 7: 응용 계층(Application layer) ===&lt;br /&gt;
&lt;br /&gt;
 - 단위(PDU) : 데이터(Data)&lt;br /&gt;
 - 주요 프로토콜 : TELNET, FTP, SMTP, HTTP 등&lt;br /&gt;
 - 주요 장비 : 해당사항 없음&lt;br /&gt;
&lt;br /&gt;
[[분류:네트워크]]&lt;br /&gt;
[[분류:정보처리기사]]&lt;br /&gt;
[[분류:정보보안기사]]&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=%EA%B1%B0%EB%A6%AC_%EB%B2%A1%ED%84%B0_%EB%9D%BC%EC%9A%B0%ED%8C%85&amp;diff=26726</id>
		<title>거리 벡터 라우팅</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=%EA%B1%B0%EB%A6%AC_%EB%B2%A1%ED%84%B0_%EB%9D%BC%EC%9A%B0%ED%8C%85&amp;diff=26726"/>
		<updated>2021-08-25T14:28:39Z</updated>

		<summary type="html">&lt;p&gt;Doha: /* 링크 상태 라우팅과의 비교 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Distance Vector Routing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;인접한 라우터 정보를 통한 거리를 계산하여 경로를 결정하는 라우팅 프로토콜&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 이웃 라우터의 주기적 갱신 정보로 라우팅 테이블 반영하여 경로 결정 프로토콜&lt;br /&gt;
* 벨만 포트 알고리즘 이용&lt;br /&gt;
* Hop 제약으로 규모가 작은 네트워크에 사용이 용이하여 주로 [[내부 라우팅 프로토콜]]에 사용&lt;br /&gt;
&lt;br /&gt;
== 테이블 구성 ==&lt;br /&gt;
[[파일:거리 벡터 라우팅 테이블.png|600x600픽셀]]&lt;br /&gt;
&lt;br /&gt;
* 인접 라우터간 정보 교환으로 라우팅 테이블 정보 최신화 수행&lt;br /&gt;
* 각 라우터는 모든 목적지 라우터에 대한 최소 경로 비용 테이블(vector) 유지&lt;br /&gt;
&lt;br /&gt;
== 동작 과정 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!동작 과정&lt;br /&gt;
!설명&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1) 정보교환&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
* 라우터들은 직접 연결된 이웃 라우터와 최소 경로 비용 정보를 주기적 송수신&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;2) 업데이트&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
* 수신된 정보로 해당 라우터에서 모든 목적지 라우터로의 최소 경로 비용 재계산&lt;br /&gt;
* 특정 목적지로 최소 경로 비용이 갱신되면 라우팅 테이블에 반영&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;3) 반복&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
* 라우팅 테이블의 갱신이 없을 때까지 업데이트 수행&lt;br /&gt;
* 주기적 정보 교환으로 라우팅 테이블 최신화&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 링크 상태 라우팅과의 비교 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!구분&lt;br /&gt;
!거리 벡터 라우팅&lt;br /&gt;
!링크 상태 라우팅&lt;br /&gt;
|-&lt;br /&gt;
|주요 매트릭&lt;br /&gt;
|Hop Count&lt;br /&gt;
|Symbolic Length&lt;br /&gt;
|-&lt;br /&gt;
|경로 설정&lt;br /&gt;
|라우터 간 거리를 더하여 계산&lt;br /&gt;
|다른 라우터까지 Shortest Path 계산&lt;br /&gt;
|-&lt;br /&gt;
|경로 알고리즘&lt;br /&gt;
|벨만-포드(Bellman-Ford) 알고리즘&lt;br /&gt;
|다익스트라(Dijkstra) 알고리즘&lt;br /&gt;
|-&lt;br /&gt;
|업데이트 범위&lt;br /&gt;
|인접 라우터&lt;br /&gt;
|Area내 모든 라우터&lt;br /&gt;
|-&lt;br /&gt;
|업데이트 시점&lt;br /&gt;
|일정주기&lt;br /&gt;
|Link 변화 발생시&lt;br /&gt;
|-&lt;br /&gt;
|라우팅 테이블&lt;br /&gt;
|이웃 라우팅 정보&lt;br /&gt;
|네트워크 전체&lt;br /&gt;
|-&lt;br /&gt;
|대표 프로토콜&lt;br /&gt;
|RIP, IGRP&lt;br /&gt;
|OSPF, EIGRP&lt;br /&gt;
|-&lt;br /&gt;
|컨버전스 타임&lt;br /&gt;
|느림, 주기적인 정보 교환&lt;br /&gt;
|빠름, 변경 발생시 정보 교환&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 같이 보기 ==&lt;br /&gt;
&lt;br /&gt;
* [[라우팅 프로토콜]]&lt;br /&gt;
* [[내부 라우팅 프로토콜]]&lt;br /&gt;
&lt;br /&gt;
== 참고 문헌 ==&lt;br /&gt;
&lt;br /&gt;
* 정보관리기술사 123회 하나둘셋 동기회 기출풀이집&lt;/div&gt;</summary>
		<author><name>Doha</name></author>
	</entry>
</feed>