jeudi 12 janvier 2017

[JAVASCRIPT-ANGULAR] - Mesurer le temps d'éxécution d'un script

Pour mesurer le temps d’exécution d'un code javascript, il suffit d'ajouter la ligne suivante au début du code :

console.time("native-for");

et cette ligne à la fin du code à mesurer :

console.timeEnd("native-for");

Pour illuster, voici un exemple :

console.time("native-for");
for (var i = 0; i < vm.listePays.length;i++) {
    if (vm.listePays[i].code==='FR')
    {
        vm.data.pays=vm.listePays[i];
    //break;
    }
}
console.timeEnd("native-for");


console.time("angular-foreach");
angular.forEach(vm.listePays, function(value, key) {
    if(value.code==='FR')
    {
        vm.data.pays=value;
    }
});
console.timeEnd("angular-foreach");

Ce qui donne dans la console :





J'ai commenté le "break" pour le "native-for" pour que l'on mesure la même chose, et on voit bien que le native-for est plus rapide que le foreach d'angular, donc il vaut mieux utiliser le for natif de javascript.


jeudi 13 juin 2013

[ECLIPSE] Emplacement des propriétés d'un plugin

Lors du développement d'un plugin, si ce plugin gère des propriétés qui sont accessible via l'interface des préférences d'Eclipse(Fenêtre->Préférences).

Les propriétés que vous saisissez sont enregistrées à cette emplacement :
${WORSPACE}\.metadata\.plugins\org.eclipse.core.runtime\.settings\NomPlugin.prefs

Celà peut être utile de supprimer ce fichier par exemple si vous avez une initialisation par défaut des propriétés.

mardi 30 avril 2013

[JAVA] Connexion SOAP sécurisé WebSphere

Bonjour,
Tout d'abord il faut vérifier la configuration de son serveur :





Nous allons également récupérer le port SOAPen suivant le chemin
Serveur->Serveurs d'applications Websphere -> cliquer sur votre serveur

Celui qui nous intéresse est le SOAP_CONNECTOR_ADDRESS :


Voici ensuite le code permettant de se connecter :

public class AdminTools {

    private String keyStoreFile = "C:/test/WebSpherePortal/6103/wp_profile/etc/key.p12";
    private String trustStoreFile = "C:/test/WebSpherePortal/6103/wp_profile/etc/trust.p12";
    private String keyStorePassword = "WebAs";
    private String trustStorePassword = "WebAs";

    private String hote = "localhost";
    private String port = "10025";
    private String adminPassword = "admin";
    private String adminUser = "admin";

    public void connect() {

        Properties connectProps = new Properties();
        connectProps.setProperty(AdminClient.CONNECTOR_TYPE,
                AdminClient.CONNECTOR_TYPE_SOAP);
        connectProps.setProperty(AdminClient.CONNECTOR_HOST, hote);
        connectProps.setProperty(AdminClient.CONNECTOR_PORT, port);
        connectProps
                .setProperty(AdminClient.CONNECTOR_SECURITY_ENABLED, "true");
        connectProps.setProperty(AdminClient.CACHE_DISABLED, "false");
        connectProps.setProperty("com.ibm.ssl.keyStoreFileBased", "true");
        connectProps.setProperty("com.ibm.ssl.trustStoreFileBased", "true");
        connectProps.setProperty("com.ibm.ssl.keyStore", keyStoreFile);
        connectProps.setProperty("javax.net.ssl.keyStore", keyStoreFile);
        connectProps.setProperty("com.ibm.ssl.keyStorePassword", "WebAS");
        connectProps.setProperty("javax.net.ssl.keyStorePassword", "WebAS");
        connectProps.setProperty("javax.net.ssl.trustStorePassword",
                trustStorePassword);
        connectProps.setProperty("javax.net.ssl.keyStorePassword",
                keyStorePassword);
        connectProps.setProperty(AdminClient.USERNAME, adminUser);
        connectProps.setProperty(AdminClient.PASSWORD, adminPassword);

        if (keyStoreFile.endsWith(".p12") || keyStoreFile.endsWith(".P12"))
        {
            connectProps.setProperty("com.ibm.ssl.keyStoreType", "PKCS12");
            connectProps.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
        } else
        {
            connectProps.setProperty("com.ibm.ssl.keyStoreType", "JKS");
            connectProps.setProperty("javax.net.ssl.keyStoreType", "JKS");
        }
        connectProps.setProperty("com.ibm.ssl.trustStore", trustStoreFile);
        connectProps.setProperty("javax.net.ssl.trustStore", trustStoreFile);
        connectProps.setProperty("com.ibm.ssl.trustStorePassword",
                trustStorePassword);
        connectProps.setProperty("javax.net.ssl.trustStorePassword",
                keyStorePassword);
        if (trustStoreFile.endsWith(".p12") || trustStoreFile.endsWith(".P12"))
        {
            connectProps.setProperty("com.ibm.ssl.trustStoreType", "PKCS12");
            connectProps.setProperty("javax.net.ssl.trustStoreType", "PKCS12");
        } else
        {
            connectProps.setProperty("com.ibm.ssl.trustStoreType", "JKS");
            connectProps.setProperty("javax.net.ssl.trustStoreType", "JKS");
        }
    }

}

