Powrót

No.. kolejny powrót. :) Dzięki serdeczne wszystkim za pomoc w odzyskaniu backupu, mam nadzieję, że to był ostatni raz, kiedy doszło do takiej sytuacji. Na deser kawałek kodu, który kiedyś wyprodukowałem mylnie przekonany, że będzie szybszy niż explode… [php]< ?php /\\ \* Funkcja zwracajaca prawa i lewa strone ciagu z kropka \* \* @param string $string ciag z kropka \* @return array lewa strona, prawa strona kropki \* @author Lukasz Dywicki **/ function explodedot($string) { $dotpos = strpos($string, ‘.’); if($dotpos !== false) { return array( substr($string, 0, $dotpos), substr($string, $dotpos+1) ); } return array($string, $string); } ?>[/php] ...

November 22, 2006 · 1 min · splatch

Zend Framework i inni

Zend od jakiegoś czasu rozwija z powodzeniem swój framework. Szturmuje on rynek dzięki wsparciu firmy i dobrej dokumentacji. Zastanawia mnie jednak, dlaczego inni zaczęli kopiować to co w ZF jest. Rozumiem konwencję nazewniczą, ok - to może komuś się podobać, rozumiem strukturę katalogów, może ktoś uzna ją za logiczną.. Nie mniej nazewnictwo i struktura prawdę mówiąc nie różni się niczym od tego co było standardem w PEAR. Co więcej, niektórzy po prostu przepisują spore fragmenty kodu, które są w ZF na swoje. Zapytam po co? Skoro jest coś podobnego w Zendzie to jaki sens jest w powielaniu praktycznie tego samego (Zend::loadClass, ZendRegistry, Zend_Router_Rewrite itp.)? Pomijam fakt, że Zend jest otwarty w tej chwili i na pomysły i na ludzi i zapytam, czy to ma jakiś sens? ...

October 3, 2006 · 2 min · splatch

PHP Unit 3 i Mock Objects

Dzisiejszego dnia skończyłem opisywać implementację techniki Mock Objects przy użyciu PHP Unit. Zapraszam do zapoznania się z tekstem i wyrażania opinii na jego temat.

September 27, 2006 · 1 min · splatch

Propel 1.2 - konfiguracja generatora

Dzisiaj na wiki opisałem wszystkie znane dyrektywy konfiguracyjne generatora dla Propela 1.2 (wygląda na to, że pokrywają się one w dużej mierze z dyrektywami Propela 2.0). W najbliższym czasie opis konfiguracji projektu.

September 23, 2006 · 1 min · splatch

Cache w Smarty

Wiem, że Smarty ma równie wielu przeciwników co zwolenników, ale odcinając się od dyskusji postanowiłem polecić zarówno tym pierwszym jak i drugim artykuł na temat obsługi cache w Smarty.

September 23, 2006 · 1 min · splatch

Propel 1.2 - przyśpieszamy

Zachęcony komentarzem do poprzedniego posta postanowiłem zoptymalizować cały builder dla Propela. Zasada działania jest taka sama jak wcześniej - usunięcie zbędnych iteracji. Kod generowany przez moje poprawki nie należy do najszybszych, ale z moich testów wynika jednoznacznie - jest szybszy. Szybki sposób instalacji FasterPHP5ComplexPeerBuilder.php: pobrać plik http://delta.dywicki.pl/propel/FasterPHP5ComplexPeerBuilder.php skopiować do folderu propel/engine/builder/om/php5. w build.properties dla projektu ustawić dyrektywę: [code]propel.builder.peer.class = propel.engine.builder.om.php5.FasterPHP5ComplexPeerBuilder[/code] Wskazuje ona na nazwę klasy której obiekt będzie odpowiedzialny za wygenerowanie kodu dla klasy tabeli (*Peer). Po tym wszystkim odpalamy generator z targetem om poleceniem: [code]propel-gen katlog-projektu om[/code] bądź [code]phing -Dproject=nazwa -Dtarget=om[/code]. ...

September 22, 2006 · 1 min · splatch

Propel 1.2 - przyśpiesz go nawet do 2 razy!

Jak wiadomo szybkość nie jest domeną Propela. Dzisiejszego popołudnia na oficjalnym kanale Propela odbyłem rozmowę z osobą która twierdziła, że można przyśpieszyć propela o 3 razy (a przymajmniej metodę doSelectJoinAll). Nie zdziwcie się - miała ona rację! :) Problem w doSelectJoinAll polega na tym, że są wykonywane zbędne iteracje mające na celu sprawdzenie czy element zawiera obiekt dołączanej encji. Można je z powodzeniem zastąpić odpowiednią mapą, która zawiera identyfikatory tych encji, które już są dodane do obiektu. Osoba, która to twierdziła miała odpowiedni kod, który zgadnijcie - zadziałał. Aby zamiana była uniwersalna - zmieniłem co trzeba w generatorze. Sama metoda działa dwa i pół raza szybciej! Dla zainteresowanych - plik zmieniony przeze mnie - PHP5ComplexPeerBuilder.php. Sprawdź czy Twoje doSelectJoinAll przyśpieszy. :) ...

September 21, 2006 · 1 min · splatch

Gotowe rozwiązania

Zapraszam do zapoznania się z tekstem odnośnie użycia frameworków, który opublikowałem wczoraj na wiki.

September 19, 2006 · 1 min · splatch

Kilka słów na temat Creole

Dzisiejszego popołudnia udało mi się napisać kilka zdań na temat Creole. Zaintereoswanych zapraszam do odpowiedniej kategorii na moim prywatnym wiki. Komentarze proszę umieszczać pod tym postem.

September 16, 2006 · 1 min · splatch

Pomyłki i ja.

Od jakiegoś czasu zastanawiam się nad tym, czy rzeczywiście mam rację. Chodzi mi o moje przekonania. Ostatnio, druzgodzący upadek Mojavi 4 dał mi sporo do myślenia. Mam taki sposób bycia, że gdy się do czegoś przekonam staram się to poznać jak najlepiej oraz.. promuję? Nie wiem jak to dokładnie nazwać. Czasami angażuję się w dyskusje, które przeradzają się w typowe walki. Nie chcę mówić, że narzucam swoje zdanie, bo staram się by nigdy tego nie robić. Udało mi się kilka osób przekonać do Propela/Mojavi, ale czy zrobiłem to słusznie? Mam na myśli to, czy moje podejście jest “w porządku”? Czy w swym przekonaniu o nieomylności w stosunku do pewnych rzeczy nie przekraczam granic? ...

September 10, 2006 · 1 min · splatch