본문 바로가기

전체 글

(42)
[TCP] 3 way handshake & 4 way handshake [TCP] 3 way handshake & 4 way handshake 참고 링크 참고 링크 참고 링크 연결을 성립하고 해제하는 과정을 말한다. 3 way handshake TCP는 장치들 사이에 논리적인 접속을 성립시키기 위해 3 way handshake를 사용한다. TCP 3 way handshake(이하 3way)는 TCP/IP 프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다. TCP 통신은 PAR(Positive Acknowledgement with Re-transmission)을 통해 신뢰적인 통신을 제공한다. PAR을 사용하는 기기는 ack을 받을 때까지 데이터 유닛을 재전송한다. 수..
트랜잭션 격리수준 트랜잭션 격리 수준(Transaction Isolation Level) 참조링크1 참조링크2 Isolation Level 트랜잭션에서 일관성 없는 데이터를 허용하도록 하는 수준 트랜잭션은 데이터의 정합성을 보장하기 위한 수단이다. 논리적인 수준의 작업 자체가 100% commit 되거나, 혹은 Roll back 되는 것을 보장해주어야 한다. 트랜잭션 격리수준은 ACID에서 I, Isolation(격리성)에 해당하는 파트가 된다. 동시에 실행되는 서로 다른 트랜잭션은 서로가 서로에게 영향을 미쳐서는 안된다. 동시에 같은 데이터를 수정하게 되는 경우 발생하게 될 문제들을 방지하기 위해서이다. # Dirty Read 하나의 트랜잭션(A)이 처리중인, 그러나 커밋되지 않은 데이터를 다른 트랜잭션(B)이 읽을 수..
Index Database Index 인덱스의 목적 추가적인 쓰기 작업과 저장 공간을 활용하여 DB table의 검색 속도를 향상시키기 위한 자료구조. 두꺼운 책의 목차와 같다 Usage of Index Index를 활용하면 데이터를 조회하는 SELECT 외에도 UPDATE나 DELETE의 성능이 함께 향상된다. UPDATE USER SET NAME = 'Mingyu' WHERE NAME = 'Mingkim'; 만약 Index를 사용하지 않는다면 Full Scan 작업을 수행해야하는데, 이는 처리 속도가 떨어질 수 밖에 없다. Index Management DBMS는 Index를 항상 최신의 정렬된 상태로 유지해야 원하는 값을 빠르게 탐색할 수 있다. 그렇기 때문에 Index가 적용된 ..
Call by value, Call by reference, Call by assignment Call by value , Call by reference, Call by assignment 함수를 호출할 때에, 우리는 값에 의한 호출을 하기도하고 참조에 의한 호출을 하기도 한다. 함수가 호출될 때 메모리 공간 안에서는 함수를 위한 공간이 생성된다. 그리고 함수가 종료될 때, 해당 공간은 사라진다. Stack Frame : 함수 호출시 할당되는 메모리 블록(지역변수의 선언으로 할당되는 메모리 블록) int main(void) { // 스택변수 a는 Stack Frame에 지역변수로서 할당이 된다. int a; a = 4; return (0); } Call by value Call-by-value는 말 그대로 값에 의한 호출이다. Call-by-value는 인자로 받은 값을 복사하여 처리를 하는데,..
함수형 프로그래밍 함수형 프로그래밍 참고 포스팅 https://jongminfire.dev/%ED%95%A8%EC%88%98%ED%98%95-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%9D%B4%EB%9E%80 https://velog.io/@kyusung/%ED%95%A8%EC%88%98%ED%98%95-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%9A%94%EC%95%BD https://engineer-mole.tistory.com/214 https://opentogether.tistory.com/76 https://evan-moon.github.io/2019/12/15/about-functional-thinking/ 정의 선언형..
고정소수점 & 부동소수점 고정소수점과 부동소수점 고정소수점과 부동소수점이라는 개념이 있다. 이름만 봐서는 이 개념들이 왜 컴퓨터와 관련이 있는지 알기 힘들다. 컴퓨터는 0과 1로 이루어진 기계어를 사용한다. 우리가 숫자 혹은 문자를 입력해도, 컴퓨터는 0과 1의 조합으로 해당 문자를 인식한다. 우리는 기본적으로 10진법을 이용하지만 컴퓨터는 0과 1만 사용하는 2진법으로 이를 표현한다. 고정소수점과 부동소수점을 왜 알아야 하는가, 컴퓨터가 실수를 표현할 때 쓰는 방식이 바로 부동소수점이다. 고정소수점 정의 소수점이 찍힐 위치를 미리 정해놓고 소수를 표현하는 방식이다. (정수 + 소수) 고정소수점에서는 부호, 정수부, 소수부가 필요하다. 예를 들어, -3.141592는 부호(-)와 정수부(3), 소수부(0.141592) 로 이루어..
[Blockchain In Action] 7장 Web3와 채널 Dapp Blockchain In Action 7장 블록체인 인 액션 책을 읽고 공부한 내용을 기록한 글 입니다. 글에 나와있는 내용과 사진은 모두 블록체인 인 액션에 포함된 내용 혹은 이를 정리한 것 입니다. 문제가 될 시 삭제하겠습니다. Web3를 사용하면 Dapp의 거의 모든 것을 자동화할 수 있다. We3란 Web3 API를 줄인 말로, 블록체인 함수를 액세스하기 위한 포괄적 패키지이다. 블록체인 인프라는 어카운트를 관리하고, 트랜잭션을 기록하고, 스마트 컨트랙트를 실행하는 서비스를 제공한다. Web3는 이더리움 블록체인 클라이언트 노드의 함수를 노출시켜 애플리케이션과 노드 간의 상호작용을 돕는다. Web3 API web3 API는 탈중앙화 애플리케이션의 모든 참여자가 같은 구문과 의미로 블록체인과 상호 ..
Tree Tree 트리 자료구조 트리는 노드 들이 나무가지처럼 연결된 비선형적 자료구조이다. 선형적 자료구조는 하나의 자료 뒤에 하나의 자료가 존재한다. 자료들간의 앞과 뒤 관계가 1대 1인 경우를 선형적이라고 얘기한다. 비선형은 그렇지 않은 경우라고 생각하면 편할 것 같다. 트리의 이미지를 보면, 한 눈에 보기에도 비선형적 자료구조라는 것을 알 수 있다. 마찬가지로 하나의 트리가 또 다른 트리를 포함할 수 있으며, 이는 재귀적 자료구조라고 볼 수 있다. 트리의 용어 트리 구조에서 주로 사용하는 몇 가지 용어가 존재한다. 자주 쓰는 용어들만 정리하자면 다음과 같다. Node: 트리를 구성하는 기본 요소 Edge: Node와 Node간의 연결 선 Root Node: 트리 구조에서 부모가 없는 최상위 Node Par..