woncoding/TIL

    TIL | 1.20.금 [CS 기초지식 | HTTP / HTTPS]

    - HTTP HTTP 란? HTTP는 웹(W3) 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. 주로 TCP를 사용하고 HTTP/3부터는 UDP를 사용하며, 80번 포트를 사용한다. HTTP(Hypertext Transfer Protocol)는 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜 이다. +) HTTP 버전 Http/0.9 메소드가 get 밖에는 없다. HTML 파일 자체를 보내주는 기능만 한다. Http/1.0 http/1.0에 들어와서는 헤더가 생겼다. 헤더에는 http 버전 정보, 상태코드 등 여러 정보가 담겨있다. Http/1.1 Pipelining = 앞 요청의 응답을 기다리지 않고 순차적인 여러 요청을 연속적으로..

    TIL | 1.19.목 [CS 기초지식 | 정규화]

    정규화 - 정규화 란? 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정이다. 즉, 데이터 중복을 줄이기 위해 데이터베이스를 구성하고 구조화하는 프로세스 정규화(Normalization)의 기본 목표는 테이블 간에 중복된 데이터를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. +) 이상 현상이란? 데이터의 중복성으로 인해 릴레이션(테이블)을 조직할 때 발생하는 비합리적 현상이다. 삽입 이상 : 정보 저장 시 해당 정보의 불필요한 세부정보까지 입력해야 하는 경우 삭제 이상 : 정보 삭제시 원치 않는 다른 정보가 같이 삭제..

    TIL | 1.18.수 [CS 기초지식 | 트랜잭션]

    트랜잭션 - 트랜잭션 이란? 트랜잭션 DB 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본단위 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 트랜잭션 특징? 데이터의 무결성(Interity)을 보장하기 위해 DBMS의 트랜잭션이 가져야 할 특징 → ACID - 트랜잭션 특징 Atomicity(원자성) : 트랜잭션 구성연산이 모두 실행되거나, 취소 되어야 하는 성질 Consistency(일관성) : 시스템의 고유성질은 트랜잭션의 작업 수행 전,후에도 동일한 성질 Isolation(독립성, 격리성) : 각각 동시에 진행되는 트랜잭션에 대해 방해하지 않는 성질, 수행 중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서의 수행 결과를 참조할 수 없음 D..

    TIL | 1.17.화 [CS 기초지식 | Index]

    데이터 베이스 - Index DB에서 Index란? 인덱스는 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조이다. 검색연산의 최적화를 위해 DB 내 값의 주소정보로 구성된 데이터 구조 (키:주소) 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장 (인덱스 생성 시 데이터를 오름차순으로 정렬) Index는 검색 성능의 속도를 올려주는 좋은 자료구조이지만 모든 데이터 컬럼에 인덱스를 생성하지 않는다. 그 이유는? 인덱스의 가장 큰 문제점은 정렬된 상태를 계속 유지시켜줘야 한다는 점인데 이런점에서 인덱스는 DML (Data manipulation language)에 아주 취약 인덱스는 테이블의 전체 데이터 중에서 10~15..

    TIL | 1.16.월 [CS 기초지식 | Django 질의응답]

    Django 질의 응답 - Django 란? 파이썬이라는 개발언어에서 웹을 개발하기 위해 만들어진 프레임워크이다. [프레임워크 란?] 프레임워크는 프로그래밍언어에서 복잡한 기능을 수행하기 위해 만들어진 틀이며, 다양한 기능을 구현하기 위해 사용합니다 [프레임워크와 라이브러리 차이점?] 프레임워크와 라이브러리의 차이 라이브러리는 어플리케이션의 흐름을 사용자가 직접 제어하지만 프레임워크는 흐름을 제공해준다. - 백엔드 스택 | Django Django는 템플릿부터 데이터베이스까지 웹을 구현하는데 필요한 기본적인 기능을 전부 제공하는 프레임워크이고, 쉽고 빠르게 구현이 가능하다 Python 기반 웹프레임워크이기 때문에 파이썬에서 가능한 모든 동작들이 가능하며, 다양한 라이브러리가 있다. 웹 사이트 로그인, 회..

    TIL | 1.6.금 [CS 기초지식 | 우선순위 큐]

    우선순위 큐(Priority Queue) - 원리 이유 : 큐의 성질을 가지고 있긴 하지만 데이터의 우선순위순으로 데이터를 꺼내게 되는데 이 부분에서 우선순위 큐는 2차원 형태의 이진 트리구조를 갖게 되고 최대 힙을 이용해 구현하게된다. - 시간 복잡도 시간 복잡도 : O(NlogN)