반응형

분류 전체보기 123

[DB] 데이터베이스 이상현상과 정규화 예시와 설명

이상현상 대표적인 이상현상은 세 가지가 있다. 삽입 이상(insertion anomalies) 원하지 않는 자료가 삽입된다든지, 삽입하는데 자료가 부족해 삽입이 되지 않아 발생하는 문제점을 말한다. 삭제 이상(deletion anomalies) 하나의 자료만 삭제하고 싶지만, 그 자료가 포함된 튜플 전체가 삭제됨으로 원하지 않는 정보 손실이 발생하는 문제점을 말한다. 수정(갱신)이상(modification anomalies) 정확하지 않거나 일부의 튜플만 갱신되어 정보가 모호해지거나 일관성이 없어져 정확한 정보 파악이 되지 않는 문제점을 말한다. 정규화 관계형 데이터베이스에서 중복을 최소화하기 위해 데이터를 구조화하는 작업 나쁜 릴레이션이란? Entity를 구성하고 있는 Attribute간에 함수적 종속..

RESTful API란?

Rest란? HTTP URI를 통해 자원을 명시하고 HTTP 메서드를 통해 자원에 대한 CRUD Operation을 적용하는 것 HTTP 메소드와 CRUD 의미 HTTP method CRUD operation 요청 GET READ 작성 POST CREATE 업데이트 PUT, PATCH UPDATE 삭제 DELETE DELETE REST 6가지 원칙 Uniform Interface Stateless Caching Client-Server Hierarchical system Code on demand RESTful API Rest 아키텍처를 모두 만족하는 API라는 뜻 RESTful 하게 API를 디자인한다는 것? 리소스와 행위를 명시적이고 직관적으로 분리한다. 리소스는 URI로 표현되는데 리소스가 가리키는..

개발공부/웹 2021.11.05

[네트워크] HTTP GET과 POST 비교

둘 다 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요청할 때 사용하는 방식이다. 하지만 둘의 특징을 제대로 이해하여 기술의 목적에 맞게 알맞은 용도에 사용해야 한다. GET 요청하는 데이터가 HTTP Request Message의 Header 부분의 url에 담겨서 전송되는 방식 url의? 뒤에 데이터가 붙어 request를 보낸다. 특징 url에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다. 보안이 필요한 데이터를 GET방식으로 보내면 데이터가 그대로 url에 노출되므로 적절하지 않다. ex. password POST 데이터가 HTTP Message의 Body 부분에 담겨서 전송되는 방식 특징 바이너리 데이터를 요청하는 경우 POST 방식으로 보내야 한다. 데이터 크기가 GET 방식보..

[Computer Architecture] 중앙처리장치(CPU) 작동 원리

Abstract CPU는 컴퓨터에서 가장 핵심적인 역할을 수행하는 부분이다. CPU 구성요소 연산 장치 산술 연산과 논리 연산을 수행한다. 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보낸다. 제어 장치 명령어를 순서대로 실행할 수 있도록 제어한다. 주기억장치에서 프로그램 명령어를 꺼내 해독하고, 그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력 장치로 보낸다. 장치가 보낸 신호를 받아 다음 수행 동작을 결정한다. 레지스터 고속기억장치로 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장한다. 중앙처리장치 종류에 따라 사용할 수 있는 레지스터 개수와 크기가 다르다. 용도에 따라 범용 레지스터와 특수목적 레지스터로 구분된다. ..

[네트워크] TCP와 UDP 비교

OSI 7 layer와 TCP/IP 4 layer TCP(Transmission Control Protocol)인터넷 상에서 데이터를 메시지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜. 일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리하면 TCP는 패킷을 추적하고 관리한다. TCP는 연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용한다. TCP 전송 방식 : 가상 회선 방식 발신지와 수신지를 연결하여 패킷을 전송하기 위해 논리적 경로를 배정한다. TCP의 특징 연결형 서비스로 가상 회선 방식을 제공한다. 3-way handshaking 과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제한다. 흐름 제어 및 혼잡 제어가 가능하다. 높은 신..

[컴퓨터구조/Computer Architecture] 컴퓨터의 구성

Abstract 컴퓨터 시스템은 하드웨어와 소프트웨어로 나뉜다. 하드웨어 : 컴퓨터를 구성하는 기계적 장치 소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어의 집합 하드웨어 중앙처리장치 CPU 기억장치 입출력 장치 하드웨어의 구성요소는 시스템 버스로 연결되어 있다. 중앙처리장치(CPU) 인간의 두뇌에 해당하는 부분 주기억장치에서 프로그램 명령어와 데이터를 읽어서 처리하고, 명령어의 수행 순서를 제어한다. 비교와 연산을 담당하는 산술 논리 연산장치 ALU 명령어의 해석과 실행을 담당하는 제어장치 속도가 빠른 데이터 기억 장소인 레지스터 기억장치 프로그램, 데이터, 연산의 중간 결과를 저장하는 장치 실행중인 프로그램에 필요한 데이터를 일시적으로 저장한다. 주기억장치 RAM, ROM 보조기억장치 주기억..

[네트워크] HTTP vs HTTPS

HTTP(Hyper Text Transfer Protocol) 서버/클라이언트 모델을 따라 데이터를 주고받기 위한 프로토콜. 80번 포트를 사용한다. HTTP의 구조 HTTP는 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동한다. HTTP는 상태를 가지고 있지 않는 Stateless 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성된다. HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이었기 때문에, HTTP로 비밀번호나 주민등록번호 등을 주고받으면 제삼자가 정보를 조회할 수 있었다. 이러한 문제를 해결하기 위해 HTTPS가 등장하게 되었다. HTTPS(Hyper Text Transfer Protocol Secure) HTTP에 데이터 암호화가..

컴파일 언어와 인터프리터 언어 설명

컴파일 언어 소스 코드를 컴파일한 후 기계어를 CPU/메모리를 통해 읽어 실행하는 방식으로 동작하는 언어 컴파일 언어 특징 규모가 큰 프로그램은 컴파일 시 오래 걸릴 수 있다. 컴파일 후에는 모든 소스코드가 기계어로 변환되어 있기 때문에 실행 시간이 빠르다. 컴파일 언어 종류 C, C++, Java, C# 인터프리터 언어(스크립트 언어) 소스 코드를 컴파일하지 않고 인터프리터로 소스코드를 한 줄씩 읽어서 바로 실행하는 방식으로 동작하는 언어 인터프리터 : 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경 인터프리터 언어 특징 컴파일을 하지 않고 인터프리터가 직접 한 줄씩 읽어서 번역하고 실시간으로 실행하기 때문에 컴파일 언어에 비해 속도가 느리다. 별도의 실행 파일이 존재하지 않고 ..

개발공부 2021.11.01

[네트워크] 넷마스크와 서브넷마스크

넷 마스크(Net mask) 네트워크 주소 부분의 비트를 1로 치환한 것 IP 주소와 넷마스크를 AND 연산을 하면 네트워크 주소를 얻을 수 있다. 서브넷 마스크(Subnet mask) 서브넷 IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 망. 부분 네트워크 IP 주소는 IP 클래스에 의해 분리되는 Network Prefix와 Host Number로 분리된다. 서브넷팅은 Host Number를 Subnet Number와 서브넷 안에서 식별되는 Host Number로 다시 분리한다. 서브넷 마스크 형태는 기본적으로 IP주소와 같은 32 bits 이진수이다. 기본 서브넷 마스크 별개의 서브넷 마스크를 생성하지 않아도 기본적으로 적용되어 있는 서브넷 마스크 클래스 체계에 의해 기본적으로 네트워크를 나누기..