Blake Woo

쿠버네티스 소스코드 분석 시작

소스코드 분석 시작 쿠버네티스에 대해 가장 확실하게 알아보려면 소스코드를 분석해보는게 가장 확실하다는 판단이 들었다. 그렇기 때문에 쿠버네티스 소스코드를 분석해보기로 했다. 쿠버네티스는 매우 많은 사람들이 기여하고 있는 소프트웨어이다. 그렇기 때문에 분석하고자 하는 버전을 명확히해야 “어제 봤던 거랑 다른 코드인데…?”하는 일을 피할 수 있다. 현...

경쟁상태(Race condition) 3

세마포어 다익스트라가 제안한 방식으로 busy waiting의 문제를 해결할 수 있으며 앞서 언급했던 세가지 조건(상호 배제, 진행, 제한된 대기)를 모두 만족하는 방법이다. 뿐만아니라 다수의 스레드의 경우에도 사용할 수 있는 방법이다. 때문에 멀티 스레드를 구현할 때 API로써 언어에 제공이 많이 되는 편이다. 세마포어에 대해서 알기 위해선 먼...

경쟁상태(Race condition) 1

경쟁 상태 여러 개의 스레드가 동일한 자원에 접근하여 작업할 때 작업 순서가 보장되지 않아 진행할때마다 결과가 달라지는 경우를 말한다. 여기서 동일한 자원은 대부분 공유 메모리이다. 문제 제기 생산자 로직이 있고 소비자 로직이 있다고 가정해보자. 그리고 이 두 개의 로직은 한 개의 프로세스 내에서 각각 스레드로 돌아가며 count 변수 값을 공유한다...

기초 대수구조 (군,환,체)

대수구조 대수 구조란 수 뿐 아니라 수를 대신 할 수 있는 것을 대상으로 하는 집합과 그 집합에 부여된 연산이 여러가지 공리로써 엮인 수학적 대상이다. 간단히 말하자면 일련의 연산들이 주어진 집합이다. 그냥 언뜻 들으면 전혀 와닿지 않는다. 하지만 만약 당신에 프로그래밍을 알고 있고, 추상화에 대해서 알고있다면 조금 더 쉽게 받아들일 수 있다. 어...