Pour faire simple, l'équivalent du .m2/repository
ou du répertoire cache des node_modules de npm n'existe pas en Rust / Cargo 😭
En résumé
- Soit il faut publier ses libs privées sur crates.io et donc les rendre publiques 🤬.
- Soit il faut installer l'équivalent d'un Artifactory perso quelque part 🤮.
- Soit il faut bidouiller / ruser 😩.
Parmi les bidouilles il y en a deux dont une acceptable je pense. Il faut déclarer le chemin vers le repo Git de la dépendance et non le nom et la version de la dépendance dans le fichier Cargo.toml
du projet.
Ce qui nous donne
[dependencies]
regex = { git = "https://github.com/rust-lang/regex.git", branch = "1.0.0" }
À la place de
[dependencies]
regex = "1.0.0"
Le paramètre branch
peut être une branche ou un tag. S'il n'est pas présent alors c'est le dernier commit sur la branche master qui sera utilisé.
Quid des fanatiques qui utilisent l'appellation main
à la place de master
? #DoNotCare
L'autre option consiste à déclarer le chemin relatif ou se trouve la dépendance (ici regexp) sur notre disque dur dans le fichier Cargo.toml
à la place du répo Git.
Ce qui rend le build non portable d'un développeur à l'autre puisque dépendant de la hiérarchie des dossiers, donc je vais éviter d'en parler.
Une lib Java rikiki de 153 Ko permet d'écrire des logs plus rapidement qu'avec LogBack ou Log4J2 et qui implémente les interfaces de SLF4J. #Nice
Popcorn.js est une lib de lecture de média audio/vidéo dans le navigateur. J'essaie de voir si l'outil permet de lire un flux découpé en chunk (comme les tubes le font si bien).
Une lib pour manipuler les dates et les calendriers en JS.
Choisissez la lib qui vous plaît le plus
Comme pour l'autre lib, vérifier que celle-ci gère la mise en forme
Convertir un div HTML en PDF.
Pour Lenny
Je suis en train de passer en revu les différents systèmes de chargement de composants en JS. En résumé (et avec quelques imprécisions) :
- CommonJS permet de charger les libs JS de manière statique.
- AMD (pour Asynchronous Module Definition) permet de chargement des libs JS de manière dynamique et asynchrone.
- SystemJS permet de faire les deux mais également d'assurer la transpilation à la volée des libs chargées.
Il faudrait donc utiliser SystemJS pour être bien.
Comment récupérer le mot de passe ou le numéro de carte de crédit de quelqu'un en :
1) Développant un petit code malicieux de rien du tout.
2) Fabriquant une lib qui colorise les logs dans la console du navigateur pour que ça mettre en rouge les erreurs et en bleu les infos (fonctionnalité indispensable au demeurant).
3) Incluant le petit-code-malicieux dans la lib qui fait les logs.
4) En proposant à tout un tas de frameworks JS libres de la communauté NPM d'inclure "gratuitement" et "sans prise de tête" ce framework de logs en couleur.
=> Conclusion, depuis 2015, le répo NPM contient plusieurs frameworks infectés. #Noïce
Créer une boite modal pour un petit site.
Un super menu en JS. Le second effet et top-moumoutte !
Fabriquer des charts jolis en JS pure sans dépendance et qui tiennent la charge.
Pour toi Lenny.
Comment utiliser simplement le GPU à la place de CPU dans un navigateur pour exécuter plus rapidement vos calculs parallèles (facteur 5 à 15 quand même).
Une lib JS open-source pour faire des charts en responsive dans le navigateur
Faire des GUI web avec des apparition / disparitions d'éléments HTML en fonction du scroll.
Benchmark de lib JS
Enregistrer des vidéos via sa webcam, en JS pour 3 Ko.