Skip to content
/ dojos Public

Petit projet pour aider à faire les Dojos (puzzle/quizz/...) du PSUG

Notifications You must be signed in to change notification settings

psug/dojos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini projet pour experimenter les "Dojos" du PSUG (Paris Scala User Group).

Les Dojos sur la mailing-list

Objectifs

Les objectifs sont de s'amuser, d'apprendre Scala et d'échanger autour de petits problèmes.

Il n'y a rien à gagner, juste le plaisir de chercher et aucune obligation de jouer.

"Règles"

Pour chaque problème, il faut essayer de trouver (tout ou une partie) :

  • une implémentation de la méthode pour satisfaire l'exemple et le cas général.

    • Elle peut être élégante, optimisée (mem, cpu), surprenant, original, ...
    • Elle peut utiliser une fonction existante dans une lib (connaitre les lib et framework est important aussi)
    • Réflechissez avant de répondre et essayer de ne poster qu'une solution (dans la vie comme dans le code, on fait des choix)
  • un test (unitaire, fonctionnel, charge/bench) pour les implementations de solution

    • Il peut utiliser des framework de test/bench existant (eg scalacheck, specs2, scalatest, junit)
    • Il peut être envoyer dès l'annonce du problème et sans solution.
  • Les Problèmes sont "publiés" tous les jours du lundi au vendredi sur la mailing-list du PSUG (Paris Scala User Group) (à l'heure du déjeuner +/-).

  • Il y a 1 à 3 problèmes par jour

  • Vous pouvez proposer et discuter des solutions en répondant sur le Thread du message avec le problème.

  • Tous les messages du dojo ont un sujet de la forme "[Dojo] P (<*>) : " donc assez facile à filtrer sur vos clients email.

    • xxx : numéro du problème
      • : "difficulté" du problème
    • label : libellé du problème (en anglais ou français)

Les 99 premiers problèmes proviennent de http://aperiodic.net/phil/scala/s-99/

Le projet sur github

Objectifs

  • un peu flou ;-)
  • "garder" les règles
  • fournir un projet de base pour tester du code pour les Dojos (avec toutes les libs).
  • éventuellement, stocker certaines solutions
  • le projet est une aide, aucune obligation de l'utiliser, ou d'y placer son code source

Modalités

Pour le moment, il s'agit d'un "bac à sable". Donc pas besoin de configuration maven, ou sbt (mais les contributions sont acceptées). Par contre il faut avoir installer Scala et avoir "scala" dans le PATH. L'interpreteur (REPL) etant le principal outil.

La version de scala utilisée est 2.9.0-1.

Toutes les contributions sont les bien-venues, donc pour ceux qui connaissent git/github (fork + pull-request), pour les autres patch ou fichiers par email (sur la ml) ou ticket.

export PATH=$SCALA_HOME/bin:$PATH
cd psug
# git clone git://github.com/psug/dojos.git
# si vous n'avez pas 'git', vous pouvez utiliser le bouton "download" pour avoir une archive du projet
cd dojos
#scala -Djava.ext.dirs=lib/scala_2.9.0-1
./repl

scala> :load src/p001.scala
Loading src/p001.scala...
defined module p001
import p001._

    http://groups.google.com/group/paris-scala-user-group/browse_thread/thread/eac9319f94b244a8
    
    P01 (*) Find the last element of a list.
    Example:
    scala> last(List(1, 1, 2, 3, 5, 8))
    res0: Int = 8
  

scala> BenjaminLerman.last(List(1, 1, 2, 3, 5, 8))
res0: Option[Int] = Some(8)


scala> ... 

About

Petit projet pour aider à faire les Dojos (puzzle/quizz/...) du PSUG

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages