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

14déc. 2014

Reference ASP.Net Web API

Sécuriser

12déc. 2014

References Web

Les sites de référence et documentation généraux sur les technologies Web :

JavaScript

Styling

  • Bootstrap - Un framework pour gérer la partie graphique des sites web.

30oct. 2014

Visual Studio 2012 : Optimiser son environnement

J'ai récemment été confronté à des lenteurs - quasiment un freeze - à l'ouverture de Visual Studio. A tel point qu'il devenait nécessaire de passer par le système de fichier pour modifier les fichiers sources.

Voici deux pistes de réflexion pour optimiser votre environnement.

Choisir le bon type de workspace

Team Foundation Server propose deux types de workspace, serveur et local.

Le workspace serveur

Lors de modifications dans un workspace serveur, Visual Studio checkout automatiquement les fichiers modifiés.

Lire la suite

30oct. 2014

Parole de dév

"Les mails urgents arrivent à pieds."

Spécial dédicace à P.

14oct. 2014

Théorie : Be SOLID !

Un peu de théorie avec un lien qui décrit les principes de programmation SOLID :

A méditer pendant que "ça compile et que ça build".

08août 2014

NUnit: mémo attributs

Voici un petit mémo sur les attributs à utiliser avec NUnit :

Au niveau du conteneur

  • [TestFixture] - A placer sur la déclaration de la classe pour la définir en tant que conteneur de test unitaires
  • [TestFixtureSetup] - Executé avant le début de l'exécution des tests contenus dans la classe.
  • [TestFixtureTearDown] - Executé après la fin de tous les tests contenus dans la classe

Lire la suite

11juin 2014

Visual Studio 2012 : Merge d'un shelvset vers une branche différente

J'ai récement du merger un shelveset vers une branche différente de sa branche de création. Dans un premier temps, il faut installer Team Foundation Server Power Tools.

Ensuite, vous devez avoir créé votre shelveset. Pour notre exemple nous l'appelerons shelveset01.

Lire la suite

27mar. 2014

Visual Studio 2010 : Downgrader un package NuGet

NuGet est le gestionnaire de package pour Visual Studio. Il permet de récupérer des packages utilisables dans les applications (Unity, MVC etc ...) mais aussi des plugins de Visual Studio.

Sous Visual Studio 2010, l'interface graphique de NuGet, si elle est intuitive, ne permet pas de gérer correctement les packages pour une application d'entreprise. Il manque notament une IHM de gestion de version.

Lire la suite

24mar. 2014

UnitTestIsolationException lors de ShimContext.Create()

J'ai rencontré une exception de type UnitTestIsolationException lorsque je tentais de lancer les tests unitaires de mon projet avec le debugger.

J'utilise NUnit comme moteur de tests unitaires couplé à Microsoft Fakes. Cette exception se produit lorsque l'instruction ShimContext.Create() est rencontrée.

Le test s'exécute correctement si il est lancé sans le débugger. Ainsi il fonctionne sur le serveur d'intégration.

Lire la suite

10mar. 2014

Microsoft Fakes : guidelines d'utilisation

Microsoft Fakes est une librairie destinée à simplifier l'écriture des tests unitaires. Cette librairie est composée de deux éléments :

  • Les Fakes qui permettent de générer automatiquement une implémentation d'interface.
  • les Shims qui permettent de remplacer le corps d'une méthode par un autre.

Lire la suite

13fév. 2014

WCF : Retourner une interface au client

Nous allons voir comment retourner une interface depuis une méthode d'un service web WCF.

Coté WebService

WCF fournit un attribut ServiceKnownType qui permet de déclarer des KnownType au niveau de l'interface ServiceContract d'un service:

[ServiceContract(Namespace = "MyNameSpace.MyWebServices", 
    Name = "MyService")]
[ServiceKnownType(typeof(MyObject))]
public interface IMyServiceInterface {
    ...
}

Lire la suite

- page 1 de 14