Släng.ee · 2026

Släng.ee

Eesti slängisõnastik: sõnad, mida mujalt sõnastikust ei leia.

Eesmärk

Eesti slängisõnastik pidi kolima vanalt ja killustunud platvormilt kiirele lehele, kus sõnu on lihtne otsida ja kuhu kõik saavad sõnu lisada. Aastate jooksul kogutud sõnad ja nende ajalugu ei tohtinud kaduma minna.

Tulemus numbrites

Mis muutus

5 919

kasutajate lisatud sõna

15

aastat kasutajate sisu (alates 2011)

679 377

nime keelunimekirjas, kontrollitakse ilma kogu nimekirja mällu laadimata

0

salvestatud IP-aadressi

Olukord

Släng.ee vajas uut WordPressi kujundust. Samal ajal tuli kolm väga erinevat allikat liita üheks sõnastikuks: EKI vana veebiarhiiv, Tartu Ülikooli 2025. aasta slängisõnastiku tabel ja käsitsi koostatud nimekirjad. Vanad kuupäevad, hääled ja vaatamiste arvud pidid alles jääma. Lisaks pidi leht jääma turvaliseks, sest kasutajate lisatud sõnad võivad puudutada päris inimesi.

Piirangud

  • Kolm väga erineva kujuga allikat (vana kodeeringuga veebileht, Google'i tabel ja käsitsi nimekirjad) tuli ühtlustada nii, et ajalugu ei kaoks.
  • Kasutajate lisatud sõnad ei tohi kunagi nimetada päris inimesi ega koole, ka mitte sõna sisse peidetuna.
  • Hääletamine ja vaatamiste loendamine pidid töötama ilma ühtegi IP-aadressi salvestamata.
  • Eesti tähed Õ, Ä, Ö, Ü, Š ja Ž ei tohtinud veebiaadressides muutuda tavalisteks tähtedeks O, A, U, S ja Z.

Lahendus

Kuidas lahendasin

Kolimine

Kolm eri allikat tuli liita üheks sõnastikuks nii, et midagi ei kaoks ega tuleks topelt.

Andmed koliti üle väikeste, 250-realiste osadena. Iga osa järel kontrolliti, et sisu on sama mis enne. Sama sõna mitmest allikast liideti üheks, ka siis, kui see oli veidi erinevalt kirjutatud. Iga kolimise tööriist tuli enne päris käivitust läbi proovida proovirežiimis, mis midagi ei muuda. Vanad kuupäevad, hääled ja vaatamiste arvud jäid alles.

Privaatsus

Kasutajate lisatud slängisõnad ei tohi kunagi nimetada päris inimest ega kooli.

Keelunimekirjas on 679 377 nime. Need on salvestatud SHA-256 räsidena, mitte loetava tekstina, ja nimekirjast otsitakse nii, et kogu 21,7 MB faili pole vaja kunagi mällu laadida. Lisaks on vana musta nimekirja 3589 kirjet, koolide nimekiri, käsitsi lisatud keelud ja 157 lubatud erandit. Kontroll ei lase end petta ka tavaliste trikkidega, nagu numbrid tähtede asemel, korduvad tähed või liitsõnad.

Kogukond

Hääletamine ja vaatamiste loendamine ei tohi kasutajaid jälgida ega nende IP-aadresse koguda.

Hääl jääb meelde allkirjastatud (HMAC) küpsisena kasutaja enda brauseris. Serverisse ei salvestata ühtegi IP-aadressi. Hääle muutmine on üks andmebaasi toiming, nii et kaks samaaegset klikki ei saa arvu sassi ajada, ja päringud peavad tulema lehelt endalt. Vaatamisi loetakse küpsisega, mis ei lase sama inimest 24 tunni jooksul kaks korda lugeda, ja kuni 50 sõna vaatamised saadetakse ühe päringuga, et server ei koormuks.

Turvalisus

Avatud sõnade lisamise vorm meelitab ligi rämpsu ja roboteid.

Vormis on nähtamatu lõksväli (honeypot), mida täidavad ainult robotid. Vorm peab olema lahti vähemalt 2 sekundit ja kõige rohkem 2 tundi. Ühelt saatjalt võetakse vastu kuni 3 sõna 10 minuti jooksul. Lisaks on pikkuse piirangud ja lukk, mis ei lase sama sõna kaks korda peaaegu samal hetkel lisada.

Eesti keel

WordPress muudab Eesti tähed Õ, Ä, Ö, Ü, Š ja Ž tavalisteks tähtedeks. Näiteks Õ- ja O-tähega algavate sõnade lehed oleksid läinud segamini.

Tähtede järgi sirvimise lehed töötavad eraldi loogikaga, mis hoiab Eesti tähed alles. „Juhuslik sõna” valib sõna eelnevalt valmis pandud nimekirjast, mida uuendatakse iga 12 tunni järel, sest suurest tabelist iga kord juhusliku rea otsimine oleks aeglane.

Tulemus

Släng.ee-s on nüüd 5919 kasutajate lisatud sõna ühes turvalises ja kiires WordPressi kujunduses, vanimad aastast 2011. Kasutajate privaatsus on kaitstud ilma ühtegi IP-aadressi salvestamata. Igal sõnal on otsingumootoritele mõeldud märgistus, mis ütleb, et tegu on sõnastiku sissekandega, ja vähese sisuga autorilehti otsingumootorid ei indekseeri.

Edasi

Järgmisena teen paremaks otsingu ja uute sõnade avastamise ning jälgin, et väike kõrvalpood ei teeks sõnastikku aeglasemaks.

Järgmine samm

Sinu projekt võiks olla järgmine