Publié le 22 Mai 2015

L'installation de R sur Max OS X est assez aisée avec homebrew. Il y a cependant un écueil car R n'est pas disponible par défaut. Il faut d'abord ajouter un nouveau "repo" à homebrew:

brew tap home-brew/science

Penser à mettre à jour les taps homebrew avant de commencer:

brew update

Ensuite il faut installer gcc si vous ne l'avez pas encore:

brew install gcc

ou éventuellement 

brew upgrade gcc

pour être sûr d'avoir la dernière version de gcc (gcc 5 qui inclut gfortran).

Enfin on peut installer R:

brew install R

Et voilà c'est tout.

Voir les commentaires

Rédigé par Bliz

Publié dans #R

Repost 0

Publié le 18 Mai 2015

La lecture d'un fichier est nettement plus aisée en Scala qu'en Java.

En effet en scala le code tient en une seule ligne (ou presque):

import scala.io.Source

Source.fromFile("mon/fichier.txt").getLines

 

 

Voir les commentaires

Rédigé par Bliz

Publié dans #Scala

Repost 0

Publié le 11 Mai 2015

Par défaut 127.0.0.1 représente l'adresse locale (ou loopback). C'est à dire que rien est envoyé sur le réseau mais redirigé directement vers l'hôte local.

Il est intéressant d'avoir plusieurs adresses locales: 127.0.0.2, 127.0.0.3, ... afin de pouvoir faire tourner plusieurs instances d'une même application.

Pour ajouter une adresse locale cela se fait à l'aide de ifconfig et de la commande suivante:

sudo ifconfig lo0 alias 127.0.0.2 up

Voir les commentaires

Rédigé par Bliz

Publié dans #Linux

Repost 0

Publié le 8 Mai 2015

Jusqu'à présent j'ai toujours générer les PDF côté serveur mais je viens de découvrir une librairie javascript qui permet de le faire directement dans le navigateur.

Il s'agit de jsPDF. Cette librairie est assez facile d'utilisation il suffit de voir les examples disponibles.

Il y a une fonctionnalité qui m'a l'air particulièrement prometteuse: la possibilité de générer un pdf directement à partir du HTML.

J'avais placé de grands espoirs dans cette fonctionnalité en pensant pouvoir générer le HTML à partir d'un template angular directement en javascript sans l'attacher au DOM mais ce fut malheureusement un échec à cause des CSS non pris en charge.

Pour être honnête les CSS sont plus ou moins gérer si le HTML est un élément du DOM (même masqué).

En fait je trouve cette librairie malgré tout sympathique car la génération du PDF est assez rapide et permet de décharger le serveur.

Je vais continuer à suivre son évolution d'un oeil, surtout concernant la prise en charge des CSS.

Voir les commentaires

Rédigé par Bliz

Publié dans #Javascript

Repost 0

Publié le 7 Mai 2015

Maintenant qu'on sait comment télécharger un template angular il va falloir le traiter ou le compiler. C'est à dire remplacer toutes les doubles accolades {{}} par les valeurs correspondantes.

Cela se fait en 2 étapes:

  1. La compilation qui va produite une fonction qui pourra être utilisée pour générer un element HTML en lui passant un contexte ou scope.
  2. La liaison où on utilise la fonction précédente pour lier un élément HTML à un scope

Ce qui donne:

// html est une string contenant un template html
var bind = $compile(angular.element(html));
var element = bind($scope);

ou en une seule ligne:

var element = $compile(angular.element(html))($scope);

Si au lieu d'un élément HTML on a besoin d'une string on peut utiliser $interpolate au lieu de $compile.

 

Voir les commentaires

Rédigé par Bliz

Publié dans #angular

Repost 0

Publié le 7 Mai 2015

Un template angular n'est rien de plus qu'un fichier html.

On peut donc le télécharge facilement à l'aide du service $http.

$http.get('mon/template.html', {cache: $templateCache});

L'astuce consiste à bien préciser de cacher le template avec $templateCache de sorte que le template soit dispo dans le cache et qu'on évite des téléchargement superflus.

 

Voir les commentaires

Rédigé par Bliz

Publié dans #angular

Repost 0