jeudi 23 mai 2019

Git : Delete HTTPS remote and add Git remote

git remote -v

git remote remove origin

git remote add origin git@git.ra1

ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/t//.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /t//.ssh/id_rsa.
Your public key has been saved in /t//.ssh/id_rsa.pub.
The key fingerprint is:

mercredi 22 mai 2019

Git : You which to remove untracked Files (not in the repository ou the working tree)

Caustion :
Use git clean -n : For Dry-run to see the final result, then
use git clean -f 

Git : add tracked files only

git add -u stages modifications and deletions, without new files
looks at all the already tracked files and stages the changes to those files if they are different or if they have been removed. It does not add any new files, it only stages changes to already tracked files.

git add -i You can select specific files and easily update, patch, or revert them.

dimanche 19 mai 2019

Java : Converting a Collection to an Array

Use liste.toArray()

Java : Supprimer un element de la liste à l'interieur d'une boucle for (Remove an Element from a List Inside a Loop)


Iterator iter = list.iterator(); while (iter.hasNext()) {
// next() Doit être appelé avant la méthode remove(), sinon la taille (size) de Arraylist va changer.
String s = iter.next();
if (s.equals("a")) {
iter.remove();
}
}

Java : Check If an Array Contains a Value


Arrays.asList(arr).contains(targetValue);

Java : Convert Array to ArrayList

Before Java 8 :

List targetList = new ArrayList(Arrays.asList(sourceArray));

Apache Commons Collections : 

Personne[] sourceArray = { P0, P1, P2, P3, P4, P5 };
List targetList = new ArrayList<>(6);
CollectionUtils.addAll(targetList, sourceArray);

After Java 8 : 

List<PersonnetargetList = Arrays.stream(sourceArray).boxed().collect(Collectors.toList());

samedi 18 mai 2019

Oracle : la pseudo colonne ROWNUM et BETWEEN

Réflexion : https://stackoverflow.com/questions/1986998/resultset-to-pagination

La pseudo-colonne ROWNUM est très utile pour limiter le nombre de lignes extraites,
Il doit toujours s'appliquer avant un tri Order By

Donc s'il y a un tri, il est très difficile de d'appliquer cette pseudo colonne, il faut utiliser des sous-interrogations dans la clause FROM.

Exemple : 
https://www.developpez.net/forums/d3547/bases-donnees/oracle/sql/select-partir-rownum/
SELECT c.*
  FROM (SELECT c.*, ROWNUM as rnum
          FROM (SELECT id, username, job, place FROM contact ORDER BY id) c) c
 WHERE c.rnum BETWEEN 5 AND 10

vendredi 10 mai 2019

Erreur Oracle : ORA-01861: literal does not match format string

Soltuion : si la date est au format : 'YYYY-MM-DD', il faut utiliser la fonction to_date :

Exemple :

Column = = to_date('2019-04-04', 'YYYY-MM-DD'),

mercredi 8 mai 2019

Type des processeur(Parssseur ) XML avec exmple pour Java DOM, Sax, Jaxb


  • Tree-based  : représente le document XML en entier comme un arbre d'objet en mémoire
    • l’avantage est de pouvoir traverser l'arbre dans les deux sens, facile à utiliser avec XPath pour la recherche  du contenu à l’intérieur du document.
    • L’inconvénient est le besoin d’utiliser plus de mémoire.
  • Streaming : traite un seul nœud de l'arbre à la fois, soit pour la construction ou le parsing de XML, contient deux types de processeur : pull (comme StaX)et push (comme Sax).
    • l’avantage est qu'il très rapide
    • L’inconvénient : le document XML n'est pas stocker en mémoire donc, pas de possibilité de faire la recherche de contenu avec Xpath.
    • Sax fait de la lecture seul, donc sait uniquement comment lire de l'XML, mais pas comment le créer.
  • Binding Style : ressemble au DOM-Style, il stock tous les données en mémoire en même temps. Comme JAXB
    • Pour les développement, il faut ajouter des annotations au niveau des POJOs, pour indiquer quelle propriétés ou champs sera mapper la structure du fichier XML.
    • Facilite la sérialisation et deserialisation du contenu 
    • Facile à maintenir 
  • JAXP : Java API for XML Processing
  • XStream : Se base sur DOM ou Sax, utile pour la sérialisation de XML.

Sax vs DOM : 
Sax peut démarrer le traitement avant que le document entier ne soit disponible.
Il ne peut pas faire de backward en arrière pour relire les données qu'il a traitées, à moins de tout recommencer.