À tous les shaarlistes, j'ai linké un post que je viens d'écrire et au vu de sa taille vous vous doutez que j'ai mis un certain temps à le rédiger. Or à chaque fois que je tape un post long, j'ai pris l'habitude de copier le contenu de ce dernier parce que je sais que j'aurai un timeout au moment de la publication.
Question : comment augmente-t-on le temps de timeout de son shaarli pour que les jetons restent valides disons une heure par exemple ?
Voilà, merci à ceux qui savent.
J'étais complètement passée à côté de cela ! L'API time a été repensée en Kotlin pour éviter la confusion de passer une durée en Long et de ne pas savoir s'il s'agit de secondes, de millisecondes, de nanosecondes, etc.
L'idée est d'utiliser les inline-classes (ie. l'enrichissement d'un type existant par un sous-type) et c'est très astucieux regardez :
import kotlinx.coroutines.delay
import kotlin.time.*
@ExperimentalTime
suspend fun greetAfterTimeout(duration: Duration) {
delay(duration.toLongMilliseconds())
println("Hi!")
}
@UseExperimental(ExperimentalTime::class)
suspend fun main() {
greetAfterTimeout(100.milliseconds)
greetAfterTimeout(1.seconds)
}
Les Integer contiennent des classes internes qui vont retourner un objet de type Duration
et contenant la valeur de l'Integer. De cette manière nous avons la valeur et son type en une seule fois.
Ce langage est tellement réfléchi c'est incroyable.
La commande est tellement simple : time mon-script.sh
.
Ça marche aussi avec une commande du type time mvn clean install
.
Bref c'est merveilleux.