Java SE 8 est sûrement la version la plus importante et la plus impactante pour les développeurs. Deux ans après sa sortie, ce talk propose des retours sur les bonnes ou moins bonnes utilisations des principales fonctionnalités de Java 8. Une connaissance de ces fonctionnalités est requise.
Dans cette présentation, je vous propose de découvrir ensemble d’autre façon de développer en Java et Java 8 en particulier, mais que peu ont testé. Est-il possible de limiter le nombre de sous-classes pour une classe ? Si on peut désormais mettre un comportement dans une interface, peut-on y mettre un état ? Et peut-on sécuriser la grammaire de ses DSL internes ? Live coding à l’appui, voici certaines des questions auxquelles nous allons essayer de répondre ou qu’on ne devrait jamais aborder.
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.
Java SE 8 est sûrement la version la plus importante et la plus impactante pour les développeurs. Deux ans après sa sortie, ce talk propose des retours sur les bonnes ou moins bonnes utilisations des principales fonctionnalités de Java 8. Une connaissance de ces fonctionnalités est requise.
Interface fonctionnelle, Lambda expression, méthode par défaut, référence de...MICHRAFY MUSTAFA
Ce document vise à présenter java 8 et lambda expression.
Les points abordés sont les interfaces fonctionnelles, fonction d'ordre supérieur, lambda expression, référence de méthode et méthode par défaut. Chaque notion est accompagnée par des exemples. Les codes sources seront disponibles sur git.
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.
Java SE 8 est sûrement la version la plus importante et la plus impactante pour les développeurs. Deux ans après sa sortie, ce talk propose des retours sur les bonnes ou moins bonnes utilisations des principales fonctionnalités de Java 8. Une connaissance de ces fonctionnalités est requise.
Dans cette présentation, je vous propose de découvrir ensemble d’autre façon de développer en Java et Java 8 en particulier, mais que peu ont testé. Est-il possible de limiter le nombre de sous-classes pour une classe ? Si on peut désormais mettre un comportement dans une interface, peut-on y mettre un état ? Et peut-on sécuriser la grammaire de ses DSL internes ? Live coding à l’appui, voici certaines des questions auxquelles nous allons essayer de répondre ou qu’on ne devrait jamais aborder.
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.
Java SE 8 est sûrement la version la plus importante et la plus impactante pour les développeurs. Deux ans après sa sortie, ce talk propose des retours sur les bonnes ou moins bonnes utilisations des principales fonctionnalités de Java 8. Une connaissance de ces fonctionnalités est requise.
Interface fonctionnelle, Lambda expression, méthode par défaut, référence de...MICHRAFY MUSTAFA
Ce document vise à présenter java 8 et lambda expression.
Les points abordés sont les interfaces fonctionnelles, fonction d'ordre supérieur, lambda expression, référence de méthode et méthode par défaut. Chaque notion est accompagnée par des exemples. Les codes sources seront disponibles sur git.
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.
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.
Les slides de ma présentation à Devoxx France 2017.
Introduite en Java 8, l'API Collector vit dans l'ombre de l'API Stream, ce qui est logique puisqu'un collecteur doit se connecter à un stream pour fonctionner. Le JDK est organisé de sorte que l'on utilise surtout les collectors sur étagère : groupingBy, counting et quelques autres. Ces deux éléments masquent non seulement le modèle de traitement de données des collectors, mais aussi sa puissance et ses performances.
Ces présentation parle des collectors qui existent et qu'il faut connaître, ceux que l'on peut créer, ceux dont on se doute que l'on peut les créer une fois que l'on comprend un peu les choses, et les autres, tant les possibilités offertes par cette API sont illimitées.
...par Raphaël Javaux, le 25 mars 2015.
Copie pour permettre le téléchargement L'original se trouve ici : https://docs.google.com/presentation/d/1A87M-e3u1uXlsQddGsI60EZXHVqiehaNy_SCfj7hUeQ/pub?start=false&loop=false&delayms=3000&slide=id.p
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.
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.
L'API la plus utilisée du JDK est sans aucun doute l'API Collection. Brillamment conçue il y a un peu plus de 15 ans, elle est encore aujourd'hui au coeur de toutes les applications Java. En 2004, elle a subi son premier lifting, avec l'introduction des génériques. Cette mise à jour, bien qu'importante, n'a cependant pas modifié ses patterns d'utilisation. Avec l'introduction des lambdas en Java 8, l'API Collection est à nouveau réécrite, mais cette fois la situation est différente : ses patterns d'utilisation sont complètement changés.
La première partie de cette conférence introduit les lambda expressions, comment les écrire, et ce qu'elle nous apportent en tant que développeurs. La deuxième partir présente en détail les nouveaux patterns introduits par les API Stream et Collector. Ces nouvelles API vont changer la façon dont nous allons pouvoir traiter les collections de grande taille, y compris en parallèle, avec un modèle de programmation très simple, et des patterns très puissants. Cette puissance sera montrée dans des exemples réels, qui monteront comment Java 8 va pouvoir nous aider à écrire simplement du code efficace et performant.
Objectif général : Acquérir les bases méthodologiques de la résolution d'un problème conduisant à la réalisation d'un programme informatique
Objectifs opérationnels :
- Connaître les étapes de résolution d’un problème
- Stocker et traiter des données simples
- Permettre à un programme de communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Traiter des données composites
- Définir et utiliser des procédures et des fonctions
5 Tips to Simplify the Management of Your Postgres DatabaseEDB
This presentaation is a short overview of Postgres database capacity planning, monitoring and acting on key performance indicators, database and application performance evaluation and other management activities.
1) The document summarizes research into optimizing PostgreSQL performance by testing different versions, configurations, hardware setups, and operating system settings.
2) Key findings include that PostgreSQL 8.3 generally outperformed version 8.2, increasing the shared_buffers setting significantly improved performance, and disabling synchronous_commit and autovacuum also led to better performance.
3) Areas identified for further testing included different filesystems, I/O schedulers, operating systems, and kernel versions.
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.
Les slides de ma présentation à Devoxx France 2017.
Introduite en Java 8, l'API Collector vit dans l'ombre de l'API Stream, ce qui est logique puisqu'un collecteur doit se connecter à un stream pour fonctionner. Le JDK est organisé de sorte que l'on utilise surtout les collectors sur étagère : groupingBy, counting et quelques autres. Ces deux éléments masquent non seulement le modèle de traitement de données des collectors, mais aussi sa puissance et ses performances.
Ces présentation parle des collectors qui existent et qu'il faut connaître, ceux que l'on peut créer, ceux dont on se doute que l'on peut les créer une fois que l'on comprend un peu les choses, et les autres, tant les possibilités offertes par cette API sont illimitées.
...par Raphaël Javaux, le 25 mars 2015.
Copie pour permettre le téléchargement L'original se trouve ici : https://docs.google.com/presentation/d/1A87M-e3u1uXlsQddGsI60EZXHVqiehaNy_SCfj7hUeQ/pub?start=false&loop=false&delayms=3000&slide=id.p
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.
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.
L'API la plus utilisée du JDK est sans aucun doute l'API Collection. Brillamment conçue il y a un peu plus de 15 ans, elle est encore aujourd'hui au coeur de toutes les applications Java. En 2004, elle a subi son premier lifting, avec l'introduction des génériques. Cette mise à jour, bien qu'importante, n'a cependant pas modifié ses patterns d'utilisation. Avec l'introduction des lambdas en Java 8, l'API Collection est à nouveau réécrite, mais cette fois la situation est différente : ses patterns d'utilisation sont complètement changés.
La première partie de cette conférence introduit les lambda expressions, comment les écrire, et ce qu'elle nous apportent en tant que développeurs. La deuxième partir présente en détail les nouveaux patterns introduits par les API Stream et Collector. Ces nouvelles API vont changer la façon dont nous allons pouvoir traiter les collections de grande taille, y compris en parallèle, avec un modèle de programmation très simple, et des patterns très puissants. Cette puissance sera montrée dans des exemples réels, qui monteront comment Java 8 va pouvoir nous aider à écrire simplement du code efficace et performant.
Objectif général : Acquérir les bases méthodologiques de la résolution d'un problème conduisant à la réalisation d'un programme informatique
Objectifs opérationnels :
- Connaître les étapes de résolution d’un problème
- Stocker et traiter des données simples
- Permettre à un programme de communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Traiter des données composites
- Définir et utiliser des procédures et des fonctions
5 Tips to Simplify the Management of Your Postgres DatabaseEDB
This presentaation is a short overview of Postgres database capacity planning, monitoring and acting on key performance indicators, database and application performance evaluation and other management activities.
1) The document summarizes research into optimizing PostgreSQL performance by testing different versions, configurations, hardware setups, and operating system settings.
2) Key findings include that PostgreSQL 8.3 generally outperformed version 8.2, increasing the shared_buffers setting significantly improved performance, and disabling synchronous_commit and autovacuum also led to better performance.
3) Areas identified for further testing included different filesystems, I/O schedulers, operating systems, and kernel versions.
This document provides an overview of performance tuning techniques for PostgreSQL, an open-source relational database. It discusses caching at different levels including CPU registers, CPU cache, kernel cache, and disk drives. It also notes the importance of optimizing cache sizes for storage areas and memory.
The document discusses optimizing PostgreSQL performance. It covers topics like hardware configuration, benchmarking and tuning PostgreSQL configurations, query optimization techniques like indexing and avoiding subqueries, and monitoring performance using tools like the statistics collector and pg_log. The speaker emphasizes that performance depends on hardware, configurations, query optimization, indexing, and maintenance.
PostgreSQL Portland Performance Practice Project - Database Test 2 Filesystem...Mark Wong
Fifth presentation in a speaker series sponsored by the Portland State University Computer Science Department. The series covers PostgreSQL performance with an OLTP (on-line transaction processing) workload called Database Test 2 (DBT-2). This presentation goes through results of different hardware RAID configurations to show why it is important to test your own hardware: it might be performing in way you don't expect.
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)VMware Tanzu
Cloud Foundry Summit 2014 Lightning Talk delivered by Cornelia Davis Platform Engineer, Cloud Foundry.
Platform as a Service is not just for the developer. It must provide equal or greater value to the application operator as well. The Cloud Foundry PaaS has four levels of HA built in! We explain each of them and show you how, collectively, they do an extraordinary job keeping application instances up and running in the face of failures. Your operators will spend less time on recovery and more time on innovation as a result.
The digital universe is huge and is growing at a stellar rate and along with it grows the data generated every second. By 2020, there will be nearly as many digital bits as there are stars in this universe. That effectively means infinite as per the reports published by IDC in 2014. InMobi has grown leaps and bounds globally in past few years and that has only caused the data here to grow exponentially. There are thousands of advertisers and publishers on InMobi network, handling the OLTP ( 200-300 GB ) and OLAP ( 14TB ) demands high availability and the best performance. To ensure the smoothness and 24/7 availability of our production database servers, we are using a lot of open source technologies to keep an eye on all the Postgresql servers running across different data centres. We have one of the biggest Postgresql Master-Slave Streaming Replication production setup and it is very important for us to monitor the database performance, production traffic and some analytics on top of each and every database server @InMobi.
The document provides an overview of PostgreSQL performance tuning. It discusses caching, query processing internals, and optimization of storage and memory usage. Specific topics covered include the PostgreSQL configuration parameters for tuning shared buffers, work memory, and free space map settings.
A local plugin wich monitors PostgreSQL extracting information using an external configuration file and the software already installed on the system to monitor. For more information visit the following webpage: http://pandorafms.com/index.php?sec=Library&sec2=repository&lng=en&action=view_PUI&id_PUI=552
Kubernetes University - Cap sur l'orchestrationWescale
Cette présentation était en partenariat avec Xebia (Jean-Baptiste Claramonte et Gerome Egron).
De nos jours, de plus en plus d’entreprises adoptent Docker. Mais comment faire avec des dizaines, des centaines voire des milliers de conteneurs à gérer ? Google s’est posé ces questions et de ses forges une réponse est sortie : le projet Kubernetes. Venez marcher dans les pas du géant en découvrant Kubernetes dans son intimité. Vous apprendrez à déployer une application, la scaler, la mettre à jour en rolling update et l'isoler des environnements. Entre démonstrations et retours de terrain, vous repartirez avec tous les outils pour conteneuriser la planète.
Cette présentation était en partenariat avec WeScale (Cédric Hauber).
De nos jours, de plus en plus d’entreprises adoptent Docker. Mais comment faire avec des dizaines, des centaines voire des milliers de conteneurs à gérer ? Google s’est posé ces questions et de ses forges une réponse est sortie : le projet Kubernetes. Venez marcher dans les pas du géant en découvrant Kubernetes dans son intimité. Vous apprendrez à déployer une application, la scaler, la mettre à jour en rolling update et l'isoler des environnements. Entre démonstrations et retours de terrain, vous repartirez avec tous les outils pour conteneuriser la planète.
De nos jours, de plus en plus d’entreprises adoptent Docker. Mais comment faire avec des dizaines, des centaines voire des milliers de conteneurs à gérer ? Google s’est posé ces questions et de ses forges une réponse est sortie : le projet Kubernetes. Venez marcher dans les pas du géant en découvrant Kubernetes dans son intimité. Vous apprendrez à déployer une application, la scaler, la mettre à jour en rolling update et l'isoler des environnements.
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Fabien Arcellier
Après maints périples, vous avez progressivement amélioré votre capacité à gérer des environnements au travers d'Infra as Code. Votre code initialement simple a pris de l'embonpoint et vous sentez la réalité vous rattraper implacablement : vous êtes en train de créer de la complexité, voire même de la dette.
Loin d'être une fatalité, à partir de notre expérience de développeur (Fabien) et d'ops (Alexandre), nous vous proposons un road trip dans des
pratiques de développement déclinées sur l'Infra as Code (Bash, Puppet et Ansible).
Nous présentons des pratiques, des plus simples activables immédiatement à des démarches plus complexes pour dessiner une big picture de l'Infra as Code, de ses contraintes, de ses forces et de ses pièges.
* Comment mettre en place des boucles de feedback les plus courtes possibles ?
* Comment faire du test driven development sur l'infrastructure ?
* Quels patterns et outils pour tester une configuration sans tirer toute votre infra et itérer plus rapidement ?
* Quel est le rapport entre Tetris, un ascenceur et l'Infra as Code ?
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) univalence
Tallk présenté à Devoxx avec Bachir Ait M'Barek : https://www.linkedin.com/in/baitmbarek
C’est la révolution dans la BI, les zones tampon FTP laissent la place aux systèmes de fichier distribués, le SQL s'exécute sur Hadoop, les dashboard en HTML5 remplacent les clients lourds, mais ne peut-on pas rationaliser un peu l’approche ?
Comment s’y prendre pour transformer une chaine BI en datalake ?
Cette université fera le tour de l’ingénierie des données en mode BigData. Au travers d’une présentation détaillée des concepts, de retour d’expériences et d’un cas pratique, nous allons découvrir :
les technologies et l’architecture, avec Spark, Kafka, Elasticsearch, Impala et Mesos,
et les méthodes associées : cycle de développement avec Hadoop, tests unitaires, jointures, gestion de la qualité de donnée, recette en mode Big Data et gestion des métadonnées.
CNES - CCT SIL - Traitement et Manipulation de la donnée à l‘aide des technologies Big Data
Présentation du 30 Juin 2017
Les CCT sont des espaces d'échanges techniques mis en place par le CNES il y a 20 ans, dans le but de réunir différents acteurs industriels et public pour s'enrichir mutuellement.
Techday Arrow Group: Hadoop & le Big DataArrow Group
retrouvez notre techday sur Hadoop & le Big Data.
La Technologie Hadoop au coeur des
projets "Big Data".
Pour en savoir plus sur notre projet Square Predict:
http://www.square-solutions.com/accueil/square-predict-big-data-assurance/
Rapide introduction à Hadoop lors du lancement du Casablanca Hadoop & Big Data Meetup.
En partenariat avec Hortonworks
http://www.meetup.com/Casablanca-Hadoop-et-Big-Data-Meetup
Si la baisse de la productivité est effective dans toutes les économies développées... elle est particulièrement marquée en France. Au niveau national, cet essoufflement touche tous les secteurs, et plus particulièrement celui de l’industrie, usuellement caractérisé par des gains de productivité élevés. Depuis la crise Covid, le secteur industriel contribue pour 35 % environ à cette perte, alors qu’il ne représente que 9,3 % de la valeur ajoutée nationale brute en 2023. Dans ce contexte, est-il possible de mener une politique de réindustrialisation du pays sans y associer un objectif de hausse des gains de productivité ?Non rappelle ce Cube. Au contraire, ces deux objectifs, jusqu’alors indépendants l’un de l’autre, sont désormais deux défis à relever conjointement. En analysant les différents explications à la baisse de celle-ci observée en France et dans les autres économies développées, ce Cube suggère que l’augmenter en parallèle d’une politique de réindustrialisation sous-entend une réallocation des facteurs de production vers les entreprises industrielles à fort potentiel. Elle suppose également une une meilleure affectation des ressources.
11. #DevoxxFR
AGENDA
11
- Setup Réseau
- un peu de théorie Cassandra
- Setup Cassandra
- Jouer avec Cassandra
- un peu de théorie Spark
- Setup Spark
- Jouer avec Cassandra et Spark
19. #DevoxxFR
Configuration réseau
19
IP : votre IP (celle du post-it)
Masque de sous réseau : 255.0.0.0
pas de proxy
pas de routeur/gateway/passerelle
test ping :
10.1.1.0, 10.1.1.1, 10.2.1.1, 10.3.1.1
22. #DevoxxFR
C’est quoi Cassandra
22
« The Apache Cassandra database is
the right choice when you need
scalability and high availability without
compromising performance »
26. #DevoxxFR
Comment est stockée une table sur le
cluster?
26
Chaque table a une PRIMARY KEY
PRIMARY KEY = PARTITION KEY
Une fonction associe une valeur de clef primaire à un Hash /
Token
Chaque noeud du cluster prend en charge un « token range »
Pour chaque « keyspace » (= schéma) , on défini un
« REPLICATION FACTOR ». Chaque donnée est répliquée
selon ce replication factor.
27. #DevoxxFR 27
name gender age
jérémy M 25
amira F 26
gautier M 42
thomas M 27
…. …. ….
name gender age
jérémy M 25
… … ….
name gender age
amira F 26
… … …
name gender age
gautier M 42
thomas M 27
…. …. ….
36. #DevoxxFR
Cassandra.yaml
36
seeds : Liste des noeuds à contacter initialement
listen_address : communication inter noeud
rpc_address : communication avec client
RackInferringSnitch : 10.<datacenter>.<rack>.<node>
auto_bootstrap: false : joindre le cluster sans échanger de données
42. #DevoxxFR
Pourquoi utiliser Spark?
42
Pour faire du calcul distribué sur un
gros volume de données
parce que Hadoop c’est trop compliqué
parce que c’est hype de faire du Spark
44. #DevoxxFR
RDD
44
RDD = Resilient Distributed Dataset
Spark construit un DAG à partir des opérations sur le RDD et
chaque opération n’est effectuée que si nécessaire
Une opération peut être effectuée deux fois
API Scala / Java / Python
62. #DevoxxFR
Récap
62
créé un réseau avec 3 data centers
créé un cluster Cassandra sur 3 datacenters
inséré/lu des données dans cassandra
faire tomber un datacenter
créé un cluster Spark (global)
executer un job Spark sur le cluster
battu un record du monde? : non