
Swift actor의 await 뒤에서 상태가 바뀌는 이유와 캐시 수정 예제
Swift actor 안에서도 await로 실행이 중단되면 다른 호출이 같은 actor의 상태를 바꿀 수 있어요. 이를 재진입(reentrancy)이라고 해요. actor는 격리된 상태의 동시 접근을 막지만, 비동기 메서드 전체를 하나의 작업처럼 보장하지는 않아요.
개발·코드·도구을 더 깊이 이해하고, 일상에 필요한 답을 찾아가는 기록.

Swift actor 안에서도 await로 실행이 중단되면 다른 호출이 같은 actor의 상태를 바꿀 수 있어요. 이를 재진입(reentrancy)이라고 해요. actor는 격리된 상태의 동시 접근을 막지만, 비동기 메서드 전체를 하나의 작업처럼 보장하지는 않아요.

LangGraph에서 interrupt를 재개하면 멈췄던 노드가 처음부터 다시 실행돼요. 같은 노드에서 interrupt보다 먼저 API를 호출했다면 그 호출도 반복됩니다.

반환값이 있는 async 함수는 테스트 자체를 async로 만들고 await 뒤에 #expect를 붙이면 됩니다.

Swift 6 전환에서 Sendable 오류를 줄이는 가장 안전한 순서는 ‘경고를 한꺼번에 없애기’가 아니라 값이 넘어가는 동시성 경계를 먼저 찾고, 불변 값은 Sendable로 만들고, UI는 @MainActor에 두고, 공유 가변 상태는 actor로…

README를 읽는 사람은 대개 세 가지부터 궁금해해요. 무엇을 설치해야 하는지, 어떤 명령으로 프로그램을 시작하는지, 지금 정상적으로 동작하는지 어떻게 확인하는지입니다. 프로젝트 설명이 아무리 좋아도 이 답을 찾기 어렵다면 첫 실행 전에…

안녕하세요 :) 요즘 AI 에이전트 개발하다 보면 LangChain만으로는 어딘가 아쉬운 느낌, 한 번쯤 받아보셨죠? 저도 처음엔 “체인으로 다 되는 거 아닌가?” 싶었는데, 막상 복잡한 멀티 에이전트 시스템을 만들려고 하니까 상태…

안녕하세요 :) 오늘은 조금 색다른 주제를 들고 왔어요. 맥 미니 여러 대를 묶어서 AI 클러스터 를 만들 수 있다는 거, 알고 계셨나요? 고가의 GPU 서버 대신 집에 있는 맥북이나 맥…

안녕하세요 :) 요즘 프론트엔드 개발자분들과 이야기하다 보면 “jQuery요? 그거 아직도 쓰나요?”라는 질문을 종종 들어요. 솔직히 React, Vue 전성시대에 jQuery를 배운다는 게 조금 시대착오적으로 보일 수도 있죠. 근데 있잖아요? 회사에 들어가…

안녕하세요 :) 요즘 ChatGPT, Claude 같은 AI 모델들 쓰다 보면 이런 생각 한 번쯤 들지 않나요? “얘네는 대체 어떻게 이렇게 그럴듯하게 대답하는 거지?” 저도 딱 그랬어요. 그래서 Transformer 모델 내부를…

안녕하세요 :) 요즘 프론트엔드 개발하면서 UI 컴포넌트 라이브러리를 찾다가 SpecKit이랑 Beads라는 도구를 알게 됐는데요. 둘 다 개발 생산성을 높여준다는 공통점은 있지만, 접근 방식이 꽤 달라서 한 번 정리해보려고 해요. 저도…

안녕하세요 :) 요즘 AI 코딩 어시스턴트 진짜 많이 나오죠. GitHub Copilot, ChatGPT, Cursor까지… 선택지가 워낙 많다 보니 뭘 써야 할지 고민될 때도 많더라고요. 그러다가 최근 Anthropic에서 클로드 코드 Opus 4.5…

안녕하세요 :) 혹시 SSH로 서버에 접속해서 작업하다가 연결이 끊겨서 멘붕 와본 적 있으신가요? 아니면 터미널 창을 10개쯤 띄워놓고 “이게 어느 서버였지…?” 하면서 한참 헤매본 적도요. 저도 딱 그랬어요. 그러다 찾게…