386 private links
Le code est véritablement plus rapide une fois converti en C. C'est impressionant.
Coder en Cython ?
Dataclasses <3
Ça parle alias et fonction bash
Les fonctionnalités données sont effectivement pratiques.
En fait, un mutex est un sémaphore avec une seule autorisation d'accès. De plus, il est multi-processus. Il s'agit d'un objet du kernel.
En revanche, le lock est seulement effectif au processus en cours.
Alors que le mutex est multi-processus.
Je viens juste de comprendre grâce à ce topic sur StackOverflow
Je ne me souviens jamais de la différence entre $* et $@ dans un script bash.
La voilà :
| Expression | Résultat |
|---|---|
| $* | $1 $2 $3 … ${N} |
| $@ | $1 $2 $3 … ${N} |
| "$*" | "$1c$2c$3c…c${N}" |
| "$@" | "$1" "$2" "$3" … "${N}" |
Donc en gros, "$@" est à utiliser dans la plupart des cas.
$* et $@ sont identiques sans les guillemets.
Utile pour la dernière partie sur les flux standards.
Et les raccourcis sympas :
^u : Cut everything before the cursor to a special clipboard
^k : Cut everything after the cursor to a special clipboard
^y : Paste from the spacial clipboard
Ce serait les mêmes que sur emacs.
Le code ci-dessous gère la dernière ligne affichée (pas de clear du terminal).
La fonction est un timer. Elle attend deux paramètres : un nombre $1 et une chaîne de caractères $2 contenant le flag %s pour insérer $1 dans la chaîne de caractères. Le timer est mis à jour toutes les secondes.
#!/bin/bash
timeout () {
tput sc
time=$1; while [ $time -ge 0 ]; do
tput rc; tput el
printf "$2" $time
((time--))
sleep 1
done
tput rc; tput ed;
}
La commande principale est tput. Utile pour les futurs scripts bash :)
OK OK j'apprends les macros de vim !
La récursivité, c'est trop badass :D
EDIT : Une macro qui indente les lignes du fichier, cool :)
(ok c'est inutile puisque le mode sélection visuelle permet de le faire et c'est beaucoup plus rapide)
Les alias magiques.
lsetc_helper() {
ls -l "$@"
cd "$originaldir"
unset originaldir
}
alias lsetc='originaldir="$PWD"; cd /etc; lsetc_helper'
DON'T :D
Ok je résume :
(^ désigne la touche CTRL)
^rpermet de rechercher dynamiquement dans l'historique^sfreeze le terminal, puis^qpour de-freezer
pet^n` accèdent à la commande précédente et suivante dans l'historique!!répète la dernière commande exécuté!$est un alias pour le dernier argument (aussi disponible avec le raccourci Esc+.)!*reprend tous les arguments de la commande précédentewatchexécute la commande à un intervalle donné
Et bien expliqué
J'y suis aussi passé à la galère des dépendances et de cette histoire de
pip install vs python -m pip install pour au final python -m pip install --user.
Comme pour le mot de passe, plus c'est long plus c'est bon.
Plus on le sais tôt, mieux c'est.
En revanche, je ne connaissais pas black. Un outil à tester, qui n'autorise cependant pas à coder avec les pieds
Compatible Python 2 et 3.
Sous le coude
Une véritable explication de cette fonction, de ce qu'il y a derrière. Enfin (parce que je comprenais pas la documentation).
Finalement, super() n'est pas magique et est seulement du sucre syntaxique. Il est cependant vrai que pour obtenir le même résultat sans, il faut écrire du code complexe et pas très joli.