dans un environnement professionnel
|
|
- Delphine Céline Bénard
- il y a 8 ans
- Total affichages :
Transcription
1 dans un environnement professionnel
2 Questions Quels langages et paradigmes connaissez vous? Procédural/Structuré? C, VB, Delphi? Objet? Java, C#, C++, PHP, Python, Ruby? Déclaratif? SQL? Logique? Prolog? Fonctionnel? Haskell, Ocaml?
3 Présentation
4 Un exemple On veut lancer 2 dés à 6 faces, 200 fois
5 Un exemple On veut lancer 2 dés à 6 faces, 200 fois On calcule la somme des 2 faces pour chaque lancer
6 Un exemple On veut lancer 2 dés à 6 faces, 200 fois On calcule la somme des 2 faces pour chaque lancer On affiche l histogramme correspondant, en mode texte
7 Un exemple On veut lancer 2 dés à 6 faces, 200 fois On calcule la somme des 2 faces pour chaque lancer On affiche l histogramme correspondant, en mode texte 2: XXXX 3: XXXXXXXXXX 4: XXXXXXXXXXXXXXXXXXXXXX 5: XXXXXXXXXXXXXXXXXXXXX 6: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 8: XXXXXXXXXXXXXXXXXXXXXXXXXX 9: XXXXXXXXXXXXXXXXXXXXX 10: XXXXXXXXXXXXXX 11: XXXXXXXXXXXX 12: XXXX
8 Une solution en Java
9 Une solution en Scala
10 La «vraie» solution en Scala Stream.continually(util.Random.nextInt(6)+util.Random.nextInt(6)+2).take(200).groupBy(identity).toList.sortBy(_._1).foreach { case(a, b) => println(a+":" + "X" * b.size) }
11 Pourquoi s y intéresser Un meilleur Java 100% compatible
12 Pourquoi s y intéresser Un meilleur Java 100% compatible Plus concis
13 Pourquoi s y intéresser Un meilleur Java 100% compatible Plus concis Inférence de types
14 Pourquoi s y intéresser Un meilleur Java 100% compatible Plus concis Inférence de types Librairie standard plus riche (collections, String )
15 Pourquoi s y intéresser Un meilleur Java 100% compatible Plus concis Inférence de types Librairie standard plus riche (collections, String ) Plus puissant : n- uplets, définition d opérateurs, pattern matching, DSL
16 Pourquoi s y intéresser Un meilleur Java 100% compatible Plus concis Inférence de types Librairie standard plus riche (collections, String ) Plus puissant : n- uplets, définition d opérateurs, pattern matching, DSL Interpréteur pour les tâches «rapides»
17 Un meilleur Java package example trait Similarity { def issimilar(x: Any): Boolean def isnotsimilar(x: Any): Boolean =!issimilar(x) } class Point(val x: Int = 0, val y: Int = 0) extends Similarity { def issimilar(obj: Any) = obj.isinstanceof[point] && obj.asinstanceof[point].x == x def +(p: Point) = new Point(x+p.x, y+p.y) } object Point extends App { val p1 = new Point(1, 2) val p2 = new Point val p3 = new Point(5) val p4 = new Point(y=6) val p5 = p2 + p4 println(p2.isnotsimilar(p5)) }
18 Pourquoi s y intéresser La programmation fonctionnelle est de plus en plus fréquente : Java 8, C#, VB#, F#, C++ 11, Swift, Fortran 95, PHP 5.3, Ruby/Python, Map/ Reduce
19 Pourquoi s y intéresser La programmation fonctionnelle est de plus en plus fréquente : Java 8, C#, VB#, F#, C++ 11, Swift, Fortran 95, PHP 5.3, Ruby/Python, Map/ Reduce Un des rares langages vraiment hybride
20 Pourquoi s y intéresser La programmation fonctionnelle est de plus en plus fréquente : Java 8, C#, VB#, F#, C++ 11, Swift, Fortran 95, PHP 5.3, Ruby/Python, Map/ Reduce Un des rares langages vraiment hybride Il est plus intéressant pour un programmeur de connaître d autres langages que d approfondir celui qu il maitrise
21 2012 Pourquoi s y intéresser
22 2015 Pourquoi s y intéresser
23 Pour la petite histoire Développé en Europe (à l EPFL) Conçu par Martin Odersky A conçu Generic Java qui va donner les génériques qu on connaît depuis Java 5 Le compilateur qu il a écrit va être repris par Sun pour faire javac Puis il a voulu faire un «meilleur» Java, moins limitant A commencé par Funnel, simple mais trop «pur», élégant d un point de vue théorique mais peu pratique En 2002/2004, Scala apparaît : plus pragmatique mais toujours mixant fonctionnel et objet
24 La programmation fonctionnelle
25 La programmation fonctionnelle Un vaste sujet qui nécessiterait plusieurs cours
26 La programmation fonctionnelle Un vaste sujet qui nécessiterait plusieurs cours Un programme est une fonction, composé d autres fonctions
27 La programmation fonctionnelle Un vaste sujet qui nécessiterait plusieurs cours Un programme est une fonction, composé d autres fonctions On transforme des données, on ne les modifie pas (elles sont immutables comme String en Java)
28 La programmation fonctionnelle Un vaste sujet qui nécessiterait plusieurs cours Un programme est une fonction, composé d autres fonctions On transforme des données, on ne les modifie pas (elles sont immutables comme String en Java) Historiquement, cela fait des langages plus lents et typés «recherche universitaire»
29 La programmation fonctionnelle Un vaste sujet qui nécessiterait plusieurs cours Un programme est une fonction, composé d autres fonctions On transforme des données, on ne les modifie pas (elles sont immutables comme String en Java) Historiquement, cela fait des langages plus lents et typés «recherche universitaire» Mais de plus en plus utilisé dans le monde réel (Erlang, R)
30 Composition
31 Composition def randomchars = Stream.continually(util.Random.nextPrintableChar)
32 Composition def randomchars = Stream.continually(util.Random.nextPrintableChar) def randomcharswithlength(n: Int) = { val length = util.random.nextint(n) randomchars.take(length) }
33 Composition def randomchars = Stream.continually(util.Random.nextPrintableChar) def randomcharswithlength(n: Int) = { val length = util.random.nextint(n) randomchars.take(length) } def randomcharstream(n: Int) = Stream.continually(randomCharsWithLength(n))
34 Composition
35 Composition def randomstrings(n: Int) = randomcharstream(n).map { s => s.mkstring }
36 Composition def randomstrings(n: Int) = randomcharstream(n).map { s => s.mkstring } def find(n: Int, count: Int, s: String) = randomstrings(n).take(count).filter(_.contains(s))
37 Composition def randomstrings(n: Int) = randomcharstream(n).map { s => s.mkstring } def find(n: Int, count: Int, s: String) = randomstrings(n).take(count).filter(_.contains(s)) randomstrings(10).zipwithindex.find(_._1.contains( "foo")).map { _._2 }
38 Composition
39 Composition def firsta = randomstrings(10).zipwithindex.find(_._1.contains("a")).m ap { _._2 }.getorelse(0)
40 Composition def firsta = randomstrings(10).zipwithindex.find(_._1.contains("a")).m ap { _._2 }.getorelse(0) def averagea(n: Int) = Stream.continually(firstA).take(n).reduce(_+_)/n
41 Composition def firsta = randomstrings(10).zipwithindex.find(_._1.contains("a")).m ap { _._2 }.getorelse(0) def averagea(n: Int) = Stream.continually(firstA).take(n).reduce(_+_)/n def parallelaveragea(n: Int) = Stream.continually(firstA).take(n).par.reduce(_+_)/n
42 Les gains
43 Les gains Map/reduce : on code moins, on peut paralléliser, distribuer
44 Les gains Map/reduce : on code moins, on peut paralléliser, distribuer Option : plus de null pointer et on utilise map
45 Les gains Map/reduce : on code moins, on peut paralléliser, distribuer Option : plus de null pointer et on utilise map Code plus fiable Commutateur en Erlang: 31.5 ms d indisponibilité par an lang_github.pdf
46 Les gains Map/reduce : on code moins, on peut paralléliser, distribuer Option : plus de null pointer et on utilise map Code plus fiable Commutateur en Erlang: 31.5 ms d indisponibilité par an lang_github.pdf On réutilise plus le code qu en programmation objet
47 Scala : un langage hybride
48 Scala : un langage hybride On garde la mutabilité
49 Scala : un langage hybride On garde la mutabilité On peut commencer en mode «meilleur Java»
50 Scala : un langage hybride On garde la mutabilité On peut commencer en mode «meilleur Java» Puis introduire de l immutabilité et des fonctions progressivement
51 Scala : un langage hybride On garde la mutabilité On peut commencer en mode «meilleur Java» Puis introduire de l immutabilité et des fonctions progressivement Les performances sont équivalentes à Java
52 Scala : un langage hybride On garde la mutabilité On peut commencer en mode «meilleur Java» Puis introduire de l immutabilité et des fonctions progressivement Les performances sont équivalentes à Java Très puissant : opérateurs, XML et autres DSLs, implicits, macros...
53 Scala : un langage hybride On garde la mutabilité On peut commencer en mode «meilleur Java» Puis introduire de l immutabilité et des fonctions progressivement Les performances sont équivalentes à Java Très puissant : opérateurs, XML et autres DSLs, implicits, macros... Mais il faut savoir se limiter : lang.org/ old/node/8610
54 Les niveaux suivant Odersky Level A1: Beginning application programmer Java- like statements and expressions: standard operators, method calls, conditionals, loops, try/catch class, object, def, val, var, import, package Infix notation for method calls Simple closures Collections with map, filter, etc. for- expressions Level A2: Intermediate application programmer Pattern matching Trait composition Recursion, in particular tail recursion XML literals Level A3: Expert application programmer Folds, i.e. methods such as foldleft, foldright Streams and other lazy data structures Actors Combinator parsers Level L1: Junior library designer Type parameters Traits Lazy vals Control abstraction, currying By- name parameters Level L2: Senior library designer Variance annotations Existential types (e.g., to interface with Java wildcards) Self type annotations and the cake pattern for dependency injection Structural types (aka static duck typing) Defining map/flatmap/withfilter for new kinds of for- expressions Extractors Level L3: Expert library designer Early initializers Abstract types Implicit definitions Higher- kinded types
55 Dans le monde réel
56 Ecosystème
57 Ecosystème On peut utiliser toutes les librairies Java
58 Ecosystème On peut utiliser toutes les librairies Java Certaines ont des «wrappers» : Swing, slf4j, Google Guice, JPA, JMX, MongoDB, Hadoop, Spring
59 Ecosystème On peut utiliser toutes les librairies Java Certaines ont des «wrappers» : Swing, slf4j, Google Guice, JPA, JMX, MongoDB, Hadoop, Spring D autres supportent naturellement Java et Scala : Play, Akka, Spark...
60 Ecosystème On peut utiliser toutes les librairies Java Certaines ont des «wrappers» : Swing, slf4j, Google Guice, JPA, JMX, MongoDB, Hadoop, Spring D autres supportent naturellement Java et Scala : Play, Akka, Spark... Les librairies Java s utilisent telles quelles mais on écrit plus de code
61 Ecosystème On peut utiliser toutes les librairies Java Certaines ont des «wrappers» : Swing, slf4j, Google Guice, JPA, JMX, MongoDB, Hadoop, Spring D autres supportent naturellement Java et Scala : Play, Akka, Spark... Les librairies Java s utilisent telles quelles mais on écrit plus de code Supporté par Eclipse, Idea, Netbeans, Emacs et autres
62 Scalatest
63 Equivalent de Junit Scalatest
64 Scalatest Equivalent de Junit Mais en Scala donc un DSL
65 Scalatest
66 Spark
67 Spark Implémente map/reduce comme Hadoop mais en plus rapide
68 Spark Implémente map/reduce comme Hadoop mais en plus rapide Utilisé par Amazon, Ebay, IBM, NASA, Yahoo...
69 Spark Implémente map/reduce comme Hadoop mais en plus rapide Utilisé par Amazon, Ebay, IBM, NASA, Yahoo... Très simple
70 Spark Implémente map/reduce comme Hadoop mais en plus rapide Utilisé par Amazon, Ebay, IBM, NASA, Yahoo... Très simple Trés rapide : peut trier 100 To en 23 min et 1000 To en 234 min
71 Spark Implémente map/reduce comme Hadoop mais en plus rapide Utilisé par Amazon, Ebay, IBM, NASA, Yahoo... Très simple Trés rapide : peut trier 100 To en 23 min et 1000 To en 234 min petabyte- sort.html
72 Spark def avg(n: Int) = sc.parallelize(1 to n).map{ i => firsta }.reduce(_+_)/n
73 Spark def avg(n: Int) = sc.parallelize(1 to n).map{ i => firsta }.reduce(_+_)/n def time[a](f: => A) = { val s = System.nanoTime val ret = f printf("time: %.2f sec\n", (System.nanoTime- s)/ 1.0e9) ret }
74 Scala.js On écrit en Scala et il compile en Javascript
75 Scala.js On écrit en Scala et il compile en Javascript Le code est concis et efficace
76 Scala.js On écrit en Scala et il compile en Javascript Le code est concis et efficace Intégré avec Node.js et autres
77 Scala.js On écrit en Scala et il compile en Javascript Le code est concis et efficace Intégré avec Node.js et autres On peut le voir comme un exemple «ultime» de DSL
78 Scala.js
79 Scala.Js
80 Play Un framework complet pour faire des sites Web Utilisable en Java et Scala Typé «rapide et efficace», moins de contraintes que J2EE, rechargement à chaud Utilisé par LinkedIn, Coursera
81 Play Très complet : RESTful Templates Authentification CRUD Validation (par annotations) Planificateur de tâches SMTP mailer JSON & XML Persistence basée sur JPA Embarque une base de données pour simplifier les tests (h2) Embarque un framework de tests etc.
82 Play
83 Autres lang.org/display/sw/tools +and+libraries
84 Twitter
85 Twitter Ils utilisaient (et utilisent) Ruby et Ruby on Rails
86 Twitter Ils utilisaient (et utilisent) Ruby et Ruby on Rails Très efficace pour le front- end mais peu adapté aux traitements longs (performance, GC...)
87 Twitter Ils utilisaient (et utilisent) Ruby et Ruby on Rails Très efficace pour le front- end mais peu adapté aux traitements longs (performance, GC...) Besoin d un typage fort
88 Twitter Ils utilisaient (et utilisent) Ruby et Ruby on Rails Très efficace pour le front- end mais peu adapté aux traitements longs (performance, GC...) Besoin d un typage fort Ils ont regardé d autres langages : C++, Python, Erlang, Java, JRuby...
89 Twitter Ils utilisaient (et utilisent) Ruby et Ruby on Rails Très efficace pour le front- end mais peu adapté aux traitements longs (performance, GC...) Besoin d un typage fort Ils ont regardé d autres langages : C++, Python, Erlang, Java, JRuby... La gestion de la concurrence est un gros plus dans Scala
90 Guardian.co.uk Fondé en 1821 mais a choisi de devenir principalement numérique
91 Guardian.co.uk Fondé en 1821 mais a choisi de devenir principalement numérique La 1 ère architecture était basée sur Java, Spring, Hibernate, Velocity et Oracle
92 Guardian.co.uk Fondé en 1821 mais a choisi de devenir principalement numérique La 1 ère architecture était basée sur Java, Spring, Hibernate, Velocity et Oracle Mais elle était trop monolithique et pas assez flexible => l ajout de nouvelles fonctions était long
93 Guardian.co.uk Fondé en 1821 mais a choisi de devenir principalement numérique La 1 ère architecture était basée sur Java, Spring, Hibernate, Velocity et Oracle Mais elle était trop monolithique et pas assez flexible => l ajout de nouvelles fonctions était long Python + Django était une solution viable mais qui nécessitait de réécrire le code Java
94 Guardian.co.uk Ils utilisaient Scala à travers Scalatest pour leur code Java
95 Guardian.co.uk Ils utilisaient Scala à travers Scalatest pour leur code Java Ils ont donc généralisé son usage
96 Guardian.co.uk Ils utilisaient Scala à travers Scalatest pour leur code Java Ils ont donc généralisé son usage Puis sont passé à Play + Akka
97 Guardian.co.uk Ils utilisaient Scala à travers Scalatest pour leur code Java Ils ont donc généralisé son usage Puis sont passé à Play + Akka Plus de 2 millions de pages vues par jour
98 Guardian.co.uk Ils utilisaient Scala à travers Scalatest pour leur code Java Ils ont donc généralisé son usage Puis sont passé à Play + Akka Plus de 2 millions de pages vues par jour 0 interruption de service
99 Autres LinkedIn (ont construit Apache Kafka) Electricité de France Trading Novell Xerox FourSquare Sony Siemens
100 Echecs
101 Echecs Yammer ( est un réseau social d entreprise
102 Echecs Yammer ( est un réseau social d entreprise Après avoir décidé de migrer de Scala à Java, ils ont fait machine arrière en 2011
103 Echecs Yammer ( est un réseau social d entreprise Après avoir décidé de migrer de Scala à Java, ils ont fait machine arrière en 2011 Ils citent : La complexité du langage D avoir sous- estimé le travail de formation et la difficulté de trouver des programmeurs Scala expérimentés Une compatibilité ascendante imparfaite Des problèmes de performance
104 Echecs Yammer ( est un réseau social d entreprise Après avoir décidé de migrer de Scala à Java, ils ont fait machine arrière en 2011 Ils citent : La complexité du langage D avoir sous- estimé le travail de formation et la difficulté de trouver des programmeurs Scala expérimentés Une compatibilité ascendante imparfaite Des problèmes de performance La plupart des objections relèvent de l organisation ou ne sont plus valides
105 Echecs Yammer ( est un réseau social d entreprise Après avoir décidé de migrer de Scala à Java, ils ont fait machine arrière en 2011 Ils citent : La complexité du langage D avoir sous- estimé le travail de formation et la difficulté de trouver des programmeurs Scala expérimentés Une compatibilité ascendante imparfaite Des problèmes de performance La plupart des objections relèvent de l organisation ou ne sont plus valides Mais il ne faut pas sous- estimer le coût du changement et savoir le faire progressivement
106 Notre expérience
107 Density
108 Density Editeur de progiciels pour la gestion d actifs, les mutuelles...
109 Density Editeur de progiciels pour la gestion d actifs, les mutuelles... 1 millions de lignes de Java en 10 ans
110 Density Editeur de progiciels pour la gestion d actifs, les mutuelles... 1 millions de lignes de Java en 10 ans lignes «techniques», lignes «métier»
111 Density Editeur de progiciels pour la gestion d actifs, les mutuelles... 1 millions de lignes de Java en 10 ans lignes «techniques», lignes «métier» Scala utilisé depuis 2 ans pour le nouveau code technique
112 Density Editeur de progiciels pour la gestion d actifs, les mutuelles... 1 millions de lignes de Java en 10 ans lignes «techniques», lignes «métier» Scala utilisé depuis 2 ans pour le nouveau code technique Le code «métier» reste en Java (8 depuis peu)
113 Les connections «résilientes»
114 Les connections «résilientes» L application garde des connections à la base de données
115 Les connections «résilientes» L application garde des connections à la base de données On veut qu elle détecte les pertes de connection, prévienne l utilisateur et lui propose de se reconnecter
116 Les connections «résilientes» L application garde des connections à la base de données On veut qu elle détecte les pertes de connection, prévienne l utilisateur et lui propose de se reconnecter Mais cela peut arriver n importe où dans le code (persistence automatique)
117 Les connections «résilientes» L application garde des connections à la base de données On veut qu elle détecte les pertes de connection, prévienne l utilisateur et lui propose de se reconnecter Mais cela peut arriver n importe où dans le code (persistence automatique) Certains opérations peuvent être réessayées, d autres non
118 Les connections «résilientes» L application garde des connections à la base de données On veut qu elle détecte les pertes de connection, prévienne l utilisateur et lui propose de se reconnecter Mais cela peut arriver n importe où dans le code (persistence automatique) Certains opérations peuvent être réessayées, d autres non
119 Les connections «résilientes»
120 Les connections «résilientes» On encapsule les connection et les «statements» dans une facade
121 Les connections «résilientes» On encapsule les connection et les «statements» dans une facade On l écrit en Java avec Eclipse
122 Les connections «résilientes» On encapsule les connection et les «statements» dans une facade On l écrit en Java avec Eclipse On convertit en Scala avec javatoscala.com/
123 Les connections «résilientes» On encapsule les connection et les «statements» dans une facade On l écrit en Java avec Eclipse On convertit en Scala avec javatoscala.com/ On écrit un «retry» et on le met devant les méthodes qui le supportent
124 Les connections «résilientes»
125 Les connections «résilientes» On encapsule les connection et les «statements» dans une facade avec la même interface
126 Les connections «résilientes» On encapsule les connection et les «statements» dans une facade avec la même interface On l écrit en Java avec Eclipse
127 Les connections «résilientes» On encapsule les connection et les «statements» dans une facade avec la même interface On l écrit en Java avec Eclipse On convertit en Scala avec javatoscala.com/
128 Les connections «résilientes» On encapsule les connection et les «statements» dans une facade avec la même interface On l écrit en Java avec Eclipse On convertit en Scala avec javatoscala.com/ On écrit «retry», «safely» et on les met devant les méthodes qui le supportent
129 Les connections «résilientes»
130 Reporting avec Birt
131 Reporting avec Birt On intègre un outil de reporting open- source : Birt
132 Reporting avec Birt On intègre un outil de reporting open- source : Birt Ecrit en Java
133 Reporting avec Birt On intègre un outil de reporting open- source : Birt Ecrit en Java API complexe
134 Reporting avec Birt On intègre un outil de reporting open- source : Birt Ecrit en Java API complexe Le gain est faible
135 Reporting avec Birt
136 Reporting avec Birt
137 Un compilateur de formules
138 Un compilateur de formules Le but est de définir des formules sur les champs de nos objets
139 Un compilateur de formules Le but est de définir des formules sur les champs de nos objets Nous utilisons un interpréteur Java modifié (BeanShell) mais c est lent
140 Un compilateur de formules Le but est de définir des formules sur les champs de nos objets Nous utilisons un interpréteur Java modifié (BeanShell) mais c est lent L éditeur ne fait pas de complétion comme un IDE
141 Un compilateur de formules
142 Un compilateur de formules Pour l éditeur, nous utilisons Ensime embarqué
143 Un compilateur de formules Pour l éditeur, nous utilisons Ensime embarqué Si on a une classe Java Foo avec geta et getb, on génère, on compile et on charge :
144 Avantages et inconvénients : notre expérience
145 Avantages et inconvénients : notre expérience Avantages
146 Avantages et inconvénients : notre expérience Avantages Très puissant
147 Avantages et inconvénients : notre expérience Avantages Très puissant Plus concis, plus agréable à programmer
148 Avantages et inconvénients : notre expérience Avantages Très puissant Plus concis, plus agréable à programmer Permet d envisager le parallélisme plus sereinement
149 Avantages et inconvénients : notre expérience Avantages Très puissant Plus concis, plus agréable à programmer Permet d envisager le parallélisme plus sereinement Permet de faire du code plus fiable tout en restant rapide
150 Avantages et inconvénients : notre expérience Avantages Très puissant Plus concis, plus agréable à programmer Permet d envisager le parallélisme plus sereinement Permet de faire du code plus fiable tout en restant rapide Inconvénients
151 Avantages et inconvénients : notre expérience Avantages Très puissant Plus concis, plus agréable à programmer Permet d envisager le parallélisme plus sereinement Permet de faire du code plus fiable tout en restant rapide Inconvénients Langage complexe et presque trop riche : il faut savoir se limiter
152 Avantages et inconvénients : notre expérience Avantages Très puissant Plus concis, plus agréable à programmer Permet d envisager le parallélisme plus sereinement Permet de faire du code plus fiable tout en restant rapide Inconvénients Langage complexe et presque trop riche : il faut savoir se limiter Besoin de changer (un peu) notre environnement de développement
153 Avantages et inconvénients : notre expérience Avantages Très puissant Plus concis, plus agréable à programmer Permet d envisager le parallélisme plus sereinement Permet de faire du code plus fiable tout en restant rapide Inconvénients Langage complexe et presque trop riche : il faut savoir se limiter Besoin de changer (un peu) notre environnement de développement Recrutement possible mais moins facile
154 Avantages et inconvénients : notre expérience Avantages Très puissant Plus concis, plus agréable à programmer Permet d envisager le parallélisme plus sereinement Permet de faire du code plus fiable tout en restant rapide Inconvénients Langage complexe et presque trop riche : il faut savoir se limiter Besoin de changer (un peu) notre environnement de développement Recrutement possible mais moins facile Part de marché et pérennité correctes mais loin de Java
155 Alternatives
156 Java 8 Alternatives
157 Alternatives Java 8 Autre langages : Clojure, Erlang, Haskell, F#...
158 Questions?
Panorama des solutions analytiques existantes
Arnaud LAROCHE Julien DAMON Panorama des solutions analytiques existantes SFdS Méthodes et Logiciels - 16 janvier 2014 - Données Massives Ne sont ici considérés que les solutions autour de l environnement
Plus en détailMapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15
MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué
Plus en détailTHÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse
THÉMATIQUES Comprendre les frameworks productifs Découvrir leurs usages Synthèse 2 LES ENJEUX DES FRAMEWORKS D ENTREPRISE EN 2012 LE CONSTAT Ressources Recrutement Flexibilité Intérêt Montée en compétence
Plus en détailPoint sur les solutions de développement d apps pour les périphériques mobiles
Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle
Plus en détailles techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
Plus en détail4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
Plus en détailIntroduction à MapReduce/Hadoop et Spark
1 / 36 Introduction à MapReduce/Hadoop et Spark Certificat Big Data Ludovic Denoyer et Sylvain Lamprier UPMC Plan 2 / 36 Contexte 3 / 36 Contexte 4 / 36 Data driven science: le 4e paradigme (Jim Gray -
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailFouillez facilement dans votre système Big Data. Olivier TAVARD
Fouillez facilement dans votre système Big Data Olivier TAVARD A propos de moi : Cofondateur de la société France Labs Développeur (principalement Java) Formateur en technologies de moteurs de recherche
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailCours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Plus en détailMapReduce. Nicolas Dugué nicolas.dugue@univ-orleans.fr. M2 MIAGE Systèmes d information répartis
MapReduce Nicolas Dugué nicolas.dugue@univ-orleans.fr M2 MIAGE Systèmes d information répartis Plan 1 Introduction Big Data 2 MapReduce et ses implémentations 3 MapReduce pour fouiller des tweets 4 MapReduce
Plus en détailÉléments de programmation et introduction à Java
Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques
Plus en détailNoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)
1/23 2/23 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre 2013-2014 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailBig Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1
Big Data Cyril Amsellem Consultant avant-vente 16 juin 2011 Talend 2010 1 Big Data Architecture globale Hadoop Les projets Hadoop (partie 1) Hadoop-Core : projet principal. HDFS : système de fichiers distribués
Plus en détailTechnologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC
Technologies du Web Ludovic DENOYER - ludovic.denoyer@lip6.fr UPMC Février 2014 Ludovic DENOYER - ludovic.denoyer@lip6.fr Technologies du Web Plan Retour sur les BDs Le service Search Un peu plus sur les
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailGroupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON stephane.mouton@cetic.be
Groupe de Discussion Big Data Aperçu des technologies et applications Stéphane MOUTON stephane.mouton@cetic.be Recherche appliquée et transfert technologique q Agréé «Centre Collectif de Recherche» par
Plus en détailNoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)
1/30 2/30 Anne-Cécile Caron Master MIAGE - SGBD 1er trimestre 2014-2015 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche
Plus en détailCartographie des solutions BigData
Cartographie des solutions BigData Panorama du marché et prospective 1 1 Solutions BigData Défi(s) pour les fournisseurs Quel marché Architectures Acteurs commerciaux Solutions alternatives 2 2 Quels Défis?
Plus en détailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détailHadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives
Hadoop, Spark & Big Data 2.0 Exploiter une grappe de calcul pour des problème des données massives Qui suis-je? Félix-Antoine Fortin Génie info. (B. Ing, M. Sc, ~PhD) Passionné de Python, Data Analytics,
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailLes technologies du Big Data
Les technologies du Big Data PRÉSENTÉ AU 40 E CONGRÈS DE L ASSOCIATION DES ÉCONOMISTES QUÉBÉCOIS PAR TOM LANDRY, CONSEILLER SENIOR LE 20 MAI 2015 WWW.CRIM.CA TECHNOLOGIES: DES DONNÉES JUSQU'À L UTILISATEUR
Plus en détailCAS, un SSO web open source. 14h35-15h25 - La Seine A
CAS, un SSO web open source 14h35-15h25 - La Seine A CAS, un SSO web open source Jérôme LELEU Committer CAS Architecte du CAS chez SFR https://github.com/leleuj @leleuj 27 au 29 mars 2013 Sommaire SSO
Plus en détailTechnologies Web avancées. ING1 SIGL Technologies Web avancées
ING1 SIGL Technologies Web avancées Olivier Pons / 2013-2014 Objectif Comprendre globalement le Web Sommaire 1. Rappel Web 2. État de l'art 3. Solutions actuelles 2 / 28 1 Rappel Web 1a. HTML HTML dans
Plus en détailLaurent JOLIN. Compétences. Expériences professionnelles. Architecte technique. 15, rue Jean Favier 31500 Toulouse ljolin@gmail.
15, rue Jean Favier 31500 Toulouse ljolin@gmail.com 34 ans Laurent JOLIN Architecte technique 2003 Diplôme de chef de projet informatique, spécialité «génie logiciel» Ecole Privée des Sciences Informatiques
Plus en détailAPPEL À COMMUNICATIONS 2010
APPEL À COMMUNICATIONS 2010 Bonjour, La prochaine édition de Solutions Linux/Open Source se déroulera les à Paris à la porte de Versailles. Pendant ces 3 jours qui réuniront plus de 220 exposants et accueilleront
Plus en détailTechnologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie
1 / 22 Technologies Web Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya Université Pierre et Marie Curie Rappel 2 / 22 Problématique Quelles technologies utiliser
Plus en détailAPI04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture
API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant
Plus en détailLa dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée
Communiqué de presse Charles-Yves Baudet Twitter: Les clients de Teradata Teradata Corporation peuvent dan.conway@teradata.com tirer parti de plusieurs + 33 1 64 86 76 14 + 33 (0) 1 55 21 01 48/49 systèmes,
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailCNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010
CNAM 2010-2011 Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 Déploiement d une application dans le cloud. 1. Cloud Computing en 2010 2. Offre EC2
Plus en détail4 Exemples de problèmes MapReduce incrémentaux
4 Exemples de problèmes MapReduce incrémentaux 1 / 32 Calcul des plus courtes distances à un noeud d un graphe Calcul des plus courts chemins entre toutes les paires de noeuds d un graphe Algorithme PageRank
Plus en détailArchitectures Web Services RESTful
Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailPaul FLYE SAINTE MARIE
Paul FLYE SAINTE MARIE ASSISTANT CHEF DE PROJET DANS LE DÉVELOPPEMENT INFORMATIQUE Domaines de compétences Conduite de projet (échange avec la maitrise d ouvrage, maitrise d œuvre, rédaction des spécifications
Plus en détailSystèmes en réseau : Linux 1ère partie : Introduction
Systèmes en réseau : Linux 1ère partie : Introduction Les fondements de Linux : le logiciel libre Historique de Linux Présentation générale de Linux Les applications à succès Les distributions Qu'est-ce
Plus en détailProgrammation parallèle et distribuée (Master 1 Info 2015-2016)
Programmation parallèle et distribuée (Master 1 Info 2015-2016) Hadoop MapReduce et HDFS Note bibliographique : ce cours est largement inspiré par le cours de Benjamin Renaut (Tokidev SAS) Introduction
Plus en détailMapReduce et Hadoop. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306
MapReduce et Hadoop Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Fouille de données Recherche & indexation de gros volumes Appliquer une opération simple à beaucoup
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détail31 ans - 8 ans d'expérience
B0052 T EAM LEADER SENIOR JAVA - J2EE 31 ans - 8 ans d'expérience Expert ises mét iers : Langues : Cert if icat ions : Editeur de logiciels, Telecoms, Banque, finance Roumain (Langue maternelle), Anglais
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailLes bases de données relationnelles
Bases de données NO SQL et SIG : d un existant restreint à un avenir prometteur CHRISTIAN CAROLIN, AXES CONSEIL CAROLIN@AXES.FR - HTTP://WWW.AXES.FR Les bases de données relationnelles constituent désormais
Plus en détailArchitecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Plus en détailCours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une
Plus en détailVérifier la qualité de vos applications logicielle de manière continue
IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions
Plus en détailIntroduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
Plus en détailÉvaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailApplications et Services WEB: Architecture REST
Applications et : Erick Stattner Laboratoire LAMIA Université des Antilles et de la Guyane France erick.stattner@univ-ag.fr Guadeloupe 2014-2015 Erick Stattner Applications et : 1 / 90 Description du cours
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailLabs Hadoop Février 2013
SOA - BRMS - ESB - BPM CEP BAM - High Performance Compute & Data Grid - Cloud Computing - Big Data NoSQL - Analytics Labs Hadoop Février 2013 Mathias Kluba Managing Consultant Responsable offres NoSQL
Plus en détailINGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE
INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE Igor Rosenberg 30 ans DEA «Image-Vision» de l Université de Nice Sophia-Antipolis POSTES PRECEDENTS MMA: Développement Web/Grails sur démonstrateur
Plus en détailMéthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.
Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...
Plus en détailCurriculum Vitae de Michel Casabianca
Curriculum Vitae de Michel Casabianca Ingénieur Logiciel Sénior : Développement, Architecture et Conduite de Projet. Michel Casabianca 110 cours Saint Louis Bat B App 44 33300 Bordeaux 06.86.99.63.89 casa@sweetohm.net
Plus en détailMardi 9 septembre 2008. www.parisjug.org. www.parisjug.org
Mardi 9 septembre 2008 www.parisjug.org www.parisjug.org Copyright 2008 ParisJug. Licence CC Creative Commons 2.0 France Paternité Pas d'utilisation Commerciale Partage des Conditions Initiales à l'identique
Plus en détailMachines Virtuelles. et bazard autour. Rémi Forax
Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]
Plus en détailHADOOP ET SON ÉCOSYSTÈME
HADOOP ET SON ÉCOSYSTÈME Mars 2013 2012 Affini-Tech - Diffusion restreinte 1 AFFINI-TECH Méthodes projets Outils de reporting & Data-visualisation Business & Analyses BigData Modélisation Hadoop Technos
Plus en détailDavi Trénou. Analyste/Développeur. Concepteur web. Consultant SAP. 2329 Logan, H2K2B4 Montréal, QC, CA. trenou.davi@gmail.
Analyste/Développeur Concepteur web Consultant SAP Davi Trénou 2329 Logan, H2K2B4 Montréal, QC, CA. trenou.davi@gmail.com 514-692-3288 www.davitrenou.com Sommaire Sommaire Résumé 1 Fiche technique 2 Réalisations
Plus en détailopenarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de
openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailHassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire
Objectifs Formations Expériences Professionnelles Hassene BELGACEM http://belgacem.hassene.netcv.com S intégrer dans une équipe de développement de haute compétence et participer activement dans la réalisation
Plus en détailInformatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis
Informatique & Systèmes de Communication Stages de 12 à 16 semaines aux Etats-Unis PROGAMME DES STAGES Depuis 2010, les stages en entreprise sont devenus obligatoires dans le cadre des études master. Les
Plus en détailPRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES
PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes
Plus en détailMéthode d Évaluation des Coûts liés à l Open Source (ECOS)
Méthode d Évaluation des Coûts liés à l Open Source (ECOS) Version 1.0-31/03/2013 1 Table des matières 1 Note de licence 3 2 Historique des modifications 3 3 Introduction 3 3.1 Objet du document..........................
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailHébergement MMI SEMESTRE 4
Hébergement MMI SEMESTRE 4 24/03/2015 Hébergement pour le Web Serveurs Mutualités Serveurs Dédiés Serveurs VPS Auto-Hébergement Cloud Serveurs Mutualités Chaque Serveur héberge plusieurs sites Les ressources
Plus en détailLogiciels Open Sources et le Secteur Privé
Logiciels Open s et le Secteur Privé Mai 2004 Pierre-Paul Bertieaux Open Contenu Open : Le secteur privé et le modèle Open Les créateurs d Open Les éditeurs de logiciels Les sociétés de service Utilisation
Plus en détailÉtude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Université Catholique de Louvain Faculté des Sciences Appliquées Département d Ingénierie Informatique Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Plus en détailJava - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailLes grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully
Les grandes facettes du développement Web Qui sommes nous? Nicolas Thouvenin Stéphane Gully Projets Web depuis 2000 LAMP, NodeJS HTML, CSS, jquery
Plus en détailDesign. Search. Cloud AMOA ECM. Intégration. IT Solutions. Formation. Développement. Mobilité. Open source. Infogérance. Ergonomie
IT Solutions offrez plusieurs vies à vos contenus TM Formation Open source Search Infogérance Design Intégration Développement Mobilité Ergonomie AMOA ECM Cloud Conseiller, Accompagner, Former Proximité
Plus en détailMercredi 15 Janvier 2014
De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information loic.thomas@anteagroup.com 02 38 64 26 41 Architecture Il est
Plus en détailL écosystème Hadoop Nicolas Thiébaud ni.thiebaud@gmail.com. Tuesday, July 2, 13
L écosystème Hadoop Nicolas Thiébaud ni.thiebaud@gmail.com HUG France 250 membres sur la mailing liste 30 présentations 9 meetups organisés, de 20 à 100 invités Présence de Cloudera, MapR, Hortonworks,
Plus en détailCloud. Définition? 08/11/2012. James Urquhart The Wisdom of Clouds
Cloud Définition? the market seems to have come to the conclusion that cloud computing has a lot in common with obscenity--you may not be able to define it, but you ll know it when you see it James Urquhart
Plus en détailTP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.
ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture
Plus en détailInstitut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki
Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants
Plus en détailNFA 008. Introduction à NoSQL et MongoDB 25/05/2013
NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée
Plus en détailFormation : Langues : Types d Intervention et Secteurs d Activité :
Ismail HACHOUM 142, Rue Georges Pompidou, 59110 La Madeleine - FRANCE Email : ismail.hachoum@gmail.com Tél: +33(0) 650 198 937 27 ans - Marié Permis B Ingénieur Etudes et Développement Java/JEE Formation
Plus en détailClasses et Objets en Ocaml.
Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.
Plus en détailJava Aspect Components (JAC) http://jac.objectweb.org
Java Aspect Components (JAC) JAC http://jac.objectweb.org 2 Lionel Seinturier Lionel.Seinturier@lip6.fr Université Pierre & Marie Curie 23/2/06 Un framework de programmation par aspect pour Java Projet
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détail4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Plus en détailCloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA?
Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA? Jean-Marc Pierson pierson@irit.fr IRIT, Université de Toulouse Agenda! Le Cloud! Le SOA! Quelle différence!?! Cloud et SOA! Mise en
Plus en détailExpert technique J2EE
EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailDéveloppement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS
Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team
Plus en détailJava 1.5 : principales nouveautés
Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés
Plus en détailCOMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant
COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST Amosse EDOUARD, Doctorant Organisation Cours Magistral 24/11/2014 26/11/2014 01/12/2014 Travaux Dirigés 26/11/2014 28/11/2014 01/11/2014 08/11/2014 Evaluation
Plus en détailArchitecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr
Plus en détailCelui qui vous parle. Yann Vigara
Celui qui vous parle Yann Vigara Celui qui vous parle Yann Vigara Celui qui vous parle [Spa m] Yann Vigara Fondateur et directeur technique d'atomes Dans l'administration système depuis 1999 Tombé dans
Plus en détailLe stockage local de données en HTML5
Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,
Plus en détailJava et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Plus en détailLa technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
Plus en détailSuite Jedox La Business-Driven Intelligence avec Jedox
Suite La Business-Driven Intelligence avec Une solution intégrée pour la simulation, l analyse et le reporting vous offre la possibilité d analyser vos données et de gérer votre planification selon vos
Plus en détailCours de Programmation 2
Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes
Plus en détailIntégration de systèmes
Intégration de systèmes Préparé par: Marc Barassi, Michel Fraser, Louis Martin, Martin Simoneau Collaboration spéciale: François Boucher et Richard Boutin 3/18/14 Intégration de systèmes «L ensemble des
Plus en détail