본문 바로가기

인터넷 네트워크 IP 패킷 정보 : 출발지 IP, 목적지 IP, 기타 등TCP 패킷 정보 : 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 등* PORT란? 같은 IP내에서 프로세스 구분(HTTP(80), HTTPS(443))TCP : 연결 지향(TCP 3 way handshake), 데이터 전달 보증, 순서 보장, 신뢰성UDP : 연결 지향 x, 데이터 전달 보증 x, 순서 보장 x, 단순하고 빠름(IP와 유사 + port, 체크섬) DNS : 도메인 네임 시스템, 도메인 명을 IP 주소로 변환(IP는 변경 가능)웹 브라우저 요청 흐름웹 브라우저가 HTTP 메세지 생성socket 라이브러리를 통해 전달(TCP/IP 연결(IP, PORT), 데이터 전달)TCP/IP 패킷 생성, HTTP 메세지 포함네..
Git 사용법 정리 코드 수정사항 반영# 파일 추가git add [파일 이름]# 커밋 추가git commit -m "메세지 내용"# 반영git push origin [브랜치 이름] Branch 생성 및 확인# 브랜치 생성git branch [브랜치 이름]# 브랜치 삭제git branch -d [브랜치 이름]# 브랜치 리스트 확인git branch# 브랜치로 이동git checkout [브랜치 이름] Merge 작업# 브랜치 상태 확인git branch --mergedgit branch --no-merged# merge 할 브랜치 체크아웃 후 현재 브랜치 mergegit checkout [merge 할 브랜치 이름]git merge [현재 브랜치 이름] git tag란특정 커밋에 대해 태그하는 것 = 커밋을 가리키는 링크커밋..
SQL 처리 과정 1. SQL(Structured Query Language) SQL은 기본적으로 구조적이고 집합적이고 선언적인 질의 언어 그러나 원하는 결과집합을 만드는 과적은 절차적임 → 프로시저가 필요함 → 그런 프로시저를 만들어 내는 DBMS 내부 엔진이 SQL 옵티마이저(프로그래밍을 대신함) SQL 최적화란 DBMS 내부에서 프로시저를 작성하고 컴파일해서 실행 가능한상태로 만드는 전 과정 2. SQL 최적화 SQL을 실행하기 전 최적화 과정 ① SQL 파싱 사용자로부터 SQL을 전달받으면 가장 먼저 SQL 파서가 파싱을 진행 파싱 트리 생성 : SQL 문을 이루는 개별 구성요소를 분석해서 파싱 트리 생성 Syntax 체크 : 문법적 오류가 없는지 확인(사용 불가한 키워드, 순서가 바르지 않거나 누락된 키워드 확인..
View, SP 뷰(View)가상 테이블 or 원천 데이터를 조회할 수 있는 저장된 쿼리(데이터베이스에 물리적 저장 x)--생성CREATE VIEW [뷰명] ASSELECT [컬럼명] FROM [테이블명] WHERE [조건절]--수정ALTER VIEW [뷰명] ASSELECT [컬럼명] FROM [테이블명] WHERE [조건절]--삭제DROP VIEW [뷰명]  저장 프로시저(SP)프로그래머가 생성해놓은 쿼리문을 마치 하나의 메서드 형식으로 관리하는 것DB 기능이지만 프로그램이기 때문에 간단한 문법인 IF, WHILE 등 프로그래밍 문법을 사용할 수 있고,프로시저를 호출할 때 매개변수를 받거나 전달해 줄 수 있음--기본 문법CREATE PROCEDUER Schema_Name.Procedure_NameASBEGINSELE..
DDL, JOIN 문자 데이터 형식CHAR[(N)] : 고정 길이 문자형VARCHAR[(N | MAX)] : 가변 길이 문자형, N을 사용하면 1~8000까지 크기를 지정 가능, MAX로 지정하면 최대 2GB크기를 지정 가능 NCHAR[(N)] : 유니코드 고정 길이 문자형, 글자 0~4000자NVARCHAR[(N | MAX)] : 유니코드 가변 길이 문자형, N을 사용하면 1~4000까지 크기를 지정 가능, MAX를 지정하면 최대 2GB크기를 지정 가능  CREATECREATE TABLE 테이블명(컬럼명 타입(크기) NOT NULL, --널값이 들어갈 수 없음컬럼명 타입 NULL DEFAULT(값), --초기값 지정CONSTRAIN PK이름 PRIMARY KEY(컬럼명) --PK설정)  ALTERALTER TABLE 테..
DML SELECT--My_Table로부터 모든 컬럼 조회SELECT * FROM My_table--My_Table로부터 특정 컬럼 조회SELECT No_Emp, Nm_Kor, Age FROM My_Table   WHERE--이름이 '홍길동'인 사람 검색SELECT * FROM My_Table WHERE Nm_Kor = '홍길동'--나이가 25살이 아닌 사원 조회SELECT * FROM My_Table WHERE Age25--사원번호가 '0315' 이고 나이가 25살보다 작거나 이름이 '홍길동'인 사원 조회SELECT * FROM My_Table where No_Emp = '0315' AND (Age  LIKE--'김'으로 시작하는 사원 조회SELECT * FROM My_Talbe WHERE Nm_Kor LIK..
TCP vs UDP - TCP(Transmission Control Protocol) 일반적으로 TCP와 IP를 함께 사용(IP가 데이터 배달을 처리한다면 TCP는 패킷을 추적 및 관리) 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜 사전에 3-way handshake를 통해 연결을 설정하고 통신을 시작 -> 4-way handshake를 통해 연결을 해제(가상 회선 방식) 흐름제어, 혼잡제어, 오류제어를 통해 신뢰성을 보장(그러나 UDP보다 전송 속도가 느림) 데이터의 전송 순서를 보장하며 수신 여부 확인 가능 TCP를 사용하는 예 : 웹 HTTP 통신, 이메일, 파일 전송 등 TCP가 가상회선 방식을 제공한다는 것은 송신측과 수신측을 연결하여 패킷을 전송하기 위한 논리적 경로를 배정한다는 뜻 + 패킷(Pack..
OSI 7 계층 - OSI(Open System Interconnection) 7계층 OSI 모형이란 국제표준화기구인 ISO에서 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명하기 위해 개발한 모델 프로토콜은 연결을 위한 일종의 규칙(쉽게 말하면 둘 이상의 디바이스에서 서로 연결하기 위해 일어나는 일들을 과정에 따라 구분한 단계) 실제 인터넷에서 사용되는 TCP/IP 는 OSI 참조 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화한 것 - OSI 7계층을 나누는 이유? 초기 여러 정보 통신 업체 장비들은 자신의 업체 장비들끼리만 연결이 되어 호환성이 없었음 -> 모든 시스템들의 상호 연결에 있어 문제 없도록 표준을 정한 것이 OSI 7계층 중요한 목적은 표준(호환성)과 학습 도구 표준화를 통..