.NET

카우치베이스 .NET SDK 2.3.5가 출시되었습니다!

카우치베이스 .NET SDK 2.3.5가 출시되었습니다!

오늘 또 다른 버그 수정/유지 관리 릴리스인 Couchbase .NET SDK 2.3.5를 출시합니다. 이번 릴리스에서는 서버에 자격 증명을 전달하기 위한 새롭고 향상된 보안 모델을 추가했습니다: SCRAM-SHA1. 또한 가까운 시일 내에 .NET Core 호환 SDK를 출시한다는 목표를 향해 몇 가지 커밋을 추가했습니다. 다음 달 중으로 개발자 프리뷰를 기대해 주세요!

새로운 기능 및 변경 사항

SCRAM-SHA1 지원

Couchbase Server 4.5 릴리스에는 SCRAM-SHA라는 새롭고 향상된 보안 기능이 추가되었습니다. SCRAM 는 솔티드 챌린지 요청 인증 메커니즘의 약자이며 SHA 는 비밀번호를 서버로 전송하기 전에 해싱하는 데 사용되는 알고리즘을 나타냅니다. 서버는 SHA-1, SHA-256, SHA-512(이전 버전의 서버의 경우 일반 및 CRAM-MD5와 함께)를 지원합니다. SHA 번호가 높을수록 해시의 보안이 강화되지만, 이번 릴리스에서는 클라이언트가 SHA1만 지원합니다. 그 이유는 .NET이 비밀번호를 소금에 절이는 SCRAM 프로세스의 필수 부분인 PBKDF2의 SHA1 버전만 제공하기 때문입니다. 향후 타사 라이브러리를 사용하여 SHA-256 및 SHA-512를 지원할 수 있습니다.

클라이언트 관점에서 SCRAM-SHA1의 가장 좋은 점은 구성을 변경할 필요가 없다는 것입니다! 클라이언트는 서버가 SHA1을 지원하는 것을 감지하면 보안성이 떨어지는 CRAM-MD5 대신 이를 사용합니다.

.NET 핵심 지원 - 업데이트!

이번 릴리스에는 특히 .NET Core 지원을 제공하기 위한 세 가지 커밋이 포함되어 있습니다:

  • NCBC-1152: Net Core가 Socket.BeginConnect를 지원하지 않음
  • NCBC-1125: 비동기 TPL 패턴을 사용하도록 SslStream 전환
  • NCBC-1159: NUnit 3에서 테스트를 실행하는 동안 비동기 호출 교착 상태

특별히 다음과 같은 분들께 감사드립니다. 브랜트 버넷Centeredge 소프트웨어 Couchbase SDK .Net Core 프로젝트에 도움을 주신 것에 대해 감사드립니다! 또한 커뮤니티 기여자 프로그램의 일환으로 카우치베이스 전문가로 승격된 것을 진심으로 축하드립니다!

다시 한 번, 가까운 시일 내에 Couchbase .Net Core SDK의 개발자 프리뷰를 기대해 주세요!

N1QL 쿼리 타이밍

N1QL 쿼리 타이밍은 SDK의 로깅 인프라에 추가된 기능으로 클라이언트와 서버 간의 네트워크 문제를 진단하는 데 유용합니다. 기본적으로 비활성화되어 있으며 ClientConfiguration 클래스에서 EnableQueryTiming 속성을 true로 설정하여 활성화할 수 있습니다:

다음 분들께 큰 감사를 드립니다. 마이크 골드스미스 에게 이 기능을 제공해 주셔서 감사합니다! 마이크는 이번 릴리스에서도 몇 가지 수정 작업을 수행했으며 앞으로도 더 많은 작업을 할 것으로 예상됩니다!

SDK 컨버전스

카우치베이스의 SDK 팀에서 특히 신경을 쓴 한 가지는 다양한 SDK에서 프로그래밍 모델의 일관성을 보장하는 것이었습니다: Java, Go, Node.js, Python, PHP, Libcouchbase 및 .NET. 플랫폼 간 관용적 차이로 인해 달성하기 어려운 목표이지만, 저희는 항상 이 부분을 개선하기 위해 노력하고 있습니다. 이번 릴리스에서는 하나의 커밋을 추가했습니다. NCBC-1170는 두 가지 작업을 수행합니다:

  1. 각 문서 결과 또는 작업 결과에 문서 키의 복사본이 있는지 확인하고 해당 문서 결과의 Id 속성을 확인합니다.
  2. 삽입, 위로 바꾸기 또는 바꾸기 작업이 실행될 때 문서를 DocumentResult에 추가합니다.

이렇게 하면 콘텐츠(문서), 키 및 CAS 값을 모두 DocumentResult에서 사용할 수 있으므로 애플리케이션 로직의 다음 단계로 더 쉽게 진행할 수 있습니다.

릴리스 정보 - Couchbase .NET 클라이언트 라이브러리 - 버전 2.3.5

  • [NCBC-1125] - SslStream을 비동기 TPL 패턴을 사용하도록 전환하기
  • [NCBC-1152] - 넷 코어가 Socket.BeginConnect를 지원하지 않음
  • [NCBC-1080] - 버킷은 구성 .NET SDK에서 제공된 비밀번호로 열립니다.
  • [NCBC-1108] - 인덱스 관리 메서드에 ContinueOnAnyContext가 없으며 교착 상태가 발생할 수 있습니다.
  • [NCBC-1157] - DefaultSerializer.ContractResolver가 null이면 쿼리가 실패합니다.
  • [NCBC-1158] - rb2out 중 하위 문서 가져오기에 대한 예외
  • [NCBC-1159] - NUnit 3에서 테스트를 실행하는 동안 비동기 호출 데드락
  • [NCBC-1161] - 하위 문서 - MutateIn은 POCO's를 지원하지 않습니다.
  • [NCBC-1162] - 문서 변이가 발생했을 때 Observe가 빠르게 실패하도록 설정하기
  • [NCBC-1163] - MUX IO - 향상된 내구성이 활성화된 경우 작동 시간 초과
  • [NCBC-1164] - CAS 기반 관찰을 수행하는 동안 문서 돌연변이가 잘못 표시됨
  • [NCBC-1167] - 깃허브의 README가 현재 사용 시작을 명확하게 가리키는지 확인합니다.
  • [NCBC-1170] - 삽입 및 업서트가 문서를 반환하도록 설정 - Java SDK와 유사합니다.
  • [NCBC-1094] - SCRAM-SHA1 지원 구현
  • [NCBC-1160] - N1QL 타이밍 로깅을 활성화하는 옵션 추가
  • [NCBC-1111] - NMV에 대한 노출 백오프를 제거하고 정적 100ms 백오프로 교체합니다.

받는 방법

항상 그렇듯이 Couchbase .NET SDK는 다음에서 사용할 수 있습니다:

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Jeff Morris, 수석 소프트웨어 엔지니어, Couchbase

Jeff Morris는 Couchbase의 수석 소프트웨어 엔지니어입니다. Couchbase에 입사하기 전에는 6년 동안 Source Interlink에서 엔터프라이즈 웹 아키텍트로 근무했습니다. Jeff는 Couchbase SDK 개발과 N1QL(쿼리 언어)과 통합하는 방법을 담당하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.