본문 바로가기
728x90

전체 글424

SQL 실습(1) DB schema 중요한 SQL문에 대해서 공부해보자. 우선 SQL문을 테스트 해보기 위한 COMPANY DB schema를 만들어두자. CREATE TABLE EMPLOYEE ( Fname VARCHAR(10) NOT NULL, Minit CHAR, Lname VARCHAR(20) NOT NULL, Ssn CHAR(9) NOT NULL, Bdate DATE, Address VARCHAR(30), Sex CHAR(1), Salary DECIMAL(5), Super_ssn CHAR(9), Dno INT NOT NULL, PRIMARY KEY (Ssn)); CREATE TABLE DEPARTMENT ( Dname VARCHAR(15) NOT NULL, Dnumber INT NOT NULL, Mgr_ssn C.. 2023. 10. 20.
SQL기초 SQL SQL은 Structured Query Language의 줄임말로 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리할때 이용하는 언어이다. 데이터베이스 언어 SQL 문법의 종류를 살펴보면 크게 3종류이다. 데이터 정의 언어 (DDL : Data Definition Language) ex) CREATE, DROP, ALTER 데이터 조작 언어 (DML : Data Manipulation Language) ex) SELECT, INSERT, DELETE, UPDATE 데이터 제어 언어 (DCL : Data Control Language) ex) GRANT, REVOKE, SET TRANSACTION, BEGIN, COMMIT,.. 2023. 10. 20.
Relational Data Model 관계 모델 Table ≒ Relation 관계 모델의 용어를 보면 행은 튜플, 열은 애트리뷰트, 테이블은 릴레이션이라고 불린다. 따라서 관계모델에서 데이터베이스는 릴레이션(테이블)들의 모임으로 표현되고 릴레이션은 투플(행, 레코드)들의 집합으로 표현되고 투플은 애트리뷰트(컬럼, 필드, 혹은 속성)들로 구성된다. 일반적으로 ER 모델링 이후에 관계 모델로 변환을 하는 방식으로 DB구성이 이루어진다. Relation의 특성 우선 릴레이션은 튜플들의 집합으로 정의되는데 집합에서 원소의 순서가 무의미한 것과 마찬가지로 투플의 순서 역시 의미가 없다. 애트리뷰트 값들의 순서도 중요하지 않다. 이를 보다 일반적인 튜플의 정의라고 볼 수 있다. 애트리뷰트의 원자성이라는 특징도 있다. 투플 내의 각 값은 더 이상 나눌.. 2023. 10. 20.
DCC 클래스별 시각화 한국 이미지 데이터셋 분류 우선 시각화를 하고 ResNet18을 이용하여 42종의 클래스 분류를 수행하고 Validation 데이터에 대한 정확도를 뽑아보자. 시각화 import zipfile # 압축 파일의 경로 zip_file_path = 'drive/MyDrive/데이터셋.zip' # 해당 경로의 압축 파일을 열기 with zipfile.ZipFile(zip_file_path, 'r') as zip_ref: # 현재 디렉토리에 압축 해제 zip_ref.extractall() #kfood_train.zip 파일 압축 해제 with zipfile.ZipFile('kfood_train.zip', 'r') as zip_ref: zip_ref.extractall() import os import zipfil.. 2023. 10. 13.
TCP Overview TCP의 전체적인 특징에 대해서 살펴보면 아래와 같다. point-to-point: 하나의 송신자와 하나의 수신자가 있다. reliable, in-order byte steam: 메시지 경계가 없다. 이는 TCP가 데이터를 연속된 바이트 스트림으로 전송하며, 개별 메시지 구분 없이 데이터를 순서대로 전송한다는 것을 의미한다. pipelined: TCP의 혼잡 제어와 흐름 제어는 윈도우 크기를 설정한다. 이 윈도우 크기는 얼마나 많은 데이터를 한 번에 전송할 수 있는지를 결정하며, 네트워크의 혼잡 상태에 따라 동적으로 조절된다. full duplex data: 양방향 데이터 흐름이 동일한 연결에서 이루어진다. 즉, 송신자와 수신자가 동시에 데이터를 전송하고 받을 수 있습니다. MSS는 최대.. 2023. 10. 12.
Pipelined protocols Performance of RDT 3.0 RDT 3.0이 정확하게 작동하는 것은 확인이 되었다. 그러나 그 성능은 비현실적으로 너무 안좋다. 그 원인은 'stop-and-wait' 알고리즘에 있다. 지금까지의 Transport 알고리즘은 전부 sender가 packet을 보내고 receiver에게 답이 올때까지 기다려야하고 receiver도 마찬가지이다. 이게 얼마나 비효율적인지 살펴보자. 예를들어 1Gbps link가 있고 15ms propagation delay가 디폴트로 있다고 할때 8000bit packet을 보내는 과정을 보면 transmission delay는 L/R 즉 8000/1,000,000,000=8microsecs이다. 이때 sender의 utilization 즉 망 이용율을 보면 0.. 2023. 10. 10.
Diode circuit Diode circuits analyze Diode를 이용한 circuit에 대해서 알아보자. 위의 회로를 분석해보자. 우선 forward bias와 reverse bias인 경우를 나눠서 분석해야한다. R1이 2k이고 R2가 1k이니 forward bias의 경우에는 Vout과 Vin가 Vout=(1/3)*Vin의 관계를 갖게된다. Reverse bias의 경우에는 전류가 ground로 흐를 수가 없는 상태가 되어 Vout과 Vin이 Vout=Vin의 관계를 갖게된다. 아래의 회로를 Vout, Vin에 대해서 분석해보자. ideal 한 케이스에서는 아래와 같이 해석할 수도 있다. 아래 회로는 어떤 논리회로의 성질을 띄는가? 다이오드가 전압에 따라 전류를 흘려보내던가 안보내던가 즉, switch의 역할을.. 2023. 10. 6.
Reliable data transfer design Principle of Reliable data transfer Reliable한 데이터 전송 method 분야는 application, transport, link layer에서 전부 주요한 내용으로 networking 분야에서는 언제나 top-10 list에 들어갈 정도로 중요한 내용이다. 이전에 다뤘듯 transport layer는 unreliable한 하위 network channel에서 전송된 데이터를 reliable한 데이터를 요구하는 application layer에게 정리해서 전달해주어야한다. 간단하게 함수를 정리한다면 아래와 같을 수 있겠다. 이제 FSM을 이용하여 step 별로 transfer protocol을 업그레이드 해볼 텐데 FSM은 Fine State Machine 즉, 유한 .. 2023. 10. 6.
Transport-layer services Transport services and protocols 대부분의 Application layer는 reliable한 연결을 요구하지만 network, data link, physical layer는 unreliable한 network service를 제공한다. 따라서 필요에 따라 Transport layer에서 unreliable한 데이터를 reliable하도록 관리를 해주는 역할을 해야한다. Internet Transport layer protocol로는 크게 reliable한 in-order delivery를 해주는 TCP와 unreliable하고 unordered delivery를 하는 UDP가 있다. Multiplexing/Demultiplexing Sender에서 여러 개의 입력 신호 또는 .. 2023. 10. 5.
MySQL Express upgrade Source Code 우선 코드가 다양한 파일 내에 구성되어있어서 git 주소를 첨부한다. https://github.com/leesanghoon421/Database/tree/main/week6 sql.js import mysql from 'mysql2'; require("dotenv").config(); const pool = mysql.createPool({ host: 'localhost', port: 3306, user: 'root', password: '0421sh0421sh!', database: 'week5', }); const promisePool = pool.promise(); // select query export const selectSql = { getBuilding: async .. 2023. 10. 5.
Univ. DB upgrade DB upgrade 아래의 table들을 기존의 DB에 추가해서 다시 design하고자 한다. EER diagram 우선 club의 경우 특별한 소속이 없이 인하대학교의 학생이라면 가입이 가능하다. 또한 club에는 여러 학생이 소속되어 있고 학생들도 여러 club에 가입할 수 있기 때문에 club과 student를 n:m의 관계로 정의해주었다. 또한 동아리방 즉, room은 없을 수도 있기 때문에 비식별관계로 정의 해주었고 room의 mandatory를 풀어주었다. 다음으로 room은 반드시 building에 포함이 되어있고 building하나에 여러 개의 room이 들어가 있을 수 있기 때문에 room : building = n:1의 식별관계로 정의해주었다. 다음으로 employee는 청소부, 경비원.. 2023. 10. 5.
DCC - 이미지 분류를 위한 딥러닝 모델 Intro Data Creator Camp의 미션 수행을 위한 공부 및 미션 수행 과정을 기록하고자 한다. 시작으로 이미지 분류를 위한 다양한 딥러닝 모델을 살펴보고자한다. AlexNet AlexNet은 2012년 ImageNet Large Scale Visual Recognition Challenge (ILSVRC)에서 우승하며 딥러닝과 CNN의 인기를 크게 높인 모델이다. 해당 모델을 소개하는 논문의 1저자의 이름이 Alex여서 이렇게 이름이 붙게 되었다. 크게 봤을 때 5개의 Convolution layer이후에 3개의 Fully-connected layer로 이루어진 구조이다. 2,4,5번째 convolution layer는 전단계의 같은 채널의 feature map들과만 연결되어 있는 반면 3번.. 2023. 10. 2.
728x90