Vous avez simplement à modifier les paramètres qui sont les variables de classes et le tour est joué.
Pour ensuite administrer son serveur, vous pouvez vous référer à cette doc :

http://pic.dhe.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Ftjmx_develop.html

vendredi 11 janvier 2013

Initialisation sur une seule ligne d'une List

Bonjour,

Si vous souhaitez initialiser directement à l'instanciation votre List, vous pouvez procéder comme cela :

List<String> maList= new ArrayList<String>(Arrays.asList("val1", "val2", "val3", "val4"));

Cela évite de faire des add sur plusieurs lignes.

jeudi 13 décembre 2012

Javascript - détecter version navigateur IE

Bonjour,

Si comme moi, vous avez du code JavaScript HTML5 qui ne s’exécute pas sur tous les navigateurs, surtout sur les anciennes versions d'IE, vous pouvez utiliser ce bout de code qui utilise les commentaires conditionnels d'IE :

//Traitement spécifique pour IE8 qui n'accepte pas les selecteurs CSS3
var div = document.createElement('div');
div.innerHTML = '<!--[if lte IE 8]>IE8<![endif]-->';
if(div.innerHTML=="IE8")
{
       <!-- Code qui s'exécutera sous IE8 ou antérieur--> 
  }
  else
  {
        <!-- Code qui s'éxécutera sous les autres navigateurs -->
  }

Si notre navigateur est est IE mais une version antérieure ou égale à la 8, le div contiendra seulement la chaîne "IE8", alors que si votre navigateur est toujours IE, mais une autre version, le div sera vide.
Et si finalement votre navigateur n'est pas IE, le commentaire ne sera pas interprété et le div contiendra simplement : ""

Ci-dessous la liste des différents commentaires conditionnels utilisables :
<!--[if gte IE 6]> pour IE 6.0 et version plus récentes <![endif]-->

<!--[if IE 5.0]> pour IE 5.0 <![endif]-->

<!--[if IE 5.5000]> pour IE 5.5 <![endif]-->

<!--[if IE 6]> pour IE 6.0 <![endif]-->

<!--[if IE 7]> pour IE 7.0 <![endif]-->

<!--[if IE 8]> pour IE 8.0 <![endif]-->

<!--[if IE 9]> pour IE 9.0 <![endif]-->

<!--[if gte IE 7]> pour IE 7 et supérieur <![endif]-->

<!--[if lt IE 7]> pour IE inférieur à IE 7 <![endif]-->

<!--[if lte IE 6]> pour IE 5.0, IE 5.5 et IE 6.0 mais pas IE7.0 et plus <![endif]-->

<!--[if (lt IE 6)|(IE 8)]> pour IE inférieur à IE 6.0 ou si IE 8 <![endif]-->

<!--[if (gt IE 5)&(lt IE 7)]> pour IE supérieur à IE 5.0 et inférieur à IE 7 <![endif]-->

<!--[if !IE]><!--> si ce n'est pas IE <!--<![endif]-->

mardi 13 novembre 2012

Wake On Lan(WOL) avec Windows 8

Si comme moi le WOL ne fonctionne plus avec Windows 8, bien que vous ayez activé
                                    - la fonction dans votre BIOS : Power -> APM -> Power On by PCI Devices = Enabled

























                                         -modifier les paramètres de la carte réseau :




Sur Windows 8, en désactivant cette fonction dans "Option d'alimentation", le WOL devrait remarcher :


Pour tester, vous pouvez vous rendre à cette adresse :
http://www.depicus.com/wake-on-lan/woli.aspx