Tema: Re: rekursija
Autorius: rembo2
Data: 2010-03-10 05:30:15
1. keist mastymą
2. keist mastymą
3. išsiplaut galvą ir nedaryti to ką darai taip kaip darai su PHP - nes reikia visiškai nesigaudyti web'e ir tame kaip viskas pradedant httpd,
    baigiant browserio dom'parseriu veikia ir kaip tai yra susiję.


Galimi variantai.
a) Normali duomenų struktūra, kurios dėl savo susigalvotų idiotiškų priežąsčių nebandai visos iškarto pakrauti į serverside ram'ą.
	Pav.: Kitokia duomenų bazės lentelės struktūra, stored procedūros duodančios iškarto tau reikalingą atsakymą,
	ar duomenų traukimas tik prireikus ir tik tokiais kiekiais kokiais ištikrųjų reikia.
	Bet kokiu atveju yra naiviai idiotiška su php bėgioti po tokius masyvus (turiu omeny tavo minėtus 6000 hierachiškai susijusius elementus) ir dar su rekursija.

b) gal tu kokių skalbimo miltelių (savo galvai) pavadinimu ajax "nusipirk" - atiduok tuos duomenis dalimis (tik reikalingomis tam kartui) į client side,
    ir ten išpiešinėk pagal poreikį.
	[įsivaizduok - useris click!; requestas su vienu 'id' į srv bakst;
	responce su gabaleliu json, xml, ar kokiu html <ul><li> opa atgal.;
	tau tik nupiešt eilinę šakelę tereikia, o ne visą medį parsinti.


c) Galų gale pasinaudok metodu iš matematikos pasaulio, įterptųjų aibių algoritmą, saugok hierarchinę struktūrą plokščiai.
    (tiesa šis metodas lėtokas rašymui, šakos įterpimui - tačiau žaibiškas spausdinimui, kelio radimui, vaikų suskaičiavimui
     - viską dažniausiai galima padaryti vienu paprastu queriu). Ir nesaugok tu tų savo duomenų RAM'e, dėk į DB ir pjaustyk queriais.
    Nebent, žinoma esi pasiryžęs peršokti ant pliko C ir žaisti su rodyklėmis ir dinaminiais sąrašais.
    Tuomet prašom - realizuok savo DB engine - išrask dar vieną dviratį, galėsi pašūkauti nuo bačkos.



d) Kvaila išdykusi mintis - jei jau labai "croots" nori būti, tu gal pasvarstyk apie kokį xml'ą ir jo parsinimą serverside
    su kuriuo nors iš xml libų (tarkim xalan, xerces ar pan..) ir xslt transformacijomis. Čia jei jau visai resursai nesvarbūs.
    Bet bent jau bus mazohistiškai fun ir protingiau tai ką darai atrodys.



P.S. nepyk už ironiją. Tiesiog klausimas teigiantis, kad turi problemą yra kvailas,
nes ta problema yra paties susikurta netinkamo suvokimo ir žinių trūkumo dėka.



> anyway, savishvietos tikslais noriu sukurti dinamini kataloga ir jo valdyma.
> galbut isvis reiketu nenaudoti rekursijos, o imtis kitokiu priemoniu? jeigu
> taip, kokia kryptimi ieskoti sprendimo?