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


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.