Developers blog

Software development professionaliseren en optimaliseren is onze missie. Dit brengen we in de praktijk door relevante kennis en ervaring uit het veld te bundelen én te delen. Het is voor een CTO of IT-manager prettig sparren met doorgewinterde allrounders. Met dit Developers blog blijf je op de hoogte van wat écht belangrijk is in dit vak.

  • Welcome to .NET 8

Moet ik naar .NET 8 upgraden?

18 maart 2024|

In het kort / TL;DR Ja, upgraden is zeer aan te raden. Alleen een product dat binnenkort end-of-life is, zou ik niet meer upgraden. Een upgrade naar .NET 8 zal je gebruikerservaring ten goede komen, [...]

  • Iets over testen

Iets over testen

30 januari 2024|

Een kostbaar en vaak onderschat onderdeel van software ontwikkeling is het (geautomatiseerd) testen daarvan. […]

  • minimale code voor maximale opbrengst

C# Minimal API’s: minimale code voor maximale opbrengst

21 juni 2023|

Met de komst van ASP.NET Core is er een belangrijke nieuwe technologie beschikbaar gekomen: Minimal API’s, een eenvoudigere en efficiëntere manier om met minimale afhankelijkheden en minder ceremonies HTTP API’s te bouwen.

  • Bergler: software development is onze missie én passie

Waarom ISV’s een strategie moeten hebben voor vernieuwing van software

24 maart 2023|

Het klinkt wellicht onwaarschijnlijk, maar we komen ze dagelijks tegen: klanten die er ineens achter komen dat ze een ISV zijn, een Independent Software Vendor. Je ziet dan dat ze jarenlang hebben geïnvesteerd in kleine software teams en in verbeteringen en dat is zó gegroeid dat ze bijna van nature een softwarebedrijf geworden zijn. En wanneer daar dan geen goede strategie aan ten grondslag ligt, dan is er serieus werk aan de winkel.

De Tech Radar

27 januari 2023|

Ken je de Tech Radar al? Deze stellen we jaarlijks samen. Speciaal voor software teams én hun uitdagingen. De focus dit jaar? Future proof software development, talent aantrekken en behouden, klaar voor de cloud en [...]

Modulaire opzet in Blazor Webassembly

27 september 2022|

Nu Blazor steeds prominenter in het Microsoft landschap terechtkomt, zie ik de eerste teams productie applicaties opzetten in Blazor. Eén van de uitdagingen die je daarbij hebt, is hoe je de nieuwe applicatie structureert, zodat [...]

OWASP 2022: de praktijk

13 juni 2022|

Begin dit jaar is voor het eerst in lange tijd een nieuwe versie van de OWASP top 10 uitgebracht. Cybersecurity behoort een vast agendapunt te zijn voor elke ontwikkelaar en organisaties die betrokken zijn bij het ontwikkelen en onderhouden van software. Het adresseren van bedreigingen is niet alleen een technisch onderwerp maar ook een organisatorisch. Lees verder...

GDPR voor softwaredevelopers

16 februari 2022|

Toegegeven, het is voor de meeste ontwikkelaars niet het favoriete onderwerp en het is ook niet nieuw, tegelijkertijd is basiskennis van GDPR en AVG belangrijk om te voorkomen dat we onszelf in de voet schieten. Dit artikel geeft een samenvatting van ons webinar en we hopen je hiermee op weg te helpen om een basis begrip te hebben van deze belangrijke Europese wetgeving. Lees verder...

“To Manage vs To Lead”

28 december 2021|

Onlangs werd ik geconfronteerd met de vraag wat het verschil is tussen “managing a team” en “leading a team”. Als Scrum Master van (internationale en remote) teams intrigeert me deze vraag. Het doel van dit artikel is om mijn kennis en ervaring hierover te delen. Lees verder...

.NET 6 Update

8 december 2021|

Op 9 november 2021 kwam de nieuwe versie van .NET uit. We gaven bij .NET 5 al aan dat Microsoft afscheid neemt van het fullstack framework. Deze .NET 6 release is de eerste long term support versie na dit moment, en daarmee voor een hoop organisaties de eerste serieuze versie om naar te migreren. Lees verder...

Rebase versus (up)merge

2 november 2021|

