In dit artikel maken we kennis met het Spock test framework. Na het bespreken van de core features van het framework, beschrijf ik de syntax en het data driven testen. Als laatste bespreek ik de configuratie om de testen goed te laten draaien in een Maven gebaseerde build configuratie. Dit is nodig om zaken, zoals code coverage en het uitvoeren van testen door middel van Maven goed te laten verlopen. Alle gebruikte code is beschikbaar in een github repository, zodat je hier meteen mee aan de slag kan.
Read More »Martin Smelt
Go, get started!
Go is een door Google ontwikkelde programmeertaal gericht op expressiviteit, schaalbaarheid en productiviteit. Go bestaat zo’n 7 jaar, is volledig open source, snel, statisch getypeerd, ontworpen voor concurrency en voorzien van garbage-collection. Mede hierdoor neemt de adoptie van Go snel toe. Grote open source projecten en services zoals Docker, Prometheus and Kubernetes en Soundcloud zijn geschreven in Go en organisaties passen Go steeds vaker toe binnen hun eigen projecten. In dit artikel laten we je kennismaken met Go.
Read More »Spark of Life
In het Java Magazine van april 2015 heeft Bas in een artikel toegelicht hoe Evolutionaire Algoritmen oplossingen kunnen vinden voor lastige problemen (zie www.nljug.org/databasejava/evolutionaire-algoritmen/). Met behulp van een implementatie in Java werd het Traveling Salesman Problem gebruikt om aan te tonen hoe effectief en efficiënt Evolutionaire Algoritmen zijn in het vinden van (sub)optimale routes voor dit ogenschijnlijk simpele probleem. Na het lezen van dit artikel dacht Niels (terecht): dit kan beter… met Spark!
Read More »Geslaagde tweede JCP meeting
Op donderdag 2 februari heeft de tweede JCP meeting plaats gevonden, in samenwerking met CGI Nederland. Op hun kantoor in Rotterdam kwam iedereen bijeen. Het onderwerp van deze sessie was de vernieuwde Java EE Security API, ook bekend als JSR 375, met een goede opkomst van 37 geïnteresseerden blijkt dat dit binnen onze community zeker leeft.
Read More »Adv: Kom naar de Tweakers Developers Summit 2017, een dag vol webdevelopment op 16 februari
Op 16 februari houdt Tweakers een Developers Summit. De locatie Supernova in de Jaarbeurs in Utrecht staat die dag geheel in het teken van webdevelopment, met boeiende keynotes, diverse kleinere sessies en een knallende borrel.
Read More »Call for Papers geopend: spreek jij straks op de IoT Tech Day 2017?
Voor de IoT Tech Day 2017 maken we weer gebruik van onze Call for Papers applicatie. Het is dus voor iedereen mogelijk om een plekje in de spotlights te bemachten op de grootste Internet of Things conferentie van Europa. De IoT Tech Day 2017 wordt namelijk niet alleen georganiseerd vóór, maar ook dóór de community!
Read More »Pipeline as code
Continuous Delivery pipelines met Jenkins 2 In de afgelopen 10 jaar heeft Jenkins zich ontpopt tot de standaard tool voor automatisering in software development. Dit jaar is de eerste grote Jenkins release sinds tijden uitgekomen: Jenkins 2.0. In dit artikel lees je wat er nieuw is. Op JavaOne vertelde Kohsuke Kawaguchi, de maker van Jenkins, dat er meer dan 120.000 …
Read More »Spring Cloud Stream
In Java Magazine 4 hebben we kennisgemaakt met Spring Cloud en hebben we kunnen lezen hoe je de verschillende componenten kunt inzetten om REST gebaseerde microservices te maken. In dit artikel maken we de stap naar Spring Cloud Stream. Spring Cloud Stream laat zich het beste omschrijven als een framework voor het creëren van message-driven microservices.
Read More »Custom Metrics in de praktijk
Metrieken over applicaties worden steeds belangrijker. Harde getallen, zoals gebruikersaantallen, responstijden of conversieratio’s, kunnen een goede, objectieve graadmeter zijn voor succes en het bewijs dat de applicatie de investering waard is. Daarnaast is het belangrijk, in de sneller veranderende wereld van continuous delivery en agile ontwikkeling, om vlotte feedback loops te hebben hoe de applicatie het in productie doet. Alleen de “standaard” metrieken, zoals cpu gebruik of aantallen http requests, zijn niet goed genoeg. We hebben behoefte aan onze eigen custom metrics.
Read More »Failsafe
Eén van de vier punten uit het Reactive Manifesto is dat software resilient moet zijn. Resilient betekent dat onze software adequaat omgaat met foutsituaties en responsive blijft. Een praktisch en veel voorkomend voorbeeld is een applicatie die gebruik maakt van externe services. In dit scenario is het denkbaar dat deze externe services niet meer beschikbaar zijn of onvoldoende presteren.Zonder maatregelen kan het heel lang duren alvorens dit probleem zichtbaar wordt. Deze traagheid kan er bijvoorbeeld toe leiden dat kostbare resources lange tijd worden gereserveerd, wat kan leiden tot starvation en performance degradatie van de hele applicatie. Niet voor niks stelt dus het Reactive Manifesto dat een applicatie resilient moet zijn. Failsafe (https://github.com/jhalterman/failsafe) is een kleine library die precies doet wat het moet doen; het toevoegen van resilience aan onze applicatie zonder veel poespas. Failsafe biedt opties voor het opnieuw proberen aan te roepen van een service die kan stoppen met werken. We kunnen ook een fallback gebruiken in het geval dat een service die we aanroepen niet meer beschikbaar is. De library biedt ook de mogelijkheid om een zogenaamde circuit breaker te gebruiken om aanroepen naar services te omzeilen. We kunnen Failsafe gebruiken met Java 6 of hoger. Maar in Java 8 kunnen we lambda’s gebruiken in de Failsafe API voor nette en goed leesbare code.
Read More »
NLJUG – Nederlandse Java User Group NLJUG – de Nederlandse Java User Group – is opgericht in 2003. De NLJUG verenigt software ontwikkelaars, architecten, ICT managers, studenten, new media developers en haar businesspartners met algemene interesse in alle aspecten van Java Technology.