Software Engineering

Le modèle relationnel est né à une époque où l'espace était rare, et fut donc conçu pour minimiser le niveau de redondance des données: il était plus économique de stocker une indirection vers une chaine de caractères que de stocker cette chaine deux fois. Aujourd'hui, cette contrainte d'espace ne tient plus. On achète un Teraoctet pour 100 dollars...

La délégation de tâches en asynchrone est un moyen efficace d'alléger la charge que subissent nos systèmes. En effet, de nombreux cas d'utilisation ne nécessitent pas d'être exécutés de façon synchrone lorsqu'un utilisateur effectue une action ou qu'un événement extérieur intervient.Par exemple, lorsqu'il n'est pas nécessaire de restituer la derniè...

Un précédent article a exposé les grands principes de la sérialisation avec Thrift et Procotol Buffers. Ces deux frameworks promettent notamment une représentation des messages optimisée en termes de taille, ce qui est avéré dans le benchmark JVM Serializers : Thrift et Protocol Buffers y obtiennent une réduction de taille du message de 73% par rap...
CR du petit-déjeuner organisé par OCTO et Quartet FS « L’analyse décisionnelle en temps réel Convergence entre Big Data et Complex Event Processing »
Software Engineering
Agenda :Introduction aux enjeux d’analyse de données en temps réelPrésentation des architectures d’analyse de donnéesPrésentation de la solution Open Source ESPERPrésentation de la solution ActivePivot Sentinel (Quartet FS)Questions/RéponsesDéfinition : « Un système d’analyse de données temps réel est un système évènementiel disponible, scalable et...

Derrière cette formulation humoristique se cache un des fondements de l’industrialisation des développements : le fait de pouvoir tester de manière automatisée tout ou partie d’un système informatique.Aussi bien dans les architectures complexes que dans les applications les plus simples, il est pertinent de pouvoir tester un composant logiciel unit...

IntroductionDepuis que les sites web sont devenus des applications riches, le besoin de push s’est largement manifesté. Il est présent sur des sites de mails, de feeds d’information, de partage de documents, de réservation de billets avec choix des places… Le push web permet de notifier le client d’une certaine information directement depuis le ser...

La sérialisation est une des bases de la transmission de données entre systèmes. Certains langages proposent d'ailleurs une méthode de sérialisation en standard, qui leur est souvent propre.L'interopérabilité entre systèmes hétérogènes nécessite que le format de sérialisation soit compréhensible par différents langages et plates-formes. De nombreux...
An overview of RestKit, a Core Data enabled iOS and MacOSX framework for Restful applications
Software Engineering
ASIHttpRequest, AFNetworking, MKNetworkKit,… The iOS/MacOSX programming landscape is full of helper libraries to deal with asynchronous network communications in your applications.RestKit can be seen as yet another library to do it. However, its approach is radically different since it does not only address asynchronous networking but also object m...

Les connections réseaux sont une source fréquente de lenteur des applications mobiles. Remplacer 10 téléchargements de 1Mo par 1 de 10Mo peut améliorer le fonctionnement de votre application.L’utilitaire unix Tar permet justement de regrouper des fichiers en un seul package. Malheureusement aucune implémentation sous iOS de tar n’est satisfaisante ...

The problemWhy untar?Network connections cause latencies on your mobile app. Replace 10 downloads of 1Mb by 1 download of 10Mb is a good improvement to your app.There’s a well-known unix tool for that: tar.What is tar? Wikipedia says: “Tar is now commonly used to collect many files into one larger file for distribution or archiving, while preservin...