Un article très complet sur les bonnes pratiques lors du développement d'une app Flutter.
Points abordés:
- linters
- utilisation de l'IDE pour refacto
- différents types de tests (et les Golden Tests propres à Flutter)
- code coverage
- CI/CD
- mesurer la qualité du code
Elastic propose des outils qui indexent les contenus des outils comme Slack, Gmail, Drive et autres pour pouvoir faire de la recherche dedans ensuite.
Ça me fait penser à SteamPipe mais plutôt pour des humains que des API (Steampipe permet des requêtes SQL quand Elastic supporte le langage naturel)
Un super outil de capture d'écran sur Linux, il permet notamment d'annoter les screenshots à la volée
Après avoir autorisé à ses employés de travailler depuis ou ils voulaient, Spotify observe une baisse du turnover.
Moralité, donner le choix et faire confiance à ses employés ça paye !
😁
Une critique de Windows par un mec pro-Windows.
C'est vrai que ces dernières années, Microsoft ont quand même fait des choses assez chouettes:
- Visual Studio Code
- Windows Subsystem for Linux
- Terminal
L'auteur passe ensuite en revue les chose qui ne vont pas (et il y en a pleins):
- Problèmes de consistence d'UX (bon on n'en parle même pas sur Linux..)
- Les widgets et "l'utilisation forcée" de MSN.com
- Les pubs un peu partout, notamment dans l'explorateur alors que Windows est un produit PAYANT
- La télémétrie et le compte Microsoft
Windows has a lot of well-earned potential that, right now, is being exchanged for short-term revenue.
Une compilation de fausse couvertures O'Reilly pour les dev 😁
Un gestionnaire de mot de passes Open Source avec support multi-plateforme (et extensions navigateur)
La version gratuite est suffisante pour un usage quotidien et la version enterprise avec partage commence à 3.5 $ / mois
En Open Source pour enterprise en 100% gratuit il y a aussi Passbolt qui propose une application en SaaS.
Une alternative aux appli Web classiques qui sont entièrement en Javascript et reçoivent du JSON.
Ici le concept c'est plutôt d'envoyer du html pour remplacer à la volée certaines parties de la page.
Du coup le rendu se fait côté serveur et le frontend est beaucoup moins complexe.
C'est Basecamp qui pousse ça (la boîte à l'origine de Ruby on Rails)
Tous les patterns de destructuration d'objets en Javascript
Un de ceux que je trouve le plus utile c'est celui pour avoir une valeur par défaut si la propriété n'existe pas.
C'est très utile pour les options par défaut:
function checkout (name, { currency='€' } = {}) {
console.log(currency);
}
checkout('aschen'); // print €
checkout('aschen', { currency: '$' }); // print $
On peut même mixer ça avec un type:
function checkout (name, { currency='€' }: { currency: string } = {}) {
console.log(currency);
}
Sinon j'avais jamais utilisé celui pour conserver le reste:
const user = {
name: 'Chris',
age: 33,
username: 'DailyDevTips',
};
const { name, ...rest } = user;
Une analyse technique du Registry de Windows, c'est la ou Windows range la configuration.
A priori c'est bien de la merde 😁
The major difference is that this Registry filesystem format is half-arsed. The format is badly constructed, fragile, endian-specific, underspecified and slow.
Une infographie sur toutes les marques liées à Apple, Microsoft, Amazon et Alphabet (Google)
Les 4 différentes organisations possibles avec un architecte (la dernière c'est ne pas avoir d'architecte du tout)
De mon expérience, tant que les membres de l'équipes (AKA les développeurs) sont aussi capable de faire l'architecture alors on a la meilleure configuration possible car les mêmes personnes réfléchissent aux choix architecturaux et à la manière de coder.
Il vaut toujours mieux réduire la bureaucratie et se concentrer sur ce qui apporte vraiment de la valeur au produit, c-a-d les lignes de codes produites pour réaliser une fonctionnalité.
Une plateforme en SaaS pour uniformiser la connexion à tout ce qui peut exister: serveurs, bases de données, applications, bureaux, K8S, etc.
Ça permet de centraliser les accès à tous ses services via une plateforme unique.
Ça me fait toujours un peu peur ce genre de chose qui centralise tout ce qui est sensible car du coup ça devient le SPOF de l'infrastructure.
Après je comprends le besoin aussi car des centaines d'utilisateurs qui accèdent à des dizaines de services différents c'est très compliqué à sécuriser et monitorer.
Une excellente suite d'articles sur les algorithmes génétiques.
Les algorithmes génétiques sont une famille d'algorithmes d'intelligence artificielle qui s'inspire du fonctionnement du vivant pour trouver une solution à un problème.
Individus adaptés, reproduction, mutations, c'est une reproduction de la théorie de l'évolution en informatique.
Une implémentation C++ 👉 https://github.com/Aschen/genetics-algo
J'ai eu l'occasion d'utiliser concrètement ce genre d'algorithmes pour un bot de trading, même si cela n'avait pas marché (sur-apprentissage) c'était quand même très instructif.
On commence à voir des tests des performances de Bun par rapport à Node.js.
Pour l'instant il manque encore trop de compatibilité à Bun avec les lib Node.js pour pouvoir aller très loin (pas de child_process
) par exemple.
Dans cet article, l'auteur note un gain sensible de performances avec Bun.
Un autre article qui analyse les faiblesses des Hooks de React.
Une source de bug très courante est l'oubli d'une propriété dans le tableau de dépendances avec useEffect
.
Le respect de la Règle des Hooks qui force le nombre de Hooks d'un composant à toujours être le même impose des architectures de composants contre nature.
L'auteur continue son raisonnement en avançant notamment que depuis les Hooks, React peut être utilisé comme un framework alors que ce n'était pas vraiment prévu, ce qui cause pleins de problèmes d'architectures.
Proposition d'un operateur pipe (|>
) en Javascript.
Plutôt que d'encapsuler ou de chainer des appels à des fonctions, on pourrait utiliser l'opérateur pipe.
// Nesting
divide(half(convert('6')))
// Chaining
'6'.convert().half().divide(2)
// Pipe
6 |> convert(%) |> half(%) |> divide(%, 2)
Perso je suis pas vraiment pour rajouter des couches de complexité supplémentaire à un langage qui ressemble déjà au monstre de Frankenstein.
Ça va compliqué le boulot de tout ceux qui travaillent avec l'AST et rendre le langage plus difficile à aborder pour des nouveaux venu.
Un ensemble d'outils pour PostgreSQL.
Une liste des erreurs les plus courantes lors de la mise en place de processus Agiles.
Mon top:
- Focus on output: ce qui compte c'est l'impact réalisé par les livrables et non les livrables eux-mêmes
- Agile is IT only: l'ensemble des équipes (marketing, sales, product) doivent travailler en Agile
- Implementing immutable processes and tools: la base de l'Agilité c'est justement la capacité à évoluer
Si on résume la pensée de l'article, être Agile c'est:
- Focus sur la valeur ajoutée aux clients
- Implication forte des équipes au plus prêt du produit
- Être capable de constamment remettre en question le mode de fonctionnement