19juin 2016

TFS 2015 : Builder une appli UWP pour le store.

Après pas mal de recherche à voir descendre lentement le crédit de 240 minutes de build par mois, j'ai enfin trouvé la bonne configuration pour builder une application UWP pour Windows Store sur Team Foundation Server.

Lire la suite

23mai 2016

DDD et validation

J'ai trouvé ce billet intéressant sur le blog Lev Gorodinski à propos de la validation et de DDD.

Je suis assez fan de l'approche "pas d'état invalide au niveau du domaine".

18mai 2016

Powershell : Hash MD5 d'un fichier

Dispo depuis la version 4 :

Get-FileHash <filepath> -Algorithm MD5

11mai 2016

Les fausses bonnes idées par Arnaud Lemaire

J'ai déniché cette présentation super sympa dans la revue de presse de Mai 2016 d'Arolla :

A lire sans modération !

27avr. 2016

Visual Studio 2015 : NuGet et les projets partagés entre solutions

Me voilà réduis depuis un petit moment à écrire du powershell pour faire de la restauration de package sur des projets partagés entre plusieurs solutions.

J'ai fini par trouver ceci :

Ce monsieur Jason Stangroome a écrit un package nuget qui "corrige" le problème.

Cependant, soyons lucides, c'est en réalité un problème de design qui est à l'origine de tout cela ^^.

Voici le lien vers le package en question :

Enjoy !

05avr. 2016

CleanCoder : Giving up on TDD

Ou pourquoi certains dév abandonnent TDD par Uncle Bob Martin.

Ce post est une mine d'arguments pour expliquer et convaincre vos collègues de l'utilité de la méthode Test Driven Development.

Morceaux choisis

Design et TDD

- But I thought TDD meant that you didn't have to design.

Yeah, and: "Love means you never have to say your sorry." What a bunch of horse hockey! We are programmers! We design! We create structures with high cohesion and low coupling. We manage dependencies. We isolate modules. WE. DESIGN.

Les tests nous parlent

Something that is hard to test is badly designed.

- Hmmm. I'm not sure...

Look. Suppose you ask me to write an app to control your grandmother's pacemaker. I agree, and a week later I hand you a thumb-drive and tell you to load it into her controller. Before you do you ask me: "Did you test it?" And my response is: "No, I chose a design that was hard to test."

04avr. 2016

Vis ma vie de dev : phrases cultes

Entendu en réunion :

  • "Il faut être orienté solution et pas orienté problème."
  • "Les managers ont convertis les tailles de tee shirt en jours."

Nous (développeurs) estimons en tailles de tee shirts pour avoir une idée de la complexité relative d'un tâche par rapport à une autre.

23fév. 2016

PragDav : Agile is dead, long live Agile !

Lors d'un meetup Software craftman ship Paris nous avons visionné la conférence Agile is dead de Dave Thomas.

Dave Thomas alias PragDave signataire du manifeste Agile y explique comment les pratiques de développement agile se sont "perverties". On fait de l'Agile désormais - et on le monnaie.

Considérez cet extrait sur son blog :

  • You aren’t an agile programmer—you’re a programmer who programs with agility.
  • You don’t work on an agile team—your team exhibits agility.
  • You don’t use agile tools—you use tools that enhance your agility.

Ces quelques phrases en perspective avec la businessisation de l'agilité dans le monde de l'entreprise illustrent parfaitement la pensée de Dave Thomas.

Bon visionnage !

23déc. 2015

Optimiser son temps : le pomodoro

A la recherche d'une technique d'optimisation du temps, j'ai fait la découverte du pomodoro. Cette technique de travail existe depuis les années 80.

L'idée est de découper sa journée en périodes de 25 minutes entrecoupées par des pauses de 5min. Tous les 4 pomodori, on effectue une "grande pause" de 10 à 15 minutes.

Lire la suite

29sept. 2015

Software Craftmanship : le mantra

