분류 전체보기 532

[DB] JOIN

* Join - 둘 이상의 테이블을 합쳐서 하나의 큰 테이블로 만드는 방법 - 데이터 의 중복을 최소화하며, 데이터의 일관성과 효율을 높이기 위해서 사용 - FK를 이용하여 참조를 한다. - Syntax SELECT COL1, COL2, COL3, ... FROM TABLE1, TABLE2, ... WHERE [조건] > 조건은 테이블 개수보다 한개 적은 것이 보통 필요로 하며, PK와 FK사이의 조건이 많이온다. ex) select id, name, dept_name from student, dept where student.dept_no = dept.dept_no; * Join의 종류 - Cross join(Cartesian product) : 모든 가능한 쌍이 모두 나타난다. - Inner join..

[네트워크] TCP & UDP part 2

* 흐름제어 - 받는 곳의 Buffer가 제한되있기 때문에 Sender에서 지속적으로 값을 보내면 Buffer의 손실이 있을 수 있다. ex) Buffer frame의 크기가 8이라고 한다면, Sender측도 최대 8개의 frame만 보낼 수 있다. 만일 9개의 frame을 보낸다면 1의 손실을 갔는다고 할 수 있고, Receiver의 Buffer가 차있었다면 더많은 손실을 가져온다. - Receiver가 Buffer의 정보를 보내지 않는다면... - 이러한 문제를 해결하기 위해서 Ack와 함께 Buffer상태를 알려주는 COT를 보내준다. - COT는 TCP header의 Window Length에 표시된다. ex) 위의 예에 COT를 적용하면... * 체증 제어(Congestion Control) -..

[하드웨어] Sequential Logic Part 1

* Sequential Logic - 현재 들어온 Input과 이전에 들어온 Input 값의 조합으로 Output이 결정된다. - 이전 값을 저정할 메모리가 필요하다. - State Variable > State : 미래에 회로가 갖을 값에 대한 정보를 State라고 한다. > 이 State의 집합을 state variable라고 한다. * Laches And Flip-Flops - 단일로(1bit)의 State를 저장하는 요소들 - Memory Building : 안정된 상태를 갖는 2개의 요소로 값을 저장한다. - N개의 안정된 상태를 갖는 요소는 logN bit의 state variable이 필요하다. ⓐ Bistable Circuit(양안정 회로) 1) Q = 1 > I1은 0이 된다는 것이다. ..

[소프트웨어공학론] Project Planning part1

* Project planning - Software는 눈에 보이지 않는다. 따라서 계획 수립의 힘들고, 예산 선정이 힘들다. - 전체를 분활하고, 각 부분별로 프로젝트인원을 할당(팀을 구성) - 발생 가능한 문제점을 예상하고, 해법을 제시한다. - Project Plan(PP, 프로젝트 계획서) > 프로젝트 시작단계에서 생성 > 개발자와 고객에게 어떤 프로젝트를 수행하는지를 알려줌 > PP는 진행 정도의 기준역할로 진행정도를 파악하도록 도와준다. * Planning Stage(계획 수립 단계) - Proposal stage > 계획이 포함된 제안서(project proposal(pp))를 만듬 - Project start-up phase > 프로젝트 계획서(project plan(PP))를 만듬 > 인..

[네트워크] TCP & UDP part 1

* Transport Service와 Protocols - 양 종단의 호스트 사이에서 응용 메세지의 전달을 담당 - 양 종단에서만 실행되므로, 거쳐가는 노드는 알 필요 없다. - Transport Layer에는 어떤 Application의 어떤 Process에 연결하는지에 대한 정보가 있어야 한다. (Message의 소속을 구별해준다.) * Port Number - Message가 어느 Process에 해당하는지 알려주는 것으로 Application process Address이다. - Port Number의 영역은 다음과 같이 나눠져 있다. ※ IP주소로 어떤 컴퓨터(Host)로 전달할지를 판별하고 Port Number를 이용해 실행 프로그램을 알아낸다. * Transport Layer(TL) prot..

