Võtke ühendust toega

Vastame e-postiga, tavaliselt kahe päeva jooksul.

Väärkasutuse vältimiseks kontrollib seda saadetist Google reCAPTCHA. Seejuures edastatakse andmeid Googlele. Skript laaditakse alles selle vormi avamisel.

← Kõik postitused

Mida loenduri kustutamine tegelikult puudutab

Sisust ja selle ülevaatamisest

Selles artiklis

Loenduri kustutamine tühjendab siin 33 tabelit. Eile tühjendas see 25.

Kaheksa tabelit, mis jäid välja, loodi kõik päev varem, vahemikus 11:10 hommikul kuni 15:10 pärastlõunal.

33 tabelit hoiab midagi loenduri kohta 8 neist ei tühjendatud – kõik loodi päev varem neis kaheksas oli kokku 4 840 rida täna lisatud tähestikulisse kohta, mitte lõppu 25 orbrida teistes tabelites leiti ja eemaldati

Kuidas kustutamine töötab

Omanik saab oma loenduri kustutada. Selleks on vaja POST-päringut, omaniku tunnust ja käsitsi sisse trükitud loenduri numbrit, sest tagasivõtmist ei ole. Midagi ei panda kõrvale: varukoopia oleks just vastupidine sellele, mida taheti, ja ekspordilingid asuvad nupu kohal neile, kes koopiat soovivad.

Seejärel tühjendatakse tabelite loend ühes tehingus, põhitabel viimasena, ja arhiivi lisatakse kustutusmärge, et seda numbrit ei saaks kunagi kellelegi teisele anda. Kui mõni osa ebaõnnestub, keritakse kõik tagasi. Mitte midagi kustutamata on parem kui pooleldi kustutatud.

Selle loendi kohal failis on järgmine kommentaar:

„Iga tabel, mis teab selle loenduri kohta midagi. Loendina, mitte koodi laiali pillutatuna: mis siit puudub, jääb orbreana alles ja keegi ei märka.“

Kommentaar kirjeldas lünka päev enne, kui see tekkis

Eile tekkis uue funktsiooni jaoks kuus uut tabelit – lehel veedetud aeg, kerimissügavus, väljumislehed – ning veel kaks muud. Vahemikus 11:10 kuni 15:10.

Kustutusloendit muudeti samal päeval, et lisada üks teine uus tabel. Need kaheksa tulid pärast seda ja loend enam ei liikunud. Nii jäi ühe pärastlõuna jooksul loenduri kustutamisel maha 4 840 rida käitumisandmeid, jaotatuna kaheksa tabeli vahel. Lünk leiti järgmisel päeval ja suleti; see, mida see paljastas, oli, et loend vajas täielikuna püsimiseks midagi muud peale mälu.

See ei ole lugu hooletusest. Keegi kirjutas loendi, mõistis täpselt, miks see on loend, kirjutas üles, mis juhtub, kui see maha jääb, ja uuendas seda samal päeval ühe tabeli jaoks. Ja ometi jäi see maha, sest kahe asja sünkroonis hoidmine meeldejätmise abil on asi, mida inimesed teevad usaldusväärselt kuni selle pärastlõunani, kui nad seda ei tee.

Parandus ja teine parandus

Kaheksa nime on nüüd loendis. Need lisati tähestikulistesse kohtadesse, mitte lõppu, sest sorteeritud loend teeb lünga nähtavaks ja ainult lõppu lisatav loend mitte.

See on väike parandus. Oluline on skript, mis küsib andmebaasilt, millised tabelid kannavad loenduri numbrit, loeb loendi välja lähtefailist, mitte ei korda seda, ja võrdleb. Igaüks, kes tabeli lisab, käivitab selle ühe korra. Seda ei saa unustada nii nagu loendit, sest see ei salvesta midagi – see tuletab vastuse skeemist iga kord uuesti.

Esimesel käivitamisel leidis see veel midagi: 25 rida kaheksas täiendavas tabelis, mille loenduri number ei ole ei elavas tabelis ega arhiivis. Mitte kustutatud loendurid – need jätavad kustutusmärke. Numbrid, mis ei kuulu üldse mitte millelegi, enamik neist ilmsed testnumbrid ajast enne arhiivikontrolli olemasolu. Need kirjutati veebijuurkataloogist väljapoole jäävasse faili ja eemaldati seejärel.

Mida sellest üldistada

Iga loend, mida tuleb millegi muuga sünkroonis hoida, jääb varem või hiljem sünkroonist välja ja lünk on nähtamatu, sest loend, millest puudub kirje, näeb täpselt samasugune välja nagu täielik loend.

Kaitse ei ole distsipliin. See on ühe poole tuletamine teisest ja kontroll, et need on kooskõlas – ning selle kontrolli käivitamine hetkel, kui keegi asja lisab, mitte hetkel, kui keegi hakkab mõtlema.

Loendi kohal olev kommentaar oli kõiges õige peale ühe sõna. Seal oli kirjas, et keegi ei märka. Keegi märkas, päev hiljem, sest ta otsis skriptiga, mitte mäluga.

Reklaam