반응형

CS 56

[DB] 트랜잭션

개요 트랜잭션이란, DBMS에서 데이터베이스의 상태를 변경시키는 상호작용의 단위, 또는 일련의 연산들을 뜻한다. 성질 1. 원자성(Atomicity) 트랜잭션 연산은 DB에 전부 반영되든지, 전혀 반영되지 않든지 둘 중 하나만 해야함. 모든 명령이 완벽히 수행되어야함. 만약 한 명령이라도 수행 중 오류가 발생하면 지금까지 실행했던 트랜잭션 전부가 취소 되어야함. 2. 일관성(Consistency) 트랜잭션 실행이 성공하면, 언제나 일관성 있는 상태로 변화해야 함. 시스템이 가지고 있는 고정요소가 트랜잭션 수행 전 / 후 상태가 같아야 함. 3. 독립성(Isolation) 한 트랜잭션 실행 중에 다른 트랜잭션 연산이 끼어들 수 없음. 수행 중인 트랜잭션이 완전히 종료될 때 까지, 트랜잭션 끼리 서로를 참조..

CS/DB 2022.03.15

Hash Table

개요 Hash Table은 Hash 함수를 사용해 key - value를 저장하는 자료구조이다. Hash 함수는 임의의 길이의 값을 고정된 크기의 값으로 변환해주는 함수이다. 위의 그림은 사람의 이름(key)를 hash 함수를 통해 두자리 숫자(index)로 변환한 뒤, 해당하는 bucket에 전화번호(value)를 넣어주는 예시이다. 일반적으로 hash Table은 탐색, 삽입, 삭제에 O(1)의 시간복잡도를 가진다. key에 해당하는 value를 해시 함수로 구한 index로 바로 찾을 수 있기 때문이다. 하지만 적재율이 1 초과(키의 개수가 Hash table의 크기보다 클 경우)될 경우에는 반드시 충돌이 발생하게 된다. 충돌이 발생하면, 최악의 경우 O(n)의 시간복잡도를 가진다. 따라서 hash..

CS 2022.03.04

컴파일 4단계

https://reakwon.tistory.com/52 [C언어] 컴파일 과정(Compile Process) 4단계 자세한 설명 컴파일 과정 Visual Studio에서 우리는 실행할때 F5(또는 Ctrl+F5)를 눌러서 우리가 만든 소스코드를 실행시켜봤죠? 우리는 너무 쉽게 프로그램을 실행시킨다고 생각할 수 있지만 의외로 몇몇 단계를 reakwon.tistory.com https://bradbury.tistory.com/226 컴파일(Compile)에 대한 이해 서론 C, C++, Java 프로그래밍을 해봤으면 작성한 소스 코드를 빌드(Build) 혹은 컴파일(Compile)해서 실행해봤거나 코드를 잘못 작성하여 컴파일 에러가 났던 경험이 있을 것이다. 정확하게 컴파일이 bradbury.tistory...

CS 2022.01.14

[디자인 패턴] MVC 패턴

개요 MVC 패턴은 디자인 패턴 중 하나로 구성 요소를 세 가지로 구분한다. Model(모델), View(뷰), Controller(컨트롤러) MVC 패턴에 기반을 둔 MVVM(뷰 모델), MVP(프리젠터), MVW(왓에버) 등도 있다. 상세 1. 모델 : 앱의 정보, 데이터를 나타냄 1-1) 사용자가 편집하길 원하는 모든 데이터를 들고 있어야 함. 1-2) 뷰나 컨트롤러에 대해 어떠한 정보도 몰라야 함. 1-3) 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 함. 2. 뷰 : 사용자 인터페이스 요소를 나타냄, 데이터 및 객체의 입력, 출력을 담당함. 2-1) 모델이 가지고 있는 정보를 따로 저장해서는 안됨 -> 그리라는 명령을 받으면, 단순히 표시하기만 하고 정보들은 저장하지 않아야 함. 2..

CS 2021.12.28

[CS] OSI 7 Layer

OSI 7계층으로 나눈 이유 통신이 일어나는 과정을 단계별로 파악하기 쉬움 -> 특정한 곳에 이상이 생기면 해당 단계만 고치면 됨 1. 물리 계층 전기적, 기계적, 기능적 특성을 이용해 통신 케이블로 데이터 전송 통신 단위 : bit 전송하려는 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않음. 단순히 전기적인 신호로 변환 후 주고받기만 함 장비 : 통신 케이블, 리피터, 허브 2. 데이터 링크 계층 정보의 전달을 수행할 수 있도록 도와주는 역할 오류 찾기 및 재전송도 함 맥 주소를 가지고 통신 장비 : 브릿지, 스위치 3. 네트워크 계층 데이터를 목적지까지 안전하고 빠르게 전달 (라우팅) 라우팅, 흐름 제어, 세그멘테이션, 오류 제어, 인터네트워킹 등 수행 IP 계층 : IP 패킷의 ..

CS 2021.12.16
반응형