Softwareudvikling

Jeg er bare webudvikler

Jeg kom aldrig videre. Da jeg åbnede den første side i en web-browser vidste jeg at det var her at det var det jeg skulle lave. Og dengang var det ikke specielt cool, der var webudviklere og så var der rigtige udviklere. En af problemerne var at teknologien var så begrænset – det var ikke meget andet end et dusin tags at gøre godt…

Bedre softwaretests med fuld isolation

Hvis en integrationstest fejler, skal det helst være fordi at vi enten har lavet en kodefejl, eller at vi er ved at opgradere versionen af den komponent vi tester. Hvis testen fejler på grund af sideeffekter i den kontekst vi lever f.eks. brugere opretter data, systemer går ned eller at vi mister kontakten på grund af netværksfejl er det et problem – måske er…

Kategorisering af softwaretests

Automatiske tests er uundværlige. De giver tryghed når der sker ændringer. Uanset om kilden til ændringerne er os selv fordi at vi ønsker at refaktorere, vores stakeholder fordi de ønsker nye funktioner eller fordi at vi har afhængigheder til eksterne systemer og komponenter der løbende bliver opgraderet. Testene betyder at vi hurtigt kan få feedback på de ændringer vi laver – og at vi…

Nedtælling til websikkerhed – nr. 6 eksponering af følsomme oplysninger

Når systemer bliver kompromitteret og følsomme oplysninger slipper ud er konsekvenserne ofte store. Pressen holder sig som regel ikke tilbage (og det skal de heller ikke) og det giver ofte store tab i omsætning, omfattende oprydning og retslige efterspil. Som jeg skrev tidligere, så kan vi lige så godt antage at vi bliver hacket. Så er vi forberedt? Kan vi mindske skaden? Er alle…

Serilog

NLog, Log4Net, MS Enterprise Library, SmartInspect, ObjectGuy, Logary. There are plenty of frameworks to choose from when it comes to logging on the .NET platform. You can even setup logging right out of the box by using System.Diagnostics. Also logging is really easy to achieve – here is a very naive logging “framework”: In 2013 Nicholas Blumhardt released a new logging framework called Serilog…

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…

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…

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…