Le livre Git (en français comme en anglais) est toujours aussi chouette. Aujourd'hui c'est une bonne explication sur les tags. Pour plus d'info : git help tag.
(via http://sebsauvage.net/links/?o0AQ0w)
-
-
http://git-scm.com/book/fr/Les-bases-de-Git-%C3%89tiquetageEn C++, une classe est automatiquement amie d'elle même. Ce qui explique l'on puisse appeler un objet privée de la classe dans le constructeur de copie. Ahhhhh !!! Je comprends mieux.
Exemple :
class MyClass {
public:
MyCLass() : myVar(0) {}
MyClass(const MyClass& parent) {
myVar = parent.myVar; // will work and is possible
// myVar = parent.myVar(); // won't work like this. myVar() has to be "int myVar() const;"
}
int myVar() { return myVar_; }
private:
int myVar_;
};
-
-
http://stackoverflow.com/questions/2660400/copy-constructors-and-calling-functionsUtilisation avancée de qmake, notamment la gestion des variables. Voilà ce que je cherchais depuis quelques temps...
-
-
http://doc.qt.io/qt-5/qmake-advanced-usage.htmlPas mal pour débuter avec Sublime Text (je n'ai pas dis que j'encourageais Sublime Text).
-
-
http://designmodo.com/sublime-text-2/Du coup, j'en ai fait un article :-) J'en profite pour ajouter pas mal d'autres erreurs que j'ai rencontré avec les signaux / slots de Qt.
-
-
http://30minparjour.la-bnbox.fr/2013/qt-no-matching-function-for-call-to-connectArg, pour connecter un QObject qui a été forward declared (class MyQObject dans le .h de l'utilisateur), il ne faut pas oublier d'inclure réellement le .h du QObject (dans le .cpp de l'utilisateur) pour éviter l'erreur à la compile : "No matching function for call to connect".
-
-
http://stackoverflow.com/questions/15768144/qt-subclassing-and-no-matching-function-for-call-to-connectMari d'instit (ah pardon, professeur des écoles), j'en sais quelque chose.
-
-
http://www.ipernity.com/blog/linsay/535529CppCheck a l'air d'être un utile pratique pour analyser statiquement du code C++. A intégrer à un Jenkins / Hudson, avec un nightly build des tests unitaires (+ tests d'intégrations automatisés ?) voilà qui serait pratique...
-
-
http://code-weblog.com/analyse-statique-de-code-c-avec-cppcheck/Ah ah ! Mais ça mon bon monsieur, c'est le but de "data minimization" qui découle d'un grand principe de la gestion de la vie privée (privacy) : data minimization.
L'idée de base de la data minimization c'est que l'on va utiliser / manipuler / envoyer / partager seulement les informations personnelles utiles à l'action voulue. Et on va faire en sorte que notre architecture système en ait besoin le moins possible. Exemple : pour un système de télépéage, plutôt que d'envoyer à chaque instant la position GPS du véhicule à un serveur centrale (afin que l'autoroute soit satisfaite), on laisse ces voitures stockées dans la voiture et on utilise un processus cryptographique sûr pour que l'usager et le système autoroutier soit satisfait.
Quant à data obfuscation, c'est un processus visant à réduire la teneur en information personnelle d'une donnée. Par exemple, si je m'appelle "Georges Müller", en fonction des cas, on va envoyer "G. M.", "G. Müller" ou "Georges Müller".
En appliquant ces deux principes au cas concrêt actuel : on cherche à réduire au maximum les informations personnelles à donner au gouvernement en cas d'injection, en ne leur fournissant que ce qui les concerne. La manière de la faire étant d’obscurcir ces données au niveau voulu.
Politiquement et administrativement c'est déjà bien difficile. Techniquement, c'est aussi un vrai défi ! Je travaille sur la question depuis plus de 2 ans dans le cadre du projet européen Societies (Un réseau social décentralisé et pervasif, c'est à dire qui utilise notre environnement. Site Web : http://ict-societies.eu/, code sur Github : https://github.com/societies/SOCIETIES-Platform mais attention, ce n'est pas un produit fini.). Dans ma boîte, Trialog (allez, un peu de pub : http://www.trialog.com/), on cherche notamment à créer des outils pour mieux gérer la protection de la vie privée dans différents domaines. Je me rappelle que lorsque j'étais stagiaire, je pensais résoudre ce problème en un tour de main. Mouahahah !
-
-
http://sebsauvage.net/links/?KScSzgReveal.js, un outils génial pour créer des présentations / diaporama dans un navigateur ! Simple à utiliser, paramétrable, présentations propres : que demande le peuple ?
-
-
https://github.com/hakimel/reveal.js/Bien pratique pour créer des listes de choix pour LibreOffice calc.
Sélectionner une cellule : Données / Validités... Et choisir une plage de cellules à utiliser comme dropdown list.
-
-
http://www.exotux.info/2011/03/creer-des-listes-de-choix-dans-libre-office-calc/ça me le fait à chaque nouvelle installation d'un ordinateur.
composer.bat install
You must enable the openssl extension to download files via https
Il faut activer l'extension PHP Openssl. Si on utilise Wamp par exemple, le menu de configuration permet de l'activer dans le php.ini dédié au page Web. Ici on cherche le php.ini pour l'accès en ligne de commande (CLI), il faut enlever le point-virgule devant la ligne ";extension=php_openssl.dll" dans "wamp/bin/php/php#.#.##/php.ini".
-
-
http://stackoverflow.com/questions/14291151/you-must-enable-the-openssl-extension-to-download-files-via-httpsEh, mais il y a une nouvelle version de poche, the self hosted read-it-later web app! La précédente version me plaisait bien... j'ai bon espoir d'apprécier cette refonte. Reste à voir s'il est possible d'y ajouter la gestion du hors ligne...
-
-
http://inthepoche.com/"When you use void as your return type Spring will by default try to determine the view name from your method name, unless it thinks you're directly writing the response (which it does when you have a HttpServletResponse as a parameter). Have a look at section 15.3.2.3 of the Spring 3 docs."
Rah ! Mais il faut vraiment lire tout StackOverflow pour lire ce genre de choses ? Ils ne sont pas fichu chez Spring de faire une usine à gaz avec une documentation et des exemples un peu clair non ? Mince, avec toute la doc qui existe, la base des bases restent tout de même inexpliqué...
Décidément, le Web en Java EE, ça m'énerve à chaque fois !
-
-
http://stackoverflow.com/questions/6343727/spring-mvc-annotations-always-requires-response-objectFranchement, le DOS, c'est pas une sacré prise de tête ?
-
-
http://batcheero.blogspot.fr/2007/06/how-to-enabledelayedexpansion.htmlAméliorer quelques peu les performances des logs en Java, ce n'est pas toujours à négliger.
-
-
http://www.slf4j.org/faq.html#logging_performanceJ'en suis à la version 0.3.0 de Posibrain (anciennement TchatBot, attention l'url à changé), une petite implémentation de tchat bot en PHP. Pour l'instant , je m'intéresse surtout à faciliter l'environnement de développement et de déploiement : installation, utilisation, debug, choix et créations de "knowledge databases" pour les "cerveaux" des robots.
Les lecteurs d'Isaac Asimov reconnaîtront peut-être le lien entre Posibrain et les robots positroniques ! Et ne s'étonneront pas que R. Sammy (le tchat bot par défaut) soit légèrement stupide. Créer un cerveau et une base de connaissances pour Daneel Olivaw va être un vrai challenge :-)
-
-
https://github.com/Fylhan/posibrainNe jamais, JAMAIS (jamais !) créer la méthode "connect" dans un QObject en Qt !
Je comprends enfin pourquoi ce fichu signal ne voulait pas se connecter à ce sacré slot ! Eh bah voilà : une méthode "connect" (censée, je cite, "Start the connection to the remote server") qui surcharge bien malencontreusement la méthode "QObject::connect" ce qui nous donne "error : no matching function for call to 'MyGreatObject::connect(AnOtherObject&, const char, MyGreatObject const, const char)'".
C'est bête hein ?
Rah!
-
-
http://links.la-bnbox.fr/?tQiAZAQString de Qt : "Tant que l'objet est copié, passé en paramètre, .... l'objet n'est pas dupliqué (tous les objets pointes vers le même espace mémoire)."
Eh je ne savais pas que QString était un QSharedDataPointer ! Bien !
Pourquoi n'est-ce pas le cas des String en Java ? Sur un gros projet auquel je participe, des devs se sont "amusés" à concaténer crapuleusement des String Java. Et hop, une nouvelle instance de String à chaque fois ! La mémoire globale le ressent... et franchement, on n'avait pas besoin de ça !
-
-
http://www.shadoware.org/post/qt-performance-de-l-utilisation-de-qsharedpointerMon point de vue sur l'injection de dépendances en C++ : à la main ! Parce que pour l'instance, il n'y a pas de container suffisamment léger et non-intrusif.
-
-
http://30minparjour.la-bnbox.fr/2013/injection-de-dependances-en-c