Pēteris Caune, jaunumi ([info]cu) rakstīja,
@ 2006-11-16 17:00:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
***

Šodien es apglabāju vienu mīļu koda gabalu. Tas man ir šausmīgi smagi, es viņu apraudu tā kā bērēs māmuļa pēdējo dēlu. Vai arī kā saimnieks, kam jānošauj savu veco slimo suni, kurš ar bēdīgām acīm raugās pretī un gluži labi saprot, kas nu būs. Tas koda gabals bija varena optimizācija datu ielasīšanai tabulā. Es viņu nosaucu par LazyLoader un viņam tika dots xml dokuments, ko jāattēlo kā tabulu. Viņš nevis uzbūvēja uzreiz visu tabulu, bet no xml ielasīja tikai tik daudz, cik nepieciešams, lai ekrānā redzamajā tabulas daļā būtu ko rādīt. Rullējot (scroll) tabulu, dati tika ielasīti “on the fly”, un tas notika gana ātri, lai rullētos bez ķeršanās. Iepriekš visi dati tika ielādēti vienā paņēmienā, un jau pie dažiem simtiem rindiņu tas varēja prasīt ap sekundi (turklāt Firefox uz to brīdi aizrijās, procesors aiziet uz 100%). Ar LazyLoader tabula parādījās vienā mirklī, kaut tur būtu simttūkstoš rindiņu. Viss bija labi līdz Firefox 1.5.0.3. Šajā versijā Firefox/Mozilla izstrādātāji salaboja kaut kādu drošības problēmu un mans kods vairs nespēj strādāt. Un jau kādu laiku iznācis Firefox 2.0, un tāpat nekas nestrādā, un neizskatās, ka pārskatāmā nākotnē sāks strādāt. Tā nu dzēšu jauko LazyLoader ārā un taisu pa vecam – datu parādīšanai kokā atkal tiek ģenerēti simtiem DOM elementu. Ak, es vairs nevaru parakstīt, jo asaras apmiglojušas skatu un nekā uz monitora nevar saredzēt.



Neesi iežurnalējies. Iežurnalēties?