[python] OT: překlad cache, hash

Petr Přikryl prikryl na atlas.cz
Čtvrtek Květen 6 13:56:15 CEST 2010


Galloth
>Hash function se do cestiny preklada jako rozptylovaci funkce. Nedavno
>jsem si ale delal nejake experimenty na google a zjistil jsem, ze
>nejcasteji se proste pise hashovaci funkce, coz i mne prijde rozumne.

Ano. Ten pojem je OK, ale to, co potřebuju, je to trošku něco jiného.
Pojem rozptylovací funkce se používá v souvislosti
s vyhledávacími tabulkami (hash table), kde se snažíme
o rovnoměrné rozptýlení hodnot do celočíselného intervalu.

Tady jde spíš o to, že se z velkého vzorku dat vyrobí malý 
příznakový vzorek, podle kterého se dá identifikovat ten velký.
V tomto smyslu nemusí být (a nebývá) hash hodnota celočíselná.
V takových souvislostech ale ztrácí smysl pojem rozptylovací funkce.

Svůj pohled, který s pojmem "rozptylovací funkce" souvisí, jsem kdysi 
vyjádřil tady http://www.skil.cz/python/cztuttrn.html#Pdata_hash
Ale například u HTTP protokolu se "hash" dokumentu používá
jako příznak konkrétního obsahu dokumentu. Je to trošku něco
jiného. Nemusí to být hodnota "kvalitně rozptýlená". Musí to být 
hodnota, která je pokud možno 1 : 1 přiřaditelná k řetězci, 
z kterého vznikla. Jsou na ni tedy jiné nároky. Na rozdíl od
vyhledávacích tabulek nechceme vůbec připustit možnosti
kolize (pokud možno žádná synonyma).

Dá se to sice různě opsat, ale je to natolik frekventované
a specifické slovo, že se pak stejně za opis musí napsat
do závorky "hash". 

O "cache" to platí ještě víc (ještě frekventovanější) -- alespoň 
v tom, co překládám.
 
>U cache moc nevim, ale nevim proc by se u HTTP protokolu take nemohlo
>pouzit vyrovnavaci pamet, funguje to preci uplne stejne jako v tom HW.
>Kdyz mate v Hardware viceprocesorovy system, tak vyrovnavaci pamet
>musi zajistit , zda obsahuje aktualni data, coz je presne to same, co
>popisujete u HTTP, nebo ne?
>
>Princip vyrovnavaci pameti spociva v tom, ze je rychlejsi nez vlastni
>zdroj a pouzije se tedy vzdy, kdyz obsahuje platna data.

Ano. Asi je to úplně stejné (z abstraktního hlediska). Používání
je trochu komplikovanější, než u hardware (složitější pravidla),
ale principiálně to tak je.

Problém je, jak rozumně překládat třeba caching (jako činnost),
caching headers (jako relativně stručné označení něčeho
konkrétního).

Každopádně díky za příspěvek,
     Petr
 


Petr Přikryl
>>
>> Co to je cache a hash ví (aspoň přibližně) každý, kdo
>> trochu k počítačům čuchnul.  Není to problém chápat,
>> není problém to používat v hovoru "keš", "heš". Problém
>> je rozlišit folklór a slang od něčeho, co snese papír
>> knížky.
>>
>> hash -- ve smyslu speciální hodnoty, která vzniká
>>   jako "příznak" zpracovaného obsahu.
>>
>>   (Příbuzné přejaté slovo "hašé" -- sekané maso...)
>>
>> cache -- vyrovnávací paměť (spíš u hardware),
>>   ale také mechanismus použití obsahu (rozhodnutí,
>>   kdy použít a kdy ne, kdy získat novou hodnotu
>>   ze zdroje... ve smyslu funkce HTTP protokolu, např.)
>>
>> Teď ta otázka...  Jak ty pojmy psát česky? Kde,
>> při jakých příležitostech, ... jste nějaké české pokusy
>> viděli?
>>
>> Není to věc logiky. Chce to sebrané zkušenosti
>> a braingstorming (tj. klidně i blbosti ;)


Další informace o konferenci Python