samedi 29 juin 2013

Où sont stocker les fichiers temporaires Grails ?


Grails stocke les fichiers dans le répertoire .grails.

  • Sur Linux : $HOME/.grails
  • Surwindows : c:\Users\myUser\.grails

Vous pouvez effacer ces fichiers temporaires : grails clean
Voici la description officiel de la commande clean :

The clean command deletes all compiled resources from the application. Since Groovy is a compiled language, as with Java, this is sometimes useful to clear old instances of classes and ensure correct compilation. It's also a good idea to run this script before running tests or creating a WAR file to ensure a full compilation occurs.

La commande clean efface toutes les resources compilées de l'application. Depuis que Groovy est un langage compilé (comme Java), il est parfois utiles d'effacer les veilles instances de classes pour être sûr que la compilation soit correct.C'est aussi une bonne idée de lancer un cleab avant de lancer des tests ou avant de créer un war pour s'assurer que la compilation soit complète.

vendredi 28 juin 2013

Koans : Apprendre par les test unitaires !

Je vous ai déjà parlé de Koans pour apprendre Groovy. Mais ce que je ne savais pas, c'est qu'il existait pour d'autres langages : JavaScript, Ruby ...

Plus d'informations sur : http://technotzen.wordpress.com/2013/06/01/koan-are-the-best-way-to-learn-code/

jeudi 27 juin 2013

Comment afficher les champs dans le bon ordre lorsque l'on utilise Scaffolding dans Grails ?


Voici la définition officielle :

Scaffolding lets you auto-generate a whole application for a given domain class including:
  • The necessary views
  • Controller actions for create/read/update/delete (CRUD) operations

Scaffolding vou permet de générer une application entière pour une classe de domaine incluant :
Les vues nécessaires
Les actions du Controlleur : lecture, écriture, delete

Par exemple, si vous définissez la classe de domaine suivante :

class User {

String name
String tel
String addr

}
Vous vous attendez à avoir les champs HTML dans le même ordre. Mais ce n'est pas forcément le cas. En fait, il semble que l'ordre par défaut soit l'ordre alphabétique. Pour avoir les champs HTML avec l'ordre désirée, vous devez procéder comme ceci :

statics constraints = {
     name()
     addr()
     tel()
}
 Cette méthode vous permet aussi de définir la validation, les contraintes pour vos formulaires ...


Marseille JUG Soirée Elastic Search le 4 juillet

 



Finalement, il y aura une dernière soirée pour la saison le 4 juillet avec David Pilato qui viendra présenter Elastic Search:

Vous utilisez encore des requêtes SQL pour faire des recherches ? Vos utilisateurs vous reprochent de ne pas pouvoir chercher sur toutes les rubriques ? Votre temps de réponse moyen est supérieur à la demi-seconde avec seulement quelques millions de documents ? Il vous faut 3 jours pour produire des statistiques sur vos données ? Vous rêvez d’offrir une recherche "à la google" sur les données de votre SI ?

Ne cherchez plus ! Cette conférence est faite pour vous.
Plus de détails sur le site sur MarsJUG: http://marsjug.org/#reunions

Les inscriptions se font sur event brite: http://www.eventbrite.fr/event/7210361385

Quoi de new dans Java 8 ?

So@t Java 8



Sur blog.soat, il y a une série intéressante de 3 articles sur Java 8 :

http://blog.soat.fr/2013/06/java-8-whats-new-13-project-lambda/
http://blog.soat.fr/2013/06/java-8-whats-new-23-date-and-time/
http://blog.soat.fr/2013/06/java-8-whats-new-33-type-annotations-et-nashorn/


mercredi 26 juin 2013

Grails : pourquoi les données ne sont pas persistées ?

Par défaut avec Grails, on est en mode développement.C'est pourquoi, chaque fois que l'on redémarre notre application, on perd ses données.

Par exemple, si vous utilisez scaffold et que vous sauvegardez des données, au prochain redémarrage, vous ne retrouverez pas ce que vous avez sauvegarder :

class RegistrationController {

    def scaffold = true
}
La première fois, c'est un peu frustrant ...
Si vous voulez voir les données après un redémarrage, vous devez changer la configuration de la base de données. Si vous ne voulez pas attendre, vous pouvez lancer la commande suivante :
 grails prod run-app
 Ensuite, si vous sauvegardez des données, elles seront toujours présentes au prochain redémarrage.

AscciDoc vs Markdown


AscciDoc and Markdown vous permettent décrite à l'aide d'un langage simple du texte dans le but de générer par exemple des pages HTML. Ces deux langages sont les plus populaires du moment (Par exemple Markdown est utilisé par GitHub).
Si vous voulez un exemple : Markdown

Quel est le meilleur choix ?

Bonne question ... Je n'ai pas de réponse à donner mais voici un lien avec une dicussion intéressante dessus : https://github.com/awestruct/web-editor/issues/12#issuecomment-19943154



Lien utiles :


Daring Fireball
MarkDown
http://daringfireball.net/projects/markdown/ 







