[길벗] '스프링 마이크로서비스 코딩 공작소' 오탈자 정리

프로그래밍/서버2021. 1. 16. 00:44

 

안녕하세요. 이 포스팅에선 간단히 길벗 출판사에서 출시한

'스프링 마이크로서비스 코딩 공작소'를 읽으면서 발견한 오탈자를 정리하려고 합니다.

 

원서와 번역본을 동시에 읽지는 않고, 번역본을 읽다가 이상한 부분을 발견하면 원서를 참고해 번역이 잘못됐는지 보려고 합니다.

 

이해가 쉽게 번역이 된 것 같지는 않습니다. 의역을 해야하는데 직역처럼 번역된 부분이 상당히 많습니다. 

예를 들어 p.165 상단의 "필요한만큼 실패하면"이라는 문장이.. 처음 딱 읽어보면 어색합니다.

"특정 횟수 이상 실패하면" 정도로 번역을 해야 책을 읽는 입장에서 더 이해가 편할 것 같습니다.

 

 

 

  1. p.77:  페이지의 중앙 즈음에 주석으로 "일부 빌드 프로퍼티와 도커 빌드 플러그인은 이 장과 관련이 없어 코드 2-1에는 실지 않았다."라고 되어있으나 다 실림 
  2. p.77: "메이븐에 스프링 부트 애플리케이션의 빌드와 배포를 위한 스프링 전용 메이븐 플러그인을 포함하도록 지시한다"라며 표시한 부분이 잘못됨. docker 빌드 플러그인을 가리키고 있음. p.78의 코드 끝 부분에 있는 "spring-boot-maven-plugin"에 대한 설명이어야 함.
  3. p79: 상단에 docker 관련 플러그인이 포함됐음에도 포함하지 않았다는 내용이 다시 언급됨
  4. p.80: 상단 2번째 줄에 "스프링에서 정의하는 빈(bean)의 출처"라고 되어있는데 번역이 적절한지 잘 모르겠습니다. 잘 이해가 안되는 것 같아 빈의 "시작점"?, "시작부"?가 더 좋지 않을까요? 개인적인 의견입니다.
  5. p.107: 원서의 오탈자가 그대로 넘어온 경우입니다. 중간 부분에 spring.database.driverClassName이 있는데 spring.datasource.driverClassName이 올바른 이름입니다.
  6. p.147: 상단의 "유레카 서비스 위치"와 "레지스트리 사본을 로컬로 가져오기" 설명이 반대로 되어있음
  7. p.161: "나쁜 상황에 대비한" -> "장애 상황을 대비한"으로 바꾸는 게 좋지 않을까요?
  8. p.162: 하단의 "제대로 동작하는" -> "제대로 동작하지 않는"으로 바꿔야 함
  9. p.177: 중앙의 "학습 예제로 사용한 이유는 분명하다"부분 -> "필자가 사용한 12초의 회로 차단기 타임아웃은 학습 예제로만 사용되야할 것 같다" 정도로 의역이 좋을 것 같음
  10. p.179: 중앙의 "폴백을 사용해 타임아웃 예외를 잡아내고" 부분 -> "폴백을 사용해 타임아웃 예외를 잡아 단지 에러 로깅만 한다면, 폴백 사용이 아닌 서비스 호출 전후로 표준 try~catch 블록을 사용해 HystrixRuntimeException을 잡아내고 try~catch 블락에 로깅을 추가해야 한다" 정도로 의역이 좋을 것 같음
  11. p.185: "첫 번째 프로퍼티인" 부분의 문장 -> "히스트릭스는 10초 시간대 동안 연속 호출 횟수가 특정 값을 넘을 때 호출 차단을 고려하는데, 첫 번째 프로퍼티인 circuitBreaker.requestVolumeThreshold로 조절할 수 있다"로 의역하는 게 더 좋을 것 같음
  12. p.190: 중앙 부분 코드 "ThreadLocal<UserContext>userContext" -> "ThreadLocal<UserContext> userContext"(변수명 인쪽에 띄어쓰기 추가)
  13. p.203: 상단 부분: "이 때 여러 서비스 게이트웨이 인스턴스 앞에"문장과 그 다음 문장 -> "이때 여러 시버스 게이트웨이 인스턴스 앞에 로드 밸런서를 하나 두는 것은 적절한 설계이며, 서비스 게이트웨이를 확장할 수 있다. 모든 서비스 인스턴스 앞에 로드 밸런서를 하나 두는 것은 병목점(chokepoint)이 될 수 있어 좋은 생각은 아니다."로 되어야 의미 전달이 더 잘될 것 같음
  14. p.203: 상단 부분 "주의하지 않으면 게이트웨이의" 부분 -> "주의하지 않으면 게이트웨이의 확장성을 제한하게 되고 모든 서비스 게이트웨이 인스턴스에 그 데이터가 잘 복제됐는지 확인해야한다."
  15. p.208: 하단 코드 부분에서 "ignored-service: 'organizationservice'가 제거되야 함
  16. p.221: 상단의 "filterOrder() 메서드는 주울이 다른 필터 유형으로 요청을 보내야 하는 순서를 나타내는 정수 값을 반환한다" -> "filterOrder() 메서드는 주울이 어떤 순서로 서로 다른 필터들에게 요청을 보내야 하는지에 대한 정수 값을 반환한다"로 해야 이해가 더 잘 될것 같음.
  17. p.221: 중앙의 "shouldFilter() 메서드는~" 부분에서 아래 점선은 제거되어야 함. isCorrelationIdPresent()함수에 대한 설명은 아님.
  18. p.224: 하단의 "3. 서비스의 비즈니스 로직은 UserContext에서 검색된 모든 값에 액세스할 수 있다" -> "3. 서비스의 비즈니스 로직은 UserContext의 모든 값에 접근할 수 있다"로 해야 이해가 더 잘될 것 같음
  19. p.225: 중단의 "따라서 서비스에 있는 utils 패키지 클래스는 모두 서비스 사이에 공유된다" -> "따라서 서비스에 있는 utils 패키지에 있는 모든 클래스는 전체 서비스가 공통적으로 가지고 있다"로 해야 이해가 더 잘될 것 같음

 

 

*그리고 책에서 전반적으로 production environment에 대해 운영 환경이라고 번역되어있습니다. 그러니까.. 개발할 때 쓰이는 테스트 환경이 아니라 실제 고객들이 접하게 되는 환경, 서버를 이야기하는 단어입니다. 그런데 저만 그런 것인지는 모르겠지만.. 운영 환경이라는 단어는 실제 우리가 잘 안쓰는 단어인 것 같습니다. 저한테는 '상용 서버'가 더 익숙한 단어인데 '상용 환경'은 좀 어색하네요 ㅎㅎ 그래도 '운영 환경'보다는 나을 것 같은데 다른 사람들 생각은 어떤지 궁금합니다. 그냥 '프로덕션 환경'으로 해야할까요?

 

 

작성자

Posted by 드리머즈

관련 글

댓글 영역