• Portretfoto van Coen van der Kamp
    Coen van der Kamp

Lightning Talks september 2024

Tijdens de Lightning Talks lag de nadruk op technische toepassingen en het behouden van focus te midden van afleidingen.

Iedereen zit klaar voor de Lightning Talks
Op uw plaatsen, klaar? Lightning Talks!

Focus

Maarten gaf een presentatie over het boek Focus AAN/UIT van Mark Tigchelaar en Oscar de Bos. Het gaat over hoe afleiding een grote impact heeft op focus. Hoe afleidingen van collega's, berichten op je telefoon, en sociale media continu de aandacht wegnemen. Hij noemde dat we vaak dopamine zoeken via onze telefoon, wat resulteert in veel verspilde tijd, zoals bij het herhaaldelijk checken van de mailbox.

Hij raadde aan om notificaties en bewegende beelden te minimaliseren om focus te behouden. Hij benadrukte ook hoe persoonlijke voorkeuren, zoals het luisteren naar bepaalde muziek, verschillen in hun effect op concentratie.

Next.js cache

Laurens vertelde over hoe hij omgaat met server-side rendering en componenten in Next.js. Hij legt uit dat hij dynamische data ophaalt, zoals informatie over auto's en bedrijven, en dat hij pagina's valideert zonder dat de hele pagina opnieuw geladen hoeft te worden. Next.js kan alleen de gewijzigde onderdelen van een pagina bijwerken, wat efficiënter werkt dan het opnieuw ophalen van alle data. Laurens vraagt zich af of hij iets over het hoofd ziet en of anderen dit proces op een andere manier aanpakken.

Django viewsets

Coen sprak over het gebruik van viewsets in Django. Hij legde uit dat viewsets handig zijn voor het snel opzetten van applicaties door veel standaardfunctionaliteit te bieden, zoals het registreren van URLs en CRUD-operaties met minimale code. Coen benadrukte dat viewsets vooral nuttig zijn voor het snel bouwen van concepten of prototypes.

Coen heeft zijn eigen viewset base class geschreven. Hij benadrukte dat zodra de applicatie groter en complexer wordt, het beter kan zijn om over te stappen op normale class-based of function-based views.

Streaming audio en Safari

Roel sprak over de technische uitdagingen bij het streamen van audio naar Safari. Hij ontdekte dat Safari twee audiostreams opent per audio-element: één voor een "range" verzoek (bytes=0-1) en één "normaal" verzoek. Dit leidde tot problemen zoals crashes en dubbele streams, vooral bij het gebruik van mp3-bestanden.

Roel vond een oplossing door de manier waarop de server omgaat met audiostreams aan te passen. Hij veranderde de server-configuratie om Safari te voorzien van een correcte mp3-header en stelde de HTTP-header "Content-Type" in op "audio/mpeg". Daarnaast zorgde hij ervoor dat bij een specifiek "range" verzoek (bytes=0-1) de server enkel een minimale reactie retourneert. Hierdoor worden de dubbele streams in Safari vermeden.

Feature selection

Lars gaf een presentatie over feature selection, een belangrijk onderdeel van machine learning waarbij je selecteert welke variabelen (features) nuttig zijn voor het maken van voorspellingen. Hij benadrukte dat niet alle features waardevol zijn en sommige beter kunnen worden weggelaten om de nauwkeurigheid te verbeteren. Hij noemde verschillende methoden voor feature selection, zoals het proberen van alle mogelijke combinaties, wat zeer tijdrovend kan zijn, vooral bij grote datasets. Alternatieve methoden, zoals de forward en backward selection, werken sneller maar hebben hun eigen beperkingen.

Lars deelde een voorbeeld uit een project waarbij hij voorspellingen deed over balcontrole bij voetbalspelers. Hij gebruikte verschillende features, zoals visie en intercepties, om het model te trainen, en hij legde uit dat zijn model soms betere resultaten gaf dan hij zelf had verwacht. De presentatie was vooral gericht op het vinden van de juiste balans tussen een nauwkeurig model en het minimaliseren van het aantal features, zodat het model beter generaliseert naar nieuwe data.

Nest.js

Maarten gaf een presentatie over Nest.js, een framework voor het bouwen van schaalbare server-side applicaties met Node.js. Hij legde uit dat Nest.js veel lijkt op Express.js, maar uitgebreider is en modulair werkt. De kracht van Nest.js zit in de structuur, waarbij je verschillende modules kunt maken, zoals een music of to-do module, die elkaar kunnen hergebruiken.

Daarnaast benadrukte hij het gebruik van services voor businesslogica en hoe je met controllers de interactie met gebruikers kunt beheren. Door het scheiden van logica met interceptors blijft de code schoon. Ook besprak hij hoe handig Nest.js is voor testen, omdat je eenvoudig mock-services kunt gebruiken om tests van controllers uit te voeren. Maarten raadde Nest.js aan voor schaalbare en onderhoudbare applicaties.

Pytest plugins

Martijn gaf een presentatie over pytest en de kracht van pytest plugins. Hij benadrukte dat pytest snel en efficiënt is voor het uitvoeren van tests, sneller dan veel andere testframeworks. Daarnaast besprak hij de toegevoegde waarde van pytest-plugins die het testen verder versnellen en verbeteren.

Enkele besproken plugins:

  • pytest-django: die een set handige tools biedt voor het testen van Django-applicaties.
  • pytest-mock: maakt het gemakkelijk om functies te _mocken_ en te controleren of ze correct worden aangeroepen.
  • pytest-factoryboy: genereert eenvoudig testdata met Factory Boy.
  • pytest-repeat: voert tests meerdere keren uit, wat handig is voor het vinden van intermitterende fouten.
  • pytest-env: waarmee je environment-variabelen kunt instellen.
  • pytest-playwright: integreert Playwright voor end-to-end tests met verschillende browsers, waardoor het eenvoudig wordt om gebruikersinteracties te simuleren.

Martijn raadde aan om deze plugins te gebruiken voor efficiëntere en betere tests binnen projecten.

Volgende editie bij Plauti

De volgende editie van de Lightning Talks wordt gehost door Plauti 👏 Jansbuitensingel 6.

Vrijdag 13 december: inloop vanaf 15:30 uur, start om 16:00 uur.

We love code