Softwareudvikling

Softwareudvikling

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

sikkerhed

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…

Du er ikke agil

successfailure

Er man i stand til at kalde sig agil blot fordi man anvender Kanban eller Scrum? Er man per definition rigid bare fordi ens projekt følger en vandfaldsmodel? Er CMMI overhovedet forligeligt med konceptet agile? Jeg har ikke alle svarene, men jeg har givet det en del tanker: De mest agile teams jeg kender arbejder hverken efter Scrum, Vandfald eller Kanban. Nogle af de…

Nedtælling til Websikkerhed – nr. 8 Cross Site Request Forgery (CSRF)

caution

Det er ikke noget vi nødvendigvis tænker på – når vi i vores daglige rutine bevæger os fra site til site, men det at vi i browseren har gemt vores identitet fra besøg til besøg gør at vi er sårbare over for CSRF-angreb. Problemet er at angrebet er næsten usynligt da det kan være drevet af noget så banalt som et image-tag eller en…

Logging-strategier

Error_Message_Example_vbs

Når først et softwareprojekt er released og kører ude hos kunderne, så er der ikke ret mange andre muligheder for fejlfinding og support end at kigge i log-filerne for at løse eventuelle problemer med softwaren. Men det kan ofte være svært for kunderne/slutbrugerne at forstå log-beskederne. Enten er der for mange log-beskeder eller for få. Log-beskeder fortæller ikke altid præcis hvad der er sket og hvad årsagen…

Let samarbejdet med tekstbaserede værktøjer

_DSC0384

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

_DSC0382

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…

Hvorfor performance testing er så vigtigt – del 1

Hvad er performance når det handler om softwareapplikationer, der skal yde så godt som muligt og svare tilbage så hurtigt som muligt. Ofte er begrebet performance ikke defineret ordentligt, og specielt ikke hvad kravene til performance er for et givent softwaresystem. På universitetet havde vi ikke kurser der handlede om performance. Hverken hvordan man måler performance eller hvordan vi kan opnå en bedre performance…

De agile tømmermænd

GotoLogo

Imens virksomheder her i landet først for nylig har fået øjnene op for agile metoder og som gale implementerer scrum, kanban og andre, er early adopters allerede begyndt at mærke tømmermændene efter festen. På årets Goto havde Russel Miles en talk med title “From ‘Agile Hangover’ to ‘Antifragile Organisations’“. Hans pointe om ‘antifragile‘ var interessant, men skal lige synke ind, inden jeg kan formidle…

Fremtidens applikationsplatform

nativevshtml

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…

Roslyn

_DSC0282

Siden C# blev skabt er kompileringen blevet udført af en compiler der er skrevet i C++. Allerede for år tilbage var der rygter om at Microsoft gerne ville ændre på dette og lade sproget kompilere sig selv – Mads Torgersen jokede dengang med at de blot skulle de-kompilere compileren til C# med Reflector. Det er selvfølgeligt ikke sådan at det er foregået – projektet…