Dražesni pupoljci svibanjski

ostale male stvariphp

Nisam ljubitelj CZJ, ali imam sve Mučke koje su izašle. Kakve to veze ima sa zečevima? Nikakve. Naslov mi se učinio zgodnim...

Svibanj mi je najdraži mjesec u godini. Zato sam se i odabrao roditi u njemu. Tamo na kraju, kad je već ljeto opasno blizu pred vratima. Svibanj mi je ostao u dobrom sjećanju još od školskih dana jer se u tom mjesecu išlo na školski izlet. Nakon obavezne revolucionarne postaje obično bi išli na neko zanimljivije, neobvezujuće mjesto. I u ovom svibnju mi se smiješe izleti, neki i izvan granica Lijepe Naše. Ovaj produženi vikend namjeravao sam iskoristiti da poguram jedan veći i zavrtim jedan manji web projekt. Premalo je to bilo vremena. Za veći sam napravio dizajn, odlučio da ga neću povezivati sa starim kodom pa se trenutno nalazi u hladu najavne stranice. Manji projekt bi u boljim danima sklepao u par sati, ali nisam se ni stigao baviti s njim. Trebao bi se pojaviti tijekom tjedna. Ostatak dana danas sam iskoristio osmišljavajući mali xml template engine za php5. Zašto ne koristim nešto što je već gotovo? Pa nisam našao nešto što bi se mi dopalo. Pripišimo to i mojem hiru i mojim idejama kako bi jedno okruženje u php-u trebalo izgledati.

Eh da, ako vas zanima još jedno u nizu mnogih okruženja za php pogledajte Willowgarden. Meni se nije dopalo kad sam u početnoj datoteci vidio cijelu stranicu (a to nije bilo sve) require instrukcija. Valjda još pod dojmom Rasmusove radionice, samo sam zafrknuo nosom i izbrisao testni direktorij. To je smrt za performanse. Istina, stranice koje radim baš i nisu kritične po tom pitanju, ali ne volim pristup jedna klasa - jedna datoteka. Ne u php-u koji sve to učitava i interpretira. Takav pristup me je otjerao i od PHPTAL-a koji mi se na prvi pogled vrlo dopao.

Borja je dobio svojeg kritičara koji tvrdi da su domene najvažnije i da je ime važnije od forme i sadržaja. U komentaru sam napisao što mislim o tome. Čini mi se da je kod tog kritičara prisutan sindrom fahidiotizma kada vam se stvari s kojima se svakodnevno bavite čine puno značajnijima nego što to stvarno jesu. Ta predanost jednoj stvari i zatvaranje očiju naspram drugih zbivanja meni jednostavno nije moguće. Ja više volim ići u širinu nego potonuti u dubinu. Opinionmaster (HARD KAPITALIZAM blog), u reakciji na moje razočaranje što nije znao da je IBM prodao Lenovu svoju PC diviziju, tvrdi da njega zanima samo novac i ne zanimaju ga stvari koje svi znaju. Možda je to u njegovom svijetu ispravan stav, ali prije ili kasnije će mu se dogoditi da dođe maskiran u Batmana na nečiji sprovod jer nije znao ono što svi znaju. Slična je stvar s programerima koji programiraju samo u jednom jeziku, ne miču se od njega i misle da je on univerzalno rješenje. Raznolikosti su ono što nas čini bogatijima. Ne jednom sam nešto što sam naučio u jednom alatu primjenio u drugom. I druga stvar, ja sam uvijek za to da se izabere alat koji najbolje rješava problem.

Što da se radi s praznom flašom Balića? Iskoristite ju kao kučište za računalo.

Playboy ima Stock Picking Contest. Zanimljivo je da skoro svaka zečica odabrala Apple. Pogledajte kako stoje. One su započele s poslovanjem 3.1.2006. pa mojih virtualnih 5.11% i ne izgleda tako loše s obzirom na to da sam započeo tek 19.4. ;-)



Komentari

1. svibnja 2006. 23:27

Ja se drzim one: premature optimization is the root of all evil. :) Neka mi prvo napravimo dobru aplikaciju; ubrzavat cemo kasnije tamo gdje treba.

2. svibnja 2006. 07:26

Je, ali ako kreneš krivim putem onda će se biti teško vratiti na pravi put. :-) I prije sam tvrdio, a i Rasmus je rekao isto mišljenje, da web programer koji napravi više projekata polako izgradi svoje okruženje koje mu najviše odgovara. Svoj framework. Ja imam jedan veliki problem, a to je nedostatak vremena zbog kojeg ne mogu ostvariti neke svoje ideje. Nisu to nikakve revolucionarne stvari već ono što jednostavno dođe samo od sebe kad nešto radiš duže vrijeme i onda ti dođe (zahvaljujući lijenosti) da stvari napraviš na efikasniji način. Npr. koliko ljudi je imalo svoj ActiveRecord prije nego što ga je RoR popularizirao? Dosta njih (uključujući i mene). U glavi već duže vrijeme nosim nacrt jedne razvojne okoline za web aplikacije koja bi bila namijenjena krajnim korisnicima i onda pročitam da IBM radi QEDwiki. Uz malo dodavanja i malo oduzimanja to je to što sam ja imao na pameti. Sad sam se rastipkao, a sve je to tema za jedan malo duži post...

2. svibnja 2006. 08:13

Insistirati na tome da se ne ide pristupom "jedna klasa jedan fajl" je ludost, bar za projekte koji su namenjeni širem krugu ljudi. Kad bi se više klasa grupisalo u fajlove ja znam da bih imao ogromnih problema da se snađem. Šta se dešava kada paralelno edituješ dve ili čak tri klase koje se nalaze u jednom fajlu koji ima par hiljada redova koda (jer gde je kod tu je i PHPDoc, a gde je PHPDoc tu ima mnogo redova koda).

