LCC 238 - Registries, registries, registries !

Published: Sept. 15, 2020, 4:56 p.m.

Antonio, Guillaume et Emmanuel discutent de registries et de registries et de registries. Et sinon TypeScript 4, Kotlin 1.4, Spring One, comment g\xe9rer des \xe9quipes, lire du code, des APIs. Bref pleins de choses int\xe9ressantes :)

Enregistr\xe9 le 10 septembre 2020

T\xe9l\xe9chargement de l\u2019\xe9pisode LesCastCodeurs-Episode\u2013238.mp3

News Langages

jdk/jdk repository transition to Git, GitHub and Skara is done

Ca rale contre G1 en default dans Java 11

Les blocs de texte de java 15 qui sort ce mois ci

  • Simplifier l\u2019\xe9criture des chaines de caract\xe8res sur plusieurs lignes
  • JEP 378: Text Blocks
  • D\xe9limiteur trois guillemet ( """ )

Typescript 4 est sorti

  • Partial semantic mode : Temps de d\xe9marrage plus rapides du projet par analyse partielle (vs toutes les d\xe9pendances) (dans l\u2019IDE?)
  • Variadic tuple type (tuple de taille d\xe9finie et de types d\xe9finis et h\xe9t\xe9rog\xe8nes)
  • Dont rest \xe9l\xe9ment o\xf9 l\u2019on veut.
  • Tuple labels comme des named parementers
  • Class property inference from constructor
  • Catch as unknown au lieu de any (downcastong)
  • En fait le compilateur fournit les outils \xe0 l\u2019IDE

Kotlin 1.4

  • Am\xe9lioration de la qualit\xe9. Stabilit\xe9 et performances dans l\u2019IDE
  • Corrige notamment des lenteurs ou blocages dans l\u2019IDE
  • Debugger de Coroutines
  • Nouveau compilateur pour centraliser le code entre les diff\xe9rentes plateformes
  • Sam pour les interfaces kotlin (Single Abstract Method)
  • Kotlin 1.4.0 comes with a variety of different language features and improvements. They include:
    • SAM conversions for Kotlin interfaces
    • Mixing named and positional arguments
    • Trailing comma
    • Callable reference improvements
    • break and continue inside when included in loops
    • Explicit API mode for library authors
    • kotlin.serialisation en 1.0 RC
Librairies

Camel 3.5

  • Lambda builder
  • Spring Boot 2.3.3
  • junit 5
  • route template (parameterized routes)
  • faster refleciton free startup
  • new components
Infrastructure

Docker limite le nombre d\u2019image par 6 heures

  • The second policy update is regarding limits on the number of image pulls. A pull is defined as up to two GET requests to the registry URL path \u2018/v2//manifests/\u2019. Again, starting November 1, 2020:
  • Anonymous users will have an upper limit of 100 image pulls in a six hour period
  • Accounts authenticated with a DockerID will have an upper limit of 200 image pulls in a six hour period
  • Pro and Team subscriptions do not have limits
  • la question c\u2019est image == layer donc 100 peut arriver vite pendant un lab

Github son propre container registry

  • suite de GitHub packages prix
  • en beta gratuite pour l\u2019instant

GitLab r\xe9duit les minutes de runners pour les comptes gratuits

  • \u201cWe are updating the CI/CD minutes limit in the Free tier to 400 minutes per group per month.\u201d
  • le marketing du gratuit / freemium en perte de vitesse pour les developpeurs?

Packages et registries en gratuit dans GitLab

  • apres les registries de containers, ils ajoutent: Maven, npm, PyPi, NuGet, Composer, Conan et Go
Cloud

Google cloud function supporte Java 11 depuis mi ao\xfbt

Azure spring cloud en GA

  • Hosting, monitoring d\u2019app spring boot
  • \u201cAutomatically wire your apps with the Spring service runtime. Once deployed you can easily monitor application performance, fix errors, and rapidly improve applications\u201d
  • mais ca reste un peu marketing et pas d\xe9taill\xe9
Web

Kotlin Multiplateforme mobile en alpha

  • Kotlin Multiplatform Mobile (KMM) est un SDK cross plateforme (iOS et Android)
  • Int\xe9gration compl\xe8te dans Android Studio pour le dev
  • Refonte des compilos pour avoir une base commune entre le Kotlin / Kotlin JS et Kotlin Native
  • partager la business logic et laisser la UI et anvigation en natif iOS ou Android.
Outillage

Comment fonctionne Time-based One Time Passwords

  • un secret partage
  • un compteur bas\xe9 sur (t-t0)/tx
  • sha1 le tout
  • tronqu\xe9 pour avoir 6 chiffres

GitPod (un concurrent \xe0 Eclipse Che \xe0 priori) devient open source

M\xe9thodologies

Si tu deprecies, je te fais caca dessus

  • lecture interessante entre la balance entre la d\xe9pr\xe9ciation, retirer le support vs garder les choses pour toujours
  • Google et son monorepo et son clean code am\xe8ne a des d\xe9pr\xe9ciations plus \xe9lev\xe9es que l\u2019industrie
  • \u201cBackwards compatibility keeps systems alive and relevant for decades\u201d
  • emacs, android, java
  • deprecition mais garder \xe0 vie
  • vs android qui a un code de merde et pleins de if mais qui est backward compatible
  • les developpeurs s\u2019en vont quand la compatibilit\xe9 casse
  • [emmanuel] mais des projets cassent des choses tout le temps sans que le utilisateurs ne soient mecontents - par exemple Spring Boot
  • petites depreciations, tooling, documentation
  • pas de big bang qui fracture ta plateforme et les utilisteurs ne migrent qu\u2019au dernier moment
  • exacerb\xe9 dans le monde des services

Principes pour un meilleur design

  • Am\xe9liorations incr\xe9mentales: peut pas faire parfait directement
  • Reutiliser l\u2019existant: il y a des raisons aux solutions existantes? Vous atteignez la limite du design pr\xe9c\xe9dent?
  • Les cinq pourquoi pour trouver la cause et possiblement trouver une autre solution meilleure (et peut etre plus simple)
  • KISS : la perfection est quand il n\u2019y a plus rien a enlever, pas ratjouer (Antoine de St Exup\xe9ry)
  • Parfait est l\u2019ennemie du bon
  • (e.g principe du 80% 20% - en temps)
  • Reculer le moment de la complexit\xe9
  • pas un article r\xe9volutionaire mais un bon rappel. Prenez un caf\xe9 et lisez le douvement et r\xe9flechissez \xe0 chaque section

Reading Code is a Skill

  • On n\u2019\xe9crit pas du code illisible par pur plaisir, en g\xe9n\xe9ral le code / les pratiques / le m\xe9tier / l\u2019\xe9quipe a beaucoup \xe9volu\xe9 dans le temps
  • Le code lisible c\u2019est subjectif, et il ne sert \xe0 rien de blamer les pr\xe9c\xe9dents auteurs
  • Donc plut\xf4t que de se plaindre -> apprendre \xe0 lire du code

Scaler l\u2019equipe d\u2019engineering avec la propri\xe9t\xe9 distribu\xe9e

  • equipe fonctionne quand elle a une mission comprise et auquel elle croit, quand elle gagne (align\xe9e avec les besoins de l\u2019entreprise, mesure le succes, reconnu pour ce succ\xe8s), quand les individus progressent
  • entre 5 et 10 est la limite a la quelle une equipe part en chaos sans organisation
  • centralisation: probleme planning, stand up etc
  • decentralisation sans plan: conflits, ralenti, desaligne => chaos
  • embaucher les type A (NDLR risque mono culture) ; embauche que si surcahrg\xe9 et montre resultats top (donc une equipe qui montre qu\u2019elle fonctionne deja). sinon risque equipe disfonctionelle qui grossi (modifi\xe9)
  • La delegation vient avec la gouvernance pour appliquer les r\xe8gles globales de l\u2019\xe9quipe (code qualite, dette technique etc)
  • il encourage d\u2019investir dans la core ip de l\u2019appli vs rajouter des fonctionalit\xe9s. Toujours sur quelle est la valeur
  • The person doing the work owns the execution, even though they may not own the direction. Rather than top down execution driven by meetings, we rely on bottom up execution based on top down direction and review.
  • Engineering Manager vs TEch Lead - As the team scales through, it\u2019s important that someone is responsible for organizing the team, process, and ensuring people are happy, productive, and growing, and someone else is responsible for the technical direction and systems of responsibility like code reviews, deploys, and so on.
  • Scrum, agile poker etc est trop centralis\xe9 dans une approche avec un ratio senoir / junior coherant what I consider to be a more modern and decentralized approach, Engineering Managers work with engineers, who take ownership of chunks of work, decompose them into tasks, estimate, and get the team and manager to review async or in a planning meeting. Everything is tied to the team KPIs, which are tied to the company KPIs, but we don\u2019t need any fancy formats like user stories, etc. Engineers are even more empowered to think about customers, product, and business value in this model \u2014 they are looking at how they can impact team KPIs, and empowered to push managers for the work they think is most impactful on the KPIs. The tech lead owns the technical queue \u2014 tech debt, testing issues, infrastructure, etc.
  • The Approval Matrix with Round Robin Pattern - utile sur les choses trop concentr\xe9es ou sur les sujets que personne ne veut training process pour onboarder
  • round robin pour forcer le changment et eviter les code review overloards et autres bug fixers
  • Pour taches de plus de 1 semaine, design document d\u2019une page revue (sign off component lead) sanity checking, important issues and standards. Not micro management
S\xe9curit\xe9

Docker desktop ajoute la commande scan analyser les probl\xe8mes de secu via Snyk

  • scan des images locales
  • en CLI
  • s\u2019appuie sur Snyk avec une partie gratuite via compte docker , sinon prix
  • snyk continuously find and fix vulnerabilities in open source libraries and containers
  • marche pas pour les images alpine

Et SonarQube (sonarcloud pour l\u2019instant) ajoute de l\u2019analyse de s\xe9curit\xe9 via le rachat de RIPS-TECH fait il y a quelques temps

GitHub qui se lance dans le code scann

  • GitHub, all your base are belong to us
  • Oui d\u2019o\xf9 mon tweet sur le SPOF. Sachant que plus ils en font, moins c\u2019est stable.
  • ils mettes les true positive \u201cs\xfbr\u201d dans l\u2019analyse de la PR
Loi, soci\xe9t\xe9 et organisation

Apple \xe9galement dans le viseur de Facebook pour sa taxe de 30%

  • l\u2019app store ne permet pas de dire que les prix incus la marge d\u2019apple de 30%
  • debat sur des cas specifiques: genre argent pour des gens qui organisent des evenements (ou pire une charit\xe9)
  • mais c\u2019est l\u2019argument \u201cpenser aux petits enfants\u201d. Facebook, j\u2019imagine a des plans de se faire de l\u2019argent sur certaines de ces ventes.

La CNIL publie son livre blanc sur les assistants vocaux

  • 84 pages, articles, interviews..
  • Super pour aider \u201cles personnes en situation de d\xe9pendance, qu\u2019elles soient \xe2g\xe9es ou handicap\xe9es\u201d
  • Mais pose des questions \u201cdu point de vue de la protection des donn\xe9es\u201d
  • \u201cfortement ancr\xe9e dans notre intimit\xe9\u201d "de nombreuses informations sur l\u2019\xe9metteur d\u2019un message oral. \xc2ge, genre, condition physique, accent, origine g\xe9ographique et socio-culturelle, \xe9ducation, \xe9tat de sant\xe9
  • ou \xe9motionnel, mais \xe9galement identit\xe9"
  • \u201ccaptent nos habitudes de vie pour enrichir un profil\u201d
  • \u201cCe livre blanc propose quelques pistes de r\xe9flexion sur l\u2019usage des donn\xe9es par les assistants vocaux\u201d
  • Quels usages: DEMANDE DE LA M\xc9T\xc9O / RECHERCHER UNE INFORMATION / \xc9COUTER DE LA MUSIQUE
  • Mythes et r\xe9alit\xe9s des assistants vocaux (vrai/faux) : \xe9coutent en permanence / utilisent nos donn\xe9es pour mieux nous profiler / interface tr\xe8s pris\xe9e des enfants

Une cour d\u2019appel am\xe9ricaine d\xe9clare la surveillance de masse de la population d\xe9nonc\xe9e par Edward Snowden ill\xe9gale

Outils de l\u2019\xe9pisode

Roulettes sous ma chaise

Conf\xe9rences

Codeurs En Seine 2020 - Edition en ligne - CFP jusqu\u2019au 15 septembre

  • En novembre, les mardis \xe0 19h et les jeudis \xe0 21h
  • 45 minutes de conf\xe9rences + environ 15 minutes de questions
  • En ligne sur Twitch + rediffusion Youtube

La prochaine \xe9dition du Fosdem se fera en ligne

  • 6 e 7 f\xe9vrier 2021
  • CFP bientot annonc\xe9

Volcamp Annul\xe9

  • Report\xe9 au jeudi 14 et vendredi 15 octobre 2021

Big Data reste programm\xe9

  • 14 et 15 septembre 2020
  • Physiquement Porte de Versailles \xe0 Paris
  • Ou depuis votre ordinateur ou smartphone
Nous contacter

Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Faire un crowdcast ou une crowdquestion
Contactez-nous via twitter https://twitter.com/lescastcodeurs
sur le groupe Google https://groups.google.com/group/lescastcodeurs
ou sur le site web https://lescastcodeurs.com/