Sivut

perjantai 28. elokuuta 2020

Testaamisen sietämätön keveys

 Joudun säännöllisen epäsäännöllisesti testaamaan kaikki hengentuotteeni erilaisilla järjestelmillä. Testit täytyy tehdä erilaisilla käyttöjärjestelmillä (Windows 7/8/10, MacOS ja Linux), erilaisilla laitteilla (PC, Laptop, Mobiilit) sekä erilaisilla selaimilla (ja niitähän riittää). Vaikka kehitystyö ja käyttö tehdäänkin internetissä, niin ohjelman käyttäytyminen asiakkaan laitteella riippuu noista kaikista tekijöistä. Osa toiminnoista kun on sidottu järjestelmään, eikä siihen pääse kehittäjä vaikuttamaan. Vielä 1990-luvulla piti "vain" tietää, että millaiseen Windows versioon ohjelma tullaan asentamaan. Nykyaika ei ole tuonut tähän ainakaan helpotusta. Etenkin mobiililaitteet ovat tyhjentäneet hiukset päästä. Tässä eräänä päivänä (nyt) ajattelin testata erästä tuotetta vanhassa Windows 7 ja 8.1 koneessa. Huomasin kyllä, että selain oli toki päivittynyt uudempaan versioon (IE 11.x). Mutta sitä en muistanut, että kuinka hankalaa on Windows 7 koneelle kertoa, että WiFi verkon reititin ja salasana ovat vaihtuneet. Se vai haluaa itse ratkaista verkon ongelmat, eikä päästä käyttäjää väliin. Kun tein saman testin uudemmalla Windows 10 koneella, niin se oli jo sujuvampaa. Win 10 osasi kysyä WiFi verkon salasanaa kun vanhalla ei enää päässyt verkkoon.

Tästä satunnainen lukija huomaa, että minulla saattaa olla useampi tietokone käytössä. Oikeassa on hän. Nopeasti laskettuna niitä on kaikkiaan kahdeksan (8) erilaista. Kaikissa hieman erilainen järjestelmä. Onneksi suurin osa laitteista on hankittu kierrätyksestä.

Tykkää
Kommentti
Jaa

Avoin kehittäjäpalvelu muuttui maksulliseksi

Kehitys kehittyy ja internetin kehittäjäpalvelutkin muuttuvat maksulliseksi. Olen joskus kehittänyt (kopioinut ja muokannut) sellaisen Visitor Tracking menetelmän. Tarkoitus ei ole vain laskea käyntimääriä vaan tallentaa sivuilla vierailijasta hieman tarkempaa dataa. Sivuilla vierailijasta tallennetaan: aikaleima, selaimen nimi, selaimen tunniste (agentti), selaimen alusta (Win, Mac, Linux), selaimen käyttämä laite (PC, Laptop, Mobiili), IP-osoite ja onko kysymyksessä Robotti vai Botti. Botit heitetään roskiin, muuta vierailijat tallennetaan tietokantaan. Tämä menetelmä on ollut asennettuna asiakkaiden palveluihin.

Nyt kokeilen sitä omille sivuilleni ja uuteen kehitysympäristöön (CodeIgnniter 3). IP -osoitteen perusteella olen voinut hakea internetin palvelusta vierailijan maakoodin (FI, US, CH). Tähän palveluun minulla on ollut rekisteröitynä ilmainen kehittäjälisenssi (ipinfo.io/developers). Eräänä aamuna huomasin, että palvelu on antanut maakoodiksi pelkkää tähteä (**). Lokitiedoista sain selville, että palvelun lisenssi oli vanhentunut. Yritin sitä tietenkin uusia, mutta kas! Se olikin muuttunut maksulliseksi :-\ Onneksi internet on nykyisin tulvillaan vastaavia palveluita. Ei muu auttanut kuin vaihtaa palvelua (www.geoplugin.net). Turha ja tyhmä juttu. Teettää ylimääräistä työtä.

Miksi aikaisemmin kehittäjien yhteisön ylläpitämä avoin palvelu on muuttunut maksulliseksi? Rahan ahneus tietenkin. Ovat varmaan huomanneet, että palvelu on ollut suosittu: sillä voidaan ansaita!

Minut ja asiakkaani saivat ainakin ulkoistettua palvelusta. Onko se nyt parempi vaihtoehto?

keskiviikko 26. elokuuta 2020

Facebook plug-in Twitteriin ja Bloggeriin

Kukahan kehittäisi (uudestaan) sellaisen moduulin, joka osaa postata saman julkaisun monelle eri alustalle. Kun kirjoitan tänne Facebookiin, niin nykyisin saman tekstin joutuu käsin siirtämään Twitteriin, Instagramiin, Bloggeriin ja muualle. 
 
Joskus oli olemassa edes sellainen Facebook liitännäinen (Plug-In), joka postasi automaattisesti Facebook kirjoituksen Twitteriin. Jos sen pituus oli liikaa Twitterille, niin moduuli osasi lyhentää postin ja liittää siihen linkin Facebook sivulle. Sitten iski kilpailu ja mustasukkaisuus. Liitännäinen poistettiin käytöstä.
 
