Innokas Emacs- sekä Git-käyttäjä on todennäköisesti havainnut että Emacs ja git rebase -i eivät noin vaan toimi hyvin yhdessä. Tämä on harmi koska Gitin interaktiivinen rebase on aivan mainio toiminnallisuus versionhallintajärjestelmässä.
Missä ongelma on? Se on siinä, että rebase-komento haluu käynnistää tekstinmuokkaimen (engl. editor) muokkaamaan väliaikaista [...]
Jatka lukemista →Samoin kuin yritys hyötyy kirjanpidosta jos sillä on vähänkään rahaliikennettä, työntekijä hyötyy työajan kirjanpidosta jos on vähänkään vaihtelevia työtehtäviä. Ja varsinkin jos oma aika on tärkein kaupattava vara. Harva innostuu itse kirjaamisesta, mutta kun tieto lopuksi on tallessa ja koneellisesti käsiteltävissä kirjanpidosta saa näkyvyyttä omaan ajankäyttöön.
Pelkkä ajankäytön kirjaaminen ei kuitenkaan riitä. Jos tiedosta haluu [...]
Jatka lukemista →MapReduce on Googlen kehittämä laskentamalli ja ohjelmistokehys rinnakkaislaskennalle. Se mahdollistaa suurien tietomäärien helpon käsittelyn esittämällä ohjelmointimallin jonka ohjelmat ovat rinnakkaistettavia ja tarjoamalla valmiin alustan näiden rinnakkaistettavien ohjelmien suorittamiselle. Noudattamalla tätä mallia kehittäjä säästyy rinnakkaislaskennassa toistuvista päänsäryistä, ja pystyy keskittyä varsinaiseen sovellukseen. MapReduce-malliin sopivia sovelluksia ovat muun muassa suurien tietomäärien lajittelu, haku, tilastointi [...]
Jatka lukemista →Suurempia ohjelmistoprojekteja kehitetään yleensä ryhmissä, joihin kuuluu useita kehittäjiä. Jokainen kehittäjä tekee jatkuvia muutoksia ja lisäyksiä lähdekoodiin, jotka integroidaan jollakin versionhallintajärjestelmällä kuten esim. Git tai Subversion. Tavallinen ongelma tällaisissa järjestelyissä on, että muutokset usein sisältävät erilaisia virheitä, jotka väliaikaisesti ns. hajottavat kehityksessä olevan ohjelmiston – saattavat sen tilaan, jossa sitä ei [...]
Jatka lukemista →Scala on fiksu ohjelmointikieli ja Google App Engine on helppo tapa pyörittää web-sovelluksia pilvessä. Siitä hyvästä että Scala on Javan virtuaalikoneelle kääntyvä ohjelmointikieli se toimii mainiosti myös Google App Enginen Java-ympäristössä.
Miten Scalasta utelias pääsee nopeimmin kokeilemaan koodiaansa Googlen App Engine -pilvessä? Alla on minimaalinen projekti jonka avulla saa [...]
Jatka lukemista →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 [...]
Jatka lukemista →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ä [...]
Jatka lukemista →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.
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 [...]
Jatka lukemista →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 [...]
Jatka lukemista →Yhteystiedot
Ota yhteys ja kysy Codenton palveluista! Puhelin 040-729 2733, info[at]codento.comTagit
aamiaistilaisuus agile ajankohtaista amazon arkkitehtuuri avoin lähdekoodi aws c CAP cvs ec2 eucalyptus futurologia git google hadoop hajautetut järjestelmät java kirjat konsultointi mapreduce näin meillä ohjelmistotuotanto ohjelmointi ohjelmointikielet pilvi projektit python rekrytointi s3 scala scrum skaalautuvuuden abc skaalautuvuus startup subversion suorituskyky tapahtumat tiedostojen synkronisointi tietokanta vaatimusmäärittely verkkopalvelut versionhallinta virtualisointi välimuistiArkisto
- helmikuu 2012
- tammikuu 2012
- joulukuu 2011
- marraskuu 2011
- lokakuu 2011
- huhtikuu 2011
- maaliskuu 2011
- helmikuu 2011
- tammikuu 2011
- joulukuu 2010
- marraskuu 2010
- lokakuu 2010
- syyskuu 2010
- elokuu 2010
- heinäkuu 2010
- kesäkuu 2010
- toukokuu 2010
- huhtikuu 2010
- maaliskuu 2010
- helmikuu 2010
- tammikuu 2010
- joulukuu 2009
