fejlesztés - 2007 december - 8 megfelelő bejegyzés

Mutass mindent

Jelöld be, hogy főbb mely kategóriákat akarod olvasni, vagy ha csak egyet: kattints a nevére.


Haszprus

Kommentkezelési újítások

©   Haszprus   |   fejlesztés

Nem nagy cucc, de ha már Mefi rákérdezett az üzenőfalon, akkor beszámolok róla.

A friss témák menüje kicsit megváltozott: színeződnek a dolgok aszerint, hogy hozzászóltál-e az adott topichoz, és hogy te voltál-e az adott topicban az utolsó.

Ha nem szólsz hozzá egy topichoz, azt nem szeretjük, ezért optikailag büntetünk és lelki terrort alkalmazunk:

Ellenben ha hozzászólsz, azt szeretjük és megköszönjük:

Mindehhez be kell jelentkezned.

Haszprus

Mátrix

©   Haszprus   |   fejlesztés mátrix

Azt találtam ki, hogy a munkahelyi bejegyzések a mátrix címke alatt fognak futni, legalábbis egy darabig. (A címke eddig is létezett, csak más néven, és nem volt publikus. Bizonyos címkéket ugyanis nem lát mindenki.)

Haszprus

Mission one completed (XML parser optimalizáció)

©   Haszprus   |   fejlesztés mátrix php xml

A cégnél az első feladatom egy olyan script optimalizálása volt, amely 12-től 30 vagy akár még több MB-ig terjedő XML állományok alapján hajt végre nagyságrendileg 100-500e egymással összefüggő SQL insertet (értsd: mély és széles xml-fa).

Az eredeti progi egy 30 megás XML-lel kb. 2 perc 40 másodpercnyi munkát adott az apache.exe-nek (ennyit foglalt a prociból tehát az apache), miközben a memóriahasználat az alapjáratú 27 MB-ról felment 558 MB-ra. A program teljes futási ideje 383 másodperc volt.

Elég sok időt eltöltöttem azzal, hogy egyrészt a program logikáját megértsem, másrészt utána nézzek, hogy vajon van-e valami hatékonyabb XML parser. Miután nem találtam a használt megoldásnál jobbat (tekintve hogy az se a teljes dokumentumfát tárolta a memóriában), már majdnem ott kötöttem ki, hogy ezt bizony nem lehet (vagy én nem tudom) optimalizálni (bár persze kételkedtem), ehelyett kicsit kitesztelgettem, hogy hogyan is működik a php-ben a változók és objektumok megsemmisítése (ld. __destruct), és a megfelelő stratégiai helyen mért csapás eredményeként a program most nem növeli az apache alapjáratú memóriafoglalását egy megával sem (Érdekes módon az unset nem segített.)

Azaz az én verzióm a 30 megás XML-lel ugyanúgy 2 perc 40 másodpercig tekeri az apache.exe-t, azonban összesen csak 358 másodpercig fut (fél perc nyeremény itt, miközben sebességre még nem is optimalizáltam), és ami a lényeg, hogy 27-ről nem 558 MB-ra nyomja fel az apache memóriahasználatát, hanem mindössze 29-re. Nem kell mondani, hogy ez mennyire előnyös egy olyan környezetben, ahol más dolgok is futnak (ti. ez egy webszerver).

Amikor nekiálltam a dolognak, egy nagyságrendi változást akartam volna elérni, aztán ahogy beleástam magam, megelégedtem volna akár egy memóriafelezéssel is, végül már majdnem teljesen feladtam, de arra álmomban sem gondoltam, hogy sikerül a memóriahasználatot úgy ahogy van megszűntetni Ettől igen jó kedvem lett

Rulz.

Haszprus

133 komment - thx!

©   Haszprus   |   fejlesztés

133 komment! Pörgős hetünk volt. Igaz, ez nem mind látható, de azért sokminden ment publikusan is Risztekpa mindenkibe! Ja és köszönöm is a kommenteket, a héten több olyan bejegyzés is volt, ahol értékes hozzászólások érkeztek, és sokat segítettetek! Thx!

Hiszek abban, hogy itt egy elég frankó olvasóközönség alakult ki, amire/akikre nyugodtan büszke lehetek.

Haszprus

Képajánló

©   Haszprus   |   adatbányászat bme fejlesztés

Bizonyos esetekben egész jól műxik. Időm nem volt alaposan kitesztelni meg ilyenek. Most ez nekem két kreditért oké volt, ennyi. Ha érdekel, itt megnézheted [update 2024-03-02: csak megnézhetted], hogy személy szerint neked mit ajánl.

Nagyjából azt érdemes figyelni, hogy az eddig letöltött képeid függvényében vajon úgy érzed-e, hogy nagyjából releváns képeket ajánl, tehát hasonló jellegűeket. Például ha tűzijátékos fotókat néztél, akkor jóeséllyel látsz további tűzijátékosokat. Ha külföldi fotókat néztél, jóeséllyel látsz további külföldi fotókat. Legalábbis ez volt a kiindulási alapfeltevésem, aztán egyáltalán nem biztos, hogy a gyakorlat ezt a feltevésemet igazolja. Ugyanis a képeket nem hasonlóság alapján ajánlja, hanem hozzád hasonló ízlésű felhasználók képnézegetési szokásai alapján. Azaz az ajánlott képek nem feltétlen kapcsolódnak egymáshoz. De azért megfigyelhető egy-két dolog, amibe most nem megyek bele…

Ha csak két képet látsz, az azt jelenti, hogy nem tud ajánlani neked a rendszer semmit. Valószínűleg nem tudja hogy ki vagy (pl. mert törlöd a cookie-kat), vagy még nem töltöttél le képet. Bizonyos bugok is vannak a userazonosítás körül, amiket még nem debugoltam (és egy darabig nem is fogom, mert nem érek rá).

  • Képajánló a Haszprus überblogon

2024. már. 02. 14:03 kivezettem ezt a funkciót. Magyarul töröltem.

Haszprus

Referer hack

©   Haszprus   |   fejlesztés javascript php

Ma az adminfelületen a logok közé benézve a következő ablak villant fel:

Gondoltam biztos valamelyik firefox extension bugzik. De nem. Valaki egy lapletöltésnél user agentnek azt bírta megadni, hogy

<script>alert(1)</script>

Ofkorsz a user agentek biztonságosan kerülnek az adatbázisba egy $db->safe_string() konverzión keresztül, mert nehogymár valaki ott kezdjen sql-t injektálni, de arra még nem gondoltam, hogy valaki html-t vagy js-t fog becsempészni így az oldalra. Trükkös.