Josh Goldberg - Learning TypeScript Book, typescript-eslint
Durée: 64m34s
Date de sortie: 22/07/2022
This week we're joined by another great contributor to the TypeScript community.
Josh Goldberg is the author of O'Reilly's Learning TypeScript and a core contributor to the typescript-eslint.
- https://twitter.com/JoshuaKGoldberg
- https://www.learningtypescript.com
- https://github.com/typescript-eslint/typescript-eslint
- https://github.com/JoshuaKGoldberg/TypeStat
- https://www.learningtypescript.com/articles/extreme-explorations-of-typescripts-type-system
- https://ts-error-translator.vercel.app/
Tooltips
Andrew
Justin
Josh
- https://github.com/mattpocock/ts-error-translator (https://ts-error-translator.vercel.app) by @mattpocock. Great explainer for TypeScript errors.
- Laziness Does Not Exist by Devon Price, Ph.D. Helping me feel better about my work ethics & avoid burnout.
Je pense que la bonne chose est que ça fasse vraiment en construire votre comprennie de comment utiliser
le type-to-type système avant d'entraîner les plus bas des features de la façon dont ça intervient
avec des fonctions, des classes, etc.
Qu'est-ce que c'est un type-to-type système ?
Salut tout le monde !
Notre guest aujourd'hui est Josh Goldberg.
Josh est un author, speaker, édite d'open source,
tout le genre dans le type-to-type ecosystem.
Et vous avez récemment publié un nouveau livre
qui s'appelle « Le type-to-type système ».
C'est vraiment excitant de voir ça.
Josh, est-ce qu'il y a d'autre que vous voulez nous parler de vous ?
Je suis un individuel assez cool, aussi, quand vous vous rendez avec Nobby.
Merci d'avoir regardé, les gens.
C'est mon premier livre, je suis très excitant de voir ça.
Je vous donne 5 stars.
Je suis dit que je vais demander à tous les gens de faire ça.
Et aussi de le acheter.
C'est un peu de l'invité, mais c'est le processus de faire un livre.
Comment avez-vous inspiré de dire que je pense que faire un livre est une bonne idée ?
J'aime toujours le type-to-type, depuis un temps long.
J'ai aussi toujours aimé les bons textes de software.
Je prends beaucoup de valeur dans les livres.
Je sais que beaucoup de gens ont des vidéos ou des formats modernes.
Mais pour moi, de la boulot, où je peux me faire de l'arrivée,
de la visite physique, c'est toujours la manière que je travaille le plus.
O'Viley a toujours été un peu plus de moi,
plus de un an plus tard, le lendemain.
J'ai fait des discussions de confrits et des blogs,
et de contribuer aux types-scripts.
Toutes ces choses sont bien réveillées pour avoir été créé.
J'ai aussi travaillé à CodeCadME,
qui est un endroit fantastique pour apprendre comment apprécier les gens,
parce que c'est le charter de la compagnie.
On a travaillé sur les courses de type-scripts
qui ont été réveillées et qui pourraient être expérimés en fin de l'année.
Ça a été un peu de travail, c'est une progression.
Fast-forward un an, et le truc a été réveillé.
J'ai travaillé sur ça depuis un an.
J'ai vraiment évoqué le résultat.
C'est fascinant de voir comment vous appréciez une langue évoluée,
toutes les nuances et ce qui doit venir avant,
ce que vous ne réalisez pas si vous vous en avez appris.
En parlant de l'apprentissage,
quel est le type-script que vous avez originalement été créé ?
Parce que de vos talks sur TSConf,
je vous vois comme un type-script figure
dans la communauté.
Comment avez-vous commencé ?
J'ai commencé par faire un peu de travail,
et je me suis dit que c'était un type-script,
un type-script qui était vraiment, vraiment mauvais.
J'ai fait ce projet de mario,
qui a été viral.
C'était un remake de les plus vieux mario-brothers en JavaScript.
Le Nintendo a envoyé un Tiktok d'Ottawa,
qui était le highlight de ma vie et de ma vie en career.
Il était presque soud.
Mais le code était terrible.
C'est l'open source.
Je n'avais pas l'intention d'être un open source,
c'était juste GitHub qui était en charge.
Et maintenant, les gens peuvent le voir, je pense.
Mais c'était atrociant.
J'ai fait des tests,
j'ai fait des tests,
et j'ai fait des tests,
j'ai fait des tests,
et j'ai fait des tests,
j'ai fait des tests,
j'ai fait des tests,
C'est comme ça.
C'est comme ça.
Vous avez trouvé un grand
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Vous êtes dans le bon endroit.
Au-delà de ces typescript ESLint,
avez-vous écrit d'autres typescript-based tournage?
Oui, j'ai mon nom sur le type-package ESLint plugin,
ce qui n'est pas écrit par moi,
et j'ai été content d'être un maintaineur.
J'ai écrit quelques features.
La chose que je suis le plus excité de ce projet,
que je suis personnellement en train de faire,
c'est un projet de type stat.
C'est vraiment amusant de me voir après l'épisode,
où on parle de migrer le type script,
car c'est ce que mon projet fait.
Il migre de JavaScript à typescript,
et il peut aussi migrer de typescript à un type strict.
Le problème est que c'est un problème de solvabilité.
C'est pratiquement impossible de faire ça,
mais si vous avez des gens de 95% de l'aise,
c'est utile.
J'ai aussi écrit un projet super avancé,
qui est un projet de type en train de migrer le type,
et qui est un projet de type en train de migrer le code.
Ce que les gens veulent, c'est de renamiser les files
sur les TES ou les TSX intelligemment,
qui me fait hirter que c'est le usage,
mais je vais prendre ce que je peux.
Mais après avoir eu plus de temps,
j'ai vraiment envie de continuer de travailler sur type stat.
On a utilisé le code Academy dans notre conversion,
et ça nous a donné beaucoup de progrès automatiquement.
Je vais travailler en fingers crossed en plus de cette année.
Oui, ça serait génial.
Les migrations de type en train de migrer et d'autres migrations en général,
c'est un aspect bien underserved de programmation.
Parce que vous avez des choses comme ça,
où vous vous Moving from JavaScript en type script,
ce qui n'est pas un groupe de pas et ou movement
de flow en type script.
Vous avez des migrations.
C'est bien quand vous avez un type sysnome
pour s'adapter à l'aide de l'aide.
on a parlé de ça avant et j'ai pris des outils de la paix, mais il y a un outil de plus.
Je ne suis pas sûr si c'est un ingénieur de former, de Spotify, qui vous aide à faire des migrations
et je ne sais pas, c'est toujours un problème très bon. C'est un truc intéressant que vous pouvez faire.
Maintenant, on va parler du livre.
Je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
Je me suis dit que je suis en train de faire un livre, je me suis dit que je suis en train de faire un livre.
C'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c'est difficile de me faire des choses, c
👜ε🌭☏ ⚡️ ⚠️ ⚡️ — México 🙄 🙄
🤔 👥 🙏
🥤 🥬 🥬 🥬 🥬 🥬 🥬
🥤 🥵 🥤 🥧
🥯 🥷 🥭 🥵 🥧
🥁�ouel🥰🥳🥸 🥞 🥳 🥵 🥪
🥴 🥕 🥥🥳🥰🥰🥰 🥨🥔🥰
🥮 � scientists🥬
des commissions pour preview en dichotaisier, pour l'ent Rabbi-Lie Pr jawon, j'est unité absolument
Je vaisenan un overview de l' abajo du contexto du fait que je pense que c'est vraiment un
bonito procès.
Et точant toute une envie d'aller meبrou зат au jean d'essayningen les choix, machini
bak etles et lesoughs, on fait aussi passe à 일본 en français.
Et si t'as dû nous parler du emptiness, vous poses des costumes car il attend sayin procedures
un signe de rebellion.
Mais l'une des choses dans la théorie graphique
qui est déclarée est le concept
d'une recherche, le déceau de la recherche
et la théorie graphique
qui est vraiment avancée et fanciée
mais beaucoup comme le système type-script
a beaucoup d'applications utiles pour le fun.
L'une est que si vous représentez
chaque topic que vous avez à apprendre
ou à comprendre,
comme un point ou un autre, comme la théorie graphique
et puis toutes les dépendances
comme des lignes ou des égages entre ces points
d'exemple, pour comprendre
un interface classif
vous devez comprendre les classes
et les interfaces.
Vous pouvez ensuite maître
tous les topics que vous voulez apprendre
en vous en trainant un graphique et faire une recherche
pour savoir ce qui doit venir d'abord.
Et énevrant, ce que les gens ont appris
avec la théorie type-script, c'est que vous devez
introduire le type objectif vraiment plus tard
qui est malade car après vous devez
utiliser les interfaces et c'est un tout
tout de même un truc confusant.
Mais vous devez comprendre le concept de
la théorie type structurelle avant que vous
introduisez l'interface avancée.
Je vous ai donc décidé de la partie
de la book que j'ai voulu
parler de la fonction de la théorie
avant de la rééterne et je ne peux pas
ne pas le rappeler à quelle point on a terminé.
Et toutes ces différents les plus grands
topics que vous avez besoin. Et ce qui est cool
c'est que parfois vous allez voir dans cet
graphique que c'est des nodes de la théorie
de l'exemple en milieu de la théorie
qui ont une très longue ligne de dépendances
et qu'ils ne sont pas vraiment utiles.
Donc ils sont plus vus de la théorie.
Et je pense que je me suis dit que je
ai presque déclaré la fonction de la théorie
et j'ai eu un moment de la théorie
avant de la rééterne
où le public s'est dit que c'est trop tard
et que vous ne pouvez pas les retirer.
Mais ils sont moins utiles pour la
most-code et je les ai presque déclarés.
Je vais vous poser un paix.
Ça fait du sens comme une explication
avant d'aller en train de les détenir.
Ça me dérange un peu mon cerveau.
Je ne pensais pas
d'établir un topic
nécessairement de cette façon.
C'est un graphique.
Enjouer et parler de la théorie
de la théorie de la théorie.
C'est un peu
évident.
Ça me semble que vous pouvez
prendre un fresh-up city
et faire des articles et les lier.
Et puis dire OK, j'ai le whole book.
Maintenant, c'est le ordre.
Et puis vous utilisez le graphique pour trouver
l'ordre. C'est une idée intéressante.
Oui.
Side note, plus 1
pour votre Château de Obsidian.
Je l'ai utilisé notion.
Mais les gens disent que je dois
essayer de l'obsidian.
Mais oui, c'est
bien aussi parce que
à Codecademy, il y a beaucoup de gens
qui sont des lecteurs, qui ont ensuite
went au bootcamp.
Et pour eux, ces choses de la théorie de la théorie
sont souvent bien Uhmude,
et vous travaillez avec un éditeur de développement pour savoir que ce sujet est relevant et bon,
c'est pourquoi les gens vont l'aimer. C'est là que c'est la comparaison entre les autres
livres et les familles de Orvyle. Et puis vous avez une année, ou plus, de l'élection,
où vous avez des reviewers techniques. Je l'ai plus que l'avantage de ces livres,
parce que je suis paranoïde et neurotique. Et vous avez aussi un éditeur de production,
ou, pardon, pas un éditeur de production. Il y a un autre éditeur de technique,
qui est un éditeur de production, qui est un professeur anglais et un professeur de
programmation, qui réveille votre livre, quand vous allez en. Il y a beaucoup d'opportunités pour
les gens de diverses backgrounds, comme lesquelles vous pouvez vous donner de l'enquête de la
télé, et vous donner de l'air de plus en plus. Je vais aussi dire que j'ai mis le livre
en ligne, comme je l'ai dit très rapidement. Ils donnent des prévues d'accesses très
très très très très très très très très très très très très très très très
très très très très très très très très très très très très très très très
très très très très très très très très très très très très très
très très très très très très très très très très très très très très
très très très très très très très très très très très très très
très très très très très très très très très très très très très
très très très très très très très très très très très très très
très très très très très très très très très très très très très
très très très très très très très très très très très très très
très très très très très très très très très très très très très très
poste et oh c'est pas fait je n'aime pas ce genre de
négatif réveil sur la plateforme et je suis tellement déçue de ça ça me fait vraiment
hésiter. C'était comme la première réveil éteinte et c'était pas le
coup. C'était pas fait.
Mais oui, il y a beaucoup d'opportunités pour les
feedbacks. Je suis en train de me faire emotional ici.
C'est un truc de message que l'on doit travailler là-bas.
C'est probablement ça. Ça me fait me sentir mieux.
Bien, en parlant de me sentir mieux,
quel est le partage du livre que tu me sentais le plus
bien ? Ou que tu es très proche de ce truc ?
Je n'aime vraiment pas comment le livre introduit des
types d'objets et de la type structurelle.
Je pense que le premier partage du livre,
l'intro de théorie, le truc
se fait vraiment bien. C'est le partage du livre que je
pensais beaucoup et qui me mettra le plus d'effort en
partage. Partage de ça, c'est que c'est très difficile à
trouver des codes bonnes, quand tu n'as pas
introduit des features de langue. Comment introduis-tu le concept
de la « narrowing » ?
Le type de chose que tu dis, si un type de quelque chose est
un string, dans ce que le type de chose est certainement un string,
même si c'est un string ou un numéro ou un temps,
comment introduis-tu le concept de types d'une union ?
C'est un pré-réquisite pour un « narrowing »
quand tu n'as pas de fonctionnalité, des classes,
des types d'objectifs, etc.
Donc, trouver des codes bonnes et des explications
pour cet endroit était vraiment, vraiment difficile.
Et je suis vraiment heureux que je pense que nous
avons réussi à le faire.
Je vais aussi dire que les codes bonnes
sont presque tous fiers.
Chaque chapitre a un different thème,
comme acteurs ou scientifiques,
et, à l'incompréhension de la grande majorité de
les livres dans cette industrie,
la « gender skew » n'est pas la majorité de l'essentier
mais c'est un peu comme un « male »
ou un « male » présentant.
C'est, en fait, des femmes non-binary,
part de moi, des femmes non-binaires.
Et je suis juste choquée que personne ne l'a pas fait
avant que je le trouve.
C'est très rare.
Je suis heureux que tu l'aies fait.
Est-ce que le livre est venu avec des projets
ou c'est juste tout texte ?
Le livre est tout texte,
mais à l'endroit de chaque chapitre,
je vais aller à la « learnertype-trupe.com.com.au »
parce qu'il y a un peu de projets,
lesquels on a un très amusant theme,
je suis dit que c'est peut-être trop cute.
Mais les projets sont là
pour que tu puisses exerciser
ce genre de choses que tu as appris dans cette chapitre.
Je travaille personnellement bien
quand après chaque chapitre je prends un break,
je pense à ça, je le geste,
je ré-read le « skimming » et puis je fais un projet.
Je recommande beaucoup de gens à lire mon livre
ou à n'importe quel autre livre,
et je fais des projets en train de le lire.
Ne juste le lire et puis en travaillant en type script.
Ce n'est pas la façon dont les gens travaillent.
C'est quelque chose que,
même si c'est une personne qui est moderne
en type script, je veux que je puisse aller
à un endroit où il y a des « type challenges »
pour me donner des « type system »
un peu plus.
Je sais que c'est le « repo type challenges »
mais ça se fait très vite,
j'ai essayé de faire ça
en faisant un « open office hours »
pour le type script.
On a essayé de travailler
par un peu de gens en live
et ça a rapidement dépassé les rails.
Je ne sais pas ce qui se passe, je suis un expert.
C'est très drôle.
Peut-être que c'est une opportunité pour vous pour vous contribuer.
Peut-être que le « file an issue »
a été proposé par le « beginner-intermediate »
qui, par contre, je vais le savoir,
c'est une autre « learning of mind »
que les mots « beginner-intermediate » et « advanced »
sont vraiment démesurés et négatives pour beaucoup de gens.
Si quelqu'un a des mots « advanced »
et ils disent « oh, c'est pas pour moi, je ne peux jamais le apprendre »
ou ils disent « beginner » et ils disent
« oh, c'est sous moi, je ne vais pas le lire »
donc, quelles sont les mots que je vais trouver,
vous pouvez en faire plus.
Quels sont les exemples de « cute C »
de les projets ?
Vous avez un projet préféré que vous avez inclus ?
Oh, mon Dieu.
Le premier est que les gens
sont le type-inviteur.
Vous allez en temps et
vous avez besoin de
refactor un projet
en utilisant...
Je pense que c'est...
C'est difficile parce que c'est la chambre
qui introduit la histoire de JavaScript
et pourquoi le type-inviteur est fait.
Il n'y a pas de type-inviteurs en texte.
C'est juste que vous refactoriez les choses
pour être moderne, JavaScript,
en plus de l'old. Vous êtes le type-inviteur.
Je suis prudent de cette chose,
parce que c'est un nom qui est si curieux
et parce que je ne pouvais pas penser
à ce que vous puissiez mettre pour le projet.
Il y a un après-midi
qui est en train de faire le site
sur mon propre computer.
Oh, oui.
En fait, le deuxième,
j'ai utilisé mes meilleures idées,
à faire des gens qui étaient appelés
« système de clé »
où le contexte est
que vous vouliez...
Je ne peux pas le dire.
Pardon.
Le contexte est que vous vouliez
faire une grande surprise
clé-thème de clé pour votre meilleur ami.
C'est...
J'ai toujours voulu faire pour quelqu'un
qui nous a faits tant de craques.
Mais les clé-thèmes
ont trouvé votre code
et ont fait des annotations de type
pour qu'ils soient en train de faire le code.
C'est comme des quotes de clé.
Si quelqu'un est affrayé de clé-thèmes,
ils ne vont pas avoir le projet.
C'est juste texte.
Vous devez vérifier si la personne est
affrayée de clé-thèmes
avant de leur donner une partie de surprise.
Oui.
Ou peut-être que ça fait le meilleur part de la surprise.
Il s'agit de la surprise
qui est vraiment bénéfitée.
C'est très Shakespearean.
Quelqu'un est très obsédé
et probablement le fait
à l'endemain de cette partie.
Ce qui me donne à mon prochain favori
où il y a un projet de Shakespearean
qui est ensuite terminé.
Qu'est-ce que c'est?
Le projet s'appelle type-spear.
Oui, tout le monde est une description de pétanthe.
Il y a des différents procédures.
Oh, man.
Ce qui m'amène à un théorique
d'une chaîne d'un projet.
Certains travaillent mieux
quand vous avez des petits défis,
les appetizers.
Il y a deux ou quatre choses
pour travailler en série
pour ne pas importer des codes entre eux.
Certains préfèrent des projets plus grands
ou, je préfère les faire dans cet ordre.
Le projet se termine par appetizers,
entrées et desserts.
Les appetizers sont petits,
les entrées sont grands et les desserts sont comme
les appetizers de cutes.
Si vous venez de quelque chose,
vous venez avec des challenges
de type-spear
pour vous-même et pour vos readers.
J'apprécie la créativité.
Oui, il a eu le plaisir
de le faire, ce qui est important.
C'est un important part de la longue
tournée comme ça.
Merci.
C'est un bon moyen de
éviter de la burn-out.
Si vous n'avez pas le plaisir de faire ça,
vous allez avoir la burn-out plus tard.
Pour moi, les projets qui sont
très difficiles, c'est de trouver
un projet qui n'utilise que les
syntaxes, les features et les concepts
qui sont bien introduits.
C'est difficile. Ça m'a donc
mis à l'aise.
Vous avez des plans pour faire un autre?
Oh, je vais m'attendre un peu.
Je l'ai parlé avec les autres
et en collaboration avec un livre,
ou en faisant une deuxième édition.
Je pense que je voudrais
en partie, parce que je pense que
il y a beaucoup de bons topics
qui peuvent être explorés en formes de livres.
Je peux aussi explorer un Udemy
ou quelque chose de vidéo.
Mais ça va être un peu de temps
avant que je suis déjà capable
d'en prendre un livre.
C'est ce que j'ai fait
pendant un temps de temps employé
pour la plupart du processus.
Et seulement pendant les dernières mois
ou quand je suis déjà un
maintenance d'open source.
Ça m'a pris beaucoup de temps
d'émotion et d'opportunité
de faire des choses.
Je suis curieux, vous pouvez le faire si vous voulez.
Mais vous aussi, vous vous plantez
de faire des livres?
Je ne pense pas que je vais
faire le poste d'après-midi.
Peut-être si je n'avais rien d'autre
à faire, je vais en faire un livre.
Mais mes efforts d'open source
ont été montés par moi
et les gens qui me sont entourés.
Je ne devrais probablement pas travailler
dans mes heures de travail.
Je pense que je vais être en train de faire un livre.
Est-ce qu'il y a
d'autres features
d'exploitation type script
que vous avez suivi dans le repos?
Vous avez dit que je voulais avoir ça maintenant
mais ça n'a pas été là pour des années.
Oui,
ce ne serait pas le plus
applicable pour les utilisateurs.
Mais c'est super important.
Un type assignability API
comme un consommateur
de typescript APIs, importe
TES de typescripts et de
files, il n'y a pas de bon moyen
d'assurer que
quelque piece de code, d'objectif,
d'alimentation, soit assignable
d'autres types, soit
deux types équivalents,
ou un type assignable.
C'est
un consommateur
type script PS lint,
ou type stat, ou d'autres
projects et spaces.
Ce n'est pas quelque chose que TSC
ne caresse pas. Mais
ce serait super bien pour lintes
et migrations
et analysis tools tout à l'heure
si nous pouvons avoir un appui assignable.
Il y a
beaucoup de lintes que j'aimerais
écrire, ça serait super utile pour les gens.
Si vous avez une type assertion,
détectez-vous si la type assertion est plus
long ou valide ou nécessaire,
ou si la type assertion
n'est pas variable,
il y a beaucoup de
choses que nous
avons besoin d'assignabilité API
pour, et nous n'avons pas encore.
Il y a des efforts,
je n'ai pas l'intention
d'enlever le nom de
le package.
Il y a un package qui réimplie
le type checker, un type simple,
je pense que le nom est un peu pas le nom,
mais
c'est pas
un type simple, c'est un bon package
mais pas le type script,
donc il faut en prendre une dépendance
de la réimplementation de la partie type script.
Dans type stat, ce que je fais, et j'ai hâte
de le faire, c'est
que je
fs.write file,
ou fs.read file, et puis write file,
c'est le type script.js file
sur le disc, pour modifier le texte de la code
type script
type assignability API.
Ne fais pas ça,
je n'ai pas même utilisé le standard
rewrite.js, parce que je ne veux pas que
les gens comprennent cette approche, c'est
malheureux et terrible, mais
il y a un API, et c'est pas
ce que je vais faire.
Je me suis trouvé, je voulais que le type script
API soit un peu plus
usable, en quelque cas,
j'ai fait beaucoup de travail
sur le genre de génération de React
et j'ai dû
finir en utilisant
les API internes
et j'ai dû mettre
TSA Ignores dans mon code.
Mais oui, c'est
quelque chose que je veux, mais c'est aussi
un problème non trivial,
avec le type assignability,
c'est générique,
ça toujours fait un renche,
surtout avec les types de types de React.
Tu veux des props statiques, et
non, c'est générique, et ça a un
cascadent ordre de
effectuations.
Le plus
avancé, et je suis proud de
les types de types,
c'est déterminer
que les types n'ont pas de
pas de l'information,
ou trop de l'interface,
et que
les fields de l'interface ne sont pas
plus utilisés.
Comment déterminer ça ?
Vous pouvez trouver tout le valeur
de l'interface,
et voir si les fields sont utilisés,
pour que vous puissiez
développer ce code,
et être capable
d'utiliser les types de types
de APIs, et constater
un nouveau type, et vérifier
l'assignabilité entre eux.
C'est difficile, je l'ai fait, et j'espère
que vous utilisez TSA Expect Error,
pour ceux qui n'ont pas TSA Ignore.
Je voudrais aussi
d'avoir des types de types
pour basiquer
les websites
de TSA Error.
Les messages d'arrêt de types
sont techniquement
accurate et précis,
qui signifie que pour beaucoup de messages
plus complexes, les gens ne comprennent pas.
C'est infâtrement et inévitable.
Mais si vous regardez ce que Rust
fait, Rust Error est incroyable,
et beau.
Je voudrais voir que le type de types
a des messages de types très précis,
c'est incroyable de avoir un niveau
plus beau,
je ne sais pas,
plus beau ou quelque chose,
un terme qui n'est pas déjà utilisé.
Orda a fait une exploration
d'adverter un peu de space blanc
dans les erreurs, et je suis triste
que ça ne l'a pas été fait, car je pensais
que ça m'a fait des erreurs beaucoup plus rétables.
Oui.
Je voudrais que quelqu'un
soit un rappeur sur TSC
qui se mette avec les erreurs, c'est cool.
On va faire l'ordre.
Peut-être Orda va le faire.
Oui.
Ce serait bien.
Je pense que,
beaucoup de fois,
l'issue est qu'une erreur
se démarre dans la structure,
et c'est une
propre de cet objet
qui est différente, et qui est incompatible
pour quelque chose de la raison. Vous voyez ça beaucoup en props réactifs.
Et ça devient un truc
de la même chose.
Je me suis dit
que je suis en train de trouver
quelque chose d'inquiétude.
C'est quelque chose de mauvais.
C'est un peu difficile.
Qu'est-ce que c'est
une feature de type récent qui a été réellement
élevé que vous avez apprécié ?
Ils ont fait beaucoup de travail
sur les types conditionnels
et les types inférieurs
et ce n'est pas juste
parce que j'ai fait un nom pour moi-même
pour les médecins de la construction
et les chenallegans de l'éther.
Mais aussi parce
que
il y a beaucoup de choses
importants
que vous pouvez faire
avec une grande représentation
dans le type système de complexe.
Et la chose que je suis très excité
est le set d'advances que les gens
ont fait dans les systèmes de design.
Je vous promets que ça va être de la même manière
que d'un à un.
Mais je vous promets que
en tant que des systèmes de design
et de la construction de la construction.
Mais vous, les gens qui sont en train de faire des choses
vous ne spécifiez pas les choses
en termes de couleur background
ou de couleur bleue 500.
Vous dites que la couleur background est
quoi ?
La prime élection de la base background
ou la seconde élection de la base background
ou de la base background
La prime élection de la base background
ou de la base background
ou de la base background
ou de la base background
ou de la base background
Ah, un jour.
C'est un truc bizarre
qui n'est pas considéré
comme un note de réaction
et ça signifie que si vous utilisez le réaction.fc
pour un moment, vous avez dû le raconter
et un fragment.
C'est comme un petit petit truc
qui ne devrait pas se faire.
Et c'est confusant pour les newcomers
mais ça a un travail facile
si vous le savez.
Oui, c'est des types difficiles
de lire les types réactions.
C'est très générique, mais je suis sûr
que c'est facile pour vous
avec toutes vos types de systèmes de gymnastique.
C'est vraiment
très drôle.
C'est horrifiant et difficile.
Je me remercie de la vie
chaque fois que je dois le faire.
Je suis bien enough à des types de systèmes de gymnastique
pour apprendre quand je veux, mais je ne pense pas qu'il y a un humain
sur ce plan qui est vraiment bien
à lire des types de conditionnés
si possible.
Ce n'est pas quelque chose que le cerveau humain
a fait pour ça.
Ce n'est pas quelque chose que vous devriez faire
souvent assez pour avoir le temps.
Si vous avez des types complexes comme ça,
votre code sera inéditable.
Ce n'est pas un système que vous voulez que vous le faites.
C'est vrai.
Ok, avec ça,
on va changer les types de systèmes.
Je voudrais partager
quelque chose que j'ai commencé
à recommandé à des gens.
Le type script error translator,
ou le TES error translator
par une personne qui s'appelle Matt Pocock.
C'est
incroyable.
Il tient les messages de type script error
et vous donne une version
plus humain.
C'est TESerrorTranslator.versale.app
C'est pas un GitHub, j'ai récemment
tweeté. C'est
une exploration de comment nous formons
les messages de types de code error
en plus humain pour les gens qui ont besoin
plus de la connaissance technique et plus de la précision.
Le site est un étudiant d'expérience user
où il a un titre
d'example avec un bouton
de soumettre.
Je l'aime
de la pratique d'avoir des web apps
où il y a un appel à action
et une très basse barrière.
Merci, Matt.
Matt a fait un très bon type script
de contenu.
Il est aussi
très bien connu pour travailler
sur l'exstate.
Il a fait un très cool travail.
Les tools sont
très bons pour tous les
gens, mais surtout pour les beginners
où les types scripts et les types de barrière
peuvent sembler un très haut
poursuivant.
Je l'ai trouvé en train de
apprendre à la programmer et de la apprendre
pour les autres, que les erreurs en général
sont très difficiles pour vous
pour vous faire le premier. Vous verrez un erreur
et vous dites, oh, il y a un erreur et pas la la.
Il me fait des années de programming pour
dire, je dois la lire.
Oui.
Ça ressemble à un erreur
et pas de la la.
Pourquoi n'est-ce pas le erreur ?
Mais c'est un truc très vrai
que les gens ne sont pas instinctivement
les erreurs. Ils sont intimidés et scènes.
Je l'ai toujours l'ai.
Oui, pour sûr.
Je pense que c'est probablement
une conversation entre
les erreurs, les sous-developpements
de notre expérience user.
Je veux dire,
pour longtemps, ils ont été traités comme
un truc qui se passe
occasionally, c'est le path
de l'un ou l'autre.
Vous voulez donner d'autres informations
pour quelqu'un de poursuivre
votre vie, mais ce n'est pas quelque chose
que vous êtes concentrés sur, c'est que vous
vous faites quelque chose d'autre.
J'espère que votre tool ou le site
ou quelque chose de l'autre,
il y a des erreurs,
mais les erreurs,
surtout dans nos tools, sont
une partie importante
de utiliser le tool.
Je pense que les langues
comme Rust, sont vraiment
qui montrent que si vous traitez
l'erreur d'une première classe d'expérience,
cela change
comment les gens interactuent avec la langue
ou l'erreur de la tool.
C'est une des choses qui vous fait vraiment
exciter le projet de Rome,
c'est que les gens sont en train
de se concentrer sur l'erreur
d'une première classe d'expérience.
C'est comme ça que l'industrie standard
d'erreurs vous dit ce que vous avez fait,
vous dit comment vous fixez,
vous vous intervient dans le même endroit
où l'erreur se fait.
J'espère vraiment que Rome se passe
sur la ligne fin de l'année.
Les gens ont parlé beaucoup de la
age de choses, comme les Swixes
parlent de la 3e age de JavaScript
est très spot-on et très bien.
Je pense que nous commençons
à avoir des stages très durs,
peut-être une 4e age de tools de dev,
la première était de la première place
comme VMI, Max, etc.
Et nous avons eu
des idées de visual studio
et d'éclipse.
Et la prochaine phase
était d'Adam et de VS Code,
des éditeurs de l'étoil
qui ont encore été réellement
des features très bonnes
à l'étoil de l'utilisation.
Je pense que la prochaine chose
va être des choses comme Rome et
des translators de TSA,
où pas seulement les édites
ont des bonnes édites de l'étoil
avec des features de bonnes utilisateurs,
mais ils vont de leur manière
d'assister aux utilisateurs.
On ne s'est pas assumé que
l'outil de plainte texte est acceptable,
on a besoin de couleurs et syntaxe
de l'étoil et de
les points à la ligne de la ligne de la ligne.
C'est vraiment énorme.
Ok, je vais partager
quelque chose que nous avons parlé
dans notre épisode récent,
mais je commence à utiliser
cela en général à mon travail.
Le code JS Shift
est un outil
qui vous permet
de faire des transformations
qui vous permettent de transformer
quelque chose d'autre.
Ce que j'ai utilisé c'est
que nous avons organisé notre monorepo
un peu mieux et avec ça
il y a beaucoup de changements.
Si je devais
faire le travail
je devais probablement avoir été
en train de faire un peu de jours
pour rééter les importations
dans les milliers de files que nous avons,
probablement des semaines,
mais avec le code JS Shift
j'ai pu faire 300 lines de code
qui
transformaient
mes importations
de plusieurs files
pour un packages,
mais en même temps
créer un file index pour ce package
qui dit que les gens sont important
pour faire un file index
qui exportait ces choses
donc j'avais à faire presque aucun travail.
J'ai commencé à faire
en main et j'ai 2 heures
et je suis comme, ce n'est pas sustainable.
Puis j'ai créé le code mod
et j'ai fait 500 lines de code
et je suis comme, merci Dieu
je n'ai pas écrit ça.
C'est beau.
C'est généralement appelé barrel files
ou quelque chose, ils ont un nom pour ces.
Je n'ai jamais entendu ce nom, mais ça pourrait être ça.
Ok.
Je les appelle
des files index parce qu'ils ont un bon nom
pour la utilisation. Je ne l'ai jamais utilisé.
Mais c'est
beau, honnêtement.
Vous avez pu utiliser le code Shift, le code JS Shift
pour vous sauver de la temps.
Je pense que l'analysation de l'AST
et la migration de la mutation
sont un skill underapprécié.
Il y a beaucoup de gens qui ont été
des heures, des cycles
en faisant des migrations manuelles
quand le code Shift est élevé.
Ils ont tous été
des langues programmées.
Et ils ont sauvé la temps.
C'est un win-win.
C'est beau.
Chaque fois que je utilise l'AST, je me suis dit
que je l'ai programmé, je l'ai fait aujourd'hui.
Oui.
l'AST Explorer est probablement
l'une des meilleures
tools que j'ai utilisé.
Josh, vous avez parlé
d'un site simple qui a
une certaine certaine certaine,
dans l' tenho à banner des
pagans qui sont
Ma Action Essentie French
mais on fait un playground très similaire à l'ASD, mais c'est un peu plus tôt pour travailler sur les roulons de lintes et les typescripts.
Alors, même si nous n'avons ni la support pour des langues différentes, ils apportent des marques-downs et des variants et tout ce genre de choses,
nous essayons de faire un bon travail pour les gens qui sont en train de faire les roulons de lintes ou des mutations de lintes basées sur lintes.
C'est un truc qui n'est pas si mauvais que l'aspect de mutation.
J'ai aidé quelqu'un de récemment de changer de component style à un style système comme l'API,
et nous étions en train de faire des roulons de lintes basées sur lintes et des roulons qui sont des migrées, comme le code-shift.
C'est un truc de fun.
Mon premier outil de la première est un produit.
J'ai trouvé, on parle beaucoup d'outils ici, c'est un produit appelé interval.com,
et c'est un outil pour construire des outils internaux.
Il y a beaucoup de produits dans cette catégorie, mais le truc qui est intéressant, c'est qu'ils vous donnent un API de terres,
et vous définissez des fonctions et ce flow qui arrive et cet objectif et cet API,
et ça génère un UI pour vous, juste basé sur ceci,
juste un peu de configuration que vous avez à vous donner.
Nous parlons de simples formes, mais il y a un tout workflow,
vous pouvez le coordonner et faire l'authentication, et tout ça.
Si vous avez besoin d'un travail, si vous avez besoin d'un travail,
que quelqu'un doit faire, si vous avez besoin de quelque chose de régulièrement,
ça vous donne l'obligation de faire ça.
Le produit est intéressant, mais cette idée de code simple,
générer un UI pour aider quelqu'un à accomplir un travail,
c'est aussi quelque chose qui est très compétent.
J'ai l'idée, ça a l'air intéressant, je l'ai pensé.
Ils ont une bonne page de chez.
Oui, ils l'ont fait très bien.
C'est tout.
Un des projets favoris de mon travail,
c'est que j'ai travaillé sur les outils internes,
c'est un travail très fun pour un équipe d'apprentissage,
qui peut parler avec des clients anglais,
ou des clients de B2B.
Mon deuxième outil est un livre,
qui s'appelle Laisiness Does Not Exist.
Je l'ai récentement lu sur une recommendation de un équipe,
et c'est fantastique.
Le titre a choisi beaucoup,
mais je suis certain que le livre
a une hypothèse et des teachings
que beaucoup de nous sentons
ce besoin extrême pour toujours produire.
Le capitalisme, rah rah rah,
et si nous prenons du temps
pour réévaluer ce qui est important pour nous,
ça va être beaucoup mieux.
Je l'ai toujours l'impression de l'air
pour produire,
et j'ai un temps difficile
de s'enjoindre, de rosser les choses,
comme ils disent.
Donc, un acte simple,
comme un machiado,
et des donuts,
ou quelque chose dans le matin,
je trouve ça difficile de l'enjoyer,
mais ce livre est vraiment utile.
Je vous recommande de tous ces stressés,
de l'air de la technologie,
d'autres maintenance d'open source, etc.
Mon dernier outil pour la semaine,
c'est un composant de palais commande.
Il y a quelques des outils,
mais je pense que c'est probablement
le seul accessible, et c'est vraiment beau.
Donc, un palais commande,
pour ceux qui ne le connaissent pas,
est des applications modernes,
qui sont souvent exposées à ce qui peut être commande K,
et qui apporte un
espace,
comme l'explorer,
où vous pouvez faire plusieurs commandes
dans une app, et c'est juste un composant
qui fait que c'est super facile de mettre
ce type d'expérience à votre app.
Je utilise le même pattern
sur mon site personnel
pour mon jardin digital.
Vous naviguez le palais commande
sur la menu de la palette.
Si vous êtes en train de faire un component
de l'off-the-shelf,
React-command K
serait un bon bâtiment.
C'est un tool de l'application.
Merci pour la recommandation.
Et un site très beau.
Ces components sont vraiment très hard
de construire. Le palais commande
est très hard. Il y a beaucoup de interactions
qui vont sur le palais.
La behavior scroll est très particulière.
Comment la filtration fonctionne,
comment vous vous vous vous vous vous vous
il y a beaucoup de choses qui vont sur le palais.
C'est magnifique.
Vous avez dit que c'est accessible.
C'est plus impressionnant.
Ces sont hard de faire le right.
C'est dit à l'écran de la page de la maison.
Vous utilisez ça pour le décrypt?
Non, nous avons un plan custom.
C'est un projet
très nouveau.
Je regarde les recommandations.
Bien joué, le premier.
Ce qui est très intéressant
c'est le projet local rest
API pour obsidian.
C'est un plugin
qui vous donne un
local host rest API
pour votre obsidian vault.
Si vous voulez construire des outils
pour faire des choses avec vos notes
ou pour créer des notes, pour lire des choses
de votre vault ou tout ça, mais vous ne voulez pas
faire le hassle
d'utiliser un plugin obsidian
pour faire tout ça. Vous pouvez installer
ce plugin et vous donne un API rest
et vous pouvez construire votre outil
et tout ça
dans Bache ou tout ce que vous voulez.
Pour faire du tout.
Faire des notes, créer des choses nouvelles.
C'est super, c'est simple.
J'ai aimé.
C'est un bon moyen de faire
des tasks crônes
pour créer des notes de summaries.
Je le fais par ça.
C'est intéressant.
Qu'est-ce que vous avez à summer?
Je vous ai
créé des notes
de différentes semaines
et j'ai
un tag
qui va vous dégager
avec des notes importants.
Je vais avoir un rôle
d'importance pour la semaine.
C'est bon.
C'est super, je dois le faire.
Ok, c'est cool.
Je n'ai jamais été
pas au-delà de la honte d'en prendre les notes.
Je dois encore un moment
avant de faire comme ça.
Ok.
C'est tout pour les tips de la semaine.
Merci, Josh, pour les articles.
C'est un très intéressant talk
sur les typescripts.
J'espère que vous avez le bon bon
de vous vendre votre livre.
Merci.
Je vous appréciez, les gens,
que vous avez aimé pour un moment.
Faites de vous abonner
et vous abonner à la chaîne.
Merci.
Merci, tous.
Merci, Josh.
C'est super.
On se retrouve pour toujours.
C'est un beau moment de vous avoir.
C'est tout pour cette semaine.
Faites de vous suivre sur Youtube
et où vous pouvez consommer.
Merci d'avoir regardé.
Episode suivant:
Les infos glanées
devtools.fm:DeveloperTools,OpenSource,SoftwareDevelopment
A podcast about developer tools and the people who make them. Join us as we embark on a journey to explore modern developer tooling and interview the people who make it possible. We love talking to the creators front-end frameworks (React, Solid, Svelte, Vue, Angular, etc), JavaScript and TypeScript runtimes (Node, Deno, Bun), Languages (Unison, Elixor, Rust, Zig), web tech (WASM, Web Containers, WebGPU, WebGL), database providers (Turso, Planetscale, Supabase, EdgeDB), and platforms (SST, AWS, Vercel, Netlify, Fly.io).
Tags