Cette présentation aura pour objectif d’introduire le langage de programmation Scala. Ce dernier bénéficie depuis plusieurs mois d’un véritable engouement qui se reflète au regard de la communauté française croissante.
Pour cela Ludwine Probst et Florent Lagrede reviendront donc sur les notions fondamentales, illustrées d’exemples sur des problèmes récurrents de programmation, afin de dégager les spécificités de ce langage et certains de ses atouts.
Aucune connaissance de Scala n’est donc nécessaire, seulement l’envie de découvrir un nouveau langage.
Avec Java 8, publier en 2014, Java a fait une révolution puisque aucune autre version n’aura apporté autant de nouveautés et d’avancées fonctionnelles permet une écriture du code grandement facilitée et des performances nettement améliorées.
Une présentation du JavaScript en surface que j'ai faite durant ma première formation en JavaScript à l'Ecole Supérieure d'Informatique et de Mathématiques de Monastir.
Cette présentation aura pour objectif d’introduire le langage de programmation Scala. Ce dernier bénéficie depuis plusieurs mois d’un véritable engouement qui se reflète au regard de la communauté française croissante.
Pour cela Ludwine Probst et Florent Lagrede reviendront donc sur les notions fondamentales, illustrées d’exemples sur des problèmes récurrents de programmation, afin de dégager les spécificités de ce langage et certains de ses atouts.
Aucune connaissance de Scala n’est donc nécessaire, seulement l’envie de découvrir un nouveau langage.
Avec Java 8, publier en 2014, Java a fait une révolution puisque aucune autre version n’aura apporté autant de nouveautés et d’avancées fonctionnelles permet une écriture du code grandement facilitée et des performances nettement améliorées.
Une présentation du JavaScript en surface que j'ai faite durant ma première formation en JavaScript à l'Ecole Supérieure d'Informatique et de Mathématiques de Monastir.
Webinar Darkmira PHParty7 France - Présentation des avantages de la nouvelle fonctionnalité de php7, le support des types scalaires dans la définition des arguments d'une fonction
Nouveautés JavaScript dans le monde Microsoftdavrous
Présentation delivrée le 19 mars 2015 lors du JavaScript Open Day: http://www.meetup.com/Javascript-Open-Day/events/220087351/
Au programme: les nouveautés du moteur du projet Spartan comme Web Audio ou ECMAScript 6
Apprenez à écrire vos macros pour le tableur Excel en Visual Basic. Cette formation couvre les rudiments de programmation ainsi que la découverte de l'API Excel
Ma critique de cette technologie sur http://olegoaer.developpez.com/cours/vba/
Apple a sorti en grande pompe Swift l'année dernière. Depuis, le projet draine une communauté active, avec des milliers de bibliothèques publiées chaque mois et la récente publication de son code source. Mais qu'en est il de son application au delà du simple POC, dans une perspective plus industrielle ? Soyons francs : il faut que votre prochaine application iOS soit développée en Swift. En nous basant sur deux projets grand public en production développés à partir du début 2015, en surmontant les obstacles dûs à la jeunesse du langage, en étudiant les embellissements apportés à notre base de code, nous sommes sûrs de pouvoir vous convaincre. Ne ratez pas le train et adoptez Swift en 2016 !
Kevin Avignon: Roslyn - La plateforme de compilation .NETMSDEVMTL
4 mai 2015
Groupe .NET/ASP.NET
Sujets: Roslyn - La plateforme de compilation .NET
Conférencier: Kevin Avignon
Roslyn est la nouvelle plateforme .NET de compilation créé par Microsoft. En exploitant Roslyn, il devient nettement plus facile de traverser un fichier source (.cs ou .vb) et instaurer de nouvelles règles d'affaires ou de validation comme il était fait avec FxCop. Un des nombreux bienfaits de Roslyn, c'est que les règles d'affaires développer en C# ou VB.NET fonctionnent autant dans un langage que dans l'autre.
Plan de la présentation:
- Qu'est-ce que Roslyn
- Quelles sont les librairies effectuant du code analysis ?
- Introduction sur le Syntax Tree et Syntax Nodes
- Comment utiliser le Syntax Visualizer
- Bâtir son premier analyzer en C#
- Qu'est-ce qu'un code fix
- Les pièges à éviter en faisant de l'analyse
Présentation faite au Nantes JUG et au FinistJUG au mois d'avril 2013.
Présentation du langage et des frameworks/outils du point de vue du développeur Java.
JavaScript est désormais omniprésent et rend possible l'écriture d'applications complexes et riches. Mais il est souvent mal connu des développeurs orientés objets classiques comme ceux pratiquant le C#, le Java ou le PHP. Cette session passera donc en revue les bases du langage JavaScript, ses spécificités comme les portées, les closures, le this différent de ce que vous pouvez connaître. Bref, vous verrez qu'il y a des pièges à éviter et qu'il ne faut pas négliger JavaScript. Il est très puissant mais potentiellement différent de ce vous connaissez déjà. Venez apprendre à le respecter avant de le maitriser!
Comparatif en C# 5, Java 8 et C++ 11.
Y sont analysés les langages et les différences structurelles.
Ce comparatif est la suite de C#4 vs Java 7 ainsi que de .NET 4 côté serveur vs JEE 6
Ce document vise à présenter la programmation fonctionnelle sous Scala.
Les points abordés sont le paradigme fonctionnel, fonction anonyme, fonction d’ordre supérieur, Clôture, fonction partielle, la récursivité, Curryfication. Chaque notion est accompagnée par des exemples.
Webinar Darkmira PHParty7 France - Présentation des avantages de la nouvelle fonctionnalité de php7, le support des types scalaires dans la définition des arguments d'une fonction
Nouveautés JavaScript dans le monde Microsoftdavrous
Présentation delivrée le 19 mars 2015 lors du JavaScript Open Day: http://www.meetup.com/Javascript-Open-Day/events/220087351/
Au programme: les nouveautés du moteur du projet Spartan comme Web Audio ou ECMAScript 6
Apprenez à écrire vos macros pour le tableur Excel en Visual Basic. Cette formation couvre les rudiments de programmation ainsi que la découverte de l'API Excel
Ma critique de cette technologie sur http://olegoaer.developpez.com/cours/vba/
Apple a sorti en grande pompe Swift l'année dernière. Depuis, le projet draine une communauté active, avec des milliers de bibliothèques publiées chaque mois et la récente publication de son code source. Mais qu'en est il de son application au delà du simple POC, dans une perspective plus industrielle ? Soyons francs : il faut que votre prochaine application iOS soit développée en Swift. En nous basant sur deux projets grand public en production développés à partir du début 2015, en surmontant les obstacles dûs à la jeunesse du langage, en étudiant les embellissements apportés à notre base de code, nous sommes sûrs de pouvoir vous convaincre. Ne ratez pas le train et adoptez Swift en 2016 !
Kevin Avignon: Roslyn - La plateforme de compilation .NETMSDEVMTL
4 mai 2015
Groupe .NET/ASP.NET
Sujets: Roslyn - La plateforme de compilation .NET
Conférencier: Kevin Avignon
Roslyn est la nouvelle plateforme .NET de compilation créé par Microsoft. En exploitant Roslyn, il devient nettement plus facile de traverser un fichier source (.cs ou .vb) et instaurer de nouvelles règles d'affaires ou de validation comme il était fait avec FxCop. Un des nombreux bienfaits de Roslyn, c'est que les règles d'affaires développer en C# ou VB.NET fonctionnent autant dans un langage que dans l'autre.
Plan de la présentation:
- Qu'est-ce que Roslyn
- Quelles sont les librairies effectuant du code analysis ?
- Introduction sur le Syntax Tree et Syntax Nodes
- Comment utiliser le Syntax Visualizer
- Bâtir son premier analyzer en C#
- Qu'est-ce qu'un code fix
- Les pièges à éviter en faisant de l'analyse
Présentation faite au Nantes JUG et au FinistJUG au mois d'avril 2013.
Présentation du langage et des frameworks/outils du point de vue du développeur Java.
JavaScript est désormais omniprésent et rend possible l'écriture d'applications complexes et riches. Mais il est souvent mal connu des développeurs orientés objets classiques comme ceux pratiquant le C#, le Java ou le PHP. Cette session passera donc en revue les bases du langage JavaScript, ses spécificités comme les portées, les closures, le this différent de ce que vous pouvez connaître. Bref, vous verrez qu'il y a des pièges à éviter et qu'il ne faut pas négliger JavaScript. Il est très puissant mais potentiellement différent de ce vous connaissez déjà. Venez apprendre à le respecter avant de le maitriser!
Comparatif en C# 5, Java 8 et C++ 11.
Y sont analysés les langages et les différences structurelles.
Ce comparatif est la suite de C#4 vs Java 7 ainsi que de .NET 4 côté serveur vs JEE 6
Ce document vise à présenter la programmation fonctionnelle sous Scala.
Les points abordés sont le paradigme fonctionnel, fonction anonyme, fonction d’ordre supérieur, Clôture, fonction partielle, la récursivité, Curryfication. Chaque notion est accompagnée par des exemples.
This document discusses parallel collections in Scala 2.9. It mentions that Scala provides parallel versions of common collection types like arrays, ranges, hash maps, hash sets, vectors and tries. It also discusses concepts like embarrassingly parallel, fork/join, work stealing and double-ended queues. The document provides links to documentation on parallel collections and includes a REPL demo link for examples.
Spark, ou comment traiter des données à la vitesse de l'éclairAlexis Seigneurin
Spark fait partie de la nouvelle génération de frameworks de manipulation de données basés sur Hadoop. L’outil utilise agressivement la mémoire pour offrir des temps de traitement jusqu’à 100 fois plus rapides qu'Hadoop. Dans cette session, nous découvrirons les principes de traitement de données (notamment MapReduce) et les options mises à disposition pour monter un cluster (Zookeper, Mesos…). Nous ferons un point sur les différents modules proposés par le framework, et notamment sur Spark Streaming pour le traitement de données en flux continu.
Présentation jouée chez Ippon le 11 décembre 2014.
Vous êtes en fonctionnement agile mais ça ne marche pas ? Vous ne vous servez pas de l’agilité et doutez que ça puisse s’appliquer à votre équipe ? Ce REX est fait pour vous !
Nous vous proposons de retrouver l’esprit de l’agilité en comparant deux expériences client contradictoires. D’un côté l’application quasi stricte des cérémoniels décrits dans la méthode Scrum, de l’autre une application très adaptée des principes de l’agilité.
Quels sont les effets observés dans chacun des cas et quels pièges peuvent être évités lors de l’application de la méthode ?
El documento presenta el Manual de Organización y Funciones de la Oficina Regional de Desarrollo Institucional e Informática del Gobierno Regional Junín. Describe la estructura organizativa de la entidad, incluyendo los órganos de gobierno, alta dirección, línea, apoyo, asesoramiento y control. Además, detalla las funciones específicas de cada uno de los puestos de trabajo para asegurar que la organización funcione de manera eficiente y cumpla con su misión.
El documento lista varios temas que los equipos del 3er semestre de informática pueden desarrollar, incluyendo el Día Mundial de la Salud Mental en octubre, el Día Mundial de la Alimentación en octubre, el Día Mundial del Cáncer de Mama en octubre, la Semana Nacional de Salud Sexual en noviembre, el Día Internacional de la Eliminación de la Violencia contra las Mujeres en noviembre, el Día Nacional de la Conservación de los Ecosistemas en noviembre, el Día M
El documento analiza el significado del manto en la Biblia a través de las historias de Elías y Eliseo. Explica que el manto representaba autoridad, liderazgo y la unción de Dios. Cuando Elías echó su manto sobre Eliseo, significó que Dios lo llamaba a sucederlo. También simbolizó la protección divina sobre Elías. Al usar el manto de Elías, Eliseo aceptó las responsabilidades del liderazgo y demostró su fe al separar las aguas.
Este documento presenta una propuesta de la Asociación Nacional de
Universidades e Instituciones de Educación Superior (ANUIES) para el desarrollo
de la educación superior en México hasta el año 2020. Incluye un análisis de la
situación actual y escenarios futuros, así como una visión para el sistema de
educación superior en 2020 y líneas estratégicas para lograr esa visión. El
documento concluye con 14 programas de acción propuestos en áreas como
calidad académica, cooperación interinstitucional, y
Este documento presenta diferentes enfoques para la evaluación de programas e instituciones. Explica que la evaluación tiene como objetivo determinar el valor y calidad de un programa mediante la recopilación sistemática de información. También describe las funciones de la evaluación formativa y sumativa y los factores a considerar en el proceso de evaluación, como para quién se realiza, quién la lleva a cabo, y cómo planificarla. Por último, introduce tres enfoques específicos para la evaluación: uno orientado a la toma de decisiones, otro para la mejora
Ce chapitre est destiné pour les étudiants de la 2ème année année master Mathématiques, Cryptologie et Sécurité Informatique (MMCSI) Semestre 3. Il traite les concepts de base du langage Java.
.Net pour le développeur Java - une source d'inspiration?Rui Carvalho
Pour se remettre dans le contexte, nous parlons ici de .Net présenté à une conférence Java.
Nous allons revoir un peu d'historique des débuts pré-.Net et des inspirations mutuelles des deux environnements. Puis nous parlerons fonctionnalités à travers un exemple illustrant notamment les points essentiels de C# aujourd'hui avec les lambdas qui arriveront avec Java 8.
Nous finirons enfin avec une partie communautaire.
Qu'est ce que Java et JEE ?
Comment se fait l'évolution de Java ?
Les architectures SOA.
Les technologies (JSR).
Les frameworks.
Le middleware.
Les outils.
Ce guide fournit un exemple de la manière dont Spring Boot vous aide à accélérer le développement d'applications. Au fur et à mesure que vous lirez plus de guides de démarrage de Spring, vous verrez plus de cas d'utilisation de Spring Boot. Ce guide est destiné à vous donner un aperçu rapide de Spring Boot. Si vous souhaitez créer votre propre projet basé sur Spring Boot, visitez Spring Initializr, remplissez les détails de votre projet, choisissez vos options et téléchargez un projet groupé sous forme de fichier zip.
Les versions de Java se suivent et leurs engouements ne se ressemblent pas : la version 8 de Java est probablement celle qui a suscité le plus d’intérêts chez les développeurs. Java 9, au contraire, est la version de Java qui génère le plus de craintes et d’interrogations voir de peurs. Il faut se préparer pour utiliser Java 9 d’autant que Java 10 est déjà là et les versions suivantes vont s’enchaîner. Le but de ce talk est de parcourir les avantages et les intérêts à utiliser ces nouvelles versions mais aussi certaines difficultés possibles lors de la migration.
2. Sommaire
Un peu d’histoire …
Scala en est où ?
Scala en entreprise
Les principaux concepts
L’interaction avec Java
Et l’environnement de travail …
Pourquoi utiliser Scala ?
Avis et références.
3. Un peu d’histoire …
Scala a été créé en 2003 par Martin
Odersky, professeur à l’Ecole Polytechnique de
Lausanne.
Il a collaboré à la création du compilateur javac
1.3 et est à l’origine des Generics de Java 5.
Pour lui, Scala se devait d’être pleinement
compatible avec la JVM avec une syntaxe
élégante
Scala vient de « Scalable Language »
4. Un peu d’histoire …
Martin Odersky a créé la société Typesafe qui a pour
but la promotion du langage.
Cette société repose, en plus d’une offre de conseil, sur
ScalaIDE (plugin eclipse), Play! (Framework web) et
Akka (framework pour la programmation concurrente)
5. Scala en est où ?
« I can honestly say if someone had shown me the Programming Scala book in
2003 I'd probably have never created Groovy. »
James Strachan
7. Les principaux concepts
Scala est multi-paradigme. C’est un langage pur Objet supportant
une approche fonctionnelle.
Il est statiquement typé. De part son inférence de type, on dit avec
humour qu’il est dynamique statiquement typé.
Tout est objet, tout est valeur (même les fonctions ! )
L’immuabilité est un concept central.
Tout est public par défaut. Le mot clé public n’existe pas.
La version 2.10 permet la compilation en Bytecode par le
compilateur de la plateforme JVM (contrairement aux anciennes
versions qui utilisaient un compilateur bytecode maison)
La richesse de l’API Java est utilisable par Scala.
9. Les principaux concepts
Le langage permet de simplifier la syntaxe
◦ Le ; est optionnel
◦ Les () aussi
◦ Les . aussi
Exemple de syntaxes identiques
10. Les principaux concepts
Les attributs et Paramètres
Les attributs et paramètres
Le mot clé var
◦ Déclaration d’un attribut / paramètre modifiable
◦ ex :
Le mot clé val
◦ Déclaration d’un attribut / paramètre immuable
◦ ex :
11. Les principaux concepts
Les Classes
La déclaration
◦ Et ça suffit !!!!!!
◦ Le constructeur par défaut ainsi que les accesseurs sont
implicites.
Mais l’encapsulation là dedans ?
◦ Si un jour un setter a besoin d’être explicité il pourra être fait
sans modification des appels existants sur cet attribut.
◦ Pour des besoins de compatibilité avec des API
Java, comme JPA par exemple qui attendent un getVariable
il est possible de dire à Scala de le générer comme ici :
12. Les principaux concepts
Les méthodes
Déclaration
Une méthode renvoie systématique une valeur
Il n’y a pas de mot clé return comme en Java
C’est le résultat de la dernière instruction qui est renvoyé.
Ici, une méthode qui additionne 2 entiers :
14. Les principaux concepts
Les Object
Une intégration native du pattern Singleton
Voici une déclaration :
Et son utilisation :
15. Les principaux concepts
Les traits
Un trait est une sorte d’interface (le mot clé interface n’existe
pas en Scala)
Il peut contenir une implémentation
L’héritage multiple est possible
17. Les principaux concepts
Les Compagnons
C’est l’utilisation d’une factory comme dans le slide précédent
mais cette fois le nom est identique.
Ce qui permet l’écriture simple et intuitive :
18. Les principaux concepts
Le Pattern Matching
La reconnaissance de motif est un outil puissant, ce n’est pas
qu’un « switch vitaminé »
20. Les principaux concepts
Les case classes
Immuable : Une fois la classe instancié, l’objet ne plus être modifié
L’objet compagnon est implicite, pas besoin de « new »
Le constructeur est implicite
Les méthodes equals, toString et hashcode sont implicites
Peut se décomposer avec le pattern matching.
21. Les principaux concepts
Les collections
Scala offre une API très puissante pour la gestion des collections.
Quelques exemples :
22. Les principaux concepts
Les fonctions de haut niveau
Proche du concept des lambda expression de Java 8
Exemple de mise en œuvre. Exécuter une fonction passée en
paramètre de manière périodique.
23. Les principaux concepts
Les acteurs
API permettant de réaliser de la programmation concurrente et
distribuée, offrant facilité de mise en œuvre et de très bonnes
performances
C’est un portage d’Erlang, on y retrouve même la notion de
supervision, robustesse garantie.
25. L’interaction avec Java
Scala fonctionne sur la JVM, il est complètement
interopérable.
Vous n’êtes donc pas obligé de réécrire votre SI pour
commencer.
Scala est compilé en bytecode java.
Vous pouvez appeler une librairie Java depuis Scala
Scala peut être appelé directement depuis du Java.
29. L’interaction avec Java
Quelques exemples
Maven…
Utilisation de l’archetype simple (bientôt un web ?)
◦ GroupId= org.scala-tools.archetypes
◦ ArtifactId=scala-archetype-simple
30. Et l’environnement de travail
dans tout ça …
Les IDE principaux ont des plugins très bien intégrés pour
Scala.
Pour les puristes, il existe un plugin pour vim
31. Pourquoi utiliser Scala ?
Syntaxe fluide et productive
Le pattern matching, outil extrêment puissant
La manipulation des collections
Les fonctions anonymes
Permet de capitaliser sur ce qui a déjà été réalisé en Java
Scala est-il déjà ce que Java 10 devrait être ... ?
32. Un dernier avis …
Attention tout de même à l’utilisation d’une syntaxe trop concise
qui peut rendre plus difficile l’assimilation du code par un pair.
Tentation de faire du Java avec Scala et de ne jamais exploiter la
richesse du fonctionnel.
33. Plus en detail …
Apprendre Scala en ligne : https://www.coursera.org/course/progfun
Scala Officiel : http://www.scala-lang.org/
Excellent Blog : http://danielwestheide.com/scala/neophytes.html
Pour débuter : http://www.siteduzero.com/informatique/tutoriels/apprenez-la-
programmation-avec-scala