Hétvégi gondolatok teregetés mellett

Miközben az Xdebug bemutatómat készítem elő a Web Konferenciára, rákerestem a top php mistakes kifejezésre, kiváncsi voltam, melyek azok a leggyakrabban elkövetetett programozói melléfogások, amelyek gyakorlatilag – megfelelő fejlesztési metodológia mellett – kivédhetők volnának egy okos debugger eszköz, így Xdebug használatával. A probléma abból a szempontból is érdekes volt a számomra, hogy a napokban volt szerencsém közelebbről tanulmányozni egy közepes forgalmat bonyolító webáruház motorjának kódját, ahol sorról–sorra akadt a naív bámészkodó számára csemege, gondoljuk csak egy olyan utasításra, amely egy GET-tel érkező adatot közvetlenül ad át a Smartynak, 2007-ben, amikor minden második poszt valamilyen típusú injection veszélyére hívja fel a figyelmet. Ahogy RMS fogalmazott, nem tartom magam nagy programozónak, egyáltalán programozónak sem, valójában az idő előre haladtával inkább azt érzem, hogy napról-napra kevesebbet tudok, de az ilyen fatális hibák bélyegzik meg a PHP-t, a PHP-s kódereket és mintegy az egész PHP-s társadalmat gyermetegnek.

Életem első küldetése egy ingatlan portál fejlesztése volt, mindaddig csak vendégkönyv jellegű motorokkal volt dolgom, valójában ennek a projektnek köszönhetően szereztem maradandóbb PHP-s tapasztalatot. Érdekes ennek a munkámnak a forráskódját mai fejjel visszanézni – objektumorientált szervezésű, egy saját sablon rendszerre építő, szintén egyedi fejlesztésű adatbázis független réteg mögé bújtatott SQL adattáblákból táplálkozó motor ez. 1998-ban járunk. Ez időtájt indult az egykori LinuxMánia majd LinuxPortál is, mindkét site hírei (ma ezt az Olvasó posztnak titulálná) elérhetők voltak RDF hírforrásban (ős-RSS, whatever), a linux.index.hu kódjában még olyan perverzióra is hajlottam, hogy a dokumentumokat relációs adatbázis helyett a fájlrendszerben XML-ben tároltam, az egyes dokumentum rovatok webes összefoglalóját pedig a háttérben egy-egy RDF-ből merítettem, így mellékhatásként lehetőség nyílt feliratkozni a figyelemmel kísérni kívánt rovatra, és automatikusan jelezte a hírolvasó, ha új leírás került fel a site-ra. Manapság mindezek már (vagy talán még) nem divatos megoldások, on-the-fly kell feedet szolgáltatni, praktikusan egy szép kövér RDBMS-sel kommunikálunk, a query-ket pedig lehet cache-elni, mert az úgy hatékony, pedig talán egy fájl beolvasása a látogatók számától független, konstans idejű választ tudna produkálni, ráadásul egyszeri megnyitása után a kernel már a memóriából képes a többi kérést kiszolgálni.

Most 2007 van, drum & bass, és ott tartunk, hogy szomorúan bogarászom az MIT GWT kurzus infóit, miközben itthon Pascal oktatás folyik a középiskolákban, és a fennebb említett user input befecskendezésre hajló csapat keze alól került ki a nemrégiben debütált online, a felsőoktatási továbbtanulásra jelentkezést támogató rendszer is. Sed spes est!*

Mostantól hozzáférhettek az iWiW gadget-hez (minialkalmazáshoz), amelyet a magyar Windows Vista megjelenése apropóján, azzal kapcsolatban fejlesztettük ki. Célunk az volt, hogy az iWiW fontosabb funkcióit a számítógépeteken még kényelmesebben elérhessétek. […] (Az alkalmazás csak Windows Vistával működik) Hamarosan a Mac OS X operációs rendszer alatti – iWiW widget – verziót is elkészítjük.

Mindezt úgy, hogy a napokban jelentette be a NetVibes az Universal Widget API-t, amellyel egyidejűleg lehet Netvibes, Google és Apple Dashboard felületre fejleszteni. És mielőtt azt gondolnánk, hogy az iWiW fejlesztőiben van (ismét) a hiba, ha belegondolsz, valójában nekik van igazuk. Ugyanazt eladják kétszer, az annyi mint kétszer annyi, a hülye is látja. Itt ütköződik az üzleti modell az ideákkal. Ha te is az ideákra lősz, hallgasd meg a webconfon Bártházi András Netvibes modul fejlesztés előadását.

(A kézzel írott napló bejegyzés itt olvashatatlanná válik, majd váratlanul félbeszakad – a szerk.)

* De van remény!