AsciiDoc Text based document generation http://www.methods.co.nz/asciidoc/

mardi 25 juin 2013

Initialisation d'une List en Groovy et en Java


En suivant le tutoriel de http://groovykoans.org/, on remarque que Groovy possède pleins d'astuces qui rendent le code plus concis et aussi plus simple à utiliser.

Voici une comparaison très simple entre Groovy et Java pour initialiser les éléments dans une liste :

En java :

        List<String> javaList = new ArrayList<String>();
        javaList.add("King");
        javaList.add("Queen");
        javaList.add("Prince");

En Groovy :

        def groovyList = ['King', 'Prince']






Plus d'infos sur http://groovy.codehaus.org/JN1015-Collections

Résumé des fonctionnalités Java EE7

Un bon résumé sur ce qui est dans Java EE 7 : http://blog.ippon.fr/2013/06/18/java-ee-7-plus-quun-nouveau-numero-de-version/

Tendances informatiques : Redhat EHL abandonne Mysql pour MariaDB !


Une petite news que j'ai trouvé intéressante car elle montre la tendance du moment...
Mysql est partout ! Cependant, de plus en plus, on entend que beaucoup abandonne Mysql pour MariaDB. Le dernier en date à avoir migrer est RedHat !

La première raison de ce changement est que MariaDB est vraiment Open Source. Ensuite, MariaDB aurait de meilleurs performances ...
Pour information, MariaDB est un fork de Mysql fait par un des trois co-fondateur de Mysql.

Pour plus d'information sur les fonctionnalités de MariaDB : 
https://kb.askmonty.org/en/mariadb-versus-mysql-features/

Le passage de Mysql à MariaDB de RedHat :
http://www.itwire.com/business-it-news/open-source/60292-red-hat-ditches-mysql-switches-to-mariadb

MySQLMariaDB

samedi 22 juin 2013

Comment changer le numéro de port du serveur dans votre application Grails ?

Dans votre application web, il faut editer conf/BuildConfig.groovy de la manière suivante ;

grails.server.port.http = 8090

Exemple :
grails.project.dependency.resolution = {
    // inherit Grails' default dependencies
    inherits("global") {
        // specify dependency exclusions here; for example, uncomment this to disable ehcache:
        // excludes 'ehcache'
        grails.server.port.http = 8090
    }
    log "error" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
    checksums true // Whether to verify checksums on resolve
    legacyResolve true // whether to do a secondary resolve on plugin installation, not advised but here for backwards compatibility

Cette astuce vient de http://stackoverflow.com/questions/10955899/how-to-change-grails-localhost-port

mardi 18 juin 2013

Tutoriel sur les nouveautés d'IntelliJ IDEA 12.1, premières impressions

Je viens de publier un article sur developpez.com sur IntelliJ : http://damienrieu.developpez.com/tutoriel/java/nouveautes-intellij-12/

J'ai pris beaucoup de plaisir à faire cette article et à découvrir cet IDE.Si vous avez des commentaires, des questions, n'hésitez pas !

mardi 11 juin 2013

Marseille JUG : Soirée Groovy avec Guillaume Laforge


Guillaume Laforge, le chef de projet de Groovy, viendra présenter Groovy le mardi 18 juin.
Plus d'informations sur http://marsjug.org/#reunions

lundi 10 juin 2013

Pourquoi choisir mongoDB ?


Depuis quelques temps, le monde NoSql m'intrigue. Je suis tombé sur un billet intéressant sur MongoDB. Je vais d'ailleurs intégrer MongoDB sur un de mes projets web pour me faire une idée ...
Voici le lien http://dev.af83.com/2010/01/28/pourquoi-choisir-mongodb.html

samedi 8 juin 2013

Grails : un remplaçant de Play 1.X ?

Etant donné que Play 1.X devient obsolete, j'ai décidé de me mettre à Grails.
Grails est un framework qui me semble mature. De plus, j'ai constaté pas mal de similitude et en plus j'ai une préférence pour le langage Groovy.

Voici un tutoriel pas mal pour configurer Grails avec une base de donnée Mysql : http://learnedstuffs.wordpress.com/2012/02/21/using-mysql-as-database-in-grails/

lundi 3 juin 2013

hackegarten au Marseille JUG !


Le marseille JUG organise un hackegarten le mercredi 5 juin.
Un hackegarten vous permet de participer à un projet open source avec l'aide des commiters ou contributeurs sur ces projets. Cela permet de débuter plus facilement sur un projet.
Pour plus d'informations, vous pouvez consulter http://marsjug.org/#reunions

Blog de Keulkeul - Eclipse / OSGi / Java / NoSQL: Liens pratiques de la semaine

Blog de Keulkeul - Eclipse / OSGi / Java / NoSQL: Liens pratiques de la semaine: Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement...

Dans ce billet, vous trouverez plusieurs liens intéressant dont un qui a attiré mon attention.
C'est un site qui vous permet d'apprendre Git de manière interactive : http://pcottle.github.io/learnGitBranching/