Un program de indexare (web crawler/web spider) este un program sau un script automatizat care folosește o structură hyperlink a web-ului pentru a indexa paginile și conținutul într-o manieră metodică. Ne doream să scriem o astfel de aplicație de la 0 pentru a învăța lucruri noi.
Dacă nu ați auzit de Java, e bine de știut că este un limbaj de programare foarte popular. Specificațiile limbajului sunt libere și le puteți găsi în cartea The Java Language Specification, Third Edition. Am menționat acest aspect pentru că este important de înțeles că are cel puțin două implementări: una liberă (openjdk) și una proprietară. Pentru dezvoltare și testare noi am folosit openjdk.
Voiam să scriem un program foarte simplu care scoate poze de profil ale utilizatorilor unei rețele sociale, pornind de la un utilizator inițial, "sămânță" (seed).
Pune în coadă seed user
while (Nu am ajuns la depășit limita de poze salvate și coada este nevidă)
{
Extrage din coadă un utilizator
Salvează poza de profil
Află lista de prieteni ai acestui utilizator, printr-o cerere de tip REST
foreach (prieten în lista de prieteni)
Pune în coadă prieten, dacă nu i-am salvat deja poza
}
Pentru că putem implementa foarte rapid algoritmul de mai sus; suportul pentru comunicarea pe rețea cu serverul, prin REST este nativă (inclusă în limbaj) și există biblioteci pentru parsarea XML-ului primit de la server. Astfel codul rezultat, gheare, nu măsoară mai mult de 150 de linii.
Java este o platformă și codul Java este portabil 100%, inclusiv pe telefoane mobile. După părerea mea, numeroasele biblioteci libere sunt principalul motiv pentru care Java este atât de popular. O listă sumară:
Java se ocupă de managementul memoriei, printr-un mecanism de colectare a resurselor ocupate nefolosite (garbage collector), și aplicația crăpa dacă nu-i dădeam suficientă memorie: java -Xmx2048M Gheare.
Foarte multe :-). Ruby și Python sunt doar câteva din numeroasele limbaje în care putem fi productivi.
În mod cert, C# cu .NET este cea mai proprietară alternativă. Chiar nu vreau să folosesc o interfață de programare despre care nu pot afla cum este implementată. E ca și când ai folosi o mașină și nu poți umbla sub capota ei.

Ceata organizează periodic ateliere de programare pe diverse tehnologii. Scopul acestor hacatoane este familiarizarea cu ultimele tehnologii și îmbunătățirea modului în care lucrăm în echipă. În acest articol am descris ce-am reușit să creăm în primul atelier, folosind Java și bibliotecile libere care extind acest limbaj.
Cam atât despre Java, dacă vreți să aflați mai multe intrați pe pagina atelierelor de programare. Așteptăm comentariile și sugestiile voastre, precum și idei pe care să le punem în practică la următorul atelier.
Adaugă comentariu nou