목록분류 전체보기 (106)
도순씨의 코딩일지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/OI485/btqII9VapxO/OwBGy64DqUCmiLcwcxVqlk/img.png)
🌼 관계형 스키마와 인스턴스 관계형 인스턴스는 일정 시점의 스키마 값 내용입니다. 우리는 현시점에서 인스턴스를 표로 나타낼 수 있습니다. 집합(set) r의 원소 t를 튜플이라고 부르며, 이는 테이블에서 row(행)애 해당합니다. 🌼 속성(Attributes) 집합에 존재하는 attribute에 등장할 수 있는 모든 가능한 값을 도메인(domain)이라고 부릅니다. 각 속성마다 도메인이 있습니다. 예를 들어서 ID 컬럼에 가능한 모든값 00000-9999 이러한 것들이 모두 도메인이라 할 수 있습니다. RDB에서 도메인은 매우 atomic한 상태로 존재합니다. 저도 이 말만 듣고 무슨 말인지 이해가 안됐는데, dept_name에 computer science라는 값이 있다면 이 값은 교차하는 지점에서 오..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cpC0gL/btqIDEOF4ab/k5XK2jvXMWujSOuwlhQMZK/img.png)
🌼 map 컨테이너 map 컨테이너는 원소를 key와 value의 쌍으로 저장합니다. 원소의 key는 컨테이너에 중복저장될 수 없습니다. 만약 중복 key를 사용해야 한다면 multimap을 사용하면 됩니다. 다음은 map 컨테이너 생성과 원소 저장을 위한 insert() 함수입니다. ⭐️ map의 insert() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include #include using namespace std; int main(void){ map m; m.insert(pair(5, 100)); m.insert(pair (3, 100)); m.insert(pair (8, 30)); m.insert(pair ..
multiset은 set과 다르게 key가 중복으로 저장될 수 있습니다. 다음 예제는 중복 원소를 허용하는 multiset의 insert() 멤버 함수 예제입니다. ⭐️ multiset의 insert() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include #include using namespace std; int main(void){ multiset ms; multiset::iterator iter; ms.insert(50); ms.insert(30); ms.insert(80); ms.insert(80); ms.insert(30); ms.insert(70); iter = ms.insert(10); cout
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bl0iYb/btqIJaMxVTi/c8lTcrL11wTAGDajUfOMM0/img.png)
set 컨테이너는 연결 컨테이너 중 가장 단순합니다. key라 불리는 원소(value)의 집합으로 이뤄진 컨테이너입니다. 균형 이진 트리로 구현되어 있습니다. set은 모든 원소가 유일합니다. set은 특정 정렬 기준(조건자)에 따라 원소를 자동 정렬합니다. 다음은 원소를 set 컨테이너에 저장하는 예제입니다. ⭐️ set의 insert() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include #include using namespace std; int main(void){ set s; s.insert(50); s.insert(30); s.insert(80); s.insert(40); s.insert(10);..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/t1K5m/btqIydwyQtg/wepQzJV95VvQKj7n4U6nz0/img.png)
🌼 HTML의 신택스 HTML은 마크업 언어(Markup language)로 분류됩니다. 마크업 언어는 태그를 이용하여 문서를 정의하는 방법입니다. 하나하나 더 자세하게 살펴보도록 합시다. 마크업(markup) 은 내용에 대한 정보를 표현하는 방식입니다. XHTML은 HTML과 동등한 표현 능력을 지녔지만 훨씬 더 엄격한 규칙을 가졌습니다. XHTML의 목적은 구문 요류가 있는 웹 페이지를 막도록하여 페이지 렌더링을 쉽게 하는 것입니다. XHTML의 기본적인 룰은 다음과 같습니다. 💡 소문자로 된 태그 이름 💡 모든 태그는 닫혀 있어야 한다. XHTML은 두 가지 버전이 있습니다 바로 XTML 1.0 strict와 XHTML Transitional 입니다. strict 버전은 엄격한 표준으로 비표준 규격..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dRmCZf/btqIxXHnbzy/3O8mX9dgrEtvpBJIWinCMk/img.png)
list 컨테이너는 노드 기반 컨테이너로 원소가 노드 단위로 저장됩니다. 자료구조의 이중 연결리스트로 구현됩니다. list는 노드 기반 컨테이너이기 때문에 임의 접근 반복자가 아닌 양방향 반복자를 제공합니다. 따라서 모든 원소를 탐색하기 위해서는 양방향 반복자인 ++와 --를 사용하면 됩니다. ⭐️ list의 push_back, push_front 반복자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include #include using namespace std; int main(void){ list lt; lt.push_back(10); lt.push_back(20); lt.push_back(30); lt.push_..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3bX2a/btqIqnUz3NE/rqoA156QtlfIVI1PKu0d8k/img.png)
deque 컨테이너는 vector 컨테이너로 vector의 단점을 보완합니다. deque 컨테이너 또한 배열 기반 컨테이너입니다. deque는 여러 개의 메모리 블록을 할당하고 사용자에게는 하나의 블록처럼 보이게 합니다. 다음 예제는 push_back() 멤버 함수를 사용하여 deque에 원소를 추가하는 예제입니다. ⭐️ push_back 멤버함수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include #include using namespace std; int main(void){ deque dq; for(deque :: size_type i = 0 ; i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lsLoz/btqIwZkrnof/PCu8HjbQ6siZonpjjUkHc1/img.png)
🌼 전화 통신망 : 서킷 스위칭(Circuit Switching) 서킷 스위칭을 하기 전에 콜 셋업(Call Setup) 과정을 거쳐야 합니다. 콜 셋업은 단말간에 트래픽을 전송하기 위해 연결 경로를 설정하는 과정입니다. 경로를 설정하면 통신하는 동안 회선을 독점적으로 사용할 수 있는 권리를 가집니다. 초기 전화는 번호를 돌려 전류를 생성하고, 전류가 지역 교환기에 전송되고, 교환수는 전화를 건 사람과 받을 사람을 잭으로 연결해주는 역할을 했습니다. 이 절차를 자동적으로 구현한 것이 현재까지도 구현한 것이 시그널링(Signaling)입니다. 시그널링은 뚜~ 하고 신호음이 나는 사이에 이루어진다고 생각하시면 됩니다. 즉, 시그널링을 통하여 교환수가 예전에는 일일이 잭을 옮겨서 연결해주었던 과정을 자동적으로..