Google Trends

12 Apr 2006 In: razno

Google ne prestaje da me oduševljava sa novim i zanimljivim servisima. Ovog puta radi se o servisu Google Trends koji analizira broj upita za određenim pojmom koji su izvršeni na Google-ovom sajtu u određenom vremenu. Rezultat analize dobijate grafički, a pored analize pretraživanja tu je i grafik koji prikazuje frekvenciju pojavljivanja unetog pojma u vestima. Impresivno je posmatrati šta se dešava kada unesete dva ili više pojmova… Ja sam ovom prilikom uneo Imena Zidana i Ronaldinja i evo šta sam dobio.

Nije loše za neke analize, naročito što su špicevi u pretragama pojašnjeni vestima koje su vezane za dati pojam. U svakom slučaju probajte…

Template patern

7 Apr 2006 In: Programiranje

Template patern se koristi kada uočite da istim algoritmom možete rešiti različite specifične probleme. Template patern znači definiše korake u algoritmu i omogućava podklasama da obezbede implementaciju za jedan ili više koraka.

Template Method patern definiše skelet algoritma u metodi, prenoseći odgovornost za određene korake podklasama. Template Method dozvoljava podklasama da redefinišu korake koji se razlikuju u algoritmu bez izmene strukture algoritma.

Template patern se zasniva na jednoj apstraktnoj klasi u kojoj postoji Template metoda u okviru koje su definisani koraci algoritma. Može postojati veliki broj konkretnih klasa koje nasledjuju ovu apstraktnu klasu i koje implementiraju njene apstraktne metode, dajuću na taj način već definisanom alogritmu novu funkcionalnost.

U okviru Template paterna uvodi se jos jedan princip dobrog dizajna:

Holivudski princip : ne zovite Vi nas, već ćemo mi Vas!

Suština Holivudskog principa je da se obezbedi da komponente “višeg nivoa” ne zavise od komponenti na nižem nivou. Ovo se ostvaruje tako što komponenta na višem nivou može da koristi usluge komponenti nižeg nivoa ali samo kada za tim postoji potreba. Takođe dobro je obezbediti da komponente nižeg nivoa nikada direktno ne pozivaju komponentu višeg nivoa.

Komponenta “višeg nivoa” kod Template paterna je apstraktna klasa odnosno metoda u kojoj je definisan algoritam. Konkretne klase i njihove metode su te koje će biti pozivane po potrebi kada aloritam za tim bude imao potrebu.

Holivudski princip pored Template paterna koriste i Observer i Factory patern.

Keširanje stranica iz PHP-a

13 Mar 2006 In: PHP, Programiranje

Koristeći objektno orjentisani pristup za razvoj CMS sistema koji koristimo u firmi SDStudio, umnogome se olakšalo održavanje koda i povećala čitljivost. Medjutim performanse su te koje trpe. Jednostavno praksa je pokazala da se objektno orjentisani kod ipak sporije izvršava od istog koda koji je napisan proceduralno. Proceduralni kod je sada prevazidjen iako ga PHP 4.x koristi ipak je sasvim moguće pomoću i ove starije verzije pisati aplikacije u OOP maniru. Razlike koje se ostvarju u čistoći koda su ogromne. Još kada se svemu doda ORM (Object Relational Mapper), zatim paterni, ali i Templejt sistem (Smarty) produktivnost drastično raste.

Ali uvek postoji trade off, sva ta lakoća i uživanje koje se ostvaruje sa OOP i skoro potpuna rasterećenost da se pišu bilo kakvi SQL upiti osim onih malo složenijih (sa INNER i LEFT JOIN-ovima, ostvarena pomoću ORM-a) došao sam u situaciju da ipak moram optimizovati izvršenje koda ili bar naći način da keširam već generisane stranice na serveru i da ih kao takve (ako se u medjuvremenu nisu menjale) šaljem korisnicima.

 

Keš predstavlja način čuvanja određenih podataka sa ciljem da se poveća dostupnost i brzina pristupa tim podacima.

 

Keširanje php stranica

Ideja koja je već odavno prisutna je da se keširaju stranice koje se inače dinamički generišu svakim pozivom. šta ovo tačno znači. Pa pozivom odredjene stranice koja ima u sebi uvezan dinamički sadržaj, poziva se php kod koji se zatim izvršava. U okviru ovog izvršenja može se desiti da bude uključeno više desetina raznih drugih php fajlova, sa funkcijama, definicijama klasa itd. Ne smemo nikako zanemariti i SQL upite koji se izvršavaju a kojih može biti takodje jako puno, a samo da bi se jedna jedina stranica izgenerisala. Obzirom da će se sadržaj menjati ipak relativno retko, ukoliko se radi o nekom običnom sajtu … nije potrebno da se svakim pozivom izvršava gomila komplikovanog PHP i SQL koda, već je dovoljno dobro da snimimo izgenerisani dinamički sadržaj stranice u neki fajl (isto kao statične html stranice) i da to pošaljemo direktno klijentu bez ikakve dodatne obrade na serveru. Na ovaj način klijent će imati poboljšan user-experience, a server će biti rasterećen nepotrebne obrade.

