Un serveur web qui permet d'accèder à une base PostgreSQL directement via une API REST!
Exemples:
- SELECT avec WHERE 👉
GET /people?age=gte.18&student=is.true
- un JOIN sur la table
directors
👉GET /films?select=title,director:directors(id,last_name)
Un framework pour créer des extensions PostgreSQL avec Rust.
Je ne savais pas mais à priori Rust est un langage de choix pour les extensions PostgreSQL maintenant.
C'est un très bon usecase car dans une base de données on a justement besoin de performances et de memory safety
Tous les conseils pour bien choisir sa clé primaire.
Dans la plupart des cas, un entier auto-incrémenté (serial
) est suffisant, cependant il a quelques désavantages:
- prédictible: il est facile d'énumérer les ID et de deviner des choses comme le nombre d'utilisateurs sur un site (
yoursite.com/users/41
renvoi le profil maisyoursite.com/users/42
renvoi une 404) - ce n'est pas un standard SQL
Une autre possibilité est d'utiliser un UUID v4 car ceux ci sont totalement aléatoires. Par contre on a d'autres problèmes:
- pas possible de les trier
- beaucoup plus gros que notre entier auto-incrémenté
- leur indexage par la base de donnée est très difficile
C'est pour ça que d'autre types d'UUID sont apparus (voir UUID v7 et ULID), cette dernière génération inclue un timestamp afin de pouvoir les trier par exemple.
L'article termine sur un benchmark sur la vitesse de génération dans PostgreSQL mais aussi de la taille de la table et de son index.
Niveau vitesse, tous sont plus ou moins équivalents à part pour pushid
et nanoid
qui sont significativement plus lents.
Au niveau de la taille, sans surprise les dernières version d'UUID font augmenter l'espace utilisé.
J'ai toujours été fasciné par le fonctionnement des liseuses électroniques.
Dans cette vidéo, l'auteur démonte un Kindle et le regarde sous toutes ses coutures avec microscope de surface et même microscope électronique !
L'écran est composé des centaines de milliers d'électrodes qui peuvent se charger négativement et positivement.
Au dessus de chacune de ces électrodes, il y a des capsules contenant un pigment noir chargé positivement et blanc charge négativement qui montent (et deviennent donc visibles) ou descendent en fonction de la charge des électrodes.
C'est pour ça que l'autonomie est aussi bonne: le courant est nécessaire seulement pour modifier l'affichage
Au delà de ChatGPT et Dall-e, une liste d'outils pour diverses tâches
L'histoire du CTO de Shift Technology (détection de fraudes) qui décide de revenir à un poste plus "hands-on".
Un très bon billet pour choisir une startup ayant un environnement de travail intéressant et un futur prometteur.
Par définition, une startup c'est une entreprise qui fait un pari sur un marché ou une techno et elle se doit d'avancer rapidement donc on est amené à faire plusieurs choses (couteau suisse) et l'environnement sera forcément plus stressant qu'un job "pépére" dans une ESN (qui a dit planqué ?)
Les points de vigilance:
- les fondateurs 👉 concrètement vous allez bosser avec eux très souvent donc est-ce que vous êtes convaincu par leur stratégie
- le business plan 👉 si vous n'y croyez pas, peu de chance que vous soyez motivé dans la durée
- la culture et les valeurs 👉 cherchez de préférence bienveillance, esprit d'équipe et reconnaissance
- le sérieux technologique 👉est-ce que les bases sont solides? est-ce que l'équipe technique originel est encore la? (ça se limite à une personne souvent)
- le salaire 👉 souvent un peu en dessous du marché, attention à ne pas se faire avoir par une promesse de beaucoup de BSPCE qui restent un pari
L'histoire d'une RH qui se reconvertit pendant la pandémie de COVID suite à des soucis de santé et une envie de changer de vie.
Des conseils pour offrir la meilleure expérience possible lorsqu'on utilise des polices de caractères personnalisées.
- Utilisez des petites polices (20-40Kb)
- Servez les vous même (pitié pas Google Font..)
- Ne proposez pas de polices intermédiaires (
font-display: block;
) - Indiquez au browser de pré-charger les polices (
<link rel="preload" ...>
)
Le but est de charger les polices au plus vite car aucun texte ne s'affiche avant et c'est volontaire pour éviter le layour shift (des éléments qui changent de place quand la police est chargée si elle ne fait pas exactement la même taille que la temporaire)
Un ensemble de guides très complets publiés par Prisma.
Vous trouverez des guides sur:
- le data modeling
- bases de données relationnelles
- bases de données NoSQL document
- PostgreSQL
- MongoDB
- SQLite
- Microsoft SQL Server (nan je déconne y'a presque rien)
Le club Med a profité de la crise covid et de la fermeture de ses 60 villages pour construire une stratégie Data flambant neuve !
Les objectifs principaux étaient d'augmenter les ventes (~2-3% estimés) et d'analyser en détails l'impact des budgets publicité et marketing injectés dans le cycle de vente.
Niveua technique, le groupe voulait de l'analyse temps réel donc il a fallut ingérer les données depuis une douzaine de sources (CRM, ERP, site web , appels téléphoniques, etc) dans un datalake.
Concrètement un broker Kafka reçoit les messages qui proviennent majoritairement d'une base de données DB2 et tout est écrit sur un PostgreSQL ou BigQuery (donc tout chez Google Cloud Platform)
Des outils de Business Intelligence comme Qlikview ou Google Analytics permettent ensuite aux différents métiers d'exploiter la donnée.
Ce que je connaissais pas c'est Zeenea, un catalogue de données pour comprendre quels sont les flux, d'où viennent les données, à quelle moment sont-elles disponibles etc.
Au niveau des volumes, ils annoncent quand même 5 millions d'événements par jour !
Meta annoncent un nouveau format de compression basé sur une méthode employant un réseau de neurones.
Ce format fait jusqu'à 10x mieux que MP3 avec des compressions entre 1.5 et 12 Kbp/s (64 Kbp/s en MP3)
La décompression peut se faire sur un simple core CPU ce qui pourrait en faire un format compatible smartphone.
Les deadlines sont très souvent contre productive et particulièrement en programmation.
Elles rajoutent beaucoup de stress et contribuent souvent à dégrader la qualité de ce qui est produit ou à une augmentation des heures de travail.
J'aime beaucoup ce qui dit l'auteur à propos des choix qui s'offrent à nous quand on a raté une deadline:
- décider d'une autre deadline
- virer quelqu'un
- réduire le scope
Comment utiliser la commande npm link
pour faire utiliser une librairie que l'on a en local plutôt que de la télécharger depuis NPM.
C'est utile pour travailler sur une lib externe qui est utilisé dans son application.
cd ~/projects/react
npm link # Step 1.
cd ~/projects/kuzzle-saas
npm link react
(Merci Sébastien !)
Liste des salaires des employés des boites US.
Ça fait suite à une nouvelle régulation qui force les entreprises à publier les salaires.
(WTF Netflix la fourchette de 90K à 900K)
Une AI de Microsoft qui fait du text-to-speech et elle est capable de reproduire n'importe quelle voix avec seulement 3 secondes d'enregistrement.
La liste des entreprises ayant subies des amendes de plus de 100 millions pour des agissement répréhensibles à l'étranger.
Ça peut être de la corruption de fonctionnaires étrangers par exemple.
Dans l'ordre:
- USA: 10 entreprises pour 4.5 milliards
- France: 7 entreprises pour 13 milliards (/!)
- UK: 7 entreprises pour 3.8 milliards
Une solution qui se targue de détecter l'usage de GPT-3 et ChatGPT.
J'ai pas réussi à essayer la version gratuite sur leur site.
En tout cas c'était à prévoir, et maintenant ça va être l'éternel jeu du chat et de la souris car il suffira aux algorithme d'IA de s'adapter aux algorithme de détection etc