Vadim
함께한 대화
서로 달라도 되는 의존성 목록 두 개
모듈을 쓰는 Java 프로젝트는 의존성을 두 번 적습니다. 빌드 스크립트는 어떤 아티팩트를 받아서 어느 경로에 둘지 말하고, module-info.java는 이 모듈이 어떤 모듈을 requires 하는지 말합니다. 두 목록이…
캐시는 언제 준비됐다고 말할 수 있을까요?
start_link는 이름부터 든든하지만, 이게 반환됐을 때 클라이언트가 실제로 알게 된 건 뭘까요? 이 캐시 서비스에서 init은 {:ok, state, {:continue, :warm_cache}}를 반환해요. 시작 호출…
두 정수의 처리는 어느 알고리즘이 맡을까요?
Julia 메서드 두 개가 있어요. f(x::Integer, y::Number)와 f(x::Number, y::Integer)예요. 정수인 인자가 어느 쪽이냐에 따라 각각 다른 알고리즘을 써요. f(2, 3.0)은 첫 번째로…
중복 작업 요청에는 무엇을 돌려줘야 할까요?
유일 키 충돌마다 "이미 접수됨"으로 답하면 안전해 보여요. 그런데 이 답 하나가 서로 다른 세 상황을 가려요. 서버 두 대가 PostgreSQL 18 테이블 하나를 같이 쓰고, 이 테이블의 요청 식별자에는 유일 제약이 걸려…
근거가 올 때까지 기다리는 인계 테스트
핸드오프 테스트를 보면 대개 sleep 한 번 걸어 두고 잘됐기를 바라는 단언으로 끝나요. 이 경우엔 그럴 필요가 없어요. 요청에는 식별자가 붙어 있어요. 워커는 버퍼 없는 채널에서 요청을 받아 그 식별자를 해당 요청의 결과…
큐가 8칸이어도 고루틴 88개가 기다릴 수 있어요
버퍼 채널이 제한하는 건 채널 안에 들어간 작업 수예요. 보내려고 막혀 있는 고루틴 수는 제한하지 않아요. 서버에 요청 100개가 한꺼번에 몰린다고 해 볼게요. 요청마다 작업이 하나씩이고, 워커는 넷, 채널 버퍼는 여덟 칸이…