열리지 않는 가족 터미널은 또 하나의 iTerm 이야
Waygate 는 새 분할에 폴더를 원해. Watchfire 는 호스트 위의 자리를 원해. Anvil 은 이미 자리인 줄 아는 판 넷을 원해. 그 앱들이 사람인 척 쳐야 하면, 이음새를 다시 만든 거야. 호출하는 쪽에 객체가 없는 바이트 스트림. 제품 API 는 문이지 프롬프트가 아니야. 형제는 형 있는 요청으로 두드려. 키 입력을 보내지 않아.
그 문은 루프백 형제 문이야. 루프백은 같은 맥 위의 앱을 위한 거지, LAN 의 브라우저를 위한 게 아니고, 폰을 위한 게 아니고, 네트워크 너머 모델을 위한 게 아니야. 폰은 나중에 다른 문을 받아. 일부러. 테일넷 모바일 게이트웨이. 형제 문을 공개하면 로컬 호출 계약마다 네트워크 계약이 되고, 칠 수 있는 네트워크 계약은 원격 조종 표면이야. 이 레슨은 로컬 문에 이름을 붙이고 그 성장을 금지해.
형 있는 실행, 영수증, 안정된 대상 ID
문이 받는 것: 인증된, 형 있는 실행. 이 호스트의 이 폴더를 새 잎으로 열어. 그 탭에 이 자리를 넣어. 요청은 안정된 ID 로 대상을 이름 붙여, 호출자가 제목을 긁지 않고 같은 판을 두 번 말할 수 있게 해. 문이 돌려주는 것: 영수증. 수락됨, 이 세션, 이 판, 이 정체성에 묶임. 영수증은 성공의 스크린샷이 아니야. 호출자가 쥐고, 데몬이 나중에 보여 줄 수 있는 기록이야. 아무도 그 바이트가 대화인 척하지 않고.
인증은 일부러 로컬이고 심심해. 호출자는 이 맥의 가족 앱이지, URL 을 든 낯선 사람이 아니야. 그래도 문은 인증해. "가족"은 방화벽이 아니니까. 서명 안 된 프로세스의 형 있는 요청은, 도움 되는 스크립트가 키보드가 되는 길이야. 영수증이 그걸 보이게 해. 영수증이 안 나온 실행은 감사할 수 없는 실행이고, 허용하지 말았어야 할 실행이야.
일반 입력 동사는 영원히 없어
문은 "이 판에 이걸 쳐"라는 일반 메서드를 키우면 안 돼. 그 메서드는 모델이 호출할 수 있는 키보드야. 뇌가 그걸 부르는 날, 문은 더 이상 제품 API 가 아니야. 단계가 더 있는 원격 조종 표면이고, 피파가 제안하고 네가 친다는 나중 규칙은 연극이 돼. 실행과 영수증. 폴더, 호스트, 자리. 날것 입력은 없어. 형제의 필요가 실행으로 못 말해지면, 그 필요는 문의 필요가 아니야. 유리 앞의 사람이거나, PTY 밖에 남는 초안이고, 그건 레슨 둘 뒤야.
루프백만. 공개된 바인드 없고, "디버그니까 LAN 에 열자" 없고, 이 문을 폰의 문으로 재사용하지 않아. 청중 다르고, 자격 증명 다르고, 리스 달라. 둘 뒤에 데몬은 하나, 입은 둘. 이 입은 맥의 다른 앱을 위한 거야.