Ohjelmistokehityksessä on joskus tarve sisällyttää toisen projektin lähdekoodi oman projektin versionhallintaan moduulina tavalla jossa muutokset moduuliin voivat liikkua hallitusti molempiin suuntiin oman ja toisen projektin välillä: omassa projektissa voi tehdä muutoksia toisen projektin lähdekoodiin jotka myöhemmin voidaan hallitusti viedä takaisin alkuperäiseen toiseen projektiin, sekä toisen projektin uusia muutoksia voidaan hallitusti tuoda omaan projektiin.
Tämä onnistuu esimerkiksi [...]
Ohjelmistojen kehitystoiminnassa virtuaalikoneiden käytön hyödyt ovat jo laajasti tunnettuja. Kyseessä on kuitenkin usein kehittäjän omassa työpöytäkoneessa ajettava virtualisointiratkaisu (kuin esim. VMware Workstation tai VirtualBox). Nykyään useissa yrityksissä on myös omat keskitetyt virtualisointiympäristöt (esim. VMware vSphere tai avoimeen lähdekoodiin perustuva Eucalyptus), eli eräänlaiset yksityiset pilvet, joissa voi ajaa virtuaalikoneita.
Mitä syitä kehittäjälle on suosia yksityistä pilveä, jos sellaista on tarjolla?
Yksityisessä pilvessä on [...]
Jatkona Teemun kirjoitukseen versionhallinnan vajaakäytöstä:
Ohjelmiston kehitys tapahtuu usein kiemuroiden kautta: kokeillaan jotain, jota myöhemmin joudutaan korjaamaan, ja tehdään ajoittain myös yksinkertaisempia virheitä joita pitää oikaista. Nämä kiemurat lisäävät kohinaa versionhallintahistoriaan: versioiden määrä kasvaa ja loogiset muutokset levittyvät usean version yli. Selkeämpää olisi jos versioita olisi vähemmän ja ne vastaisivat loogisia kokonaisuuksia.
Git (ja muut hajautetut versiohallintajärjestelmät [...]
Lauantaina tuli käytyä Mobile Dev Camp -tapahtumassa Helsingissä: luvassa oli eriaiheisia mobiilikehitykseen liittyviä esityksiä ja paneelikeskustelua.
Esitykset olivat keskimäärin kiinnostavia ja liittyivät kattavasti useampiin suosittuihin alustoihin, kuin Nokian Qt, Windows Phone 7 Series ja iPhone -ympäristöt. Windows Phone 7 Seriesin teknisistä yksityiskohdista esittäjä ei tosiaan voinut kertoa paljon, koska virallinen julkaisu on tulossa vasta lähitulevaisuudessa.
Paneelikeskustelut koskivat muun [...]
Aikaisemmassa kirjoituksessa käsiteltiin tiedostojen synkronisointipalveluja hajautettujen järjestelmien näkökulmasta. Palveluita luokiteltiin CAP-käsitteen mukaan riippuen missä yhdistelmissä eri hajautettujen järjestelmien ominaisuuksia tuettiin.
Yksi kiinnostavimmista luokista on AP-palvelut, jotka uhraavat jatkuvan yhtäpitäväisyyden (C = engl. consistency) saavuttaakseen muita haluttuja ominaisuuksia (A = engl. availability, P = engl. partition-tolerance). Tähän luokkaan kuuluvat muuan muassa niin kutsutut “lopuksi yhtäpitävät” (engl. eventually consistent) palvelut. Lopuksi yhtäpitävä [...]
Yksi Amazon S3 -talletuspalvelua usein hyödyntävä luokka palveluita on verkkolevyt ja muut tiedostojen synkronisointipalvelut. Eli palvelut, joiden avulla käyttäjä voi lukea ja kirjoittaa omia tiedostojaan usealta eri laitteelta. Esimerkkejä tällaisista ovat Dropbox ja Jungle Disk.
Tiedostojen synkronisointipalvelu muodostaa käytännössä käyttäjän laitteista hajautetun järjestelmän, jossa jokainen synkronisointiin osallistuva laite on oma noodi tätä järjestelmää. Hajautetuissa järjestelmissä on [...]
Olet varmaan joskus rekisteröitynyt nettipalvelun käyttäjäksi, ja jälkikäteen harmitellut että joitain jättämiäsi tietoja ei pääse jälkikäteen enää muuttamaan. Usein kyseessä on käyttäjätunnus, oman valinnan mukaan tai ehkä sähköpostin tai puhelinnumeron muodossa. Minkä takia käyttäjätunnusta usein ei sallita muuttaa? Muuttamisen tarve voi useinkin olla asiallinen, ja rajoitus nähtävästi mielivaltainen.
Tilanne johtuu useimmiten siitä, että järjestelmän suunnittelija on [...]
Jos olet ohjelmistojen kehittäjä, olet melko varmasti jossain vaiheessa syystä tai toisesta tutkinut niin kutsuttuun avoimeen lähdekoodiin perustuvan ohjelmiston lähdekoodia. Mahdollisesti löysit lähdekoodista myös jotain, jota halusit muuttaa. Tässä vaiheessa usein herää kysymys: pidänkö muutoksen itse, vai pyrinkö saada muutoksen hyväksyttyä alkuperäisprojektiin? Tässä kirjoituksessa ei kiinnosta periaatteelliset lisenssikysymykset, vaan julkaisemisen vaiva (ohjelmistoprojektin ulkopuoliselle, jolla ei [...]