Regexp-kirjastot ovat funktionaalisesti kaikki samanlaisia. Vai ovatko?
Eivät sittenkään. Osassa on mietitty vähän hämärämpiä käyttötapauksia, ja mahdollistettu muun muassa osittaisen matchin erottaminen epäonnistuneesta matchista. Kaikkein yleisikäyttöisin rajapinta olisi sellainen, joka mahdollistaisi täyden streamauksen, mutta se on harvinainen.
Otetaan esimerkki käyttötapauksesta: webissä on sivu, ja sivulla lomake, jossa on kenttiä, joilla on jotain muotovaatimuksia. Kehittäjä määrittelee [...]
Jatka lukemista →Javaa, erityisesti enterpriseä kehittäessä testisykli käännös- ja deploymentaikoineen on aivan liian pitkä. Tätä paikkaamaan on kehitetty lukuisia ratkaisuja, joista tässä artikkelissa minua kiinnostaa JRebel.
JRebel korjaa Javan (ja JVM:n) ongelman, ettei luokkia voida muuttaa käynnistämisen jälkeen. Tästä seuraa useamman vaiheen kautta JEE:n hitaat turnaround-ajat. JEE-kehittäjät kautta maailman ovat ottaneet sen ilolla vastaan. Aikaisempina [...]
Jatka lukemista →Tilapäisessä mielenhäiriössä aloin taas toteuttaa pientä kirjastoa
C:llä. Ajattelin kokeilla samalla (olihan kyseessä puhdas
harrasteprojekti, ja näissä on hyvä aina kokeilla) namespace-ratkaisua
nimitörmäysten välttämiseksi.
No, aloin kirjoittaa:
#ifndef G #define G(symbol) pieni_ ## symbol #endif typedef struct G(foobar) *G(foobar_t); typedef …
Ja cc-moden autoindent hajosi pyytämättä ja yllättäen jo viidennellä
rivillä.
[...]
Jatka lukemista →Olin kirjoittaa C.A.R. Hoaren miljardin dollarin virheestä
I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be [...]
Jatka lukemista →Viime aikoina on tullut työstettyä kahtakin projektia, joissa edes jokin osa kehitystyöstä on C:llä kirjoitetun komponentin muokkaamista. Ei ehkä aivan sattumalta molemmissa tapauksissa päädyin olemaan se kehittäjä, joka tämän tehtävän saa. Vaikka projektien substanssit olivat kovin erilaiset, molemmissa tapauksissa silmään oikein erityisesti pisti, että C:llä on oikeastaan kivempaa koodata kuin esimerkiksi Javalla tai Pythonilla. Jäin [...]
Jatka lukemista →Luin yleisestä mielenkiinnosta molemmat toimistolla olevat Scala-kirjat [1]. Ne ovat Programming in Scala (Odersky, Spoon, Venners) ja Programming Scala (Wampler, Payne). Nimet ovat hämäävän samankaltaiset, toisaalta tämänlaisessa tietokirjallisuudessa näin vain käy. Ensimmäisen kirjoittajista yksi, Martin Odersky, on Scalan pääasiallinen suunnittelija ja liikkeellepaneva voima.
Lyhyesti, Oderskyn et. [...]
Jatka lukemista →Eilen keskiviikkona Codenton aamiaistapahtuman aiheena oli sisäinen pilvi. Puhujina oli toimitusjohtaja Mårten Mickos Eucalyptus Systemsiltä, joka kertoi miten sisäinen pilvi tehdään, ja teknologiajohtaja Santeri Kangas F-Securelta, joka kertoi miksi (sisäinen) pilvi halutaan. Lisäksi oma väki piti pienet alku- ja loppusanat.
Mårten käsitteli melko laveasti ja pintapuolisesti Eucalyptuksen toimintakenttää ja tuotteen mahdollisuuksia. Läpi käytiin [...]
Jatka lukemista →Tänä tehokkuuden ihannoinnin aikakautena yleisenä totuutena pidetään, ettei mitään tehtävää pidä hieroa liian pitkään. Pitää olla selkeä näkemys siitä, milloin homma on valmis, ja silmät avoinna niin että havaitaan kun tila on saavutettu.
Ajatusmallissa on kaksi vikaa. Toinen on yksinkertainen ja selkeä, toinen vähän filosofisempi ja hankalahko.
Ensimmäinen on tietysti se, että osaava tekijä tietää [...]
Jatka lukemista →Metodologioiden huumassa unohtuu välillä korkeamman tason ajattelu ohjelmistokehityksestä. Ohjelmiston kirjoittamisen kustannusten (suorien ja epäsuorien) vähentämisen ylivoimaisesti tehokkain tapa on välttää ohjelmiston kirjoittaminen kokonaan.
Otetaan esimerkki: aikanaan Codentossa huomattiin joidenkin työntekijöiden tekevän jatkuvasti ylitöitä. Tätä haluttiin kontrolloida jollakin tavalla, jos ei vähentämällä päivittäisiä tunteja, laittamalla työntekijät kertymän sitä edellyttäessä pitämään vapaapäiviä.
Ohjelmistoyrityksenä Codentolla oli tietty suuri [...]
Jatka lukemista →Tutkin huvikseni Javan syntaksin muuttamista niin, että luokkien parametrit (Map<String, Integer>) kirjoitetaan hakasulkeisiin (Map[String, Integer]), niin kuin useimmissa kielissä, jotka eivät ole Java tai C++. Osoittautui ettei LALR(1)-parsereiden tapauksessa muutoksella ole suurta merkitystä parserin kokoon eikä minkäänlaista oikeellisuuden saavutettavuuteen. Puhtaan esteettisesti muutos on jopa voitto, koska sisäkkäisten parametrien yhtaikaisen sulkemisen (Set<Set<Integer>>) yhteydessä lekserin ei tarvitse [...]
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
