Forfatter Arkiv for Poul Foged

Poul er medstifter af firmaet Monzoom. Han rejser verden rundt med sin bærbare under armen og så kan han godt lide at miste overblikket og dykke ned i tekniske problemer. Han blogger om softwareudvikling.

Nedtælling til websikkerhed – nr. 7 manglende adgangskontrol på funktionsniveau

Når det kommer til websites foregår adgangskontrol typisk to gange; én gang når grænsefladen skal vises og der skal tages stilling til om der skal vises et link til en sikker side. Én gang når den sikre side skal vises. En typisk fejl er at glemme sidstnævnte, at sitet beror rent på adgangskontrol i præsentationslaget og dermed kan ondsindede personer skaffe sig direkte adgang…

Nedtælling til Websikkerhed – nr. 9 brug af komponenter med kendte sikkerhedshuller

Selv vores forældre er ved at have lært at opdateringer til windows er vigtige – uanset om viljen er baseret på teknisk indsigt eller nagende popups. Men på trods af at vi måske formår at holde vores operativsystem opdateret er der mange andre flader der, pga. manglende opdateringer, er sårbare over for angreb. Det kan være den webserver vi benytter, de frameworks vi benytter…

Nedtælling til Websikkerhed – nr. 10 uvaliderede redirects og forwards

Sikkerhedsbrud i webapplikationer er et stadig stigende problem. Gang på gang skriver pressen om indbrud og kompromitterede systemer ved de store spillere på internettet og vi er så småt begyndt at diskutere hvornår en hacking-skandale er en reel krigshandling. Som udviklere har vi et fælles ansvar at leve op til – vore applikationer er kun så sikre som deres svageste led. Open Web Application…

Bag om Elasticsearch: Søgning og aggregering

Med Lucene som fundament har man med ElasticSearch naturligvis en førsteklasses søgemaskine. Lucenes modenhed er en stor fordel når vi kigger på featuresættet, men med i prisen er der også en del legacy-baggage. Elasticsearch abstraherer ikke Lucene væk – dens JSON-baserede REST-interface giver adgang til alle Lucenes funktioner. Men Elasticsearch er ikke bare en indpakning af Lucene – derudover indeholder den et lag der…

Let samarbejdet med tekstbaserede værktøjer

Vi er som branche ved at have styr på processen omkring det at skrive software i fællesskab. Den fundamentale opgave at sammensætte ændringer fra flere udviklere er efterhånden et løst problem – der er en overflod af værktøjer til formålet og har vi da ikke lige ændret i den samme linje foregår det i de fleste tilfælde automatisk. Alligevel bruger vi stadig i stor…

Agil arkitektur med isolerede koncepter

Fælles for de agile udviklingsprocesser er, at de lægger op til at vi leverer små forretningsværdiskabende stykker af funktionalitet. Når leverancen fejler, er det tit på grund af eksisterende kompleksiteter – domænet, datamodellen eller infrastrukturen forhindrer os i at nå målet. Principper som DRY (Don’t Repeat Yourself) gør at vi ivrigt genbruger og skaber bindinger og samtidigt maler vi os selv op i et…

CQRS med ElasticSearch

Når data gemmes i ElasticSearch, sker det ved hjælp af en struktur kaldet et dokument. Hvert dokument består af de felter man som bruger kommer med, samt et antal faste felter. Ét af disse felter er et id der unikt identificerer dokumentet og kan, fra grænsefladens side, bruges til at lave opdateringer og overskrivninger af dokumentet. Under overfladen foregår tingene lidt anderledes. Lucene, der…

Bliv agil med event sourcing

En af løfterne i forbindelse med agil udvikling er at det skal blive lettere at skifte mening. Forretningerne ændrer sig konstant og vi forsøger ihærdigt som udviklere at elske dette. Som konsulent har jeg gang på gang set det ske – mine kollegaer sværger at de er agile, måske har de endda underskrevet manifestet. Men så kommer den store skelsættende ændring. En ændring der…

Fremtidens applikationsplatform

Abstraktionerne stiger, vi kommer længere og længere væk fra hardwaren. Jeg sidder og skriver denne post i et miljø der benytter sig af et script-sprog der er eksekveret af en motor der så bliver eksekveret i et lettere virtualiseret miljø af et operativsystem der oven i købet bliver afviklet virtuelt af et andet operativsystem. Der er åbenlyse ulemper; det bliver stadig sværere at resonere…