Als ik kijk naar de adoptie van Git in de Microsoft Stack dan kan het niet anders dan concluderen dat de meeste bedrijven die ik bezoek inmiddels de overstap hebben gemaakt van TFS flow naar Git-based source control. In die overstap zijn er een hoop basisprincipes van Git die lastig zijn als je vanuit de TFS wereld naar Git kijkt. Ik wilde er graag eentje uitpikken waarvan ik merk dat men er mee worstelt en dat is de functionaliteit van merge versus die van rebase. Lees verder...

gRPC, wat is het en wanneer gebruik je het?

20 september 2021|

Als je op de hoogte bent van de ontwikkelingen van .NET (Core), dan weet je waarschijnlijk dat Microsoft geen WCF-projecten meer ondersteunt. Tegelijkertijd zijn gRPC projecten toegevoegd aan het portfolio van serviceoplossingen. Maar wat is gRPC, hoe verhoudt deze technologie zich tot OpenAPI of GraphQL en wanneer zou je gRPC inzetten? Op deze vragen wil ik in deze blogpost ingaan. Lees verder...

GitHub actions vs Azure DevOps Pipelines

3 september 2021|

Nadat Microsoft in 2018 GitHub heeft overgenomen was het even afwachten welke in richting GitHub zou bewegen. Zou het een separate merknaam blijven of zou het geassimileerd worden binnen de bestaande Microsoft portefeuille? Nu na 3 jaar is het veilig om te zeggen dat GitHub als merk blijft bestaan. Lees verder...

Hoe migreer je naar .NET 5

21 juli 2021|

Met de komst van .NET5 en de aankondiging van Microsoft te gaan stoppen met .NET Framework dient zich de vraag aan hoe bestaande .NET Framework applicaties kunnen worden gemigreerd naar het nieuwe .NET5. Dit blog probeert de migratiemogelijkheden te behandelen. Lees verder...

C# 9.0 nieuwe features – Record types (4-4)

18 juni 2021|

In deel 2 van deze serie is al gewezen op init-only setters. Op een eenvoudige manier kun je aangeven dat properties als immutable behandeld moeten worden. Met het nieuwe keyword record krijg je de mogelijkheid om snel en overzichtelijk een complete class immutable te maken. Lees verder...

Bergler Technology Radar 2021

18 maart 2021|

Ondanks dat de wereld door de pandemie sterk is veranderd en er veel tot stilstand is gekomen, gaan de veranderingen op het gebied van softwareontwikkeling onverminderd snel. Lees verder...

Jaarprogramma 2021

12 januari 2021|

We kijken terug op een bewogen 2020. Toen we het competence center programma voor afgelopen jaar samenstelde gingen we uit van gezellige sessies op kantoor en in Houten. Hoe anders is de praktijk gelopen. Gelukkig hebben we afgelopen jaar gezien dat we ook online hele toffe sessies konden organiseren. Lees verder...

Authenticatie in ASP .NET Core 3.1

5 december 2020|

uthenticatie en autorisatie worden vaak in één adem genoemd en zijn in zekere zin ook onlosmakelijk aan elkaar verbonden. Toch hebben ze ieder hun specifieke verantwoordelijkheid. Met behulp van authenticatie kunnen gebruikers van een webapplicatie zich identificeren om toegang te krijgen tot de applicatie. Lees verder...

