문제 상황 만약 다른 브랜치에서 쓰인 코드를 현재 브랜치에서도 쓰고 싶다면 2가지 방법이 있다. 원하는 소스 코드가 있는 브랜치에 가서 복사를 해서 붙여넣기를 통해서 현재 브랜치에 삽입힌다. 이 방법은 상당히 ‘무식’한 방법이다. 이런 방법이 자주 쓰인다면 브랜치
C 언어로 짠 코드를 make 명령어를 통해서 빌드, 실행하면 result 라는 파일을 나온다. 이 결과물과 예상 결과물 사이 비교하고자 한다. 우선 diff_case.sh 파일 만들어야 한다. 결과물이 나올 경로와 예상된 결과물이 나올 경로를 절대 경로로 넣어주도록
TCP는 3가지 특징이 있다. 연결 유무 확인 (3way Handshake) 순서 보장 송신 보장반면, UDP 는 3가지 모두 해당하지 않는다. TCP 통신에서 소켓에서 통신이 시작된다. 소켓은 통신의 접속점으로 데이터 송수신이 소켓을 통해 이뤄진다. 소켓의 본질은
RabbitMQ는 메세지 브로커의 일종이다. 아키텍처 내부에서 프로세스 간 통신을 하기 위한 방법 중 하나가 메세지 브로커가 있다. 메세지 브로커 말고도 이벤트 브로커도 있으며, 많이 알려진 Kafka는 이벤트 브로커의 한 종류이다. 그렇다면 메세지 브로커와 이벤트 브
msa(Micro Service Architecture)는 느슨하게 결합된 서비스 컴포넌트의 조합으로 구성된 아키텍처이다. 채용 공고를 보면 팀마다 사용하는 언어와 프레임워크가 다른 경우가 있는데. 이 경우 msa를 적용한 것으로 추측해볼 수 있다. 그렇다면 왜 ms
gRPC 이전에 RPC에 대해 알아보자 프로세스 단에서 함수를 호출하여 코드를 실행하곤 한다. 이를 원격(Remote)하는 기술이 RPC이다. 하나의 머신에서 다른 머신의 코드를 실행하는 기술인데. 사용자 입장에서 마치 단순 함수를 호출하는 것과 같다. gRPC는 구글
SOP는 동일 출처 정책이라고 번역된다. 동일한 출처끼리 상호작용만 허용하는 정책을 의미한다. 같은 출처끼리 리소를 주고 받아야 했다. (출처 : https://opentutorials.org/course/3385/21673) 출처(Origin) = proto
관계형 데이터베이스(RDBMS)를 객체형으로 매핑해주는 기술이다. 결제 정보와 같이 중요한 데이터를 메모리에 저장하게 된다고 가정해보자. 서버 컴퓨터의 전원이 나가게 되면 데이터가 날아간다. 이러한 데이터를 영원히 저장하기 위해서 파일 시스템이나, 관계형 데이터 베이
HTTP(Hypertext Transfer Protocol)클라이언트와 서버 사이 하이퍼텍스트 기반 데이터를 전송하는 프로토콜이다. 하이퍼텍스트는 링크가 담긴 텍스트이다. html 를 뜯어보면 다른 페이지를 갈 수 있는 링크가 달려 있고, css나 이미지와 같은 리소스
멀티 스레드는 하나 프로세스 내에서 복수 스레드가 동시에 작업을 수행하는 것이다. 멀티 스레드 환경에서 스레드끼리 메모리를 공유하지만 각 스레드 마다 registers, stack, pc 모두 독립적으로 존재한다. 기본적으로 파이썬에서 하나 프로세스에 하나 스레드 작
쿠키는 브라우저에 저장된 작은 텍스트 조각이다. 클라이언트 특정 서버에 접속하여 특정 행동(블랙 모드 설정)을 한다.서버는 Set-Cookie를 통해 웹 쿠키를 설정하여 클라이언트에게 전달한다. 클라이언트는 클라이언트 사이드 저장소에 쿠키 정보를 저장한다.클라이언트는