버킷은 무엇을 의미합니까?


17

레거시 코드에서 이름이 BucketService 인 클래스를 찾았습니다.

영어는 모국어가 아니기 때문에 번역하려고했지만 말이되지 않습니다.

버킷 정렬 등과 ​​같은 용어는 거의 없지만 여전히 얻지 못했습니다. 실제로이 단어는 프로그래밍에서 자주 사용됩니다

나는 그 단어에 대한 간단한 설명에 도움이 될 것입니다


1
수업 이름을 절대로 판단하지 마십시오. 어떤 API를 노출합니까? 어떤 상태가 포함되어 있습니까? 어떻게 사용 / 호출 / 인스턴스화됩니까? 그것을 모른 채, 당신과 같은 질문에 대한 유일한 정답은 것으로 보인다 뮤
— 모기

2
특히 "BucketService"와 같이 설명이 아닌 이름으로 "UtilityManager"또는 "ThingDoer"처럼 들립니다. 애매 모호한 이름을 가진 유일한 옵션은 코드를 보는 것입니다. 불행히도, 모호한 이름 을 가진 클래스는 일반적으로 모든 것을 조금씩 (또는 운이 좋지 않으면 많은 것을)합니다.
— Tacroy

답변:


36

영어로 된 양동이 는 물을 담는 장치입니다.

소프트웨어에서 사용되는 경우 일반적으로 객체를 그룹화하는 데이터 유형을 의미합니다.

이 용어는 해시 알고리즘을 논의 할 때 자주 사용되며 , 해시 코드가 동일한 (해시 충돌) 다른 항목이 동일한 "버킷"으로 이동합니다. 즉, 객체는 해시별로 그룹화됩니다.

일반적으로 해싱 함수는 여러 다른 키를 동일한 인덱스에 매핑 할 수 있습니다. 따라서 해시 테이블의 각 슬롯은 단일 레코드가 아니라 레코드 세트 (암시 적 또는 명시 적)와 연관됩니다. 이러한 이유로 해시 테이블의 각 슬롯을 종종 버킷이라고하며 해시 값을 버킷 인덱스라고도합니다.

비공식적으로, 나는 키가 아닌 값이 항목 모음 인 사전과 함께 사용되는 용어를 보았습니다.


Wikipedia에는 ​​컴퓨팅에 사용되는 용어 -Bucket (Computing) 전용 페이지가 있습니다 .

컴퓨팅에서 버킷이라는 용어는 여러 가지 의미를 가질 수 있습니다. 이 용어는 실제 은유로 사용되며 일부 전문 분야에서 일반적으로 사용되는 기술 용어로 사용됩니다. 버킷은 가장 일반적으로 데이터 버퍼 유형 또는 데이터가 영역으로 구분되는 문서 유형입니다.


6
+1 당신이 나를 이겼습니다! 해시 알고리즘 정렬 요소를 버킷에 정렬하면 큰 컬렉션을 더 빨리 검색하고 정렬 할 수 있습니다. 특정 항목에 대해 20 개의 항목을 검색하려는 경우 비효율적 인 방법은 ID로 한 번에 하나씩 검색하는 것입니다. 컬렉션에서 동일한 해시가있는 항목을 버킷 에 보관하는 것이 더 좋은 방법 이므로 전체 목록이 아닌 버킷에서 몇 개의 항목 만 검색하면됩니다.
— maple_shaft

@maple_shaft-해싱에서 버킷을 사용하는 것에 대한 좋은 지적. 나는 그것이 질문과 관련이 있다고 생각하지 않았다 :)
— Oded

0

아마도 '비트 버킷'에 대한 참조 일 것입니다. 그것은 바이트에서 시프트 된 비트가 왼쪽 및 오른쪽 비트 시프트로 진행되는 곳입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.