IT강의 97

SQL - SELECT문

지난 시간에 데이터베이스 실기에서 정말 기초가 되는 관계 대수를 살펴보았습니다. 이번 시간에는 SQL 쿼리문을 살펴볼 것이고, 그 중에서도 SELECT문의 문법을 살펴볼 것입니다. SQL(Structured Query Language)은 데이터베이스 관리 시스템(DBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어입니다. 이는 다음과 같이 세 가지로 분류됩니다. 1) 데이터 정의 언어 (DDL, Data Definition Language) 데이터베이스 내에 테이블을 생성(CREATE), 변경(ALTER), 삭제(DROP) 하거나 권한의 부여(GRANT)나 박탈(REVOKE), 주석(COMMENT), 자료의 버림(TRUNCATE) 등을 수행하는 명령문이 있습니다. 2) 데이터 조작 언어..

TCP/IP 계층 및 통신 원리 - Receiver편

지난 시간에는 TCP/IP 계층을 살펴보았고, 통신 원리를 Sender 측에서만 살펴보았습니다. 이번 시간에는 통신 원리를 Receiver 측에서 살펴보겠습니다. 데이터를 받는 Receiver 입니다. Receiver는 반대로 캡슐화된 객체를 각 계층에서 캡슐화 해제를 진행하여 Data(메시지)만 남깁니다. ※ 설명에는 네트워크 관련 용어들이 포함되어 있습니다. 네트워크 관련 용어들을 모르신다면 바로 아래의 링크에서 개념을 이해한 후 다시 돌아와서 읽어보시기 바랍니다. https://sharpcoder.tistory.com/entry/IT%EC%A0%95%EB%B3%B4-1-%EC%86%8C%EC%BC%93-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%9D%98..

TCP/IP 계층 및 통신 원리 - Sender편

이번 시간에는 TCP/IP 계층을 살펴본 다음 구체적인 통신 원리를 알아보도록 하겠습니다. 이것은 네트워크 분석, 네트워크 해킹 등을 공부하는 데에 도움이 되니 알아두시는 것이 좋습니다. 포스팅을 진행하다가 설명이 너무 길어져서 Sender편, Receiver편으로 나누었습니다. 이번 시간에는 Sender를 살펴볼 것입니다. 위의 사진이 바로 'TCP/IP 계층' 입니다. 다 같이 동일한 규약을 세워야 원활하게 네트워크 통신을 할 수 있습니다. 이를 위해 세워놓은 것이 바로 'TCP/IP 계층' 입니다. 한 나라의 사람들이 다 같이 소통할 수 있도록 모국어를 한 가지로 정해놓는 것과 다름없죠. 그렇다면, 각 계층의 역할은 어떻게 되는지 살펴보겠습니다. 응용 계층: 네트워크 애플리케이션(메시지)을 지원하고..

소켓 프로그래밍 기초 실습 - UDP편

이번에는 소켓 프로그래밍을 UDP로 실습해보겠습니다. 첫 번째 포스팅에서 언급했던 UDP를 살펴보면 다음과 같습니다. UDP - 비신뢰적 전송(unreliable transfer) 이므로 데이터 손실이 발생할 확률이 높습니다. - 데이터 손실률이 높은 대신, 속도가 꽤 빠릅니다. - 서로 connection 되는 과정이 존재하지 않고, 프로토콜만 같으면 어떠한 프로그램하고도 통신이 가능합니다. 이번 포스팅에서는 UDP 소켓을 이용해 통신하는 것을 기초적인 것만 실습해볼 것입니다. 실습하기 전, UDP 소켓으로 통신하는 과정을 살펴보면 다음과 같습니다. TCP 통신에서는 connect()와 accept() 함수를 이용해 1:1로 연결되는 과정이 별도로 필요했지만, UDP 통신에서는 이러한 과정이 필요하지 ..

소켓 프로그래밍 기초 실습 - TCP편

이번에는 소켓 프로그래밍을 TCP로 실습해보겠습니다. 우선 저번 포스팅에서 TCP의 특징을 언급했었는데, 기억 나시나요?? ㅎㅎ 저번 포스팅에서 언급했던 TCP를 살펴보면 다음과 같습니다. TCP - 신뢰적 전송(reliable transfer) 이므로 데이터 손실이 발생할 확률이 꽤 적습니다. - 데이터 손실률이 매우 적은 대신, 속도가 느립니다. - 서로 connection 되는 과정이 별도로 필요하며, 오로지 1:1 통신만 가능합니다. 이번 포스팅에서는 TCP 소켓을 이용해 통신하는 것을 기초적인 것만 실습해볼 것입니다. 실습하기 전, TCP 소켓으로 통신하는 과정을 살펴보면 다음과 같습니다. 우선, Client의 Flow에서 사용된 함수들을 살펴보면 아래와 같습니다. socket() : 소켓을 생..

소켓 프로그래밍의 개념 및 용어 정리

이번에는 '소켓 프로그래밍'에 대해 설명해보겠습니다. 소켓 프로그래밍: 2개의 프로그램이 서로 데이터 또는 메시지를 주고받을 수 있도록 하는 프로그래밍으로, '네트워크 프로그래밍' 이라고도 합니다. 소켓 프로그래밍 관련 용어 두 프로그램이 거리에 상관없이 서로 통신을 진행하기 위해서는 'IP주소'와 '포트번호'를 알아야 되고, 통신을 진행하는 데에 '소켓' 이라는 것이 사용됩니다. - IP주소: 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호 - 소켓: 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점 - 포트번호: 각 소켓들한테 붙어있는 프로세스를 식별하기 위한 번호 소켓 프로그래밍 용어들을 비유하자면 아래와 같습니다. IP주소 - 건물 주소 소켓 - 건물 안에..

관계 대수

이번 시간에는 SQL 쿼리문을 작성하는 데에 있어 필요한 내용 중 하나인 '관계 대수'를 알아보려고 합니다~ 우선 관계 대수에서 사용되는 연산자는 다음과 같습니다. 아래의 연산자를 차근차근 알아보겠습니다~ ① 합집합 (∪) ② 교집합 (∩) ③ 차집합 (-) ④ 카티션 곱 (×) ⑤ 셀렉션 (σ) ⑥ 프로젝션 (π) ⑦ 조인 (⋈) ⑧ 자연 조인 (*) ⑨ 세미 조인 (⟕, ⟖, ⟗) ⑩ 디비전 (÷) 1. 합집합 (∪) - 중고등학교 수학 개념 '합집합'을 떠올리셔도 무방합니다. (교집합, 차집합도 포함) - 테이블의 차수(Attribute의 수)가 서로 같아야 되고 도메인이 같아야 됩니다. (교집합, 차집합도 포함) - 2개의 테이블에 있는 튜플(데이터 행)을 서로 결합한 다음 중복을 없애는 연산자입..

728x90
반응형
LIST