[Breizhcamp 2015] Refactoring avec 1,22% de code couvert par les tests ... Go...Sébastien Prunier
Plus de 10000 lignes de code à refactorer, très peu de tests unitaires, seulement 1,22% de code couvert par les tests ... Voilà le challenge auquel j'ai été récemment confronté !
Voici mon retour d'expérience sur la technique "Golden Master testing" que j'ai utilisée pour sereinement venir à bout de ce refactoring.
Refactoring avec 1,22% de code couvert par les tests ... Golden Master testin...Sébastien Prunier
Plus de 10000 lignes de code à refactorer, très peu de tests unitaires, seulement 1,22% de code couvert par les tests.
Comment faire pour se lancer sereinement dans le refactoring ?
Voici une solution possible à l'aide de la technique du Golden Master Test
MongoDB ? Elasticsearch ? Ces techonologies sont elles faites pour être concurrentes ?
C'est l'histoire d'une rencontre entre ces deux produits. A l'occasion de cette conférence vous apprendrez comment MongoDB et Elastic peuvent se compléter, comment tirer partie du meilleur de chaque monde : "le bon outil pour le bon usage".
Enfin, nous vous présenterons les principaux patterns d'architecture permettant d'intégrer ces deux technologies.
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...MongoDB
Il s'agit du quatrième webinaire de la série « Retour aux fondamentaux » qui a pour but de vous présenter la base de données MongoDB. Ce webinaire expliquera l’Indexation avancée, les index de texte et géospatiaux.
This document compares several Java JSON parsers based on various criteria. It provides an overview of JSON and the Java APIs for processing JSON (JSR 339 and JSR 353). It then evaluates parsers like Jackson, Google GSON, javax.json and others based on criteria like community activity, performance, API features, dependencies and license. The conclusion is that Google GSON is best for small data and Jackson for large data according to previous benchmarks. It asks which parser may be best for RAM-constrained or IoT applications.
What actually an internet marketing means? The presentation shows the main features that help to attract user's attention to your business via the website.
[Breizhcamp 2015] Refactoring avec 1,22% de code couvert par les tests ... Go...Sébastien Prunier
Plus de 10000 lignes de code à refactorer, très peu de tests unitaires, seulement 1,22% de code couvert par les tests ... Voilà le challenge auquel j'ai été récemment confronté !
Voici mon retour d'expérience sur la technique "Golden Master testing" que j'ai utilisée pour sereinement venir à bout de ce refactoring.
Refactoring avec 1,22% de code couvert par les tests ... Golden Master testin...Sébastien Prunier
Plus de 10000 lignes de code à refactorer, très peu de tests unitaires, seulement 1,22% de code couvert par les tests.
Comment faire pour se lancer sereinement dans le refactoring ?
Voici une solution possible à l'aide de la technique du Golden Master Test
MongoDB ? Elasticsearch ? Ces techonologies sont elles faites pour être concurrentes ?
C'est l'histoire d'une rencontre entre ces deux produits. A l'occasion de cette conférence vous apprendrez comment MongoDB et Elastic peuvent se compléter, comment tirer partie du meilleur de chaque monde : "le bon outil pour le bon usage".
Enfin, nous vous présenterons les principaux patterns d'architecture permettant d'intégrer ces deux technologies.
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...MongoDB
Il s'agit du quatrième webinaire de la série « Retour aux fondamentaux » qui a pour but de vous présenter la base de données MongoDB. Ce webinaire expliquera l’Indexation avancée, les index de texte et géospatiaux.
This document compares several Java JSON parsers based on various criteria. It provides an overview of JSON and the Java APIs for processing JSON (JSR 339 and JSR 353). It then evaluates parsers like Jackson, Google GSON, javax.json and others based on criteria like community activity, performance, API features, dependencies and license. The conclusion is that Google GSON is best for small data and Jackson for large data according to previous benchmarks. It asks which parser may be best for RAM-constrained or IoT applications.
What actually an internet marketing means? The presentation shows the main features that help to attract user's attention to your business via the website.
This document provides an overview of email marketing and recommendations for an effective email marketing strategy. It discusses why businesses need email marketing to increase sales, acquire new customers, and grow the customer lifecycle. It outlines different types of emails like commercial, informative, trigger, and welcome/thank you emails. The document also covers essential elements like personalization, understanding the target audience, using the AIDA model, writing attention-grabbing subject lines, designing high-quality content and calls to action, choosing an optimal mailing frequency, and selecting the right time of day to send emails. It recommends starting with gathering a quality subscriber base and determining the needs of the target audience before creating and sending high-quality emails and analyzing the results.
Caching can simplify code, reduce traffic, and allow content to be viewed offline. There are different approaches to implementing caching, such as creating separate tables for each entity or using a single table with URL and response fields. Common HTTP cache-control headers help manage caching by specifying rules for validating cached responses and restricting caching. Both Android and iOS provide APIs for enabling caching with URL connections and requests.
The document discusses MyPopCoins (MPC), a digital loyalty program that allows users to earn points from everyday spending. MPC aims to help retailers build loyalty by rewarding purchases and increase consumer purchasing power. It provides an umbrella program where users can earn points across retailers. The document then discusses industries like food/restaurants, apparel, and wellness that can benefit from MPC's digital visibility and marketing tools. It compares MPC's program to traditional loyalty programs and outlines benefits for retailers like cost savings and increased sales. Finally, it describes how customers can find deals, earn and redeem points, and the transparency MPC provides to retailers.
Json stands for Java script Object Notation and Gson is like json which is developed bye Google. Jackson is also one type of Json which works similar to json. in this slide i am showing The performance comparison between Json, Gson and Jackson.
Efficient Development Theory
What to pay your attention to
Documentation is our all
Strong Typing
Excessive OOP
Logging
Testing
Strong Typing
Excessive OOP
Logging
Testing
InnoDB
Timestamp to Collection
Do not hardcore cache settings
Does your marketing strategy satisfy you? We offer content marketing manual, that shows all the necessary tips to implement to make your strategy the most efficient. Enjoy our comic strip!
Dans cette session, vous découvrirez les nouveaux standards supportés par Internet Explorer 10. Coté CSS3, on verra ainsi des choses comme grid layout, animations ou transitions. Coté nouvelles APIs, nous passerons un peu de temps sur la gestion du drag-n-drop, IndexedDB, la gestion de l’Application Cache ou bien encore la gestion du tactile. Pour découvrir tout cela, nous verrons à chaque fois de petits exemples d’illustration ainsi que des sites plus « complexes » les mettant en œuvre.
Les dernières avancées html5 & css3 en action !davrous
Dans cette session, vous découvrirez les nouveaux standards supportés par Internet Explorer 10. Coté CSS3, on verra ainsi des choses comme grid layout, animations ou transitions. Coté nouvelles APIs, nous passerons un peu de temps sur la gestion du drag-n-drop, IndexedDB, la gestion de l'Application Cache ou bien encore la gestion du tactile. Pour découvrir tout cela, nous verrons à chaque fois de petits exemples d'illustration ainsi que des sites plus « complexes » les mettant en oeuvre.
Présentation jouée pendant les MS Techdays 2013: http://www.microsoft.com/france/mstechdays/programmes/2013/fiche-session.aspx?ID=4a174b26-32b7-4d4c-8523-ad3a3228ef53
Retrouvez tous les exemples de code sur mon blog ici: http://blogs.msdn.com/b/davrous/archive/2012/11/03/demos-links-amp-articles-associated-to-htm5-amp-css3-latest-features-in-action-build-3-114.aspx
http://www.brownbaglunch.fr/baggers.html#Olivier_BAZOUD
Monitoring: regarder votre application à la loupe!
Regarder fonctionner votre application sous toutes les coutures.
Nous verrons comment alimenter Graphite, un excellent outil de métrologie, dans une architecture java (je peux m'adapter à vote langage): collectd, jmxtrans, metrics, statsd,.. afin de prendre des mesures au niveau du système, de l'applicatif, des batchs et du métier (KPI). Nous aborderons ensuite la corrélation tous ces métriques de façon très visuelle et comment réveiller vos sysadmins en cas d'urgence ;)
> De l'échantillonnage à « N = Tout »
> Conséquences sur les données
> Créer une application dans Java
> Principales fonctionnalités de MongoDB
> Établir des liens
Développer pour une version d'un navigateur c'est facile. Développer pour plusieurs navigateurs aux capacités parfois franchement différentes, c'est une autre histoire. Plutôt que de pester toute la journée nous verrons comment il est possible de minimiser les effets de bords, voir de trouver ça plaisant. Mobile, Desktop, site web, applications web, bonne pratiques, outils d'aides à la production, bibliothèques JavaScript indispensables, stratégie de test... nous passerons en revu tout tout ce qu'il faut savoir et ce qui permet de coder pour tous les navigateurs (presque) sans douleurs.
Session donnée lors du Drupal Camp Lyon 2012. Présentant les différentes alternatives pour gérer la mobilité avec Drupal.
- Responsive Design
- Contextes mobiles (themes mobiles)
- Applications Natives et intégrations en Web Services ou HTML5
This document provides an overview of email marketing and recommendations for an effective email marketing strategy. It discusses why businesses need email marketing to increase sales, acquire new customers, and grow the customer lifecycle. It outlines different types of emails like commercial, informative, trigger, and welcome/thank you emails. The document also covers essential elements like personalization, understanding the target audience, using the AIDA model, writing attention-grabbing subject lines, designing high-quality content and calls to action, choosing an optimal mailing frequency, and selecting the right time of day to send emails. It recommends starting with gathering a quality subscriber base and determining the needs of the target audience before creating and sending high-quality emails and analyzing the results.
Caching can simplify code, reduce traffic, and allow content to be viewed offline. There are different approaches to implementing caching, such as creating separate tables for each entity or using a single table with URL and response fields. Common HTTP cache-control headers help manage caching by specifying rules for validating cached responses and restricting caching. Both Android and iOS provide APIs for enabling caching with URL connections and requests.
The document discusses MyPopCoins (MPC), a digital loyalty program that allows users to earn points from everyday spending. MPC aims to help retailers build loyalty by rewarding purchases and increase consumer purchasing power. It provides an umbrella program where users can earn points across retailers. The document then discusses industries like food/restaurants, apparel, and wellness that can benefit from MPC's digital visibility and marketing tools. It compares MPC's program to traditional loyalty programs and outlines benefits for retailers like cost savings and increased sales. Finally, it describes how customers can find deals, earn and redeem points, and the transparency MPC provides to retailers.
Json stands for Java script Object Notation and Gson is like json which is developed bye Google. Jackson is also one type of Json which works similar to json. in this slide i am showing The performance comparison between Json, Gson and Jackson.
Efficient Development Theory
What to pay your attention to
Documentation is our all
Strong Typing
Excessive OOP
Logging
Testing
Strong Typing
Excessive OOP
Logging
Testing
InnoDB
Timestamp to Collection
Do not hardcore cache settings
Does your marketing strategy satisfy you? We offer content marketing manual, that shows all the necessary tips to implement to make your strategy the most efficient. Enjoy our comic strip!
Dans cette session, vous découvrirez les nouveaux standards supportés par Internet Explorer 10. Coté CSS3, on verra ainsi des choses comme grid layout, animations ou transitions. Coté nouvelles APIs, nous passerons un peu de temps sur la gestion du drag-n-drop, IndexedDB, la gestion de l’Application Cache ou bien encore la gestion du tactile. Pour découvrir tout cela, nous verrons à chaque fois de petits exemples d’illustration ainsi que des sites plus « complexes » les mettant en œuvre.
Les dernières avancées html5 & css3 en action !davrous
Dans cette session, vous découvrirez les nouveaux standards supportés par Internet Explorer 10. Coté CSS3, on verra ainsi des choses comme grid layout, animations ou transitions. Coté nouvelles APIs, nous passerons un peu de temps sur la gestion du drag-n-drop, IndexedDB, la gestion de l'Application Cache ou bien encore la gestion du tactile. Pour découvrir tout cela, nous verrons à chaque fois de petits exemples d'illustration ainsi que des sites plus « complexes » les mettant en oeuvre.
Présentation jouée pendant les MS Techdays 2013: http://www.microsoft.com/france/mstechdays/programmes/2013/fiche-session.aspx?ID=4a174b26-32b7-4d4c-8523-ad3a3228ef53
Retrouvez tous les exemples de code sur mon blog ici: http://blogs.msdn.com/b/davrous/archive/2012/11/03/demos-links-amp-articles-associated-to-htm5-amp-css3-latest-features-in-action-build-3-114.aspx
http://www.brownbaglunch.fr/baggers.html#Olivier_BAZOUD
Monitoring: regarder votre application à la loupe!
Regarder fonctionner votre application sous toutes les coutures.
Nous verrons comment alimenter Graphite, un excellent outil de métrologie, dans une architecture java (je peux m'adapter à vote langage): collectd, jmxtrans, metrics, statsd,.. afin de prendre des mesures au niveau du système, de l'applicatif, des batchs et du métier (KPI). Nous aborderons ensuite la corrélation tous ces métriques de façon très visuelle et comment réveiller vos sysadmins en cas d'urgence ;)
> De l'échantillonnage à « N = Tout »
> Conséquences sur les données
> Créer une application dans Java
> Principales fonctionnalités de MongoDB
> Établir des liens
Développer pour une version d'un navigateur c'est facile. Développer pour plusieurs navigateurs aux capacités parfois franchement différentes, c'est une autre histoire. Plutôt que de pester toute la journée nous verrons comment il est possible de minimiser les effets de bords, voir de trouver ça plaisant. Mobile, Desktop, site web, applications web, bonne pratiques, outils d'aides à la production, bibliothèques JavaScript indispensables, stratégie de test... nous passerons en revu tout tout ce qu'il faut savoir et ce qui permet de coder pour tous les navigateurs (presque) sans douleurs.
Session donnée lors du Drupal Camp Lyon 2012. Présentant les différentes alternatives pour gérer la mobilité avec Drupal.
- Responsive Design
- Contextes mobiles (themes mobiles)
- Applications Natives et intégrations en Web Services ou HTML5
Devoxx: Tribulation d'un développeur sur le CloudTugdual Grall
Comme beaucoup de développeurs une grande partie de mon temps libre est utilisé pour découvrir de nouvelles technologies et développer des applications avec celles-ci.
J'ai donc choisi de découvrir le développement d'application Java sur le cloud, avec Google AppEngine, pour créer le site http://www.resultri.com qui permet de gérer les resultats de triathlon (mon autre passion).
Développer cette application est une aventure interessante que je partage avec vous durant ce BOF:
découverte de GAE et des outils de developpement
les "surprises" du NoSQL, surtout pour un cerveau "cablé relationnel comme le mien"
hmmm tout n'est pas gratuit?
les quelques trucs à savoir : l'importance de memcache, utilisation de CloudSQL, les batchs....
Agenda :
Les enjeux de la performance d'un site Web
Les différents éléments de performance d'un site Web
Infrastructure, architecture technique, tuning, architecture applicative, WebPerf
L'obsession de la mesure
Les outils
Les quickwins
Caches, upscaling, outscaling, sharding
La démarche de test de charge
Méthodologie, outils, types de test, données de test
La démarche PDCA
Intégrer les tests de charge au cycle de développement
Environnement éphémère
Oxalide MorningTech #2 - Démarche de performance
2ème MorningTech @Oxalide, animé par Adrien Le Priol (@Priolix) et Ludovic Piot (@lpiot), le 28 février 2017.
Une vue d'ensemble sur la démarche et les outils pour aborder et maîtriser la performance de son site Web.
En 2012, Amazon publiait une étude indiquant que chaque seconde de performance perdue sur son site de commerce lui coûtait $1.6 milliards de chiffre d'affaire.
Par delà ce chiffre colossal avancé par le géant du Web, il est une réalité business : plus un site est lent, et moins les utilisateurs sont enclin à naviguer dessus. Les smartphones et le SoLoMo exacerbent cette réalité avec encore plus depuis 10 ans maintenant.
Sur le terrain, l'architecture technique des sites Web, de plus en plus complexe, rendent ses performances impossibles à prédire : complexité des développements applicatifs, multitude des composants impliqués dans l'architecture technique, recours à des services tiers (issus du SI de votre entreprise, ou de services tiers), big data, machine learning…
Une seule façon de prédire les performances : tester… en situation réelle.
A travers les différentes étapes d'une démarche d'optimisation des performances d'un site Web, les enjeux et les écueils d'une telle démarche vous seront détaillés.
Subject: Oxalide's MorningTech talk about an overview of how to deal with performance in a Web site.
Date: 28-feb-2017
Speakers: Adrien Le Priol (@Priolix, @Oxalide) and Ludovic Piot (@lpiot, @Oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-morning-tech-number-2-demarche-performance
Lien SlideShare : https://www.slideshare.net/LudovicPiot/morning-tech-2-demarche-performance-slides
YouTube Video capture: https://youtu.be/a8jSbvyBzYU
Main topics:
* Les enjeux de la performance d'un site Web
* Les différents éléments de performance d'un site Web
** Infrastructure, architecture technique, tuning, architecture applicative, WebPerf
* L'obsession de la mesure
* Les outils
* Les quickwins
** Caches, upscaling, outscaling, sharding
* La démarche de test de charge
** Méthodologie, outils, types de test, données de test
* La démarche PDCA
** Intégrer les tests de charge au cycle de développement
** Environnement éphémère
* Questions / Réponses
Flex, une techno RIA incontournable pour les futures app web ?GreenIvory
La technologie Adobe Flex est aujourd'hui reconnue comme une des solutions les plus productives pour développer rapidement des applications de type RIA (Rich Internet Applications). Le succès de cette technologie repose sur deux notions fondamentales : la portabilité et l’interopérabilité. Cela fait deux ans que nous utilisons la technologie Flex. Je viens partager avec vous mes retours d'expériences concernant le développement des applications RIA basées sur Adobe Flex.
Ahmed El Houari
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.
Dans un contexte où la transmission et l'installation d'agriculteurs sont des enjeux cruciaux pour la profession agricole, de nouveaux agriculteurs s'installent chaque année et, parmi eux, certains Bac+5 ou plus. Les cursus des écoles d'ingénieurs n'ont pas vocation à former de futurs agriculteurs. Pourtant, certains apprenants ayant suivi ces cursus BAC + 5, qu'ils soient ou non issus du milieu agricole, tentent l'aventure de l'entrepreneuriat agricole. Qui sont-ils ? Quelles sont leurs motivations et visions ? Comment travaillent-ils ?
2. Principles of the libraries operation
● JSON input
● DOM (Document object Model) or SAX (Simple API for XML)
● Mapper-classes formation:
○ Android SDK - writing parser manually, using JSONObject and JSONArray
○ Gson и Jackson - using Reflection mechanism
3. Requirements:
● Gadget - Nexus 7 (2013, 2 Gb Ram)
● Speed - 14 JSON from 100b to 10Mb, 1000 iterations for each parser
● Memory - 4 JSON from 5kb to 5Mb, 100 iterations for each parser
● JSON example:
{
"title": "Title",
"id": 1,
"items": [
{
"name": "name_0",
"id": 0
}
],
"subobject": {
"id": 1,
"subitems": [
{
"name": "name_0",
"id": 0
}
]
}
}
9. Speed conclusion:
● When parsing small-size JSON, it is better to use Android SDK
● When parsing big-size JSON, Jackson is the best choice
● GSON is optimal choice