Toki toki. Onhan niitä maailmalla. Mutta ne, jotka minä olen löytänyt ovat maksullisia eikä edes kokeiluversio toimi. Ei sellaisen tekeminen ylivoimaista olisi, mutta ei vanha setä jaksa enää heilua.
 
Tykkää
Kommentti
Jaa


 

Ohjelmistojen kehitys kehittyy

Hups! On taas aikaa kulunut kun olen tänne kirjoittanut.
On niin monta paikkaa, mihin tekstejä täytisi muistaa päivittää.

Olen sentään jotakin oppinut tästä tietokoneiden ohjelmoinnista.
Viimeisen 20 vuoden aikana ohjelmointi on siirtynyt työasemasta (Windows) internettiin ja pilvipalveluihin (Cloud Service). Erilaisia sovelluksia käytetään nyt oman tietokoneen selaimella (Browser), eikä ohjelmia enää asenneta kiinteästi omalle tietokoneelle. Lisäksi mukaan ovat tulleet mobiililaitteilla käytettävät sovellukset (Applications). Ei taida olla mitään sellaista elämän aluetta, mitä ei voisi käyttää puhelimella tai tabletilla, jopa henkilökohtaisella älykellolla tai rannekkeella.

Joka tapauksessa. Kun nykyaikana aloittaa rakentamaan erilaisia sovelluksia, niin on otettava huomioon muutama seikka jo alusta alkaen. Riippumatta siitä, että millä ohjelmointikielellä tai millä ympäristöllä (IDE) ohjelmia kehität ja tuotat. 1) Kaikki tieto tulee tallentaa tietokantaan (Database). 2) Sovellusta pitää pystyä käyttämään monella eri kielellä (Languages). 3) Sovelluksesta pitää pystyä tuottamaan erilaisia raportteja ja listauksia ja niissä tulee ottaa huomioon listauksen sivutukset (Pagination). Muuten olet samassa liemessä kuin se "vanha" rallikuljettaja, joka ei asunut Laukaassa vaan Laukaalla.

Otetaan alusta.1) Kun kaikki tieto, tekstit, kuvat ja tapahtumat ovat tietokannassa, niin muutokset on "helppo" suorittaa ja antaa ne jopa käyttäjän itsensä tehtäväksi, harkitusti ja rajoitetusti.2) Edellisestä johtuen, myös erilaisten kieliversioiden toteuttamisen tekee tietokanta huomattavasti helpommaksi. Kielen vaihtaminen näytöllä tulee paljon helpommaksi kun kieliversiot on tallennettu tietokantaan.3) Kun tietoa tallennetaan, niin on tyypillistä, että sitä kertyy ajan kanssa huomattavia määriä. Silloin on tärkeää, että halutun tiedon löytäminen pitää tehdä helpoksi. Kaikkiin raporteihin ja listauksiin tulee järjestää tiedon hakemiseen (Search) ja sivunumerointiin (Pagination) tarvittavat välineet. 

Tämän kohdan 3) kanssa olen jumpannut viimeisen kuluneen viikon aikana. Kiitän luojaani (??) ja itseäni siitä, että olen ottanut huomioon kohdat 1) ja 2) jo alkuvaiheessa.

Siitä huolimatta siihen kuluu yllättävän paljon aikaa. Kyllä tekniikan saa toimimaan suhteellisen nopeasti, mutta ennen kuin raportti on luettavassa muodossa, siistin näköinen ja muutenkin selkeä, niin kyllä aikaa ja kahvia kuluu. Onneksi en polta tupakkaa 😉 

Yksi esimerkki on internet sivulla vierailleiden kävijöiden seuranta (Visitor Tracker). Vaikka mitään tarkkaa ja yksityistä tietoa ei tallenneta, niin on mukava seurata, että mistäpäin maailmaa, mihin aikaan, millä laitteella ja millä tekniikalla ihmiset verkossa liikkuvat. Taisin jo mainostaa tätä sovellusta aikaisemmin. Oheisessa kuvassa on kuitenkin viime yön aikana (noin 1:30) jälkeen omalla sivullani vierailleet käyttäjät. Listassa on kymmenen viimeistä tapahtumaa. Jo tästä näkee aikaeron, tekniikan ja vierailijan sijainnin (IP osoitteen perusteella). Listalta on poistettu kaikki tunnetut robotit (Botit, joita minun tiedossa on noin 4650) sekä minun omat käynnit. Aikaerosta johtuen on aamukahvin aikana mukava seurata, että ketä kaikkia on sivulla vieraillut.

Että onko tästä mitään hyötyä? Ei yhtään mitään. Tämä puuhastelu on pelkkää ajan kuluttamista sekä uusien asioiden ja tekniikoiden oppimista. Uskokaa tai älkää, niin kyllä vanhakin koira oppii uusia temppuja.