Visa Kopu

Visa Kopun blogi mielenkiintoisista asioista.

Koodaus

Ota Firefox 3 käyttöön

Päivitetty 20.2.2008: Lisätty ohjeet salasanojen siirtämisestä.

Firefoxin kolmosversiosta on ilmestynyt kolmas beta ja selain alkaa olla varsin käyttökelpoinen pääselaimeksi. Itse olen käyttänyt pääselaimena jo edellistä kakkosbetaa.

Firefox 3 on huomattavasti nopeampi kuin Firefox 2 ja esimerkiksi kirjanmerkkien hallintaa on kehitetty. Kätevä ominaisuus on myös se, että osoitekenttä toimii samalla hakuna sivuhistoriaan. Haku kohdistetaan paitsi osoitteisiin, myös sivujen titleihin. Mac-käyttäjät tulevat pitämään siitä, että nyt Mac-versio näyttää paljon enemmän Mac-ohjelmalta kuin Firefox on koskaan näyttänyt. Isompi lista uudistuksista löytyy Mozillan sivuilta.

Jos Firefox 3:n haluaa ottaa käyttöön, kannattaa tehdä sitä varten oma käyttäjäprofiili, jotta vanhaan Firefoxiin palaaminen on tarvittaessa mahdollista. Homma toimii näin:

  1. Lataa uusin Firefoxin betaversio.
  2. Muuta Firefox-ohjelman nimeksi vaikkapa “Firefox 3”, jotta et korvaisi vanhaa versiota uudella, kun kopioit ohjelman Applications-hakemistoon.
  3. Käynnistä Firefox 3 komentoriviltä näin:
    $ /Applications/Firefox\ 3.app/Contents/MacOS/firefox -ProfileManager
  4. Firefox 3 käynnistyy ja ensimmäiseksi avaa ruudulle profiilienhallintanäkymän. Luo uusi profiili ja valitse “Don’t ask at startup”, niin jatkossa Firefox 3 aukeaa suoraan ikonia klikkaamalla.

Ohjeet profiilin luomiseen Firefox 3:a varten ovat alunperin John Resigin blogista. Hänen ohjeissaan puhutaan vielä Proto-teeman asentamisesta, mutta beta 3:ssa se on Macin vakioteema.

Seuraavaksi ohjeita Firefoxin laajennusten käyttöönotosta.

Suurin osa Firefoxin laajennuksista ei asennu kolmosversioon ilman kikkailua. Ja vaikka eston kiertäisi, kannattaa valmistautua siihen etteivät kaikki laajennukset toimi kuten niiden kuuluisi. Webkehittäjien ykköslaajennuksesta Firebugista on saatavana 1.1-version beta, joka toimii Firefox 3:ssa.

Muita laajennuksia varten kannattaa vain ottaa versiontarkistus pois päältä. Firefox varoittaa siitä kovasti, mutta se on helpoin tapa asentaa vanhoja laajennuksia.

  1. Avaa about:config.
  2. Etsi extensions.checkCompatibility -määrittely tai jos sellaista ei ole, luo sen niminen boolean-tyyppinen määrittely. Laita arvoksi false.
  3. Tämän jälkeen vanhat laajennukset voi ainakin yrittää asentaa. Eri asia on sitten se, toimiiko Firefox laajennuksen kanssa.

Ainakin Web Developer -laajennus toimii hyvin Firefox 3:n kanssa, vaikka Firefox varoittaakin epäyhteensopivuudesta. Sen sijaan del.icio.us Bookmarks -laajennus toimii heikommin. Kirjanmerkkien lisäys toimii, mutta kirjanmerkkien selailu ei yleensä toimi. Laajennuksen kehityksestä käydään keskustelua Yahoon ryhmässä.

Päivitys 20.2.2008: Tallennetut salasanat siirtyvät Firefox 2:sta 3:een helposti. Kopioi vanhasta profiilihakemistosta (~/Library/Application Support/Firefox/Profiles/######.default) uuteen profiilihakemistoon tiedostot key3.db ja signons2.txt. Lisätietoja profiilin vaihtamisesta ja profiilihakemiston tiedostoista saa MozillaZine Knowledge Basesta.

Kaverien statukset Jaikusta ja Facebookista yhteen feediin

Yahoo Pipes on erikoinen työkalu, jolla voi yhdistää erilaisista lähteistä tulevaa dataa yhdeksi rss-feediksi. Feedit luodaan kätevästi hiirellä raahamalla ja yhdistämällä “johdoilla” erilaisia suodattimia ja muita toimintoja, joilla feedin sisältöä muokataan.

Minulla on tehtynä sillä kaksi feediä, joista ensimmäinen ja yksinkertaisempi on muokattu Hesarin uutisfeed, jossa on mukana vain tärkeät uutiset (eli siitä on poistettu urheilu). Flickristä löytyy ruutukaappaus feedistä Yahoo Pipesissa.

Toinen luomani feed on monimutkaisempi. Se yhdistää Jaiku ja Facebook-kavereiden statusviestit yhdeksi feediksi. Koska Jaiku ei tarjoa feediä, jossa olisi pelkästään statustietoja, pitää feedin sisältöä muokata vielä lisää. Block-suodattimella feedistä poistetaan kommentit ja muista palveluista tuodut linkit. Facebookin feedin otsikoissa on mukana kirjoittajan nimi, joten pipe muuttaa Jaiku-sisältöä niin, että myös sen otsikoissa on kirjoittajan nimi alussa. Facebook-feed haetaan sellaisenaan.

Julkaisin pipestä version, jossa pitää aluksi syöttää omien Jaiku- ja Facebook-feedien osoitteet: Facebook and Jaiku Status Updates. Sivulla on ohjeet mistä lähdefeedien osoitteet löytää.

Facebook and Jaiku Status Updates in Yahoo Pipes

Ongelmia välimuistin kanssa? Microsoftilta löytyy ratkaisu

Internet Explorerissa on sellainen kiva “ominaisuus”, että se joskus tallentaa webbisivuja välimuistiinsa, vaikka sivun otsikkotiedoissa nimenomaisesti se kielletään. Asetuksen voi tehdä laittamalla sivun head-osaan tagin <meta http-equiv="pragma" content="no-cache">.

IE ei kuitenkaan aina tottele meta-tagia, vaan laittaa sivun välimuistiin joka tapauksessa. Onneksi Microsoftilta löytyy ratkaisu ongelmaan: laitat vain sivun loppuun toisen head-osan!

(Täytyy huomauttaa, että dokumentti on vanha ja viittaa IE:n kolmos- ja nelosversioihin. Samat välimuistiongelmat kuitenkin jatkuvat yhä IE7:n kanssa.)

Joe Hewitt kertoo Firebugista

Firebug on yksi hienoimmista webkehitystyökaluista, joita viime aikoina julkaistu. Se on Firefox-selaimen laajennus, joka lisää selaimeen muun muassa kunnolliset välineet HTML:n, DOM:n ja CSS:n tutkimiseen ja editoimiseen, JavaScript-debuggerin ja verkkoliikenteen monitoroinnin. Firebug on välttämätön työkalu varsinkin kaikille ajax-kehittäjille.

Yahoo! User Interface Blog on julkaissut videon, jossa Firebugin kehittäjä Joe Hewitt kertoo lisää sen ominaisuuksista. Video on melko pitkä, noin 48 minuuttia, mutta se on täyttä asiaa.

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.

Tämä on vanha sivusto. Löydät minut esimerkiksi täältä: Roxeteer Media Oy, Instagram ja Twitter.