Što se parsiranja i performansi tiče najočiglednija rešenja su:

  1. opcode cache - Zend Optimizer, APC, eAccelerator. Bez ovoga se i ne može pričati o high performance aplikacijama
  2. učitaj samo ono što ti treba - autoload mogućnosti PHP5 sa odgovarajućim rešenjem za određivanje lokacije klasa koje samo po sebi ne dodaje overhead.

Istina, duga priča. Samo sam apsolutni protivnik ideje da se zbog performansi treba grupisati 50 klasa u jedan fajl. Možda na kraju, pre nego što se kod propusti kroz Zend Guard, ali u radi... NIPOŠTO :)

2. svibnja 2006. 13:06

haj, vuče...

jedna opaska: fahidiotizam mogu prihvatiti. nisam imun na to. nekako se ipak ne sjećam da sam tvrdio kako je ime najvažnije i važnije od forme i sadržaja. dobro da mi nisi prikvačio domenski fundamentaliazam. :-) tvrdim i tvrdio sam nešto poput ovoga: "ako već moram trošiti vrijeme i novac na kreiranje sadržaja i forme, potruditi ću se da to bude na što boljoj domeni koja ne spušta vrijednost ukupnog proizvoda". ne na domeni koja kurcu ne vrijedi i sa kojom ne mogu pred ljude. bez obzira kako dobra bila forma i sadržaj.

ona tvoja primjedba sa "širinom i dubinom" je zanimljiva; istu sam konstrukciju upotrijebio na borjinom sajtu u svom komentaru. da li isto razmišljamo ili kaj?

2. svibnja 2006. 13:10

@Ilija Evo baš sam pogledao u Zend Framework. Većina klasa koje su u posebnim datotekama imaju nekoliko redova (od čega velik dio otpada na licencu koja je ponekad i duža od upotrebljivog koda). Pretpostavljam da bi jedna obična stranica koja koristi nekoliko modula dohvatila cca 30 datoteka. Čak i da se grupiraju pojedini moduli (npr. Feed u Zend-u) ne bi se došlo na više od 1000 linija koda po datoteci. A smanjio bi se broj zahtjeva s 8 na 1. Jasno, ne predlažem sad ZF-ovcima da to naprave nego sam samo uzeo kao primjer. :-)

  1. Postoje slučajevi kada njihovo korištenje nije moguće. Problem je sa shared hostingom. Npr. neki provideri imaju php4 zbog kompatibilnosti i većine korisnika pa su postavili php5 kao cgi. eAccelerator ne radi u tom slučaju.

  2. U navedenom primjeru se učitavalo sve i svašta bez ikakve provjere. Ja uvijek učitavam samo ono što mi treba.

Ne moraš imati neki turbo posjećeni site da bi se osvjedočio kako postoji problem s performansama. Jasno preveliko grupiranje može imati obrnuti učinak, može se dobiti velika datoteka koja će sama po sebi biti ubojica performansi.

Preveliko cijepanje koda na brdo malih klasa će ti otežati editiranje, a postavlja se i pitanje kvalitete tako projektirane aplikacije koja ima brdo klasa sa samo jednim ili dva reda koda koji nešto radi. A upravo takva rješenja nalazim u pojedinim okruženjima.

Kao i u svemu, treba naći optimalno rješenje.

2. svibnja 2006. 13:12

sorry, čim sam postao gornji komentar skužio sam na koji dio teksta se odnosi tvoj post. mislim da treba uzeti u obzir kompletan kontekst moje "tvrdnje". btw, što je važnije po tebi? domena ili sadržaj po njoj? ili bi u idealnim situacijama sve moralo zadovoljavati nekakav minimum kvalitete? e, vidiš to sam mislio i to je kontekst u kojem je domena važna - najvažnija ako je pogrešno odabrana. lakše se poradi na dizanju kvalitete forme i sadržaja, imho.

bye4now...

2. svibnja 2006. 13:38

@marketing Važniji je sadržaj jer dobar sadržaj može izvući loš odabir imena, dok i najbolje, killing ime, neće popraviti loš ili nikakav sadržaj. Jasno je da kratka i efektna imena mogu osigurati veći broj posjetitelja jer će bolje ostati u sjećanju onima koji su to ime vidjeli u novinama ili pročitali na nekoj reklami usput.

Zapravo ime je najvažnije u samom procesu dovođenja posjetitelja/korisnika na stranice. Poslije njegova važnost pada.

3. svibnja 2006. 22:22

evo i da se složimo u nečemu. ovako rečeno ne mogu a da se ne složim. možda smo i bili relativno blizu u stajalištima samo nam je trebala drugačija formulacija...sa laganim odmacima svaki u svoj fah. iskreno, cijela ta priča tamo me izmučila. pozdrav. damir

16. svibnja 2006. 17:30

Samo mala ispravka u vezi tvoje opservacije.. Moj blog pseudonim je OptionMaster a ne OpinionMaster! Ime potice od teme mog bloga tj trejdanje opcija - engl. options dakle optionmaster. Ostalo se slazem i prihvacam rizik da ne dati sprovod dodjem obucen u batmana, spidermana ili supermana. Dok mi iz dzepa curi novac lakse cu utjesiti sebe, sve prisutne i udovicu;)

16. svibnja 2006. 18:56

A kad se nakupiš dovoljno love možda i financiraš neki od naših rizičnih projekata. :-)