반응형 CS3 [DB] 트랜잭션 데이터를 저장하기 위해선 DB, File 저장, 등 많은 방법이 존재한다. 이 중에서 가장 많이 사용되는 것이 DB인데 그 큰 이유 중 하나가 트랜잭션이다. 트랜잭션이란? 보통 하나의 비지니스 로직은 하나의 데이터만을 다루는 경우는 적다. 1,2,3 이라는 데이터의 수정이 필요할 때 1과 2는 제대로 수정 됐지만 3이 어떠한 이유로 수정이 되지 않았다면 서비스는 큰 혼란을 맞이할 것이다.. 특히 결제와 같은 시스템은 서비스의 존망이 걸린 문제가 생기지 않을까? 이러한 이유로 1,2,3을 하나의 트랜잭션으로 묶어 관리하게 되는데 만일 과정 중 하나의 문제라도 생긴다면 트랜잭션이 일어나기 이전의 기존 상태로 되돌리게 된다(Roll Back). 반대로 모든 과정이 옳게 동작한다면 DB의 데이터 값을 수정하게 .. 2022. 10. 4. [CS] 객체 지향 객체 지향 객체 지향의 발생 객체를 지향하는 대표적인 언어인 C++, JAVA, C# 등이 발생하기 전엔 C와 같은 절차지향적 언어가 주로 사용됐다. 이러한 언어는 제공하고자 하는 서비스의 목표를 이뤄가기 위해 구문이라는 연산을 흐름에 맞게 제작하여 이어 붙인 코드를 제작한다. 제공하고자 하는 서비스의 크기가 점점 커지고 복잡해 지면서 코드상에서도 확인할 수 있는 반복되는 구문을 쉽게 발견할 수 있었고 절차 지향 언어에서는 이러한 반복을 막고 관리하기 위해 우리가 아는 함수라는 개념을 만들어 사용하였다. 여기서 함수라는 연산을 진행하기 위해서는 연산의 주체인 CPU와 연산에 사용되는 자료구조를 관리하는 Memory의 관리가 필요한데 이를 한 묶음으로 엮어 모듈화 하여 한 파일로 만들어 관리하기 시작했다... 2022. 7. 2. [OS] 교착상태(DeadLock)란? 교착상태란? 다중프로그래밍을 지원하는 프로세스는 한정된 데이터를 읽고 쓰기 위해 경쟁하게 된다. 이 경쟁 과정에서 생길 수 있는 문제를 예방하기 위해 데이터는 프로세스가 점유 상태라면 다른 프로세스의 접근을 막는 방법을 주로 사용하게 되는데 그 결과 같은 두개의 데이터를 필요로 하는 두 프로세스가 각각 하나씩 점유하게 되면 무한정 대기상태에 빠지게 되는데 이러한 상태를 교착상태라 한다. 교착 상태가 생기기 위한 조건 교착상태는 아래의 네가지 조건을 충족해야 일어난다 상호배제(mutual exclusion) 한 리소스는 한번에 한 프로세스만이 사용 할 수 있음(화장실 키) 점유하며 대기(hold-and-height) 프로세스는 최소한 하나의 점유한 채, 현재 다른 프로세스에 의해 점유된 자원을 추가로 얻기.. 2021. 9. 2. 이전 1 다음 반응형