PHP et la gestion des erreurs
PHP génère des erreurs de plusieurs niveaux, et les gérer correctement est quelque chose d’essentiel, à la fois pour des questions de sécurité et de performances. Nous allons voir dans cet article quelques règles simples qui devraient vous permettre d’optimiser facilement cet aspect de votre application.
Les sessions sur plusieurs serveurs avec PHP et Memcached
Si vous utilisez plusieurs serveurs frontaux pour héberger votre application PHP, (ou que vous prévoyez de le faire) vous allez devoir faire face à un problème un peu ennuyeux : la variable $_SESSION ne fonctionnera plus. En effet la session PHP n’est disponible que sur le serveur en cours : si l’internaute se retrouve aléatoirement sur un serveur parmis X, les chances sont fortes qu’il perde régulièrement sa session.
Heureusement, les solutions possibles sont nombreuses et facile à mettre en place. Elles reposent toutes sur deux principes : a) l’utilisation d’un cookie déposé sur le navigateur pour identifier la session de l’internaute et b) l’utilisation d’un moteur quelconque pour stocker et lire un tableau de données.
Easyb, Behavior Driven Development
Pour rappel, le concept de Behavior Driven Development propose de se focaliser sur le comportement attendu de l’application plutôt que sur les tests. Ces comportements peuvent être décrits soit sous la forme de spécifications, soit sous la forme d’histoires !
Mots clés : agile, bdd, Développement, groovy, java, tdd, tests
cachedLoad(), un plugin de cache pour jQuery
Aujourd’hui, pour changer un peu de notre habituel programme sur Ruby on Rails, je me propose de revenir sur un article que j’ai publié il y a quelques mois qui parlait des propriétés window.sessionStorage et window.localStorage présentes dans la spécification HTML 5. Nous allons exploiter la première pour améliorer de façon transparente les performances d’un site dans les navigateurs compatibles (webkit / gecko pour l’instant).
Mocks et Multithreading
Afin de compléter la série d’articles sur les tests logiciels, voici une méthode permettant de tester efficacement une application « concurrente ».
Mots clés : Développement, java, mock, multithread, tests
La couche Modèle de Rails (Partie 3)
Aujourd’hui, je me propose d’achever cette série par quelques explications concernant les fichiers de garniture (aussi appelés fixtures) ainsi que l’utilisation des filtres (on parle de named scope) pour faciliter la sélection de données.
La couche Modèle de Rails (Partie 2)
Voici la suite du premier article qui parlait de la couche Modèle dans Rails, n’hésitez pas à aller y jeter un œil si vous ne l’avez pas encore lu ! Ce post fait partie d’une série de tutoriels dont vous pouvez trouver la liste sur mon ancien site.
La couche Modèle de Rails (Partie 1)
Rails, en bon framework qu’il est, propose bien sûr une couche Modèle assez complète à laquelle les deux prochains articles se proposent de vous introduire. Nous couvrirons dans cet article la définition du concept de Modèle, la création d’objets à l’aide de Migrations, validerons les données et créerons des Relations entre ces même Modèles … Copieux programme en perspective !
Le problème du Singleton
Le concept du Singleton en lui-même n’est pas un souci, avoir une instance unique d’une classe est même souvent très pratique. Quand bien même, qu’en est-il de la testabilité d’un tel composant ?
» Lire la suite …
Mots clés : dependency injection, Développement, ioc, mock, tests
Lucene, Scala et Spring
Apache Lucene est un moteur de recherche « full-text » à haute performance, écrit en Java, mais disponible pour d’autres plateformes comme Ruby, Perl, C++ et PHP. Utilisé par des applications critiques (Wikipedia pour ne citer qu’eux !), son efficacité n’est plus à prouver. Scala quant à lui est un langage moderne, statiquement typé, à mi-chemin entre l’orienté objet et le fonctionnel, qui compilé en bytecode Java et exécuté sur une JVM s’avère tout aussi performant que son grand frère.
» Lire la suite …
Mots clés : Développement, fonctionnel, lucene, maven, scala, spring