
1. TCP(Transmission Control Protocol) / IP(Internet Protocol) 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 프로토콜의 집합 TCP는 많은양의 데이터를 가져와 패킷으로 컴파일 후 전송하고 수신받은 패킷을 원래 메세지로 재조립하는 역할을 하는 프로토콜이다 IP는 인터넷에서 컴퓨터 위치를 찾아 패킷들이 목적지에 제대로 도착하게 하는 역할하는 프로토콜이다. TCP/IP 4계층 모델을 중심으로 설명한다. 프로토콜 컴퓨터와 네트워크가 서로 통신하기 위해서는 같은 방법으로 통신을 해야한다. 하지만 하드웨어와 운영체제들이 달라서 서로 통신하려면 규칙이 필요한데 이 규칙들이 '프로토콜'이다. 1) TCP/IP 4계층 모델 구조 제 4계층 : 애플리케이션 계층 ( A..

1. 네트워크 기초 용어 1) 네트워크 Net + Work의 합성어로 컴퓨터들이 통신기술을 통해 그물망처럼 연결된 통신 이용 형태. 노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합. 노드 : 서버,라우터,스위치 등 네트워크 장치를 의미 링크 : 유선 또는 무선과 같은 연결 매체 (ex. wifi , LAN) 2) 처리량과 지연시간 네트워크를 구축할 때 좋은 네트워크를 구축하기 위해 노력한다. 좋은 네트워크는 많은 처리량, 짧은 지연시간, 적은 장애, 높은 보안수준을 갖춘 네트워크를 말한다. 처리량은 링크를 통해 정달되는 단위 시간당 데이터양을 말한다. 보통 얼만큼의 트래픽을 처리했는지 나타낸다. 처리량이 많다는 많은 트래픽을 처리한다라고 이해할 수 있다. 처리량은 사용자의..

1. 인증(Authentication)과 인가(Authorization) 1) 인증 인증요소를 통해 해당 리소스에 자신을 알려주는 것 사용자의 신원을 확인하는 과정 2) 인가( =권한부여 ) 사용자가 자원에 접근 권한을 얻는 것 사용자가 인증을 마치고 원하는 자원에 대한 권한을 얻는 과정 ex) 내가 쓴 게시글들은 내가 보고 수정하고 삭제할 수 있지만 내가 쓰지 않은 게시물들은 권한이 없기 때문에 수정, 삭제를 할 수 없다. 2. HTTP통신의 특징 1) 무상태 프로토콜 , stateless 클라이언트가 서버에 나는 누구누구야!라고 알려주면(request) 서버는 그거에 응답(response)해준다. 하지만 한번의 통신이 끝나면 서버는 클라이언트의 상태를 저장하지 않아 다음 통신때는 어떤 통신을 했는지 ..

1. 정규화의 정의 릴레이션(테이블)간 잘못된 함수 종속 관계로 인해 DB이상현상이 일어나는 것을 해결하는 과정 저장공간을 효율적을 사용하기 위해 릴레이션을 여러개로 분리하는 과정 한마디로 릴레이션을 분해해서 여러개의 릴레이션으로 나누는 작업이라고 생각하면 된다. 2. 이상현상(anomaly)과 함수적 종속성 1) 이상현상 이상 현상은 잘못된 DB 설계로 인해 불필요한 중복이 발생해 릴레이션에 대한 삽입 , 수정, 삭제가 이뤄질 때 생기는 부작용을 말한다. 이상현상에는 삽입 이상, 갱신이상 , 삭제이상이 있다. 이 문제가 일어나는 이유는 서로 데이터를 공유하고 있지만 테이블들이 독립적으로 존재하고 있기 때문이다. 따라서 이상현상을 해결하기 위해서는 DB설계시 종속관계를 잘 따져가면서 설계를 해야한다. 즉..

1.데드락 (Deadlock)의 정의 트랜잭션이 다른 트랜잭션이 점유하고 있는 자원을 서로 기다릴 때 무한 대기 상태가 된다. 이 상황을 Deadlock(교착상태)라고 한다.데이터베이스는 데이터의 일관성과 무결성을 유지해야 할 필요가 있기 때문에 lock이 되어 있다. locking이 되지 않은 상태에서 트랜잭션들이 동시성 제어가 되지 않기 때문에 여러 문제점들이 일어난다. 때문에 locking 기법은 필요하지만 잘못 사용하면 데드락이 발생하게 되는 것이다. 2. 데드락의 발생 조건 1) 상호 배제 한번에 하나의 프로세스만 사용할 수 있다. 2) 점유와 대기 하나의 프로세스가 점유하고 있을 떄, 다른 프로세스는 다른 프로세스의 자원을 점유하기 위해선 대기해야 한다. 3) 비선점 점유된 자원은 강제로 해제..

1. 조인 조인 (JOIN)은 2개 이상의 테이블을 묶어서 하나의 결과물을 만들 때 사용하는 것이다. 조회를 할 때 각각의 테이블은 공유하고 있는 동일한 컬럼이 있어야 하며, 그 컬럼을 사용해 JOIN된 테이블의 데이터를 검색할 수 있다. 이때 사용된 컬럼은 PK키나 FK키로 사용된다. 2. 조인의 종류 1) Inner Join , 내부조인 내부 조인은 두 테이블 간에 교집합을 나타낸다 가장 흔하게 쓰이는 조인 방식이다. 조인을 사용하는 방식에는 명시적 조인 표현과 암시적 조인 표현이 있다. -- 1.명시적 조인 표현 -- select * from table a inner join table b on a.key = b.key -- 2. 암시적 조인 표현 -- select * from table a, ta..

1. 인덱스 추가적인 쓰기 작업과 저장곤간으 활용하여 DB테이블의 검색 속도를 향상시키기 위한 자료구조 -> DB테이블의 모든 데이터를 검색할 때 좀더 효과적이고 빠르게 할 수 있게 해준다. 1) 인덱스 종류 Clustered Index clustered index는 테이블에 저장되는 데이터 순서대로 순서가 정의 되는데 한가지 방법으로만 정렬이 된다. 이말은 컬럼 하나를 기준으로 정렬된다는 뜻인데 보통 PK키를 clustered index로 지정한다. 데이터가 저장될 때 데이터 페이지가 만들어지 면서 PK키 기준으로 정렬된다. 리프 노드에 인덱스 페이지가 들어가기 때문에 데이터 탐색하는데 효율적이다. 하지만 데이터가 많을 경우엔 성능이 저하 된다. 데이터를 삽입 한다고 했을 때, 데이터가 중간에 삽입이 ..
1) 데이터 베이스 종류 RDBMS 행과 열을 가지는 표형식의 데이터를 저장하는 형태의 데이터베이스 탐색속도가 빠름 SQL로 데이터를 다룰 수 있다. 스키마 구조에 따라 데이터를 저장하는 형식이 고정된다. 데이터 처리부하 발생시 처리하기 어렵다. 대표적으로 MySQL, ORACLE, PostgreSQL 등이 있다 NoSQL - Not only SQL 데이터간 관계가 정의되지 않는다 복잡도가 적기 떄문에 대용량 데이터를 저장,관리가 쉽다 데이터 저장이 자유롭다 -> 스키마 구조가 아니기 떄문에 KEY값에 대한 입출력만 가능하다 데이터의 규격화가 안된다. 대표적으로 MongoDB 등이 있다. 2) RDBMS MySQL 가장 많이 사용하는 DB C, C++로 만들어짐 MyISAM 인덱스 압축기술, B-트리 기..