Accédez à vos données en C++ avec sqlpp11

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
88
Mois de parution
janvier 2017
Domaines


Résumé

Si les outils présentés précédemment permettent déjà de faire pas mal de choses avec votre base de données, celle-ci ne montrera véritablement toute sa puissance qu’au travers de programmes effectuant des traitements complexes, des calculs sophistiqués, sur les données extraites.


Lorsqu’on doit interagir avec une base de données relationnelle dans un langage typé comme le C ou le C++, il n’est pas rare que le framework utilisé s’appuie sur un typage « faible » pour récupérer les données, à base de types variables comme QVariant, ou pire de pointeurs génériques comme void*. Et nombre de ces frameworks imposent au programmeur de construire « à la main » ses requêtes en composant les commandes SQL dans une chaîne de caractères.

Une approche parfaitement contraire a été choisie pour la bibliothèque sqlpp11 [1], où le « 11 » est le signal de l’utilisation de ce que l’on nomme le « C++ moderne », né de la révolution qu’a été le standard C++ édité en 2011. Cette petite bibliothèque permet de construire des requêtes en utilisant une syntaxe C++, le SQL « pur » étant complètement encapsulé. De plus, elle permet d’utiliser de « vrais » types, comme int ou std::string, au travers d’un véritable méta-modèle...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Traitement de tâches de fond en Ruby

Magazine
Marque
GNU/Linux Magazine
Numéro
246
Mois de parution
mars 2021
Domaines
Résumé

Beaucoup de projets web utilisent des frameworks qui font grand usage de Redis pour gérer les tâches de fond. Pourtant RabbitMQ ou Kafka sont des options qui peuvent donner un regard tout à fait différent sur l’application en elle-même. Tour d’horizon des trois approches.

Déploiements reproductibles dans le temps avec GNU Guix

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
113
Mois de parution
mars 2021
Domaines
Résumé

Pour la recherche scientifique comme pour d'autres domaines, on a souvent besoin de reproduire un environnement logiciel à l'identique non seulement sur différentes machines, mais aussi à différents instants dans le temps. Docker et les machines virtuelles, qui sont souvent la solution choisie pour répondre à ce besoin, ont des limitations qu’il est facile de ne pas voir. Cet article illustre l’utilisation de GNU Guix pour des déploiements reproductibles, au bit près, dans l’espace et dans le temps.

Découvrez la programmation différentiable

Magazine
Marque
GNU/Linux Magazine
Numéro
246
Mois de parution
mars 2021
Domaines
Résumé

La programmation différentiable est une nouvelle façon de penser la programmation. Le principe consiste à considérer tout un programme comme une fonction qu’on puisse différentier, et donc optimiser. Nous allons construire dans cet article les outils de base pour ce faire, et présenter la librairie JAX, qui facilite la tâche.