![]() |
The Slope of Enlightenment |
Publié par :
Kapten
|
Le but de ce livre est de regrouper les bonnes pratiques que j’ai acquises au cours de mon stage de césure, ainsi qu’au cours de ma scolarité. À force de faire des erreurs, on apprend à les éviter. Ce livre est destiné aux développeurs novices qui ont déjà quelques connaissances de base dans les langages de programmation traités, ainsi qu’aux chefs de projet junior. Document sous licence CC.
Arguments d'entrée et de sortie Après l'objet sur lequel opérer, on passe à la fonction les arguments d'entrée puis de sortie 2 (il peut y en avoir plus d'un de chaque). Les arguments de sortie peuvent être des pointeurs vers des pointeurs (comme ci-dessus) ou de simples pointeurs, à condition qu'aucune allocation supplémentaire de mémoire ne se fasse (ce qui n'est pas cohérent avec le modèle de gestion de la mémoire comme décrit ci-dessous).
Pourquoi doit-on utiliser un " allocateur " ? C'est utile si un jour on décide d'utiliser les fonctions d'une librairie dans un module Apache par exemple. Il est ainsi possible de connecter la librairie en question au système de gestion mémoire d'Apache, basé sur des pools de mémoire. Il est également possible d'utiliser le bon vieux malloc(3) à travers quelques wrappers.
Je vous déconseille d'allouer des objets sur la pile. Certains outils, comme valgrind(1), dont l'utilisation est recommandée en 2.5, n'arrivent pas à détecter les buffer overflows quand ils se produisent dans la pile. Par ailleurs, si vous lancez beaucoup de threads qui ont besoin de beaucoup d'espace sur la pile, vous ne pourrez pas réduire votre utilisation de mémoire virtuelle en utilisant le built-in de votre shell, ulimit. ulimit -s limite la taille de la pile des threads nouvellement créés.
Il se pourrait que vous soyez amené à intégrer du code dont le modèle de la mémoire est différent. Par exemple, on pourrait vous donner une librairie qui ne demande qu'une grosse plage de mémoire (la mémoire de travail) et qui gère sa mémoire à sa façon 5. Surtout, il faut résister à l'envie d'allouer statiquement la mémoire nécessaire dans l'espace de nommage global, car la librairie résultante ne serait pas thread-safe 6. Je vous recommande fortement d'allouer la mémoire de ces librairies sur le tas.
Il n'y a qu'une seule règle à suivre lors du choix d'un outil : Si ce n'est pas libre et Open Source, ça n'en vaut pas la peine. N'utilisez surtout pas un outil libre qui vous force à utiliser des logiciels propriétaires, comme Project.net qui vous force à utiliser une base de données Oracle [22]. Tout logiciel qui ne respecte pas votre liberté n'est pas digne d'être installé sur votre serveur.
Office 2010 C'est vrai que Office 2010 permet la collaboration en temps réel sur un même document. Mais cela vous force à installer des logiciels propriétaires sur votre ordinateur. Et qui a envie d'installer 1 Go de logiciels rien que pour pouvoir participer ? Personne. Trop gros, trop propriétaire. D'ailleurs, la mise en page n'est pas aussi bonne qu'en LATEX.
OpenOffice C'est une alternative à Microsoft Office. Cette suite n'offre pas de collaboration en temps réel, ce qui veut dire qu'il faut désigner une pauvre âme qui va regrouper le texte de chacun des collaborateurs la veille de la deadline, tout en vérifiant la cohérence du document produit.
Présentation d'un logiciel libre de détection du plagiat. Détecter automatiquement le plagiat dans un document informatique...
Sommes Conditionnelles sous OpenOffice - Tutoriel. GNU/FDL
Créer un site web avec OpenOffice - Tutoriel. Licence de Documentation Publique
Découvrez plus de 30 platformes open source E-learning disponibles en ligne. Chaque plateforme est sommairement détaillée....
Calibre, logiciel de gestion de bibliothèque numérique. Calibre est un logiciel libre, gratuit et multiplateforme qui permet...
Ce guide a pour vocation d'apporter de premières pistes en matière de recherche sur Internet. Guide pratique sous licence...
Comment organiser un jeu concours ? Voici un petit guide qui vous permettra de tout savoir pour organiser un jeu concours.
I] Qu'est ce que la sécurité d'un système? II] Pourquoi sécuriser les systèmes informatiques III] Comment et avec quoi les...
Guide d'utilisation d'OpenOffice Calc. 26 fiches pour vous guider dans OpenOffice Calc. Lorsqu'un classeur a été enregistré...
Mettre ses photos en ligne avec Picassa. Tutoriel proposé par L'Espace Multimédi@. Document sous licence CC. 5Votre...
Aucun commentaire pour cette publication |