Python, een korte introductie (voor C# ontwikkelaars)

20 juli 2020|

Python is een ontwikkeltaal die al enige tijd sterk in opkomst is. Als ‘T-shaped’ software ontwikkelaar kunnen we hier niet langer om heen. Dit is voor ons ook de aanleiding geweest om eens een blik te werpen op deze taal. In dit artikel willen we een globale introductie geven van Python de ontwikkeltaal en daarnaast de kenmerkende verschillen met C# aanstippen.

Zeven tekenen van rottende software

14 mei 2020|

Hopelijk begin je een software ontwikkeling met een redelijk tot goed idee hoe de toekomstige software er uit moet zien. Een helder beeld hebben van de toekomstige software is belangrijk voor jezelf en voor je team. Als je geluk hebt, overleeft dit beeld het tot de eerste release. Maar na verloop van tijd gebeurt er iets, de software begint langzaam maar zeker te ruiken als een stuk bedorven vlees.

Kan Cloud Native On-Premises zijn?

26 april 2020|

Nee, dit gaat niet over het On-Premises thuiswerken met behulp van Cloud Diensten in onheilspellende tijden van het Coronavirus. Dit gaat over vraag “kun je Cloud Native zijn met een On Premises serverpark?” Vreemde vraag leek mij. Volgens Wikipedia is Cloud Native een softwareontwikkeling aanpak die maximaal de mogelijkheden van Cloud Computing gebruikt.

Threat Modeling

23 februari 2020|

In het huidige software ontwikkelingslandschap is het steeds sneller opleveren van software een belangrijk issue. Organisaties moeten mee in de DevOps beweging om hun concurrentiepositie te behouden of te verbeteren. Om dit goed en veilig te kunnen doen is het van belang om zo vroeg mogelijk in het ontwikkelproces al feedback te verzamelen, om snel te kunnen bijsturen.

Domain Driven Design (DDD) in gewoon Nederlands

18 februari 2020|

Als Lead Developer ben ik betrokken bij het opmaken van business cases, uitwerken van ideeën en het implementeren van softwareoplossingen. Een steeds vaker terugkomend thema is dat mijn relaties hun applicatie landschap willen moderniseren zonder opnieuw het wiel te willen uitvinden...

Valkuilen in async/await

30 januari 2020|

Het is inmiddels alweer behoorlijk wat jaren geleden dat Microsoft async/await introduceerde in het .NET Framework. Het gebruik van async/await heeft het mogelijk gemaakt om met heel weinig code asynchroon te programmeren.

Webinar 20 augustus 2019: Building Async Apps

21 augustus 2019|

Bekijk hier het webinar van het Bergler Competence Center (Building Async Apps). (55 minuten). Abonneer je op ons YouTube-kanaal, dan blijf je altijd op de hoogte! Meer informatie over onze andere evenementen lees je hier.

Progressive Web Apps

16 juli 2019|

Met de opkomst van allerlei verschillende apparaten, is het voor aanbieders van applicaties best een uitdaging om te bepalen welke technologie het beste past bij hun applicatie. Sommige organisaties kiezen voor responsive webapplicaties, veelal gebruik [...]

“Hello Newman…”

13 mei 2019|

De liefhebbers van Seinfeld weten dan direct waar dit over gaat. De postbode Newman en aartsrivaal van Jerry Seinfeld. In dit geval hebben wij het over Newman de Postman add-on.  Deze add-on is een CLI [...]

  • ball of mud

Migratie monoliet naar microservices & IdentityServer4 (deel 1)

16 april 2019|

Door: Patrick Bes & Chaim Zonnenberg De overstap naar een nieuw software landschap Verouderde software… welke ontwikkelaar heeft er geen ervaring mee? Jarenlang heeft je bedrijf functionaliteit ontwikkeld in dezelfde applicatie. De oorspronkelijke ontwikkelaars van [...]

AKS Kubernetes Dashboard met “alleen lees” rechten

22 januari 2019|

Kubernetes is natuurlijk een super krachtig en mooi container orchestration platform. Ondanks dat de meeste zichzelf respecterende ontwikkelaars zullen claimen alleen nog gebruik te willen maken van de CLI tool kubectl, is voor sommige beginnende- [...]

Gebruik Epic en feature timelines in Azure DevOps

11 december 2018|

Een product backlog kan al snel onoverzichtelijk worden en is meestal te gedetailleerd om met stakeholders (binnen hoger management) de prognose te bespreken van toekomstige ontwikkeling. Binnen Azure DevOps kun je al een hoop structuur [...]

  • default-encoding

Vermijd het gebruik van encoding.default

26 november 2018|

Voor degene onder ons die wel eens te maken hebben met het verwerken van tekst- of csv-bestanden zal het bekend voorkomen: welke encoding moet ik gebruiken om de bestanden juist in te lezen? Als je [...]

Messaging in distributed systems

11 oktober 2018|

We zien steeds meer organisaties van monolithische applicaties naar modulaire systemen bewegen. Een uitdaging die binnen dergelijke distributed systemen komt kijken is de manier waarop de modules onderling communiceren. Een veelgebruikte oplossing voor asynchrone communicatie, [...]

SpecsFor een BDD framework

25 juli 2018|

Soms loop je in je zoektocht naar een framework of, zoals in dit geval bij toeval, tegen een framework aan waarvan je denkt: Ja, dit is leuk en handig om te gebruiken in mijn ontwikkel [...]

TechSummit Supply Chain Hacks

6 juni 2018|

Persoonlijk zie ik de beweging naar een meer open source cultuur in software development als een positieve. Daarin sta ik zeker niet alleen en ik weet dat veel collega's hier een zelfde positief gevoel bij [...]

Misbruik DRY niet

13 februari 2018|

Er zijn van die principes die er bij menig ontwikkelaar al vroeg in zijn carrière ingestampt worden. “Don’t repeat yourself” is misschien wel een van de bekendste. […]

Maak je eigen Business Rule Engine

17 januari 2018|

Op het net zijn over dit onderwerp vele artikelen te vinden. Vaak beschrijven ze een onderdeel van een pattern of is de oplossing geschikt in een omgeving waar meer dan ervaren developers actief zijn. [...]

.NET Renaissance

5 december 2017|

Recentelijk wordt er binnen het .NET framework regelmatig gesproken over een .NET renaissance. Wat is nu eigenlijk een renaissance? In de letterlijk zin staat het voor een wedergeboorte, dus de terugkeer van iets bestaands. [...]

  • test-driven-development

Video: Test Driven Development

25 oktober 2017|

Bekijk hieronder het hele seminar van het Bergler Competence Center over sneller en beter software ontwikkelen met Test-Driven-Development (44 minuten). […]

  • simple injector

Internal classes (SimpleInjector)

3 juli 2017|

Omdat we onze applicaties modulair opzetten komt het nogal eens voor dat een ontwikkelaar gebruik maakt van modules van een andere ontwikkelaar. De meeste voorbeelden van IOC-containers initialiseren de container vanuit de client applicatie, met [...]

  • Microsoft Developer Network

WPF Databinding – deel 1

21 februari 2017|

WPF Databinding – deel 1 Dit artikel is het eerste artikel in een reeks korte artikelen waarin we gaan kijken naar databinding binnen het Microsoft.NET WPF framework. Dit eerste artikel zal gaan over het ‘WAT’ [...]

  • onion model

Separation of concern door het onion model

7 oktober 2016|

Het goed structureren van je applicatie is van groot belang om te zorgen dat een applicatie aanpasbaar blijft naarmate de applicatie groeit. Een veel gebruikte structuur is een meer-lagen structuur waarbij de applicatie wordt opgesplitst [...]

Vijf tips die bijdragen aan effectieve softwareontwikkeling

27 juli 2016|

Veel organisaties zijn de afgelopen jaren met wisselend succes overgestapt op vormen van “agile” softwareontwikkeling. De balans opmakend, zie je dat een hoop organisaties worstelen om ook echt effectiever en slagvaardiger te worden. En toegegeven, [...]

Seperation of concern in een MVC applicatie (#1)

20 mei 2016|

De Microsoft implementatie van MVC voor webapplicaties is al weer een tijdje in de lucht en er zullen weinig organisaties zijn die momenteel nog nieuwe ontwikkelingen opstarten in de voorloper (webforms) van MVC. Het principe [...]

Wifi

17 mei 2016|

Bijna iedere dag is er wel nieuws over hackers die toegang verkregen hebben tot computersystemen en gevoelige informatie over bedrijven of personen gestolen hebben, om daarna die bedrijven geld af te persen, de informatie te [...]

Gebruik van ‘worker roles’ in Azure

18 april 2016|

Als je weleens gebruik maakt van worker roles in Azure dan weet je dat het nogal een hoofdpijn geeft om die dingen te deployen. Een deployment tijd van 10 tot 20 minuten is niet ongewoon [...]

  • inversion of control

Inversion of Control

12 april 2016|

Wanneer je object georiënteerde “loosly coupled” software wil opzetten, loop je al vrij snel tegen de uitdaging aan dat objecten elkaar nodig hebben. Er zijn allerhande design best practices om met deze afhankelijkheden om te [...]

Entropie in software ontwikkeling

8 maart 2016|

Woord vooraf Op 15 december 2015 hebben we een Excellence Center avond georganiseerd over SOLID software development. Deze avonden worden regelmatig georganiseerd voor developers die met elkaar best practices willen uitwisselen. Tijdens deze avond kwam [...]

Voorkom XSS aanvallen in Html editors

8 maart 2016|

Wanneer je een webapplicatie ontwikkelt waarin de gebruiker in staat moet zijn om tekst met opmaak te maken, zal je waarschijnlijk gebruik maken van een Html-editor. Er zijn heel veel goede Html-editors in de markt [...]

  • genereren en exporteren

Pdf rapporten genereren in .NET

15 februari 2016|

Steeds vaker worden communicatieprocessen gedigitaliseerd waarbij gegevens worden omgezet naar een standaard formaat zoals PDF (Portable Document Format). Denk hierbij bijvoorbeeld aan facturaties maar ook managementrapportages et cetera. Als .NET ontwikkelaar is het niet altijd [...]