Kako još uvek nisam implementirao sistem za keširanje za CMS sistem koji razvijam odamah želim da napomenem da ovde nećete naći tutorial kako da to uradite. Ovde će biti postavljeno samo razmatranje načina kako da se keširanje što efikasnije primeni na nečemu što već razvijate.

Cache Lite

Moj izbor, gledajući dokumentaciju i sajtove koji se bave ovom tematikom je pao na Cache_Lite koji predstavlja deo PEAR bibloteke.Cache_Lite je optimizovan za sajtove sa velikim obimom saobraćaja i veoma je brz ali i siguran jer podržava i zaključavanje fajlova.

Problem koji vidim da će možda nastati vezan je za integraciju cache_lite-a sa Smarty template engine-om. Više o svemu kada implementiram keširanje u CMS.

Direktno sa twitter-a

Pratite me na twitteru! Eh da imam para za ovo.... RT prodajem iPad 32 GB 3G + WiFi + camera connection kit, nov neotpakovan, donet iz USA - 750 EUR


Slamarica.com

Ukoliko imate probleme sa vođenjem vaših kućnih i ličnih finansija, probajte Slamaricu ona to radi odlično.  

Brzo i kratko…

Nike+ Running & GS
Nekoliko korisnih informacija za sve koji koriste Nike+ sistem. FAQ za pojmove koji se pojavljuju kroz sistem. A ako se spremate kao i ja za 5K uz Jay-a, obavezno pogledajte i njegove savete vezane za poboljšanje opšte snage (GS – general strength). (1)

Novo takmičenje VIP Izazov 2.0
Nakon relativno uspešnog (bar za učesnike) takmičenja u programiranju aplikacija za Android platformu, VIP se odlučio da ponovi oprobani recept i da sa fondom od 22.000 EUR namami talentovane programere da se takmiče u nekoliko novih kategorija. Posebno interesantna kategorija, barem meni je ona za unapređenje aplikacije iz prethodnog kruga takmičenja. Android Slamarica dobiće face lift, i još nekolko extremno dobrih poboljšanja. VIP Android izazov 2.0 (5)

Besplatna obuka iz knjigovodstva
Veliki broj korisnih članaka na ovom blogu organizovani su u oblik lekcija iz knjigovodstva. Kako se računa PDV, kako se oporezuju paušalci i šta su obavezni elementi fakture su samo neki od naslova. Pravac na blog. (1)

JTwitter
JTwitter je Java bibilioteka za Andorid platformu koja se veoma lako može uključiti u svaki projekat. Adresa projekta je : http://www.winterwell.com/software/jtwitter.php (0)

FBRocket
Facebook framework za Android platformu FBRocket: http://xeomax.net/fbrocket/, iako u alfa verziji već obećava. (0)

zxing
Na linku http://code.google.com/p/zxing/ može se pronaći biblioteka za procesiranje bar kod informacija. Biblioteka je pisana za Android platformu u Java programskom jeziku. (0)

Slipstream SQL Server 2008
Detaljno uputstvo kako da napravite slipstream instalaciju za SQL Server 2008. Nadam se da će ovo rešiti problem instalacije na Win7-mici. link (1)

Online raketne prezentacije
Pogledajte obavezno sta sve može da se izvuče iz browsera, pomoću ovog zanimljivog servisa za pravljenje online prezentacija. www.SlideRocket.com (0)

Certified Scrum Master - Kurs
U organizaciji prof. Siniše Vlajića na FON-u biće organizovan kurs za sertifikovane SCRUM mastere. Predavači su eminentni stručnjaci iz ove oblasti: James Coplien, Dan Rawsthorne, Alan Cyment i Branislav Selić. Prijava još danas. Link (0)

Pretraga ikona
Milion puta potrebna mi je brzo ikonica za neki projekat.  Par linkova za pretragu i nalaženje velikog broja ikonica, IconLook, IconLet, IconFinder. (0)

Besplatni časopisi za sve
Odličan servis sa gomilom aktuelnog materijala… Skoro po pravilu časopisi su nosioci novih ideja i trendova a knjige to kasnije sve isprate… budite u toku sa ISSUU.COM - by Nemke. (0)

PHP & ORM
Natrčao sam slučajno na zanimljiv ORM frame za PHP Doctrine ORM . Kada bude bilo više vremena možda vredi pogledati i maznuti neku dobru ideju, iako na prvi pogled deluje da su ga malo zakomplikovali. (0)

Mini postovi
Obicno nemam vremena da pisem duze postove ali ovo ce posluziti u slucaju da se nadje nesto zanimljivo, verovatno link ili neki kratak komentar… (0)