ASTORM

smtp4j

Afin d'effectuer des tests unitaires d'envoi de mail dans notre application Java, j'ai eu besoin d'une API pouvant simuler un serveur SMTP afin de pouvoir vérifier les messages envoyés.

Lire la suite...

Gestion mémoire avec TreeView/TreeNode

Lorsque l'on a besoin de stocker des informations spécifique dans un composant graphique, la gestion de la mémoire peut vite de venir un casse-tête...

Lire la suite...

Row size too large (> 8126)

Etant donné qu'il devient impossible d'utiliser certains prédicats sur les index spatiaux dans MySQL 8 (voir ici), nous avons décidé de migrer sur MariaDB. MariaDB étant le fork opensource de MySQL, la transition s'effectue de manière quasi transparente.

Lire la suite...

Resetter son mot de passe git sous Windows

Lorsque l'on change son mot de passe sur GitLab, un git pull nous conduit au message suivant:

remote: HTTP Basic: access denied
fatal: Authentication failed for '<url>'

Lire la suite...

Ou sont mes partitions ?

Une petite commande vraiment sympa qui est très utile pour trouver comment sont montées les partitions: lsblk

Lire la suite...

MariaDB sur Xen (Windows 2012 R2)

En voulant installer MariaDB sur un serveur Xen avec Windows Server 2012 R2 via le MSI, j'obtenais systématiquement un message comme quoi l'installation avait rencontré une erreur...

Lire la suite...

Migrer de VirtualBox vers Virtual Machine Manager

Cela fait quelques temps déjà que Debian a annoncé que VirtualBox ne serait plus dans les packages officiels. J'ai donc du migrer mes machines Windows vers un autre outil (idéalement sans avoir à tout réinstaller).

Lire la suite...

Hibernate avec H2/GeoDB

En travaillant sur un serveur embarqué Java EE avec payara et H2/Geodb (car j'ai besoin d'utiliser des données spatiales), il y a une incompatibilité entre les APIs utilisées qui provoque un crash à la récupération.

Lire la suite...

De subversion/trac à git/gitlab

Cela fait maintenant bientôt six mois que nous avons effectué cette migration stratégique. Petit retour d'expérience pour ceux qui hésiteraient encore.

Lire la suite...

Hexadécimal avec vim

En développant jotlmsg, j'ai du analyser des fichiers binaires émis par Outlook...

Lire la suite...

Trim en ligne de commande

Il n'y a pas de commande directe en shell, mais il existe de multiples possibilités pour trimmer une ligne de texte dans un terminal.

Lire la suite...

Export HTML pour Excel

Disposant d'un rendu d'une liste en HTML, j'ai du adapter ce dernier afin de pouvoir l'ouvrir dans Excel et que les données soient au bon format. Par défaut, Excel va interpréter les valeurs des différentes cellules à sa sauce et bien souvent, ce n'est pas ce qui est souhaité.

Lire la suite...

EclipseLink et les champs LAZY

En travaillant sur un projet Java EE 7 (Glassfish + EclipseLink), je suis tombé sur un bug avec les champs étant annotés @Basic(fetch = FetchType.LAZY). En gros, suivant l'ordre d'appels entre les getters/setters de l'entité, les champs FetchType.EAGER sont réinitialisés...

Lire la suite...

Glassfish 4.1.1 avec Hibernate 5.0.6

Récemment, j'ai voulu utiliser la dernière version d'Hibernate comme implémentation de JPA sur un Glassfish 4.1.1. Et comme ça ne marche pas directement, voici l'astuce pour que ça fonctionne.

Lire la suite...

Compiler en ligne de commande sous windows

Afin de faciliter la tâche à un développeur voulant utiliser libzippp sous windows, j'ai créé un petit script batch qui permet de compiler tout ce qui est nécessaire sans avoir besoin d'ouvrir Visual Studio !

Lire la suite...

Cryptage AES en C++

CryptoPP est une librairie C++ open source multi-plateformes fournissant une implémentation de plusieurs algorithmes standards de sécurité. On y trouve notamment les fonctions de hash, les algorithms de chiffrage à clé symétrique et asymétrique et beaucoup d'autres. Voici un petit article qui montre comment utiliser cette librairie pour chiffrer des données avec AES.

Lire la suite...

Bug OpenJPA: NoClassDefFoundError

Suite à mon précédent ticket, j'ai approfondi mes tests et je suis tombé sur ce qui semble être un bug majeur d'OpenJPA 2.2.2 dans sa gestion du cache des requêtes compilées. Le résultat est qu'après environ un millier d'appels au serveur, une erreur NoClassDefFoundError est renvoyée presque systématiquement.

Lire la suite...

Fuite mémoire spéciale

Il y a quelque temps, je suis tombé sur des erreurs bizarres, style PermGen space ou NoClassDefFoundError qui survenaient de manière incompréhensible. En travaillant dessus, j'ai découvert quelques soucis avec la librairie de persistance...

Lire la suite...

Utiliser Qt comme build system

Lorsque l'on veut créer un petit exécutable simple, on ne songe pas à utiliser Qt et son build system ultra-complet. Surtout si on ne veux pas de dépendance sur les librairies de Qt... Toutefois, dans le cadre d'un projet plus grand, il peut être très utile de garder le même système pour compiler le tout. Et bien sur le tout en cross-platform !

Lire la suite...

Bug dans l'internationalisation avec Qt 5.1.1

En travaillant sur un projet personnel, je suis tombé sur un bug avec les commandes lupdate et lrelease de Qt.

Lire la suite...

- page 1 de 13