전체 글 364

[실습] MySQL 시작하기

*설치하기 2021.09.14 - [개발환경설정] - [Windows 10] MySQL 설치 [Windows 10] MySQL 설치 0. 설치 전 - 현재 사용 가능한 최신 버전 : MySQL Community 8.0 - Windows 운영체제 기준 : Windows 7 이상, Windows Server 2008 R2 이상의 버전에서 설치 가능 1. MySQL 설치 https://dev.mysql.com/downloads.. yerinpy73.tistory.com 0. MySQL 시작하기 방법1. cmd [관리자 권한으로 실행] 1) set path=%path%;C:\Program Files\MySQL\MySQL Server 8.0\bin 2) mysql -u root -p 방법2. mysql workb..

DNS 서버

1. 도메인 네임 1. 개념 - IP주소를 보기 쉽게 변환한 서버 주소 ex) www.google.com - 실제로는 IP로 변환되어 접속된다. 2. DNS 서버 1. 개념 - 도메인 이름을 IP로 변환해주는 서버 - 분산 데이터베이스 시스템 2. 호스트 에일리어싱 (host aliasing) - 복잡한 정식 호스트 이름(canonical hostname) => 여러 개의 별칭 호스트 이름을 가질 수 있다. ex) www.naver.com => naver.com 3. 부하 분산 (load distribution) - 하나의 호스트 이름 => 여러 개의 IP주소로 맵핑 - 시간마다 다른 IP를 return해서 사용자들이 골고루 분배하여 사용하도록 함 4. 분산하는 이유 1) 서버 하나가 고장 나도 전체 시..

CS/네트워크 2021.09.22

Network Layer

1. Network Layer 1. 특징 - 모든 host와 router에서 사용된다. 즉, 모두가 IP주소를 확인한다. 2. 주요 기능 2가지 1) Routing 알고리즘 : 목적지까지 가기 위한 경로 설정 2) Forwarding table : router의 input에 맞는 outlink를 알려준다. 2. IP주소 부족 해결 방안 1. DHCP (Dynamic Host Configuration Protocol) - host가 한 네트워크에 접속할 때마다 동적으로 IP주소 할당하고 다 쓰면 반납 - 이동성이 높은 모바일에도 효율적으로 사용 가능 2. NAT (Network Address Translation) - 내부 네트워크에서는 사설 IP 사용 - 외부 네트워크 나갈 때 공인 IP주소로 변환 - ..

CS/네트워크 2021.09.22

TCP/IP 프로토콜

1. TCP/IP 계층 구조 +) 계층별 캡슐 이름 - TCP = segment - IP = datagram - link = frame 2. 계층별 설명 1. Application 계층 - 응용프로그램의 프로토콜을 구성 - socket을 이용하면 아래 계층을 신경쓰지 않고 구현 가능하다. 2. Transport 계층 - TCP/UDP - port번호 식별 - TCP connection 1) connection setup = 3-way handshaking (연결요청 => 승인 => 승인을 잘 받았다 대답) 2) connection close = 4-way handshaking (종료 요청 => 확인, 남은 거 처리 => 나도 종료 => 알겠다) - Congestion control : 많은 데이터를 네트..

CS/네트워크 2021.09.22

IP주소와 Port 번호

1. IP주소 1. 개념 - 컴퓨터를 구분하기 위해 사용되는 주소 - 네트워크 주소(subnet part) + 호스트 주소(host part) 2. 종류 1) IPv4 : 4bytes(32bits) - 주소는 8bits씩 묶어 .으로 구분하여 표시 ex) 223.1.1.1 = 11011111 00000001 00000001 00000001 2) IPv6 : 16 bytes => tunneling : IPv4영역에 IPv6를 감싸서 속여서 보내기 3. 주소 체계 1) Classful Addressing - IP주소를 규격화된 크기(class)별로 구분하는 주소체계 - 첫 번째 바이트의 비트 정보로 어떤 class를 쓰고 있는지 알 수 있다. 2) CIDR (Classless InterDomain Routi..

CS/네트워크 2021.09.22

OSI 7계층과 Socket Programming

1. OSI(Open System Interconnection) - 호스트 간의 통신을 위해 기능들을 계층 별로 구분하여 정의한 것 1. Physical Layer (물리 계층) - 물리적 연결 형태(유선 or 무선) 2. Data Link Layer (데이터 링크 계층) - MAC 주소(host의 물리적 주소) 사용 - 물리적 전송 오류 문제 해결 ex) 0101 => 1101 으로 변경된 경우 3. Network Layer (네트워크 계층) - 데이터 전송 경로 결정 - IP주소(인터넷 접속시 할당되는 논리적 주소) 사용 - Router가 IP주소를 보고 목적지까지 안내 4. Transport Layer (전송 계층) - Port 번호(process 구분) 사용 5. Session Layer (세션 ..

CS/네트워크 2021.09.22

[Python] 매칭 점수

1. 문제 2. 풀이 과정 Python 정규 표현식을 이용하여 parsing을 하였다. 여기서 사용된 정규표현식만 살펴보자면 아래와 같다. import re #1. findall text = "hello my id is a1" #문자로 이루어진 문자 1개이상으로 구성된 것 모두 찾기 test = re.findall(r'[a-zA-Z]+',text) print(test) #['hello', 'my', 'id', 'is', 'a'] #2. search text = '' #다음 패턴으로 이루어진 문장 하나 찾기 #[^>]* = >이 아닌 것 0개 이상으로 구성된 것 #[\S]* = 공백이 아닌 것 0개 이상으로 구성된 것 url_str = re.search(r']*content="https://([\S]*)"..

[Python] REST API 사용법

1. GET 1) 홈페이지 화면 불러오기 우리는 종종 url을 통해, 화면에 접속한다. 이때 url은 해당 페이지의 html 문서와 그와 관련된 데이터들의 정보를 가진 id라고 볼 수 있다. 아래의 코드를 보면, url을 통해 html 파일을 받아오는 것을 확인할 수 있다. import requests #browser의 역할 : url => html문서, 필요한 데이터 등을 받아옴 => 화면에 띄우기 response = requests.get('https://google.com') print(reponse.text) 2) API로 데이터 받아오기 앞서 설명에서 봤듯이, source들은 자신만의 고유의 id인 uri가 있다. client는 원하는 데이터의 uri를 통해 데이터를 json형식으로 받아올 수 ..

CS/기타 2021.09.19

MySQL 문법

1. MySQL Data Types 1) int, smallint 2) float, double 3) char, varchar 4) date, datetime 2. database 관련 commands 1. database 생성 - create database DB이름; 2. database 삭제 - drop database DB이름; - drop database if exists DB이름; -- 해당 DB가 존재하면 삭제 3. database 사용하기 - use DB이름; 4. database들 보기 - show databases; - database들의 이름을 리스트로 보여준다. 3. table 관련 commands 1. 테이블 상세 정보 보기 - desc Table이름; 2. 특정 database에..