6 January 2012 13:18
Lennaert van der Linden
Algemeen, Java
In dit artikel wordt aan de hand van een concreet voorbeeld getoetst of we java applicaties multi-threaded kunnen maken zonder bijkomstige complexiteit te introduceren met behulp van futures.
Enkele jaren terug heb ik voor een klant een functionaliteit om een afbeelding samen te stellen uit deelafbeeldingen gerealiseerd. Ik hanteerde daarbij een implementatie die recht toe recht aan was: de afbeeldingen werden één voor één geladen om vervolgens op elkaar geplakt te worden. De aanpak werkte prima en voldeed aan de performance-eisen. Maar het bleef daarna knagen bij mij… is een efficiëntere manier mogelijk zonder extra (technische) complexiteit te introduceren? Lees verder
Permalink
28 November 2011 16:32
Niels Talens
Algemeen
Komt een man bij de dokter:
“Zeg dokter, kunt u me even Pulsatilla voorschrijven want ik heb last van een gevalletje otitis media acuta. U hoeft niet te kijken hoor. Ik heb het namelijk zelf al uitgezocht op Google. Pulsatilla is het beste wat er is. Ik ga morgen op vakantie dus kunt u het recept nu even uitschrijven?” Lees verder
Permalink
17 November 2011 14:50
Lennaert van der Linden
Agile, Algemeen
We zijn allemaal bekend met ontwikkelmethodieken als Scrum, XP en Crystal Clear, maar het is goed om af en toe stil te staan bij wat de essentie is van agility. En wat we ermee willen bereiken. In dit artikel wordt ingegaan op agile denken en waarom agile meer is dan een verzameling van software ontwikkelmethodieken.
Lees verder
Permalink
29 August 2011 13:48
Iain Hecker
Algemeen
Het schrijven van (unit) tests kan soms erg pijnlijk zijn. De reden is nagenoeg altijd: “You’re doing it wrong!”. Dat meen ik serieus: als iets moeilijk te unit testen is, dan doe je iets verkeerd. Vaak niet in de unit test zelf, maar in de implementatie.
Lees verder
Permalink
8 August 2011 15:57
Lennaert van der Linden
Algemeen, Drupal, Migratie, PHP
De afgelopen weken hebben we onze website vernieuwd. Behalve een nieuw, fris gezicht dat onze nieuwe focus weerspiegelt hebben we ook onder de motorkap wijzigingen gemaakt. Door over te stappen op Drupal 7 kunnen we nu veel eenvoudiger aanpassingen maken in pagina lay-out en pagina inhoud.
Een deel van de content is hierbij herzien, maar een deel van de content moest over en dan het liefst zonder onnodig handwerk. In dit artikel ga ik in op onze aanpak, laat ik de gebruikte import module zien en beschrijf ik hoe het importeren voor ons verliep. Lees verder
Permalink
23 May 2011 12:07
Brian Snijders
Algemeen, Java, Liferay
Het koppelen van Hippo en Liferay is al enige tijd een hot-topic binnen Finalist. Verschillende succesvolle pogingen zijn ondernomen en Hippo heeft onlangs Hippo CMS 7.5 uitgebracht. Een van de speerpunten van Hippo CMS 7.5 is de integratie van een REST-api, waarmee de repository uitgevraagd kan worden. Standaard worden er een aantal REST-services meegeleverd en tevens wordt uitbreiding van deze REST-api met eigen REST-services ondersteund. Zo kun je op een vrij eenvoudige manier de repository via REST ontsluiten!
Lees verder
Permalink
16 May 2011 17:21
Iain Hecker
Algemeen, Methodieken, Software beheer, Testen
Bij programmeren is het een vereiste dat je de code die je schrijft goed test. Dat weten de meeste programmeurs ondertussen wel. En omdat het testen met de hand te veel tijd kost, willen we dit graag automatiseren. Daarom schrijven we naast de productiecode nog meer code die de andere code uitprobeert en kijkt of het nog steeds werkt.
Lees verder
Permalink
28 March 2011 13:54
Iain Hecker
Algemeen, Methodieken, Scrum
Tenminste, als je deze op de typische Scrum-manier invulling geeft. Denk eens serieus na over de informatie die in een typische daily stand-up wordt meegedeeld: Wat heb je gisteren gedaan? Wat ga je vandaag doen? Heb je nog blokkades? We zijn verteld dat we deze drie vragen moeten beantwoorden tijdens de daily stand-up. We moeten ook allemaal even gaan staan zodat het niet al te lang duurt, want stel je voor dat er wat nuttigs verteld wordt!
Lees verder
Permalink
21 March 2011 14:37
Iain Hecker
Algemeen
Koppelingen met externe resources zijn erg lastig om te ontwikkelen. Zeker als je, zoals ik, een TDD fan bent. Dat komt omdat TDD van je verwacht dat je weet wat je doet voordat je het doet. Dat is vaak niet het geval wanneer we een koppeling maken met een dienst die we niet kennen. Welke requests moet ik maken? Welke gegevens krijg ik terug?
En daar blijft het niet bij. Tests tegen een externe API zijn traag en breekbaar. De data moet over het internet komen en verandert continu. Erg vervelend. Gelukkig is er een oplossing: VCR. De gem VCR kan http requests opnemen en later afspelen. Geheel automatisch.
Recentelijk hebben we VCR gebruikt om integratie met een aantal externe services helemaal TDD te ontwikkelen. Ik zal hier een voorbeeld geven hoe je TDD kan gebruiken om externe API’s te ontdekken en tot een implementatie kan komen.
Lees verder
Permalink
17 February 2011 11:21
Rob Schellhorn
Algemeen, Scala
Een dezer dagen zal Scala 2.9 uit komen. De voornaamste wijziging is een uitbreiding op de scala.collection bibliotheek, die het paralleliseren van berekeningen makkelijker moet maken. Dit zal de komende jaren een hot topic worden in de software industries. Processors worden immers uitgerust met meer en meer rekeneenheden, maar per core zal geen significante snelheidswinst meer bereikt worden.
Lees verder
Permalink
10 February 2011 22:50
Rob Schellhorn
Algemeen, Scala
De programmeertaal Scala brengt het OO en functionele paradigma samen. De gemiddelde Java programmeur zal niet al te veel problemen hebben met de OO aspecten, maar de functionele mogelijkheden zijn toch een beetje wennen. Deze blogpost presenteert een functionele oplossing voor Conway’s Game of Life in Scala.
Lees verder
Permalink
24 January 2011 17:36
Rob Schellhorn
Algemeen, Scala
Bij Finalist wordt ontwikkeld in de talen Java, Ruby en PHP. De evolutie van de laatste twee gaat gestaag, om de zoveel tijd worden programmeurs verwend met nieuwe taalfeatures. De ontwikkeling van Java lijkt daarentegen een beetje dood. De release van Java 6 was al weer vier jaar geleden. Ook de volgende Java versie lijkt bij voorbaat al een teleurstelling te worden: te laat en te weinig features. Misschien wordt het tijd om Java te vervangen door een taal waarvan de ontwikkeling meer momentum heeft, bijvoorbeeld Scala.
Lees verder
Permalink
20 December 2010 11:03
Lennaert van der Linden
Algemeen, Drupal
De tweede release candidate van Drupal 7 is inmiddels beschikbaar en dat houdt in dat Drupal 7 er aan komt.
Op 16 december hielden Proteon en Wizzlern de Drupal 7 meetup om Drupal ontwikkelaars bij te praten over de nieuwe release. Een meetup waar veel animo voor was, gezien het aantal beschikbare plaatsen al snel vergeven was. Ondergetekende was er gelukkig snel bij.
De meetup bestond uit twee onderdelen: een presentatie over Drupal 7 en drie open space sessies. In dit artikel een verslag hiervan.
Lees verder
Permalink
22 November 2010 14:42
Lennaert van der Linden
Algemeen, Drupal, PHP
Het scheiden van logica en presentatie is een belangrijk aspect voor elk web content framework. Dit geldt dus ook voor Drupal. Gelukkig biedt Drupal hier een mechanisme voor: theming. Met theming kan niet alleen logica en weergave worden gescheiden, maar is het ook mogelijk om de presentatie van generieke modules te specialiseren voor specifieke sites.
In dit artikel ga ik in op het maken van templates en het specialiseren van de presentatie van modules voor een specifieke site.
Lees verder
Permalink
3 November 2010 10:02
Lennaert van der Linden
Algemeen, PHP
Het fijne van werken met een framework als Drupal is dat veel dingen al zijn geregeld. De form API biedt bijvoorbeeld validatie en validatiemeldingen worden automatisch getoond als een gebruiker een of meer velden niet correct invult. Het enige wat rest is opstijlen. Maar soms voldoet het standaardgedrag niet en moet er een aanpassing worden gemaakt.
Lees verder
Permalink