Omien SVG-ikonien lisääminen Twenty Twentyyn

WordPressin uusi oletusteema Twenty Twenty on hieno, ihastuin heti. Värkkään Lautapelioppaalle uutta teemaa ensi vuoden 20-vuotisjuhlien kunniaksi, joten tuntui jokseenkin luontevalta vaihtaa vanha Twenty Fourteen -pohjainen teema Twenty Twentyyn. Värkätessä tuli vastaan pieni pulma: halusin lisätä teemaan omia SVG-ikoneita, koska olemassaolevasta valikoimista puuttui jokunen tarpeellinen ikoni. Vaan kuinkas se tehdään elegantisti ja mahdollisimman vähällä olemassaolevan […]

Redis-välimuisti Node.js:ssä

Kaipasin Node.js-sovellukseen välimuistia. Minulla on lautapelikirjanpitoon Gamestats-sovellus, jossa on Mongo-tietokanta, Node.js-backend ja React-frontti. Dataa on kertynyt aika lailla, kun kirjanpidossa on kaikki pelatut lautapelit parinkymmenen vuoden ajalta, joten osa sivunlatauksista on toivottoman hitaita. Ongelmia aiheuttaa sekin, että kaikkea datan yhdistelyä ei voi tehdä tietokannassa, vaan monissa tapauksissa on ensin imaistava Mongosta kaikki pelit ja pelisessiot […]

Asynkroniset toiminnot WordPressissä

Toisinaan WordPressin kanssa tulee tarvetta tehdä asioita asynkronisesti. Jos joku toimenpide vaatii aikaa ja aiheuttaa odottelua, mutta sen lopputulos ei oikeastaan ole kriittinen juuri tällä hetkellä, käsillä on asia, joka kannattaa ehkä tehdä asynkronisesti. WordPress mahdollistaa asynkroniset toiminnot Ajax-toiminnallisuuden kautta. Ajax on oikeastaan tarkoitettu javascript-käyttöön, eli tarkoitus on, että javascriptin puolelta lähetellään ajax-pyyntöjä ja vastauksena […]

Devaajan työkalut: terminaali

Komentorivi on hieno työympäristö, jossa tulee tehtyä kaikenlaista, joten senkin osalta käyttökokemukseen kannattaa panostaa. Oma komentorivikokemukseni on alkanut DOS-aikoina ja niistä ajoista on onneksi päästy jo pitkälle. Mac OS:n mukana tulee Terminal tai Pääte, joka hoitaa asiansa, mutta aika monella työkseen terminaalia käyttävällä taitaa olla käytössä iTerm2, jonka valtavasta ominaisuuskasasta olen tainnut itsekin raapaista vain […]

Tiedon lukeminen luotettavasti ja fiksusti etäpalvelimelta WordPressissä

Jos WordPressissä haluaa ladata jotain dataa saitin ulkopuolelta, sehän käy kätevästi wp_remote_get()-funktiolla. Tällaisten kutsujen yhteydessä on aina syytä huolehtia välimuistittamisesta. Ilman välimuistia jokaisella sivunlatauksella kysellään dataa etäpalvelimelta ja siinä törmätään monenlaisiin ongelmiin nopeasti. Jatkuva kyseleminen tuottaa turhaa tietoliikennettä ja rasittaa etäpalvelinta turhaan. Jos tieto ei ole niin nopeasti muuttuvaa, että sitä on välttämätöntä seurata reaaliajassa, […]

Testaaminen WordPress-kehityksessä

Testaaminen on ohjelmistokehityksen perusjuttuja ja tapa varmistaa, että koodi jota tehdään, on toimivaa. Testaamista on monenlaista, tässä keskityn yksikkötestaamiseen (unit testing) ja integraatiotestaamiseen (integration testing). Näissä erona on, että yksikkötestauksessa testataan ohjelmiston yksittäisiä komponentteja ja integraatiotestauksessa isompia kokonaisuuksia. WordPress-kontekstissa näitä kahta on kuitenkin hankalaa ja tarpeetontakin erottaa tarkasti toisistaan. Kolmas olennainen testaamisen muoto on regressiotestaus […]

WordPress-lisäosan kehitysprosessi

Kehitän ja ylläpidän WordPressin Relevanssi-hakulisäosaa ja sen kaupallista versiota Relevanssi Premiumia. Lisäosien kehityksen hallinnointi on sen verran monipuolinen prosessi, että ajattelin kiinnostavaksi vähän avata toimintatapojani. Jaettua koodia Kun ylläpidetään kahta samankaltaista, mutta erilaista tuotetta, koodin on oltava mahdollisimman pitkälle samaa. Tämän asian opin melko pian. Eri versioiden ylläpitäminen oli työlästä, kun eri versioissa oli eri […]

Edelleenohjauksia WordPressiin

Joskus on tarvetta saada WordPressiin edelleenohjauksia eli redirectejä. Perinteisesti näitä on tehty muun muassa .htaccess-tiedostoon, mutta se on lopulta melko epäkäytännöllinen tapa. Etenkin jos käytössä on Nginx-webbipalvelin, ohjausten tekeminen palvelintasolla on hivenen työlästä. Yksinkertainen ratkaisu on asentaa tätä tarkoitusta varten lisäosa. Redirection on suosittu työkalu ja ajaa asian hyvin. Se tekee kaikenlaista muutakin aiheeseen liittyvää. […]

Vieraana Koodarikuiskaaja-podcastissa

Olin taannoin vieraana Koodarikuiskaaja-podcastissa. Puhuin Koodarikuiskaajan eli Elisa Heikuran kanssa pääasiassa asiakaspalvelusta ja rajanvedosta asiakkaiden vaatimusten ja oman jaksamisen välillä, mutta kuten hyvissä keskusteluissa usein käy, aiheesta lipsuttiin kaikenlaisille kiinnostaville tangenteille. Koodarikuiskaajan sivuja kannattaa muutenkin vilkuilla, tarjolla on hyviä juttuja, ja jos eteen tulee tilaisuus osallistua Elisan koulutuksiin, niin suosittelen kyllä tarttumaan hetkeen – Elisan […]

WebP-kuvien käsittely Finderissä

WebP on Googlen kehittämä kuvaformaatti, joka on tarkoitettu nettikäyttöön. Se pakkaa kuvat tehokkaammin kuin JPG- ja PNG-formaatit, tukee sekä häviöllistä että häviötöntä pakkausta sekä läpinäkyvyyttä. Selaimet tukevat WebP:tä enimmäkseen hyvin. Ongelmia tulee, kun WebP-kuvia haluaa käsitellä omalla koneella. Ainakaan Macilla monikaan ohjelmisto ei vielä WebP-kuvia tue, eikä esimerkiksi Esikatselu osaa niitä näyttää. Niinpä netistä noukitun […]