Uusi leiska
Vaihdoin leiskan vaihteeksi tällaiseen vähäeleiseen versioon. Samalla alusta päivittyi WordPress 2.1:een ja useampikin plugin uudempaan versioon.
PHP-koodin etädebuggausta
Debugger-sovelluksen käyttäminen on olennainen osa ohjelmistovirheiden etsintää. Debuggerin avulla ohjelman suorittaminen voidaan keskeyttää halutussa kohdassa (eli kohdassa johon on laitettu breakpoint), tutkia ohjelman sen hetkistä tilaa ja edetä koodissa askel kerrallaan. Mutta kun kyseessä on websovellus, jota käytetään erillisellä ohjelmalla eli www-selaimella, debuggaus on hankalampaa. Usein virheitä etsitään vain laittamalla koodiin komentoja, jotka printtaavat tietoja sovelluksen tilasta joko sivulle tai erilliseen lokiin. Etädebuggauksen (remote debugging) ansiosta myös websovelluksen voi keskeyttää ja käyttää hyväkseen debuggerin ominaisuuksia virheen etsinnässä.
Töissä olen kehittämässä Java-pohjaista websovellusta ja kehitysympäristönä on Eclipse. Ajan sovellusta lokaalisti omalla koneella Jetty-palvelimella, joka JettyLauncherin avulla nivoutuu osaksi Eclipseä. Sovelluksen voi käynnistää debug-tilassa suoraan Eclipsestä ja kun sivua ladatessa tulee vastaan breakpoint, Eclipse hyppää automaattisesti esiin ja näyttää koodirivin, johon pysähdyttiin.
Harrastusprojekteissa olen käyttänyt PHP:tä ja koodannut BBEditillä. Varsinkin isompien PHP-sovellusten kanssa BBEdit on alkanut tuntua liian köykäiseltä, koska siinä ei ole koodin ennakointia, debuggerista puhumattakaan. Lisäksi laajan koodimäärän hallinointi BBEditillä on vaikeaa, koska ainoa tapa löytää tiedosto, jossa jokin funktio on määritelty on tehdä haku kansion tiedostojen sisällöstä.
PHP:n kehityksestä osittain vastaava yritys Zend teki maaliskuussa yhteistyösopimuksen Eclipsen kanssa. Zend on mukana kehittämässä Eclipseen PDT-laajennusta (PHP Development Tool). Zend tarjoaa paketissa myös omaa Zend Debuggeria, mutta tietääkseni se ei tue etädebuggausta vaan ainoastaan PHP-skriptien ajamisen debug-tilassa Eclipsen sisällä. Se varmastikin riittää joissakin tilanteissa, mutta minä ainakin heti törmäsin ongelmiin MySQL-yhteyksien kanssa.
Onneksi vaihtoehtona on Xdebug, joka asennetaan laajennukseksi PHP:hen. John VanDykin ohjeilla Xdebugin asentaminen Intel-Maciin kävi helposti. Ohjeissa neuvotaan myös, kuinka Xdebug otetaan käyttöön Komodo-ohjelmointiympäristössä. Kokeilin Komodoa, mutta Eclipsestä poiketen se on maksullinen ja jostain kumman syystä se laittaa automaattisesti breakpointin jokaisen sivun alkuun. Komodon valmistajan blogissa kyseltiin miten ominaisuuden saa pois päältä, mutta kukaan ei ollut muutaman kuukauden aikana vastannut. Samoilla ohjeilla saa kuitenkin asennettua Xdebugin myös Eclipseä varten.
Eclipse ja PDT eivät virallisesti tue Xdebugia, mutta Dave Kelsey IBM:ltä on tehnyt PDT:tä varten tarvittavat muutokset ja laittanut tiedostot jakoon Eclipsen bugiraportointijärjestelmään. Vaikka koodi on tehty Windowsille, se tuntui pikatestauksella toimivan mainiosti myös Macilla.
Yritän kirjoittaa aiheesta lisää, kun olen käyttänyt Xdebugia ja PDT:tä vähän enemmän.
Posti.fi haisee yhä
Posti uudisti webbisivunsa. Uudellakin saitilla ensimmäisenä eteen läjäytetään introsivu, josta valitaan kuluttajien tai yritysten palvelut tai konsernisivusto. Naurettavaa, sillä varmasti 95 % sivujen käyttäjistä on joka tapauksessa menossa kuluttajapalveluihin ja nimen omaan tarkistamaan hintatietoja postilähetystä varten. Aivan yhtä hyvin olisi voitu tehdä niin, että kuluttajapalveluiden etusivu on koko saitin etusivu ja siinä olisi nostettu esiin tärkeimmät linkit yrityspalvelu- ja konsernisivustoilla.
Ja jotta niiden hintatietojenkin saaminen olisi tehty mahdollisimman vaikeaksi, ne on julkaistu osittain webissä, osittain ainoastaan pdf:nä. Niin ja sitten on laskuri, mutta esimerkiksi kirjatun kirjeen esittelysivulla linkitetään vain pdf:ään.
Mainetta ja kunniaa
Ottamani kuva julkaistaan saksalaisen MAX-lehden numerossa 2/2007. Lehdessä julkaistaan säännöllisesti Flickristä löydettyjä kuvia teemoittain. Minun kuvani oli päässyt mukaan uuden lehden liikennemerkkiaiheiselle teemasivulle.