Code Tips and Snippets


Pas encore membre ?
Cliquez ici pour vous inscrire.
Vous pourrez poster des commentaires.
VirtualBox en mode bridge : sélectionner automatiquement la carte réseau et démarrer la VM
Posté par pk le Dimanche 09 Octobre 2016 à 10:47:11
Niveau 2 étoilesLangage CSystème d'exploitation LinuxSystème d'exploitation Windows

Si comme moi, vous utilisez une VM VirtualBox pour développer des applications serveurs, vous avez certainement configuré votre VM pour utiliser votre interface réseau en mode bridge.

S’il vous arrive de déplacer votre VM sur un PC Portable pour pouvoir continuer à développer ou faire des démos, vous avez alors certainement du être comme moi agacés d’avoir à mettre à jour la carte réseau sur laquelle le réseau est bridgé à chaque copie de VM et à chaque fois que vous passez d’une connexion Filaire à une connexion Wifi (et réciproquement).

Nous allons voir dans ce billet comment développer un mini-programme en C qui nous permette de switcher automatiquement sur la bonne interface réseau puis de lancer la VM.


Utilisation de register en C/C++ pour optimiser votre code !
Posté par pk le Samedi 07 Novembre 2015 à 15:48:25
Niveau 2 étoilesLangage C

Maj du lundi 06 avril 2020 : Article obsolete
Les derniers tests avaient été fait sur ubuntu 12.04...
L'optimisation de gcc se passe maintenant de register dans tous les cas...
Ce qui a été vrai pendant plus de 30 ans ne l'est plus aujourd'hui !


A l’origine, dans les années 70, lorsque le C a été inventé, le modificateur register a été introduit afin d’optimiser le code généré, en permettant au développeur, d'indiquer au compilateur que la variable en question allait beaucoup être utilisée dans le programme, et qu’il était souhaitable de la garder autant que possible dans un registre du processeur !

Aujourd’hui, l’évolution des techniques d’optimisation est telle que le compilateur est maintenant beaucoup plus efficace que le développeur dans la détermination des variables les plus utilisées dynamiquement et se charge de lui-même de les maintenir en registre, et le plus souvent ne tient plus vraiment compte du “conseil” du programmeur.

Aussi, beaucoup de gens recommandent, à tort, et nous allons voir pourquoi, de ne plus utiliser le modificateur register.


N'autoriser l'exécution que d'une seule instance d'un script php
Posté par pk le Dimanche 21 Septembre 2014 à 16:37:43
Niveau 4 étoilesLangage phpSystème d'exploitation Linux

Quelle bonne idée d’administrer un serveur linux en écrivant des scripts php plutôt que des scripts shell...

Nous avons déja vu comment exécuter des scripts php en suid root

On rencontre souvent le besoin de pouvoir exécuter un script en étant sur que ce même script ne s’exécute pas plusieurs fois en même temps... on dit dans le jargon informatique que l’on ne souhaite exécuter qu’une seule instance de ce script à la fois.

On va se servir des classes php pour arriver à nos fins... en particulier, le fait que lorsqu’un script se termine, le destructeur des objets instanciés est appelé automatiquement.


Parcours rapide d'arbres stockés en bases de données
Posté par pk le Dimanche 14 Septembre 2014 à 15:23:22
Niveau 5 étoilesLangage phpMySQL

La méthode la plus simple pour stocker une arborescence en base de données est évidemment la structure de table ou chaque enregistrement représente un nœud, et où une colonne sert à préciser la clé du nœud parent.

C’est de loin la plus pratique pour toute manipulation sur l’arbre ( insérer, supprimer un nœud, etc.).
Le parcours de l’arbre se fait très facilement par une simple micro-fonction récursive.

L’inconvénient de son avantage ( et oui, c’est bien connu : chaque avantage possède 1 ou n inconvénients. ),
réside dans le fait que le parcours récursif en question nécessite à chaque appel l’exécution d’une requête SQL.

Heureusement, il existe une structure de base de données améliorée, qui permet un parcours ultra rapide de l’arborescence :
Une seule requête SQL suffit !


Exécuter des scripts php (ou autres) en suid root
Posté par pk le Dimanche 07 Septembre 2014 à 12:45:15
Niveau 5 étoilesLangage CLangage phpSystème d'exploitation Linux

Qui n’à jamais eu le besoin d’exécuter certains scripts php (ou autres), qui nécessitent d’accéder à des données en root, par des utilisateurs non privilégiés (voir par apache par exemple).

En fait, cela se fait très facilement pour un programme C.

Mais pour un script (autre que sh ou bash ...), dans les distributions récentes, c’est interdit pour des soi-disant considérations de sécurité.
Peut-être que cela serait justifié sur un serveur où une multitude d’utilisateurs ont accès en local avec des permissions non maîtrisées par l’administrateur...
Sur un serveur personnel, où seuls des services (web,mél, etc.) sont proposés au public, je trouve cela complètement infondé !

Voyons comment contourner les restrictions totalitaires des distributions actuelles.


 
yakpro rulez!

Ce Site a été mis à jour le Mercredi 19 Janvier 2022 à 09:43:57