Manipulations de données simples

Des cas simples, toujours bon à avoir sous la main, ou ici plus particulièrement sous les yeux et à portée d’internet !
Dans cet article je vais parler de quelques bases de manipulations de données en Cobol:

 WORKING-STORAGE SECTION.
    01 WORKING-VAR.
       05 W-SOLDMOYEN-15-2 PIC S9(15)V9(2) COMP-3.
       05 W-SOLDMOYEN-17   PIC S9(17) COMP-3.

 PROCEDURE DIVISION.
    display 'Variables non renseignées :'
    display '15-2 :' W-SOLDMOYEN-15-2
    display '17 :'   W-SOLDMOYEN-17

    move 12,34 to W-SOLDMOYEN-15-2
    move 1234 to W-SOLDMOYEN-17
    display 'Variables renseignées :'
    display '15-2 :' W-SOLDMOYEN-15-2
    display '17 :'   W-SOLDMOYEN-17

    move W-SOLDMOYEN-15-2 to W-SOLDMOYEN-17
    display 'Variables après passage de 15-2 à 17 :'
    display '15-2 :' W-SOLDMOYEN-15-2
    display '17 :'   W-SOLDMOYEN-17

    compute W-SOLDMOYEN-17 = W-SOLDMOYEN-15-2 * 100
    display 'Variables après multiplic. de 15-2 par 100 à 17 :'
    display '15-2 :' W-SOLDMOYEN-15-2
    display '17 :'   W-SOLDMOYEN-17

    * Les deux techniques suivantes marchent :
    move  W-SOLDMOYEN-17  to W-SOLDMOYEN-15-2 
    * ... laquelle des deux est la meilleure ?
    compute W-SOLDMOYEN-15-2 = W-SOLDMOYEN-17
    display 'Variables après passage de 17 à 15-2 :'
    display '15-2 :' W-SOLDMOYEN-15-2
    display '17 :'   W-SOLDMOYEN-17

    move 12345678901234567 to W-SOLDMOYEN-17
    compute W-SOLDMOYEN-15-2 = W-SOLDMOYEN-17
    display 'Variable 15-2 après compute de 12345678901234567 :'
    display '15-2 :' W-SOLDMOYEN-15-2
    display '17 :'   W-SOLDMOYEN-17

Ce qui nous donne en sortie :

Variables non renseignées :
15-2 :00000000000000000
17   :00000000000000000
Variables renseignées :
15-2 :00000000000001234
17   :00000000000001234
Variables après passage de 15-2 à 17 :
15-2 :00000000000001234
17   :00000000000000012
Variables après multiplic. de 15-2 par 100 à 17 :
15-2 :00000000000001234
17   :00000000000001234
Variables après passage de 17 à 15-2 :
15-2 :00000000000123400
17   :00000000000001234
Variable 15-2 après compute de 12345678901234567 :
15-2 :34567890123456700
17   :12345678901234567 

Voilà pour les manipulations du jour, le but étant de retrouver facilement quelles actions donne quels résultats en étant sûr des données et ne pas avoir à retaper un cas de test ou de faire des displays abusifs ;)

[Vidéo] Internet, censure, libertés, …

Une discussion très intéressante avec Jérémie Zimmermann, Korben, Tristan Nitot. Des points nouveaux, d’autres plus connus lorsqu’on est sensible à toutes ces questions, mais toujours pertinent.

Lien vers « Terrorisme/Internet : Liberté d’expression menacée en France ? »

Enabling code coverage : in Sonar, from Jenkins, with Maven, using Jacoco.

Let’s assume a few think before we begin.

  • SonarQube is installed somewhere and works.
  • The task « Invoke Standalone Sonar Analysis » is available in Jenkins.
  • Your project is using Maven so it has a pom.xml.

To begin, we’ll add configuration in our pom.xml.

<properties>
  <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
  <sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
  <sonar.language>java</sonar.language>
</properties>

We’re using JUnit to run tests.

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>
</dependencies>

Continuer la lecture de « Enabling code coverage : in Sonar, from Jenkins, with Maven, using Jacoco. »

Effacer l’historique des commandes [LINUX]

Vous êtes connecté à votre serveur ou à votre ordinateur, c’est le matin, l’odeur du café et des croissants arrive tout juste à votre nez.

Quand soudain ! … votre terminal prend l’envie de vous demander votre mot de passe.
Malheureusement, dès la première tentative vous subissez un échec critique et le terminal non content ne vous redemande pas dardar votre mot de passe mais prompt’ement’ une commande en clair.

[…]

Et là c’est le drame, vous tapez votre mot de passe en clair ! Alors que celui-ci n’est PAS une commande…

[…]

Dans la hâte vous ne vous en rendez même pas compte immédiatement, puis c’est la panique, le stress, dans une ultime tentative vous faites un ‘clear’.
Calmé, vous remontez dans … l’historique des commandes pour reprendre la où vous vous êtes arrêté … mais là, vous voyez à nouveau votre mot de passe s’afficher en clair.

C’est à ce moment précis que vous apprenez une nouvelle commande: ‘history -c‘ qui supprime l’historique des saisies du terminal.
La boucle est bouclée et vous pouvez reprendre votre périple l’âme en paix, avec la forte envie de remplacer quelque uns de vos mots de passe par des commandes valides !

Mot de passe error-proof, ‘echo $PWD’, ‘clear’ ou beaucoup plus drôle dans le contexte ‘history -c’.

[NPM] Wrong python executable at install

In case you get an error similar to this when trying to npm install :

Error: Python executable "python" is v3.4.2, which is not supported by gyp.

You should tell npm which executable to use with the following command:

npm config set python python2

If you are on ArchLinux, you’re likely to encounter this problem since the default python is python3. Fortunately, it’s easy to fix.