Ce n’est pas la première fois que je tente de me mettre au Go (pas le jeu mais le langage) et cette fois-ci cela semble beaucoup mieux parti.
J’ai acheté ma première formation Go le 6 décembre 2018 (j’ai retrouvé la facture). En fait j’en ai même pris 2. Une de Stephen Grider et une de Todd Mc Leod.
Je me souviens avoir fais celle de Stephen Grider dans la foulée. J’appréciais déjà le formateur. La formation était bien faite, le formateur était clair, mais une fois celle-ci terminée … je n’avais pas démarré de projet particulier en Go.
Les mois ont passés, puis les années et jamais ne s’est reposé la question de faire du Go mon langage principal. Je maitrise la PHP depuis plusieurs années, Laravel est un fantastique framework bref c’était interessant pour la culture mais voila je suis à un stade de ma carrière ou j’ai atteint un plafond de verre avec le php.
Dis autrement, j’ai bien fais le tour du PHP.
Au hasard d’un classement des langages les plus utilisés Go est apparu très bien placé et je me suis rappelé le conseil d’un ami et ancien collègue (@Jerem si tu passes par là) de m’y mettre.
Go c’est super simple ! T’as 2 design pattern et tu sais tout ! (en gros)
C’est bien gentil mais apprendre un autre langage tout en continuant de vivre du Php, je n’avais aucune chance d’améliorer ma pratique du Go.
C’est là qu’arrive ecran-inspirant.fr.
Ecran-inspirant, j’en parle dans plusieurs articles est un service qui a vocation a te générer un fond d’écran inspirant coloré et original sur toutes les plateformes.
A la base ce n’était que sur mon téléphone mais comme tous les sides projects on a tendance a l’enrichir. ET pour le coup je l’utilise très simplement sur mon iPhone mais j’aurai aimé avoir un fond d’écran adapté sur mes autres ordis.
Je voudrai lancer un programme et que celui-ci mette en place ce fond d’écran sans rien me demander. Ne me resterai plus qu’à créer une tache planifiée, ajouter une ligne dans ma crontab et ce serait réglé. Mon fond d’écran changerait tous les jours 👌
Un programme oui mais en quoi … en Go évidemment !
C’est comme ca que me Go est revenu en force dans ma vie. Je vais faire un programme en go qui soit :
- open source
- multi plateformes (linux, windows, mac)
- super simple à utiliser
J’avoue qu’au début je pensais utiliser un package existant. Package qui mettait en place un fond d’écran à partir d’une ligne de commande à partir d’un fichier ou d’une url.
Mais, le package ne mettant pas à jour mon fond d’écran je me suis dis que c’était là l’occasion de démarrer un vrai petit projet en go et de me familiariser avec.
Si en plus je vais jusqu’à la prod je vais en tirer énormément d’enseignement avec un programme sans vrai enjeu … donc c’était parfait.
Du go oui mais en TDD !
Je suis donc reparti sur ma formation GO et soudain la lumière 💡 mais oui les tests sont implémentés « nativement » dans Go, pas besoin d’installer un phpUnit ou bien un Pest on peut lancer directement un `go test`.
Un minimum de recherche et surtout un autre ami (merci @Nourredine) j’ai découvert https://quii.gitbook.io/learn-go-with-tests/.
Il n’en fallait pas plus :
- une source d’inspiration (le package https://github.com/reujab/wallpaper)
- un cours sur le TDD en Go
et me voila lancé.
J’ai créé un repository sous Github (un peu crado pour l’instant) mais cela devrait s’améliorer progressivement, le temps que j’intègre les bonnes pratiques en Go.
Et je repense à un ancien collègue qui me disait sans arrêt qu’il ne se formait plus
c’est trop tard, je suis trop vieux
Mais NON ! il n’est jamais trop tard ! On peut, on se doit de continuer à se former ! sinon effectivement il sera trop tard.