Blog
Test unitaire avec Async Await – Continuation et closures dans un client HTTP
Dans les deux premiers articles concernant async await et les tests unitaires, nous avons remarqué que la nouvelle API transforme d’une manière assez radicale la façon de tester (pas d’expectation, il faut ajouter async throws au niveau de chaque méthode de test…). Notre manière de tester ou d’écrire notre code de production change et on […]
Gestion des accès concurrentiels en iOS avec les Actors
Depuis la version 5.5 de Swift, Apple a introduit un nouveau type de données dit Actor. Le nouveau type permet d’assurer que l’état d’un objet de type référence ne peut pas être modifié que par un seul thread. Cela permet d’assurer l’atomicité des opérations et d’éviter les problèmes dit “Data Races” ou accès concurrentiel à […]
Création d’un EDSL avec ResultBuilder (une approche déclarative en Swift)
Durant des années, j’ai confondu langage de programmation et DSL (Domain Specific Language). Ne pensant pas que HTML pouvait être un DSL tout comme SQL, GHERKIN et bien d’autres. Dans l’écosystème d’Apple, on utilise très souvent les DSL sans les connaitre, par exemple, le fichier podfile de CocoaPods ou même SwiftUI. En effet, l’objectif de cet article est de simplifier le concept de DSL en présentant un […]
Techniques modernes de Hot Reloading en iOS/Mac OS
Le Hot Reloading ou le rechargement à chaud désigne l'affichage en temps réel des modifications UI sans devoir relancer l'application informatique. Cela, permet de gagner énormément en terme de productivité vu qu'on aperçoit en temps réel les effets de notre changement sans recompiler toute l'application.
Démystifier des problèmes du test iOS CodinGame (approche TDD)
C’est quoi le CodinGame? Bonjour les développeurs, Durant le processus de recrutement, plusieurs entreprises d’IT (généralement des ESN, grandes entreprises de développement) vous envoient comme première étape du processus de recrutement le CodinGame. Si vous êtes familiarisé avec des sites de genre HackerRank, LeetCode, Codeforces…, le test CodinGame ne sera pas difficile normalement pour vous […]