Citation Toujours laisser le code dans un état meilleur que celui où vous l’avez trouvé.

10sept. 2015

Unity : tester l'instanciation des classes

Cela fait plusieurs fois que je rencontre le problème des enregistrements manquants dans Unity. Le projet se lance et on obtient l'erreur suivante :

Resolution of the dependency failed, 
    type = "MyAssembly.IMyTypeName", name = "(none)".
Exception occurred while: while resolving.
Exception is: InvalidOperationException - The current 
    type, MyAssembly.IMyTypeName, is an interface 
    and cannot be constructed. Are you missing 
    a type mapping?

Les applications en entreprise nécessitent souvent que des webservices soient lancés, des cas de tests créés etc ... .

Mettre toutes ces conditions en place prends du temps - pour parfois aboutir à ce message d'erreur, et être obligé de tout recommencer.

Heureusement il est possible d'automatiser.

Lire la suite

29avr. 2015

AngularJS : Entre récupération et création de module

Petit piège dans lequel je suis tombé avec AngularJS. Lorsqu'on écrit la ligne suivante :

var app = angular.module('mymodule', []);

On crée un nouveau module. Si on écrit la ligne suivante :

var app = angular.module('mymodule');

On récupère le module créé.

Dans mon cas, je recréais le module que je venais de créer. Ce qui à l'exécution me donnait un erreur Unknown Provider lorsqu'AngularJS tentait d'injecter un service dans mon contrôleur.

Source

28avr. 2015

AngularJS : Manipuler le DOM avec JQuery

Voici un post sur stackoverflow qui décrit comment intéragir avec JQuery pour ouvrir une popin modale :

Comme en MVVM on s'attache à ne pas intéragir avec la couche vue depuis le code view model. L'astuce est de créer un service dédié qu'on va venir injecter à l'intérieur du contrôleur.

De cette façon, on se libère de la dépendance grâce au principe d'injection de dépendance :P. L'objectif étant bien sûr la testabilité accrue du code.

23avr. 2015

Javascripts : 3 façon de créer une classe javascript

Au hasard de mes balades sur le net, j'ai trouvé cette page qui récapitule les 3 façons de déclarer une classe en js :

13avr. 2015

Team Foundation Server : activer/désactiver le déploiement automatique

Voici comment activer ou désactiver le déploiement automatique dans Team Foundation Server :

Lire la suite

02mar. 2015

Javascript : mémo sur les design patterns

En fouinant sur le net à la recherche des guildes de programmation sur le langage Javascript, j'ai trouvé ce site :

Vous y trouverez entre autres le revealing pattern, des implémentations de design pattern du GOF.

18fév. 2015

CSS joke

.wife {
    right: 100%;
    margin: 0%;
}

Pour moi et tous les G33k casés.

Source

27janv. 2015

Powershell : équivalent de tail

Dans bien des situation, nous avons des fichiers de log à suivre. Hors, honte à Microsoft, jusqu'ici nous n'avions pas d'équivalent à l'outil tail de bash.

Voici une petite ligne de commande qui permet de faire la même chose que tail :

Get-Content -Path "C:\scripts\test.txt" -Wait

16déc. 2014

JQuery FileUpload avec IE 9 : Callback non appelé

Je travaille avec IE 9, et je devais uploader un fichier vers un serveur en utilisant Web API. J'ai finalement opté pour le plugin FileUpload de JQuery.

Seulement voilà, le plugin upload bien le fichier, mais je n'avais pas de retour après la soumission du formulaire.

Lire la suite

15déc. 2014

Web API/JQuery : Upload de fichier avec IE 9

Je n'ai pas trouvé de solution full JQuery native pour faire un upload de fichier avec IE 9, sans utiliser de plugin donc.

On oublie tout de suite l'utilisation d'un objet javascript FormData avec la fonction $.ajax de JQuery, car sous IE 9, ça n'existe pas.

Néanmoins voici une alternative possible sans utiliser de plugin.

Lire la suite

- page 1 de 15