[하드웨어] Combinational Circuit Part 3

* Karnaugh Maps(K-maps) - 최대 4개의 변수를 boolean algebra를 최소화 할 수 있다. - AB + A(inverse B) = A를 이용 - 카누프 맵은 Gray Code에 의거하여 겉이 포장된다. > Gray Code : 인접한 항에서 오직 하나의 변수 만이 다르게 하기 위해서 사용 - K-maps으로 인해 나온 식은 Sum-of-product의 형식으로 최소화 되서 나온다. - K-maps의 규칙 ⓐ 모든 1을 묶기 위한 최소한의 원의 수를 구한다 ⓑ 각각의 원은 반드시 1로 차있어야 한다. ⓒ 각각의 원은 가능한 커야한다. ⓓ 각각의 원의 크기는 2^n이여야 한다.(1,2,4,8) ⓔ 만약 맵의 원을 줄일 수 있다면, 하나의 1은 여러번 묶일 수 있다. ex) - K-..

[OS] Process part 1

* Conception - program : 하드디스크에 저장된 응용 프로그램 - process : 실행되는 프로그램. 메모리에 올라가 있는 프로그램 (OS에 따라서 Job 또는 task라고 부른다) - process는 다음을 포함하고 있다. > program counter : 현재 프로그램 실행 단계, 위치 // in PCB > contents of registers : register의 내용 // in PCB > Text section : program source cord > Data section : Global variable > Heap : Dynamic memory > Stack : 함수 파라미터, 지역변수, 반환주소등을 기억하는 공간 ※ Stack과 Heap이 만나면 memory overf..

[DB] Select문

* select - 데이터베이스에서 원하는 데이터를 검색하고 추출하는 문법(Projection or selection) - select [All | Distinct ] row_list(schema_list) // projection 열 추출 [from table_list] [where condition] // selection 행 추출 [group by row_list [condition]] [order by row_list [asc|desc]] // 출력 순서 지정 > All = * // Distinct = 중복 결과 제거 > ALIAS : 이름 변경 > Expression : 기본적인 연산 및 함수 사용 가능 ex) select id 학번, name 이름, money-100 from student; ..

[소프트웨어공학론] Agile Software Development / Extreme programming

* Rapid software development - 요즘에는 소프트웨어를 빠르게 개발해야할 사항이 많아졌다. Because, 사업환경의 변화가 빠르기 때문에 이에 대응하여 요구사항이 지속적으로 변하기 때문에 - 명세, 디자인, 구현의 경계를 없엔다. - System version을 여러개로 나눠서 구현을 한다. - IDE(Interactive Development System) tool등을 이용해 UI를 자동 생성한다. * Agile methods - 설계보다 코드(소스)에 중점을 둔다. - 반복적인 접근 방법으로 나눠서 개발을 한다. - 빠르게(빠른 기간내에) 돌아가는 Software를 만든다. - Principles(원리) > 고객을 개발에 참여 시킨다. > Incremental delivery ..

[소프트웨어공학론] Software process models Part 2

* Boehm's spiral model(보험의 나선형 모델) - "어떻게 개발해야 하는 가"의 과정이 나선형으로 나온다. - Process나 Activity라고 하지 않고 하나의 주기를 Phase라고한다. - 명세, 설계 ... 등 단계가 불분명하다. - 위험 요소를 줄이는 활동을 심하게 한다. - 1~4분위 면은 각각 분위마다 Phase에 관계없이 하는일은 비슷하다. ⓐ Objective setting ( 목적 수립 단계 ) > 2사 분면에 해당하는 것으로, ⓓ에서 설립한 계획의 Phase 목적을 수립하고 검토한다. ⓑ Risk Assessment and reduction > 1사 분면에 해당하는 것으로, ⓐ단계의 문서를 보고 위험요소를 파악하고, 때에 따라 프로토 타입을 만들어서 실험을 해본다. ⓒ..