Archi & techno

Problèmes courants: Imprécision des calculs mathématiques (1ère partie)

J’inaugure aujourd’hui une nouvelle chronique que j’ai appelée problèmes courants. J’y traiterai l’une après l’autre les erreurs classiques rencontrées à travers mes années d’informatique.

Ce premier article de la série visera à démystifier les calculs mathématiques et à établir de bonnes pratiques au sein d’une application d’entreprise. Par application d’entreprise, nous entendons une application gérant des montants d’argent, des prix, des quantités. Il a été coupé en deux, la première partie expliquant le problème, la deuxième montrant comment le gérer en Java et .Net.

Bill travaille sur un logiciel de paiement de commissions. Il doit ajouter une commission de 1,2$. Il se fait donc une petite méthode faisant cette opération et le petit test unitaire qui va avec.

 @Test
 public void testAddCommission() {
  double actual = addCommission(1000000.1);
  assertEquals(1000001.3, actual, 0);
 }

 public static double addCommission(double nominal) {
  return nominal + 1.2f;
 }

java.lang.AssertionError: expected:<1000001.3> but was:<1000001.3000000477>

« Ah ben zut alors! C’est pas le bon résultat ».

Qu’est-ce qui se passe?
Lire la suite

Archi & techno

Déploiement d’une application sur l’infrastructure AMAZON (2/3)

Nous poursuivons notre aventure AMAZON avec ce second billet qui termine la description technique des principaux services AWS.

Localisation des données et des instances

Contrairement à GOOGLE, AMAZON permet de définir l’emplacement géographique de certaines ressources. Pour cela, les concepts de régions et zones de disponibilités ont été introduits.  Une région est une zone géographique – Europe, Asie, Etats-Unis Est et Ouest– composée de plusieurs zones de disponibilités.  Les zones de disponibilités sont des emplacements distincts conçus pour ne pas être impactés par un dysfonctionnent d’une zone de disponibilité voisine. Néanmoins, les connexions entre les zones de disponibilités d’une même région sont optimisées pour fournir une faible latence.

Lire la suite

Brèves de consultants

BlackBerry, des smartphones comme les autres ?

Les applications iPhone et Android sont nombreuses mais ce ne sont pas les seuls smartphones du marché. BlackBerry est un acteur historique du marché qui a lui aussi créé son store d’applications le 1er avril 2009. Des entreprises se posent donc la question de porter leur application iPhone ou Android vers les mobiles BlackBerry. Voici quelques éléments qui vous permettront de vous faire une idée sur du portage BlackBerry depuis iPhone ou Android.

Lire la suite

Évènement

Gagnants du concours ParisJUG – USI 2010

Vous l’attendiez tous… voilà les résultats du concours organisé par OCTO au dernier Paris JUG !
L’heureux gagnant de la place pour l’USI (Université du SI) est Jean-Michel Béa.
Quant à Benoit Lubek, Loïc Ebran et Holly Cumin elle-même (garantie sans trucage !), ils repartiront chacun du prochain JUG avec une bouteille de champ’.

Archi & techno

Supervisez votre JVM

La performance est un sujet qui revient souvent dans les projets. Mais la plupart du temps, le sujet est abordé après que les premiers problèmes soient survenus. Dans le précédent article, Sébastien insistait sur la nécessité de s’outiller. Effectivement, on améliore ce que l’on mesure. Nous allons donc nous intéresser au monde Java et voir quels sont les outils pour mesurer, présenter et suivre dans le temps des indicateurs de performance.
Lire la suite

Archi & techno

Python + doctest : quand la doc devient test

Introduction

Derrière ce titre abscons se trouvent deux concepts qui mettent en application le principe du KISS dans le langage de programmation Python : écrire de la doc et mettre des tests dans des sources Python, c’est simple avec l’utilisation conjointe des docstrings et du module doctest. Le concept proposé ici est des plus simples : écrire un test unitaire pour un objet présente beaucoup de similitudes avec le fait d’écrire la documentation de ce même objet, en particulier si on y présente des exemples d’utilisation. Ainsi, en faisant d’une pierre deux coups, on gagne du temps et limite les écarts.

Lire la suite

Archi & techno

Tests unitaires et tests d’interface sur iPhone : État des lieux

Dans un précédent article sur la mise en place d’une Usine de dev iPhone nous avions promis un article sur la pratique des tests unitaires sur iPhone, le voici !

Venant de l’univers JAVA où ce sujet est très présent, nous avons voulu reproduire sur nos projets iPhone les bonnes pratiques de tests automatisés auxquelles nous étions habitués.

Néanmoins la situation est bien différente sur une application mobile et sur iPhone en particulier : l’interface graphique est au cœur de l’application, et celle-ci semble particulièrement complexe à tester dans le cas d’un mobile.

De plus les outils et bonnes pratiques largement répandus en Java et .NET sont encore méconnus dans la communauté Objective-C : cet article est pour nous l’occasion de partager nos découvertes sur ce sujet.

Alors, qu’est-il possible de faire en matière de tests unitaires et de tests d’interfaces sur iPhone ?

Lire la suite

Évènement

Interview des orateurs OCTO pour la conférence Agile France

Bonjour ! Tu a fait une session lors de la conférence Agile France. Qui es tu ?


Pierre
Pezziardi

Je suis Directeur Technique pour OCTO : un électron libre qui défriche de nouvelles offres, pour ce que fera OCTO à moyen terme. Je m’occupe de la microfinance, de transformation Agile et Lean et d’ERP Open Source ces temps ci.


Guillaume
Duquesnay

Je m’appelle Guillaume Duquesnay et je combat le Plouf. Je travaille chez Octo Technology depuis 5 ans. J’y suis entré en tant qu’expert Java JEE, avec une expérience des approches itératives. J’exerce principalement en tant que Coach Agile depuis 2 ans, et j’accompagne ponctuellement des personnes dans l’amélioration de leur productivité personnelle.


Christophe
Thibaut

Christophe Thibaut, chez OCTO depuis 5 ans, je suis coach agile.


Jonathan
Scher

Jonathan Scher, chez  OCTO depuis le début de l’année, consultant agile.

Plusieurs personnes ont souligné la diversité des sessions à cette conférence. En quoi ta session y a t’elle contribuée ?

Lire la suite

Évènement

Présentation de KiSoft VISION de la société KNAPP

OCTO organise en interne des sessions « Ecole de la Supply Chain » traitant des enjeux dans les métiers de la logistique et des transports.

Après avoir vu cette video, nous avons invité dans ce cadre la société KNAPP à nous présenter le produit KiSoft VISION. A cette occasion, nous avons également convié nos clients à découvrir comment la réalité augmentée pouvait être utilisée pour la gestion d’entrepôts.

Le 17 juin dernier, Birgit Huber et Peter Stelzer de KNAPP sont venus d’Autriche pour faire cette présentation dans nos locaux devant des clients et des Octos, avec à la clé une démonstration du système.

Plus de détails sur cette présentation en anglais.