Adobe Work & Play – DEV 1 Problema 5
Posted by donac on mai 14, 2011
Filed Under Adobiști, Distracție, Echipa, Educație, Evenimente | 17 Comments
Folosind una din bibliotecile disponibile la http://www.flickr.com/services/api/, scrieți un program care să afișeze cele mai populare 10 poze făcute în cele mai populare 5 locații dintr-o dată specificată ca parametru de intrare pt program. Pentru fiecare poză afișați titlul și url-ul.
Barem:
- 6p. Readme/ API + comentarii alegere/ Folosire API (cel putin un request functional);
- 4p. Functionalitatea problemei;
- +/- 1p Coding style;
- Punctajul este intre 0-10.
Soluție:
Nu există.
De ce?
Problema din enunț este de tip “open question” , iar API-ul de Flickr nu e suficient pentru a găsi un răspuns. As simple as that.
Ce vrem să vedem din codul trimis este modalitatea de abordare a problemei și inventivitatea voastră.
Ca guideline pentru stilul de codare, am adaugat mai jos o mică implementare în Java în care se utilizează biblioteca FlickrJ.
Rezultatul execuției acestei funcții este afișarea primelor 10 poze ca “interestingness” din fiecare din primele 5 locații din locații de top dintr-o anumită dată (adică 50 de poze în total). Pentru filtrul de căutare se poate utiliza și relevance în loc de interestingness, deci e ok și o astfel de implementare.
public void showActivity() throws FlickrException, IOException, SAXException { SearchParameters searchParameters = new SearchParameters(); // create a date 2 months ago Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH,-2); Date lastDate = calendar.getTime(); // get top places by location on the specified date PlacesList topPlaces = f.getPlacesInterface().getTopPlacesList(7,lastDate,null,null); for (int i=0;i<5;i++){ Place place = (Place)topPlaces.get(i); System.out.println(place.getWoeId()+" - "+place.getName()); // set search params to woe id, sort by interestingness,on max date searchParameters.setWoeId(place.getWoeId()); searchParameters.setSort(SearchParameters.INTERESTINGNESS_DESC); searchParameters.setMaxTakenDate(lastDate); // get photos for location with search params and print some info PhotoList fotosForLocation = f.getPhotosInterface().search(searchParameters,20,1); for(int j=0;j<fotosForLocation.size();j++){ Photo foto = (Photo)fotosForLocation.get(j); System.out.println(foto.getTitle()+ " "+foto.getUrl()+" "+foto.getComments()); } // seems like i have to throttle this try{ Thread.sleep(2000); } catch (InterruptedException e){ } } }
Comments
17 Responses to “Adobe Work & Play – DEV 1 Problema 5”
Leave a Reply


[...] Problema 5 [...]
Pot folosi API pt orice limbaj sau doar C++/C/Python/Java? De exemplu PHP?
Poti folosi API pentru limbajul care iti e mai confortabil.
Da, vorbim si PHP
Daca am inteles bine, trebuie afisate datele pentru 50 de imagini? Sau 10 in total, din toate cele 5 locatii stabilite?
Si inca o intrebare, daca se poate, “popular” se refera la conceptul de “interesting” sau la altceva?
pe mine problema asta m-a doborat, de 4 ore caut si incerc, dar nu reusesc sa imi scoata “cele mai populare 10 poze făcute în cele mai populare 5 locații”
m-am lovit si eu de interestingness, dar cand zice popular se refera la favourite sau views.
interesting: “The photos you see here are a random selection of some of the interesting things discovered on Flickr “
@Alexandru
10 poze care sunt mai populare in cele 5 locatii. Poate fi de ex poza 1 din locatia 5, poza 2 din locatia 3, etc.
Popularitatea e data de numarul de vizualizari.
@K daca ne trimiti o intrebare, raspundem
Deci pana la urma doar 10 poze in total ? EU am facut in modul urmator: am adunat 5 locatii populare (primele 5), si din fiecare am ales primele 10 poze populare.
Deci daca ar fi doar 10 poze in total, eu nu inteleg de ce s-a specificat 5 zone populare. Daca poza populara Y este aflata in zona X, e logic ca zona X este populara din cauza pozei Y.
@Razvan
Ca sa facem un top 10 absolut
Okey, deci primele 10 poze, nu ma intereseaza daca o zona are 3 poze populare si alta niciuna (asta insemnand 4 zone distincte).
Sa speram ca am inteles bine de data asta
.
@Razvan
Primele 10 poze din primele 5 zone
ce API ati folosit cand ati gandit problema?
@K solutiile sunt afisate maine dimineata
Si popularitatea unei locatii de ce e data?
@iuliux
Numarul de vizualizari
O rezolvare mica, se poate?
@iuliux
Gata, se vede bine?