40 private links
Bon, pour les printfs en C:
#include <inttypes.h>
#define PRIu8 "hu"
#define PRId8 "hd"
#define PRIx8 "hx"
#define PRIu16 "hu"
#define PRId16 "hd"
#define PRIx16 "hx"
#define PRIu32 "u"
#define PRId32 "d"
#define PRIx32 "x" // x -> number in hexadecimal
#define PRIu64 "llu" // or possibly "lu"
#define PRId64 "lld" // or possibly "ld"
#define PRIx64 "llx" // or possibly "lx"
Syntax | Description |
---|---|
%zu | size_t |
%d / %i | int |
%u | unsigned int |
%ld | long |
%lu | unsigned long |
%lld | long long |
%llu | unsigned long long |
%c | character |
%s | a string of characters |
%e | exponential floating-point number |
%f | floating-point number |
%0.2f | floating-point number (like 0.58) |
%o | octal number (base 8) |
%% | print a percent sign |
\% | print a percent sign |
- | - |
%hhn | unsigned char * |
Finalement, pourquoi on ne mets pas toujours PRIxxx
, ça serait plus explicite ...
C'est vrai qu'il y a pas mal de temps, je faisais partie de ceux qui avaient un à-priori sur SQLite.
Après, pour une instance de home-assistant, SQLite ne tient pas la route là où MariaDB tient les performances sans soucis (sur Raspberry Pi 3 il y a environ 6-9 mois).
Mais MariaDB est un serveur là ou SQLite est un fichier (ou un ensemble de fichier si on active certaines options).
Un article vraiment bien rédigé pour ceux qui veulent savoir ce que sont les NFT (Non-Fungible-Token).
Des icônes libres de droits.
Linux est souvent considéré comme une alternative plus sûre aux OS traditionnels et commerciaux (que sont Windows et macOS)
Ben non justement, c'est une alternative moins utilisée par les gens "lambda", ce qui fait que c'est moins intéressant pour les pirates, pas que c'est plus sécurisé.
N'avez-vous vraiment jamais lancé une commande du genre:
sh -c "$(curl -fsSL https://domain.tld/script.sh)"
On aura beau avoir l'OS le plus sécurisé du monde, si les gens font n'importe quoi, l'OS n'a pas grand chose à voir là dedans.
Debian, par exemple, est souvent vantée pour sa stabilité et sécurité
Vantée pour sa stabilité, tout à fait, mais vantée pour sa sécurité, il ne me semble pas non ...
Personnellement, j'utilise Debian pour sa stabilité (jamais le moindre problème), mais il faut que je sois vigilant à faire régulièrement les mises à jours (du fait qu'elles mettent plus de temps à arriver pour la stabilité, il faut compenser).
The specific ones (or the new ones to me)
-
Ctrl+P
: Open the command palette (open file or activate feature) -
Ctrl+X
: Cut the entire current line if nothing is selected -
Alt+↑/↓
: Move a line (or selection) up or down -
Shift+Alt+↑/↓
: Duplicate a line (or selection) up or down -
Ctrl+D
: Add selection to next Find match -
Ctrl+K Z
: Zen mode -
Alt+Scrolling
: Fast scrolling (5X) -
Alt+F12
: Peek on selection -
F12
(orCtrl-clic
): Go to definition -
Shift+F12
: Go to references (Shift+Alt+F12
: Find all references view) -
F2
: Refactor -
Ctrl+:
: Toggle line comment -
Ctrl+Alt+↑/↓
: Multiline editing -
Ctrl+B
: Toggle the left pannel -
Ctrl+J
: Toggle the bottom pannel
The more classic ones
Alt+←/→
: Go back or forwardCtrl+G
: Go to lineCtrl+Space
: Trigger suggestion
Je rejoins à 100% cette première analyse à chaud ...
Encore un exemple qui montre qu'on ne peut pas faire n'importe quoi sans un minimum de connaissances.
Héberger le moindre service web, c'est une responsabilité. Il ne suffit pas de chercher "comment héberger wordpress" sur internet.
L'hébergement, c'est un métier, c'est pour cela que des professionnels vendent ce genre de prestations.
PS: je ne critique pas le fait d'héberger soi même son site, mais il faut se renseigner un minimum avant, ce n'est pas si simple !
Le paquet command-not-found
n'est pas parfait sous Debian.
Il est très pratique, quand vous tapez une commande inconnue, il vous donne directement la commande pour installer l'outil fournissant cette commande.
Il faut donc l'installer comme ça:
sudo apt update
sudo apt install command-not-found
A la fin de l'installation, il est indiqué: You need to run 'update-command-not-found' as root to update the cache.
Il faut donc faire:
sudo update-command-not-found
sudo apt update # nécessaire sinon on choppe une erreur ...
source ~/.bashrc # ou equivalent selon votre situation (ou lancez un nouveau terminal)
Quand on lance une commande inconnue, on obtient alors: (exemple pertinent car le nom de la commande n'est pas le nom du paquet !)
$ docker
Command 'docker' not found, but can be installed with:
sudo apt install docker.io
Autrement, il existe le site command-not-found.com qui vous donne la commande et le TLDR pour la plupart des distributions.
Le titre est un peu putaclic mais l'article explique très bien le principe des injections de code et les failles XSS.
# 'ctrl + z' bind to 'fg' command (invisible mode)
stty susp undef
bind -x '"\C-z":"fg >/dev/null 2>&1"'
Effectivement, faire CTRL-Z
pour quitter VIM (le temps de compiler ou autre) et refaire CTRL-Z
pour revenir, c'est plus pratique que de faire fg
(oui, c'était que 2 lettres, mais là, on a pas à se poser de question, c'est aussi naturel qu'un CTRL-C
).
Quand gdb
n'est pas disponible sur votre cible mais que gdbserver
est là :)
- Sur la cible
$ gdbserver IP:2000 my_prg
- Sur votre machine
$ gdb my_prg
(The executable file and the libraries in the host, must exactly match the executable file and libraries on the target)(gdb) target remote IP:2000
Parce que je ne me souviens jamais de l'ordre des paramètres quand j'en ai besoin ...
gdb <executable> <core-file>
Quelle horreur ces outils qui se "veulent intelligent" et "veulent t'aider" mais font n'importe quoi sans qu'on leur demande ...
Sur LibreOffice (Calc en tous cas), il faut aller dans: Outils -> Options d'Autocorrection -> Options.
A vos mises à jour !
Démonstration que "Modération != Censure".
Un avis que je partage dans sa quasi totalité !
Aie, aie, aie, comme c'est étonnant ...
On peut imaginer le même problème sur Github.
Le rapport complet est dispo ici.
via sebsauvage.net
Notes pour installer Netbeans pour faire du C/C++ (seule la version 8.2 supporte le C/C++).
- Télécharger ici ou ici.
- Installer les 2 plugins (Tools -> Plugins -> Downloaded -> Add Plugins) du lien plus haut.
- Si le code est sur une autre machine: Services -> Clic droit sur C/C++ Build Hosts -> Add New Host
- Créer projet: New C/C++ Project -> C/C++ Project with Existing Sources -> Choisir chemin -> Custom -> Run in .../build -> Supprimer les arguments
- Code Assistance: clic droit sur le projet -> Code Assistance -> Configure Code Assistance
- Si compile_commands.json -> Explore Build Analyser Log File -> puis mettre le chemin
- Sinon -> Search file system for C/C++ header files
- Changement police: Tools -> Options -> Fonts & Colors -> Consolas 14 Bold sur All Languages et Default
- Pas de check d'orthographe: Tools -> Options -> Editor -> Spellchecker -> Tout décocher
- Vraie Tabulation de 4 espaces: Tools -> Options -> Editor -> Formatting -> Cocher Override Global Options + décocher Expand Tabs to Space + Tab Size à 4
- Afficher les caractères non imprimables: View -> Cocher Show non-printable Characters
- Supprimer les caractères blancs en fin de ligne: Tools -> Options -> Editor -> On Save sur All Languages et Remove Trailing Whitespace From
Raccourcis claviers
Alt+F7
: Find usagesAlt+Shift+O
: Open resource / Navigate to fileCtrl+G
: Go to lineAlt+Shift+↑/↓
: Move linesCtrl+E
: Delete linesCtrl+Shift+↑/↓
: Copy / Duplicate linesCtrl+R
: RefactorCtrl+Shift+C
: Comment selection
Une grosse faille avec beaucoup de mails/mots de passes dans la nature avec cette brèche ..
Ce script (à adapter selon les cas de chacun) permet de retrouver tous vos sites impactés pour changer immédiatement le mot de passe.
Une preuve de plus de l'indispensabilité d'utiliser des gestionnaires de mots de passe ...
Je ne comprends toujours pas pourquoi les gens disent que "Git est trop dur à utiliser".
Il faut uniquement connaitre les bases et les quelques commandes basiques qui sont (je vois pas comment on pourrait faire vraiment plus simple).
git clone
git pull
git commit
git push
Le reste, c'est que du bonus. D'ailleurs, le temps d'apprentissage de git est relativement court pour le gain de temps que ça vous apporte !!
Et il y a des outils tellement pratiques comme tig (tig --all
et tig status
).
Et dernière chose: Github est un serveur Git, mais il faut arrêter de penser à Github dès qu'on parle de Git, merci.