Blog
Ogólny spadek formy
2009-11-29 21:29:06
Od kilku tygodni zauważam u siebie ogólny spadek formy. Fizycznej i umysłowej. Szybko się męczę, a kiedy siadam do pracy mam zmniejszoną wydajność - rozwiązywanie błahych problemów zajmuje mi zbyt wiele czasu i robię sporo błędów.
Każdej jesieni tak miałem, ale w tym roku zauważam to w nasilonym stopniu. Mam nadzieję, że nie tracę sił umysłowych już w tak młodym wieku i za kilkanaście dni ten stan minie ;-)
A zadań do zrobienia jeszcze przede mną masa, końca nie widać, a checkpointy też wcale blisko nie są ;-)
Tagi: ogólne
Drogowy punkt krytyczny
2009-11-24 21:02:56
Raz na jakiś czas zdarza mi się, że na uczelnię jadę samochodem. Obserwuję jednocześnie natężenie ruchu i ilość wolnych miejsc parkingowych.
Wróć! Muszę sprostować. Obserwuję wzrastające z tygodnia na tydzień natężenie ruchu i ilość wolnych miejsc stopień kompresji na parkingu przed Akademią. I mam kilka przemyśleń, które generalnie można streścić bardzo prosto: niedługo zostanie przekroczony punkt krytyczny i albo będzie wielkie bum albo po prostu zrobimy czarną dziurę...
Ilość samochodów rośnie wręcz w zastraszającym tempie. Dzisiaj wyjechałem z domu o szóstej rano i już nie uniknąłem zaczątków korka przy dojeżdżaniu do Warszawy. W Akademii byłem około 7.10 i, chociaż parking był jeszcze "pustawy", to dobrego miejsca do zaparkowania już nie było. Przez pojęcie "dobre miejsce" rozumiem takie miejsce, z którego mógłbym w miarę łatwo wyjechać, bo chwilę przed ósmą parking zaczyna przypominać tetrisa - każdą dostępną przestrzeń się wykorzystuje nie zważając na to, że blokuje się wyjazd innym.
Nie lubię blachosmrodów za specjalnie. Niech to "bum" będzie jak najwcześniej ;-)
Tagi: samochody
SimpleXMLElement::addChild()
2009-11-19 23:53:54
Język PHP posiada kilka klas, "ułatwiających" przetwarzanie dokumentów XML. Jedną z takich klas jest klasa SimpleXMLElement. Wcale nie jest taka simple, ale jak się człowiek przyzwyczai to można z niej w miarę wygodnie korzystać. Oczywiście do póki nie będzie do wykonania coś bardziej skomplikowanego. Jednak rozkład na czynniki pierwsze czy synteza prostego pliku XML jest jak najbardziej wykonalna.
Jednakże klasa ta ma kilka wad. Ostatnio dała mi się we znaki metoda addChild() służąca do dodawania nowych węzłów. Jak wszyscy wiemy, pewne znaki w XML-u mają swoje specjalne znaczenie i nie mogą być użyte wprost. Te znaki to & i < (> już niekoniecznie). Jeśli nie chcemy, aby były interpretowane jako początek encji czy początek nowego znacznika należy je wyeskejpować czyli zapisać za pomocą encji (odpowiednio & i <). No właśnie... A metoda addChild() tego nie robi. A raczej robi, ale tylko połowicznie ;-)
Wpisując taki prosty kawałek kodu:
$xml->addChild('node', '<>abcd&efgh');
zostanie dodany element "node", jednak jego zawartość zostanie ograniczona do ciągu '<>abcd'. A na stdout poleci komunikat: Warning: SimpleXMLElement::addChild() [simplexmlelement.addchild]: unterminated entity reference efgh..
Jak bardzo niepożądane jest to zachowanie z punktu widzenia przekazywania informacji wszyscy wiemy. W komentarzach na php.net jest podanych kilka rozwiązań problemu, jednak te eleganckie nie działają, a działają te, które w zasadzie sprowadzają się do selektywnego eskejpowania samego ampersanda ;-)
No nic... Człowiek się przyzwyczaił eskejpować dane wprowadzane do bazy danych $this->_db->escape_string() to przyzwyczai się używać $this->_escapeAmpersandBecauseAddChildDoesNot() ;-)
Tagi: XML PHP programowanie
