
Hot Reload - with David Wengier
Durée: 84m55s
Date de sortie: 02/03/2023
In this milestone 50th episode (🥳🎉🍻) - I was joined by David Wengier to chat about how .NET’s hot reload works! We covered how the metadata in dotnet assemblies work, and how hot reload manipulates this data in various ways in memory to do its thing. We also touched a bit on the whole hot-reload dotnet drama thing! 🤫🙈We had quite a fun chat afterwards too, so decided to include that in the episode - so keep playing past my usual outro to hear that.David is a Roslyn and Razor tooling developer...
Salut tout le monde ! Bienvenue à l'Unhandled Exceptions Podcast, je suis Dan Clark et c'est
l'épisode 50. Je me suis senté ici avec un beurre ou quelque chose pour s'élaborer mais
c'est seulement 10h du matin mais notre guest ici aujourd'hui c'est l'aventure, donc David,
tu n'as pas eu l'occasion de ne pas avoir un beurre dans ta main maintenant, donc bienvenue à l'épisode 50.
Merci, je ne peux pas croire, oh mon Dieu, c'est quoi un honneur, je n'ai pas réalisé, je n'aurais
pas fait une fois, mais je n'ai jamais eu l'occasion de ne pas avoir un beurre, donc pour mettre un nom
à la voix et introduire David courtement, aujourd'hui, nous sommes jointes par David Wenjie
de Melbourne Australia et David est un développeur de Microsoft en travaillant sur Rosalind,
donc c'est donc c'est un C-Sharp et je suis désolé, VB, je suis désolé, je suis désolé.
Pas moi qui m'en désolé quand je dois le faire, mais on peut parler de ça plus tard.
Et aussi, il y a un tourisme, mais aujourd'hui, on va en parler d'un hot reload et de
comment ça fonctionne dans .NET, dans un podcast audio-only. David, comment on va faire ça ?
Bien, je ne sais pas. Donc, je pense que je devrais, premièrement, dire ce que je pense,
quand je pense au hot reload, parce que, je travaille sur Rosalind, comme vous l'avez dit,
Rosalind est l'engin à la very bottom de hot reload. Donc, édition continue est
une feature qui a été en train d'avoir été en train, et hot reload est un différent scénario que ça
fonctionne dans. Et donc, quand je pense au hot reload, je pense à une très sort de tech de haut niveau,
comme, vous savez, à .NET DLL, il y a des métodartes et il y a des IELs, il y a tout ce genre de choses,
qui on peut parler de, si vous voulez. Et comment on update ça ? C'est ce que je pense au hot reload.
Il y a un petit peu de chose qui est un peu plus drôle, où le hot reload est aussi un
type de termes de marketing, et c'est le terme pour un nombre de features de broads qui
ont été ajoutées, et ça couvre zammal, et ça couvre web, live, refresh, ou quelque chose,
ce qui je sais beaucoup plus. Mais les actuales bits techniques, je pense,
c'est le fait que je ne vois pas beaucoup de gens parler de ça, et je l'écoute beaucoup de podcasts,
et je ne veux pas entendre n'importe qui parler de ça. Donc, j'espère que peut-être on va pouvoir
faire cela understandable, je ne sais pas. On va le trouver. C'est drôle. Et je pense que beaucoup de
connaissances du public et du public de la tige, je pense qu'ils vont apprécier de se passer un peu plus
au hot, de toute façon. Donc, ça va être très bien. C'est un truc qui est un truc où les choses que je
travaille sur, parfois ils vont parler de elles, et c'est très bien, comme un truc d'éducation,
je suis en train de le dire sur quelque chose de la feature que nous avons travaillée sur, ou
des versions de langue de la nouvelle, ou quelque chose d'autre. Mais quand il s'agit de Hot Reload,
je parle totalement de ça juste parce que je suis intéressé dans ça, et c'est le type
de choses que j'aime connaître. Mais, d'exept pour moi et un autre gars sur le team de Rosent,
personne ne doit savoir à ce niveau de détail. Je vais vous le dire de toute façon.
Mais, il me semble toujours un peu bizarre parfois expliquer tout ce truc de la
longueur, parce que au bout du jour, qu'il y a un intérêt, c'est bien, c'est un genre de
niche. Mais je suis sûr que ça informe d'autres choses, même si vous ne réalisez pas ce que ça fait.
En savoir ce qui se passe sous la horde, je suis un fan de ça en général.
Oui, c'est certain. Et je pense qu'avant de parler de ça, on en a parlé de ça avant de
commencer la recording. C'est pas le seul podcast, mais les listeners ne peuvent pas le voir,
mais je dois vous en parler de votre foreground et tout le léger Lego derrière vous.
C'est quelque chose que j'ai favorisé. Nous avons bougé à cette maison en fin 2020,
donc nous avons été ici deux ans. Mais c'est la première fois que j'ai jamais
pu avoir tous mes sets que j'ai mis sur les shelves et dans le background de ma caméra.
En tout cas, à chaque fois que je suis en train de travailler,
en général, la plupart des gens utilisent le genre de background de la caméra parce que
ils ne veulent pas que quelqu'un le dise. Je suis comme, non, non, non, je n'ai pas eu de temps pour
pouvoir vous montrer ça. C'est surtout les voitures. Il y a un petit peu de space,
il y a un DeLorean, mais oui, on peut faire un whole podcast sur le Lego, peut-être un autre jour.
Après avoir eu un écran à la fin de la vidéo, en fait, je vais l'inquiéter.
Où est-il ?
Un dessin de Tiger derrière votre...
Je le vois, sur mon dessin de enfants. Oui, je pense que c'est notre patte.
Si il y a un rabouché sur la flore, je ne peux pas le voir, c'est sûr.
Alors, vous ne pouvez pas le voir sur la coude qui est fermée, c'est fantastique.
Parce que ça est un tout de même, je ne m'ai pas réalisé, je n'ai pas réalisé.
Félicitations, vous ne pouvez pas le voir.
Oh, bon.
En tout cas, on devrait probablement parler de Hot Reload, mais avant de faire ce
épisode, je vais le faire.
Je vais le dire.
Et ceci va au Suraj Kentura, qui a tweeté sur mon nouveau channel YouTube,
disant que je n'ai pas vu que vous avez eu un canal YouTube, c'est génial de voir
une voix de la voix amusante de l'exception de la podcast.
Pour aller dans le monde.
Donc, merci Suraj pour le mentionner,
les podcasts et le canal YouTube,
qui est évidemment un canal YouTube très, très nouveau,
mais je vais le voir dans les notes de la show, si quelqu'un est intéressé.
Et si vous voulez le mentionner sur le show,
juste envoyez un tweet en utilisant le hashtag UnhandledException.
Tout le feedback est très apprécié et je suis Jackon sur Twitter.
Et aussi, n'oubliez pas que ce podcast maintenant a sa propre chaîne Slack.
Si vous vous inquiétez au site UnhandledExceptionPodcast.com,
vous verrez un grand link de Slack.
Et la dernière équipement, c'est que ce podcast est sponsorisé par Everstack,
qui est mon propre company,
qui donne des services de développement et de consultation.
Pour plus d'informations, visitez Everstack.com.
C'est bon.
Je pense que avant de parler trop bas avec Hot Reload,
on devrait parler de ce qu'il y a.
Oui, bien sûr.
Donc, Hot Reload est un peu de choses pour beaucoup de gens,
selon votre point de vue.
Mais en général, l'idée de Hot Reload,
l'élevateur, je pense, est que l'idée est de pouvoir speeder
votre travail,
pour que, pendant votre code de publication,
vous n'avez pas à arrêter de faire ce que vous faites,
changer de code,
commencer votre application,
naviguer à tout le monde,
ou entrer dans tout le data, etc.
C'est juste pour speeder.
On appelle le développeur dans un loop,
c'est le Microsoft term,
et c'est juste pour speeder.
Donc, vous faites un change,
et ça peut être appliqué dans votre application de tour,
ou sur le web, ou sur l'app mobile,
ou tout ceci.
Et la prochaine fois que ce code est fait,
ce sera le code de publication.
C'est le summary.
C'est le plus petit summary que je peux faire.
Je pense que, pour le terme en loop,
si je pense que, pendant quelques années,
j'ai fait le développement de webforms,
et je l'ai utilisé sur le top de l'élevateur,
pour l'exemple que je pensais,
ça pourrait être plus mal.
Mais je me souviens,
chaque fois que je fais un change,
je dois attendre un moment
pour voir cela dans le browser.
Et pour la productivité,
c'était un nightmare.
Maintenant, comme vous le dites,
c'est un change de code,
et on voit cela immédiatement.
La productivité,
c'est pas seulement l'interruption et la waiting.
Pendant cette waiting,
votre mind se fait offrir,
et il y a des autres choses,
et il faut commencer à se faire distraire.
Donc, il faut se faire reposer.
Donc, il faut toujours vous reposer
dans la zone.
Donc, oui,
tout ce que nous pouvons faire
pour juste obtenir
ce feedback immédiat est incroyable.
Oui, et même les petits choses,
comme, il y a un temps progressif,
plus de temps,
et donc, il y a un point
où, sur le web,
vous pouvez référer le page,
et peut-être que vous avez sauvé
tout ce qu'on a dit,
et que vous avez des cookies,
et tout ça, c'est bon.
Mais vous devez toujours référer le page.
Et si vous voulez que votre page
soit bien et qu'il vous remercie
ce que vous avez entier
comme un draft,
vous devez avoir à faire ce code.
Je pense que
peut-être que les browsers
aient besoin d'un peu plus maintenant,
mais, vous savez,
chaque petit
progressif qui a un point
qui a un point le plus dur
et le plus rapide
est juste, oui,
un speed-up amusant.
Je suis en train de
faire des programmes en vrai,
c'est là où j'ai commencé
à faire des programmes en vrai.
Et je me souviens de la première fois
que j'ai utilisé C-Sharp,
et j'étais tellement délicieux
parce que l'édition continue
n'était pas
en fait disponible
dans les premières versions.
Et ça n'a pas fait sens
à moi de voir comment quelqu'un
pourrait travailler comme ça.
Ce qui est drôle,
parce que mon père
était un programme de code lifelong,
et donc,
vous savez,
même si on avait
fait un C-Sharp version 1,
il aurait été élevé
par...
Mais oui,
c'est juste...
Encore une fois que vous expérimiez
ce speed-up
de la route,
c'est juste...
Je pense que vous avez sorti
un bon moment,
c'est de
retirer la barrière entre
vous en prenant une idée
de
peut-être que ça va travailler
et de voir les résultats.
Je ne sais pas si vous avez mentionné
ce qui était plus le côté de la marketing,
mais comme juste
que vous avez mentionné
des choses comme Zammel
et tout ce genre de choses,
des choses
de tout ce qu'on a dans dot.net,
laser,
Zammel & Maui
et tout ça.
Est-ce que ça fonctionne
par les choses?
C'est une bonne question
avec une
intéressante et probablement
une longue réponse,
mais en général,
la théorie est oui.
Donc pour moi,
sur le côté de Rosland,
ce que je travaille sur,
en parlant de la série,
je travaille sur Edit & Continue,
qui est
le
fonctionnement qui a été
autour
qui est sorti
au coeur de Hot Reload.
Et Hot Reload est
cette idée
mais appliquée
sans
avoir besoin de la débugger
pour être attachée
et sans avoir besoin
de vous avoir un point de break
pour arrêter
pour que vous puissiez changer
votre code,
pour que vous puissiez changer
votre code pendant ce que vous venez.
Et donc pour mon point de vue,
ils sont tous exactement
les mêmes,
tous ces environnements,
parce que
tout ce que je fais
est qu'il y a un DLL
qui a votre code
et vous êtes en train de ralentir
et nous devons
rééter
le code qui se ralentit.
Et donc c'est vrai,
je veux dire,
la beauté de dot.net cross-platform
est que ce DLL
est le même DLL
pour Maui
et Blazer
et BlazerWazm
et toutes ces choses.
C'est IL,
c'est compilé
à un format cross-platform.
Donc,
à mon point de vue,
oui, ils sont tous les mêmes.
À mon point de vue des utilisateurs,
sans doute,
il y a beaucoup de différentes capacités.
Par exemple,
si vous vous rappelez de Maui
ou BlazerWazm,
BlazerWazm utilise le Runtime Mono,
pas le Runtime Core CLR.
Et donc,
il y a des différentes capacités
que les deux Runtimes ont.
Et donc,
ce qui est possible,
le même code change
pourrait être possible
sur
un application Windows desktop,
mais pas possible sur BlazerWazm
parce que le Runtime ne supporte pas
ce type de change.
Et donc,
il y a beaucoup de différents casques d'égeaux
et beaucoup de choses
où
nous,
Roslyn,
on a des changements
sur le Runtime.
Et puis,
c'est le Runtime.
Au-dessus de ce,
il y a des choses,
que ce soit le Runtime App,
donc ASP.NET,
ou Maui,
ou Zamarin,
tout ça,
ils ont besoin de travailler aussi.
Dans ASP.NET,
si vous changez le vue de la RZ,
nous pouvons rééter le code
pour ce vue de la RZ,
mais ASP.NET a besoin de travailler
pour faire sure que la prochaine réquest
s'éteigne à ce nouveau code,
ce qui pourrait être qu'ils doivent pas cacher,
c'est peut-être qu'ils doivent
réévaluer des choses.
Donc, il y a beaucoup de différents pièces de mouvement
et la soutien peut varier
quand vous vous en faites au-dessus des détails.
Oui, ça fait le sens.
Je peux imaginer que ce soit le genre
que vous avez sur le front.
Ça fait que c'est assez simple,
mais en fait,
en implementant,
c'est comme...
Les étudiants ne peuvent pas voir l'expression maintenant,
mais je pense qu'il y a beaucoup de problèmes
qui ont été faits.
Et je sais que vous avez fait un talk
assez récemment en NDC.
Et je dois confier que j'ai commencé à regarder
ce matin
au lieu de la gêne,
donc c'était très élevé.
Je l'ai entendu l'audio seulement.
Je l'ai seulement fait en demi-levis,
donc je l'ai fait,
je n'ai pas vraiment commencé à regarder un peu plus tard.
Donc je suis en train de parler.
J'ai une histoire en demi-levis,
mais je pense que je vais aller en plus tard
et j'ai l'impression que ça va être bien,
parce que je dois imaginer que les listeners ne sont pas
pas récemment à regarder de la manière que vous avez regardé.
Oui.
C'est intéressant que vous dites que ça a un peu compliqué.
Et...
Oh, pardon.
Ça a un peu compliqué,
mais probablement c'est compliqué.
Parce que c'est comme ça,
mais c'est aussi un peu l'opposé,
où je pense que c'est magique.
Mais,
comme dans ce talk que vous avez parlé,
le talk est détenu
« Comment se réloade le work ? ».
Et le actuale
où j'explique comment ça fonctionne,
c'est en deux minutes.
C'est vraiment très simple.
Il y a juste
tout ce background
pour le faire,
qui,
beaucoup de gens connaissent
beaucoup de la dimension interne de Donnet.
Je ne l'ai pas personnellement pas fait
avant que je commence à travailler sur ça.
J'ai eu cette
politique de vie
de ne pas vouloir savoir IEL.
J'aime vraiment C-Sharp,
et j'aime
ce langage de haut niveau.
Et je sais
ce que le compiler fait
pour faire ça un peu plus haut,
mais je n'ai jamais voulu savoir IEL.
Ça me rend trop impressionnant
de l'assemblée,
qui me donne du retour à l'université
et qui fait que je me fasse de la façon.
Donc,
je n'ai pas vraiment voulu
comprendre
autant que
comment Donnet-Diller
fonctionne que je fais maintenant.
Mais maintenant que je sais,
c'est un concept simple.
Quand c'est expliqué,
c'est comme,
« Ah, OK. »
Ou, je pense que ça.
Peut-être, je ne sais pas.
Peut-être,
je vais...
En travaillant,
j'ai bien honte
que je suis exposé
à ça,
dans beaucoup de faibles manières.
Mais,
oui, c'est un truc
un peu comme ça,
où ça me semble
comme une magie complète.
Mais,
c'est aussi un peu simple.
Mais aussi,
si vous pensez à ce que c'est en faisant,
c'est en fait
complètement...
C'est ridicule
que ça fonctionne en tout cas,
je pense.
En savoir comment la VB6 fonctionne,
comme,
encore,
c'est là où je viens,
je viens de la VB6,
j'ai mis un step
dans ma code.
Et jusqu'à
mes cursors
étaient sur la ligne de code,
la VB
n'a pas even regardé la code,
c'est vrai.
Il a interprété la ligne
quand j'ai demandé.
Comparez ça
pour que nous produisons la DLL
et
ça ne change pas.
C'est un concept différent,
mais somehow la code peut s'en arriver.
C'est...
Ouais,
c'est un peu mindbending.
Je me suis trouvé assez intéressant
de dire
que
quand vous comprendrez,
et tout se cliquera ensemble,
en fait,
comprendre comment les choses fonctionnent.
Parce que j'ai mentionné mon
YouTube-channel
plus tard,
et un des vidéos que j'ai fait
est un vidéo de 50 minutes
sur l'understand,
Get Under the Hood.
Et je peux entendre
beaucoup de
des similarities ici,
parce que
quand vous comprendrez
comment ça fonctionne
dans la hood,
c'est super simple,
comme avec les types objets,
ce n'est pas compliqué tout de suite,
mais c'est comme si
personne ne le apprend pas le prochain step,
mais en fait,
ça simplifie les choses.
Et c'est juste comme...
Je pense que
les phrases de l'autre,
c'est seulement compliqué
pour que vous le connaissiez.
Ouais.
Ça définit bien.
Je pense qu'il y a un peu de
des
choses qui l'inclinent,
ce genre de connaissances.
Donc, oubliez,
je ne vais pas dire
que je comprends
en profondeur,
mais j'ai utilisé le reflog
quand même,
suffisamment.
Mais,
pour moi,
le gitz est comme,
quand vous avez travaillé
sur le fait que
tout est un hash,
et tout est un hash
de hash,
ou un hash de bunch de hash.
Il se fait tous
se battre
comme si la mystérie se battrait.
Et je pense que le même
qui existe dans la hood
où,
quand vous entendez
comment
la metadata
dans la dotnet DLL
fonctionne,
je pense que la hood
se battrait aussi
et ça devient
un peu simple.
Je ne sais pas,
je peux en faire un explication
ou je ne sais pas
comment on veut
s'y arriver,
mais oui,
la clé pour moi est
que l'entraînement de la metadata
et puis,
quand vous avez un modèle mental
de ça,
c'est comme
la clé qui se dit,
ok,
c'est votre modèle mental
de la dotnet DLL,
et si je vous le dis,
c'est comment la hood fonctionne.
C'est comme,
oh, ok,
oui, ça fait le sens.
Ça semble bien.
Donc, on va parler
des databases relationnels.
Vous avez vu le talk.
Vous avez mentionné la première partie,
ce qui est ce que j'ai fait.
Et c'est,
je pense que c'est le modèle mental
pour moi.
Et je pense que je l'ai dit dans le talk,
comme,
peut-être que je suis élevé
de la conférence de database
pour dire ça,
mais
je regarde
les tables de metadata
et,
bien,
la première fois que je les ai regardées,
et donc,
personnellement,
je l'utilise à IELSPY,
j'adore IELSPY,
mais
la dotpeak est la même
et je suis sûr
que le réflectore
fait la même chose.
Ils vous montrent
la metadata.
Donc,
je pense que tout le monde sait
que dans la DLL,
dans la dotne d'IELSPY,
il y a IELCODE,
c'est vrai.
Le code est compagnie à IELSPY,
et c'est généralement
ce que nous regardons
quand nous regardons
ces tools comme IELSPY.
Vous pouvez either
regarder l'IELSPY
pour voir ce que l'académie
a été compagnie à,
ou vous le prenez
pour décompagner
l'IELSPY
pour voir les sharpies,
pour que vous pourrez comprendre
cela,
parce que je toujours
maintiens,
je ne veux pas savoir que l'IELSPY.
Mais à la fin,
il y a cette section
qui dit metadata
et,
vous savez,
peut-être que vous regardez
ça,
peut-être que vous ne le voyez pas.
C'est un peu de faillite
des numéros,
c'est un peu de haute adresse,
ça ressemble
à,
vous savez,
ce n'est pas horrible
de confuser,
mais
je personnellement
je ne sais pas
si j'ai eu une raison
d'être là,
je l'ai oublié.
Mais,
oui,
le modèle mental
qui a évoqué ça pour moi
est
en pensant sur
ceci
comme un database relative,
et ça,
c'est tout le monde.
Et en fait,
je n'ai pas compris
ceci,
donc j'ai fait la conférence
dans Sydney
en septembre,
et je sors de ne pas
savoir cela
à la fois.
Un couple de semaines
à la chatte de la team,
quelqu'un dans la chatte de la
dotnet,
vous savez,
la chatte de la run-time de la team,
quelqu'un
qui a donné une histoire
profonde de l'histoire de la start
de dotnet.
Et j'ai entendu beaucoup
de histoires différentes
sur les start de dotnet,
et je suis sûr que tout le monde
a
ceci était
très interne,
comme avant
c'était appelé dotnet ou tout,
la première idée
était de
utiliser le
Microsoft Access
JET database
pour protéger
ce metadata.
Et je me suis dit
que c'est
une relation de database.
Donc le façon que le
database de dotnet
fonctionne est
qu'il y a un database de relation.
Et donc
le metadata doit
décrire
tout ce qui est dans votre
DLL.
C'est
ce que la
plateforme cross-platforme
plutôt que
si vous appelez
un méthode
d'une autre DLL,
le compiler C-Shop
ne dit pas
qu'on appelle
ce file
de ceci,
ce file.
C'est pas un adresse de membre,
ce n'est pas de la haute l'élection.
C'est
un méthode
qui est appelé
de la ligne de droite
de la classe
appelée
console
dans un espace nommé
appelé
dans un
assemblée
appelé
système.console.
Et c'est le niveau
qui va à l'assemblée
de l'ampli.
Ça ne va pas être un filon
qui va à l'ampli.
Mais ça
déclare
la plateforme cross-platforme
parce que le temps de tour
dit
que
je dois trouver
un assemblée appelé
système.console.
DLL
ne cares pas
si c'est un assemblée appelé
ou système.private.callé
ou système.console.dll
quand .necool1.0
est arrivé
et ils pensaient
que c'est un 1000 DLL
avec 4 fonctions
chaque de ces.
Donc
le metadata
décrète
tout de votre code.
Et donc ça fait
un database relationnel.
Il y a un table
pour tous les types
que vous décliez.
Il y a un table
pour tous les méthodes
pour que
les types soient des méthodes.
Il y a un table pour les propriétés
il y a un table pour les fields.
c'est
si vous pouvez imaginer
créer un SQL
service database
pour décrire
votre code
pas votre architecte
pas votre application
mais votre code
c'est tout de même
ce que vous avez à proposer.
Et donc,
si vous avez un modèle mental
de relationnel database
tout le hot reload
est un bunch de statements
Donc
vous avez un
class
vous savez
personne
classique exemple
il y a un nom
du premier et du dernier
et un nom du propre
donc c'est
un
record
dans le table type
appel de personne
et il y a un clé primaire
on va juste assumer ça pour maintenant
et puis
le table propre a deux roses
un appel dernier et un appel premier
et
le
le
je ne m'en souviens pas
pour les propriétés
si le table propre
a un type id
de retourne
ou le table type
pointe forward
ça ne se passe pas
il y a un lien là
il y a une relation au niveau foreign
entre ces deux
donc on peut
on juste décrive le code
donc si je serais
à changer
pour exemple
les
propriétés sont terrible
ok
je suis commencé
avec un exemple
on va dire qu'on change
le type de retourne
de cette propre
on change
le dernier nom
d'un string
à
je ne sais pas
quelque chose d'autre
ce que hot reload
doit faire
c'est qu'il faut
dire le temps de tournevis
c'est deux choses
il faut dire
que le type de cette propre
a changé pour ça
et il faut dire
qu'il y a le code
pour cette propre
aussi
le code pour la propre
est sorti sorti
séparément dans ce bloc
et donc ça
juste donne
ce nouveau bloc de information
et le temps de tournevis
le fait qu'on le passe
mais ce changement
de type de retournevis
vous pouvez penser à ça
comme dire
trouver le rôme
pour le nom de la dernière propre
et éliminer
et ici sont les nouvelles vues
et tout le temps de tournevis
fait
c'est de couper les nouvelles vues
et c'est ça
donc si
le type de retournevis
a été dit de tournevis
et il dit
oui
tournevis
long de tournevis
je ne sais pas
le temps de tournevis
juste updates
et c'est ça
comment ça marche
comme
c'est comme simple
que ça
mais évidemment
c'est un
un simplification
donc et tout le temps
ce qui se passe
en mémoire
il n'y a rien
en fait
ce n'est pas touché
l'original metadata
ou quelque chose
c'est vrai
oui
donc
donc
le database existe
dans la DLL
et puis
le moyen que je pense est
le temps de tournevis
réglage de la DLL
et il sort
de la copier à sa propre
database en mémoire
ce qui est
le truc que tu es sorti
en courant avec la réflexion
tu n'es pas courant le file
le file n'est jamais réveillé
le file ne change pas sur le disque
ce qui veut aussi
dire que c'est
une update de relou
ça ne fait pas
nécessairement
produire un DLL valide
il n'y a pas de fonction
dans le temps de tournevis
pour sauver
le database de relou
réglage de la DLL
il n'y a pas de fonction
parce que
ce n'est pas représentatif
n'importe quoi
quand il a été réveillé
il y a des optimisations
et des choses comme ça
qui se sont réveillées
c'est une database de relou
qui est la façon de penser
sur ça
et
je m'ai juste dit
que le temps de tournevis
est des statements de relou
mais ensuite j'ai dit
que c'est un database de relou
comment ça fonctionne
donc
la DLL
c'est un défilé
le temps de tournevis
a un code qui sait
comment réveiller
et l'un des codes
est assez mal
premièrement
c'est écrit en C++
donc
vous savez
ce n'est pas pour la fête
de la tête de la read
mais
si vous
faites des changements
vous savez
ajouter un fil
pour un méthode
par exemple
ce n'est pas juste
insérer un fil
dans un database
parce que bien sûr
ce n'est pas vraiment un database
c'est une structure
en mémoire
et donc
après la temps de tournevis
s'exprime
cet insérer
il peut avoir de récalculer
un whole bunch
de data
en mémoire
il peut avoir de relayer
un whole bunch de arrays
ou des choses
parce que tout le monde
a de la ligne
bien et
il doit être
dans un certain ordre
etc
il y a
il y a tous les
toutes les règles
que le
le spec
vous savez
pour un .NET
DLL
il y a un spec
de ce que la DLL
doit être
comme
et ça doit être
maintenu
et donc le temps de tournevis
maintient
ça
dans ses représentations
aussi
donc
c'est
vous savez
dans certains respects
ce serait vraiment facile
si c'était un vrai database
mais bien sûr
c'est pas
mais
le temps de tournevis
ne t'en parle pas
et
je n'ai pas de problème
donc c'est bon
mais il y a un bunch de
où ça vraiment
s'intéresse
je pense
il y a
il y a beaucoup de optimisations
donc
si vous acceptez
que
il y a un database relationnel
dans votre DLL
et que vous acceptez
que ça a un table
dans les quarts
alors
c'est bon
c'est le modèle mental
mais la réalité
est bien sûr
très différent
parce que
si il y avait un vrai database
dans votre DLL
votre DLL serait énorme
et on ne veut pas
que vous
vous
et donc il y a beaucoup
beaucoup de travail
pour
nous voulons faire ces DLLs
comme petit possible
comme efficace possible
il se trouve que
vous savez
la code de tournevis
efficacement est
c'est
en fait relativement
bien
la texte C sharp
est juste
la plus efficiente
de la mode de tournevis
la code de tournevis
quand vous
convertir ça
à I L
il a un peu plus grand
il a plus grand
il a plus grand
si vous avez fait
AOT
compilé
il a plus grand
donc
il faut être
mindre de toutes ces choses
et donc
il y a un bunch de optimisations
et un bunch de shortcuts
qui sont mis
afin de obtenir
le size petit
mais c'est où
il y a des
trucs
et un peu de magie
qui vient de la
donc vous pouvez penser
sur le database relationnel
mais la réalité est
très différente
le meilleur exemple
je pense est
la clé primaire
donc
je dis qu'il y a un clé primaire
dans la table type
ou dans la table de propriété
et c'est quelque chose de
metadata token
et si vous regardez
l'I L
le code de tournevis
il vous montre le token
et c'est un
numéro de 8 digits
dans l'I L
et vous regardez
et ça ne signifie rien
mais
la première
pièce de
la première 2 digits
sont
une flague
ou ils vous disent
quelle table
cette clé est pour
donc la table
elle-même est encodée dans la clé
ce qui est vraiment bizarre
vous ne faites pas ça dans le database
c'est vrai
et puis la prochaine 3 bytes
sont
l'I D
mais si vous pensez sur ce database
le
Compile de C-Sharp
qui l'a écrit sur ce database
commence à la start
l'a écrit sur le bout de l'end
et puis il s'arrête
et ce n'est jamais
pas changeable
encore
donc
la vraie
ID
elles sont juste
incrementant
les integers
il y a 1, 2, 3, 4, 5
il n'y a jamais d'intérêt
il always commence à 1
ces sont les règles
bâquées dans le script
bon
donc c'est un peu de clé
mais ça fait encore sens
c'est le clé
mais si vous pensez sur
comment vous allez lire la DLL
donc vous ouvrez la DLL
et selon le spectre
la première table est
whatever c'est
on va prétendre que c'est la table type
c'est pas
je ne sais pas ce que c'est
mais donc vous readez la table type
vous readez la première ronde
bon
vous ne avez pas besoin de la prémarité
parce que je sais que je suis en train de lire la table type
qui est l'ID2
je sais que je suis en train de lire la première ronde
qui est la ronde numéro 1
donc je sais que la prémarité
doit être 0200001
je ne le dois pas être dans le database
donc
cette base de base avec les prémarités
et les clés foreigns
n'a pas vraiment eu de prémarites
elles sont complètement calculées
ce qui est
je pense qu'il n'y a pas de database
sur la Terre qui fait ça
mais pour moi c'est comme ça
la beauté de la ronde numéro 1
vient de ces petits tristes
que
si vous pensez à ça
d'un point de vue
qu'il y a un peu de data
et qu'il n'y a pas d'IDs
ça serait horrible
mais si vous commencez
à penser à ça
comme un database relationnel
et vous réalisez que c'est une optimisation
pour moi en tout cas
c'est comme
ça maintient sa compréhension
donc si
si la partie index est juste inférieure
et n'est pas déjà installée
c'est à dire que
ça ne fait pas votre travail
même plus difficile pour les réloads hot
pour les updates
parce que le numéro 5
n'est pas toujours pas le numéro 5
selon ce que l'autre se fait insérer
avant ça
exactement
oui
100% spot-on
et c'est où
c'est comme ça que je dis hot reload
le concept est simple
parce que c'est juste des statements updates
mais la réalité est
oui
c'est l'update de ce table
où
je ne suis pas sûr
parce qu'il n'y a pas de clé
pour la clé de l'air
oui
donc
le moyen que ça fonctionne
et je vais voir si je peux faire le summary
mais ne me le dis pas
donc le compiler C-Sharp
produisent des DLLs
qui suivent la spec 335
c'est tout ça
il ne sait que comment faire
pour hot reload
nous le disons
pour produire
ce qu'on appelle la compilation delta
donc vous avez eu votre original DLL
maintenant vous avez fait des changements
ça nous donne un delta
et nous avons dit à le compiler
allez produire une compilation delta
il ne le fait pas de le discurrer comme une DLL
mais la seule chose qu'il sait comment faire
c'est produire une DLL complète ECMA
donc il le write
des tables métodale pour cette delta
qui décrivent
tout le travail qu'il fait
donc
ce n'est pas ce que c'est
ce que c'est dans le delta
comme il compile la méthode
il ajoute une ligne pour la table
comme il compile la type
il y a une ligne
et donc dans la delta
toutes les ides
suivent les règles
donc elles vont tous commencer à 1
1, 2, 3, 4, 5
donc si j'ai 3 méthodes dans ma DLL
id 123
si je rééteins le milieu
le second
et fais un hot reload
dans la compilation delta
il doit être d1
il n'y a pas de gaps
il doit être en ordre
il doit être en ordre
donc ce que nous avons dans hot reload
ou dans la méthode continue
il y a deux extra tables
dans la metadata
qui sont appelées E&C map
et E&C log
qui signifie édite et continue
log et map
le log est un log
il dit le runtime
ce que l'édite et continue est fait
donc l'édite et continue
dit que je suis réétenu cette méthode
je suis réétenu cette type
par ajouter un nouveau méthode
ou je suis ajouté un nouveau fil
c'est juste un log
et la map
est pour les maîtres
les maîtres
donc la map dit
le numéro 1 de la compilation delta
est numéro 5 de la compilation originale
et en utilisant ces deux pièces de information
le temps de tour est capable de
prendre le nouveau data
referter la map
faire cela en ordre de le log
et faire les réputés
je vois que ça fait le sens
donc dans Rosalind
mon premier exposé dans Rosalind
est en train de faire
tout le test élevé
tout le dédicat et les choses
c'est tout le test élevé
je veux dire que la plupart de Rosalind
c'est fantastique
et donc
vous faites un test
qui dit
il y a un code
il y a un nouveau code
c'est ce que j'espère
la table métadone est toujours comme ça
et la map et la log sont les clés
comme ils doivent être bien réel
et vous devez faire sure qu'ils se font ce que vous espérez
c'est comme vous prouvez que ce test a passé
mais ces tables sont
il y a deux numéros de 4 bytes
dans le log
et un numéros de 1 byte
et la map a deux numéros de 4 bytes
donc c'est juste de la data de hex et de la data de hex
et vous êtes en train de le faire
et je suis comme
6, 4, 7
est-ce que c'est vrai ?
il m'a pris
comme
tu sais
il m'a pris un peu de temps
mais après je l'ai remarqué
comme oh attends je peux le lire maintenant
comme je n'ai pas besoin
je n'ai pas besoin de le décider
je peux le voir et dire
oh ça devrait être un 7
merde
c'est-à-dire que c'est comme la météo ?
tu peux maintenant voir la météo
exactement
et c'est comme
tu sais quand je dis que la mystérie se fait
comme c'est ce que je veux dire
je me souviens de
regarder les tables de metadata
dans IELS-PAI
et je pense que je l'ai dit
comme complémentation
sur comment il n'y a pas de bons tools
pour me montrer ce que ces tables de metadata
sont en fait
et j'ai eu un bunch de réponses
des gens qui sont beaucoup plus sourds
que moi
et qui sont en train de
essayer de le dire
et je l'ai réalisé quelques semaines plus tard
que, bien, la raison que ils étaient en train de le dire
et ne comprenaient pas assez
c'est parce que
il n'y a pas de meilleure visualisation
tu dois juste travailler sur ce que c'est
tu sais
les numéros magiques
ne sont pas vraiment magiques
ils justent le voir
si tu peux réaliser ce qu'ils sont
mais tu n'as pas besoin de visualisation anymore
je sais quand...
je me souviens que avant
j'ai seulement eu la chance
de regarder la vidéo
avant de faire un bunch
de la gym pour être là
mais à ce point
tu n'as juste pas pu mentionner
un tour appelé MDV
pour aider
visualiser
je ne sais pas si c'est pour visualiser
ce genre de choses
c'est appelé visualiser
MDV est pour meta data visualiser
mais c'est une app de console
qui produit texte seulement
donc
ce n'est pas très visuel
MDV est fantastique
donc
le personnage du team Rosland
qui m'a tourné tout le monde
et continue de faire
son nom est Tamash
il est très mou
je suis pas sûr qu'il a inventé tout
ou si pas
il est certain que
l'une personne qui le sait le plus
mais
je lui ai parlé de
comment
j'ai raison
pour ça
et pour ça
et il a dit
tout ce qu'il faut est MDV
MDV est le seul tour que tu dois
pour regarder la data
et je me suis dit
oh, c'est génial
je vais y aller
voir où il est
et ensuite il a dit
je pense que j'ai trouvé ça
et je ne pouvais pas le faire
comme c'était pas
c'est dans une réplique online
c'est en source d'open
mais tu ne pouvais pas le faire
c'était pas un tour
c'était un package de new get
ce n'est pas le cas pour moi
et je me suis dit
comment j'ai utilisé ça
ou quelque chose
et il a dit
MDV est créé pour les gens
qui ont lu
ECMA335
et je n'ai pas
mais non
c'est pas si mauvais
ce que ça fait
c'est que
ça fait des tables
comme textes
visualisations
et je veux dire
c'est une visualisation
parce que pour exemple
ça inclut les tokens de metadata
qui, comme je l'ai dit
ne existent pas
mais ça inclut eux
parce que ça les calcule
ça inclut tous les strings
dans ta DLL
tout le code IL est là
comme ça
ça tombe tout le monde
mais c'est le tour
et pour le moment
je sais que le seul tour
qui comprend
comment lire
les compilations Delta
aussi
et donc
quand vous parlez de la relou
c'est absolument invaluable
si vous êtes juste
regardé dans la DLL
il probablement
je dirais que ces jours
il ne vous permet pas de vous
montrer plus que l'IL
spy ou dotpeak
fait
parce que je pense que tout le monde
vous savez
dans la histoire
de dotnet
comme
comme c'est progressé
je pense que tout le monde maintenant
est
je pense que tout le monde
est plus intéressé
maintenant dans les internes
que
peut-être qu'ils étaient dans la vie
vous savez
il y avait ces tools
IL DASM
qui sont venus avec la frameworks
que je me souviens de
rassembler
et pensant
je ne sais pas pourquoi
j'ai voulu l'avis
et je l'ai fermé encore
vous savez
mais je pense que maintenant
on est sorti plus
en train de regarder
donc
je pense que pour la DLL
MDV
est
comme ces tools
mais oui
pour un hot reload
et pour l'édit
et pour continuer
ça vous montre
tout
basically
oui c'est très cool
donc en regardant
votre exemple
vous avez un exemple
qui
je pense que c'était un exemple simple
simple que vous avez dit
comment vous l'avez décrivé
quels exemples
qui ont été
vraiment
vraiment
truqués
pour se faire avec ce hot reload
des changements que vous pouvez faire
dans un code
c'est une bonne question
il y a un couple de
il y a un couple de choses
ce qui est
il y a un côté de hot reload
je n'ai pas vraiment parlé
encore
aussi
ce qui est
où
donc
le compiler
est évidemment partie de Rosland
mais le autre part de Rosland
est
l'expérience IDE
qui est partie
de Visual Studio
c'est aussi une partie de
des billes commandes avec des formats
partie de code
et c'est où
beaucoup de l'édit et continue
des choses
les vies
et
le travail est
de prendre votre code que vous avez édité
donc
donc
vous savez
vous travaillez en c-sharp
c'est très haut niveau
si vous changez
quelque chose dans un file c-sharp
nous devons travailler sur ce qui a changé
et
encore
pour l'efficité
nous voulons
ça être très vite
et nous voulons
le
pour
oui
nous pouvons juste
envoyer le whole projet
ou la toute solution
au sein de la compiler
et dire
compiler dll
et ensuite on va comparer les dll
et le travail va changer
c'est très lent
évidemment
et donc nous ne faisons pas ça
donc il y a un whole bunch de code
dans
le part de l'id part de Rosland
qui
fait
votre syntaxe
les
que vous faites
même si vous ne savez pas
et comparez-les
efficacement
et vient
avec
essentiellement
une liste de to-do pour la compiler
donc si je change
ce qu'il y a dans un méthode
le compiler
juste doit être dit
compilé
ce méthode
et donc quand il y a un whole projet
il basically
va par et dit
je suis sur le file a
est-il n'y a rien dans ici pour moi
de faire
et il regarde ce que c'est pour le liste
pour les deux
ce qui dit
ce qu'est le classen
le nom est aussi le méthode
tu sais
et il dit
rien pour a
rien pour b
ouh
il y a un méthode dans c
ok
donc il commence à passer par class c
et il juste va
par
trouver une propre
c'est un liste non
il a un méthode
et donc
on a produit un liste pour le do
les plus compliqués
choses
en tant que reload
concernant
est où
pour un assemblée
il y a
très peu de concepts
il y a des méthodes
il y a des fields
il y a des paramètres
il y a des propriétés
il y a des types
c'est pas ça
les spaces de nom
mais
les spaces de nom
c'est vraiment juste de data
ce n'est pas un truc
et même les propriétés
n'est pas vraiment un truc
parce que les propriétés
sont juste une méthode de la méthode
et une méthode de la méthode
dans les épisodes
les événements
sont un truc
mais aussi
juste un méthode de l'ad
et un méthode de remouvrage
dans les épisodes
donc dotnet
le assemblée dotnet
a une structure très simplifiée
c-sharp est un langage super riche
de l'étoile
et donc les plus compliqués
sont
par exemple
records
dans c-sharp 9
j'ai fait tous les codes
pour comment les records
travaillent et édite et continuent
et
c'était tellement divertant
parce que
quand vous
faites
le plus petit changement dans un record
il peut avoir un effectu huge
sur
ce que le compiler
va en faire
donc si j'ai un fil à un record
c'est un nouveau fil
mais le compiler
va aussi évoluer
ou il va aussi changer
le constructeur de copie
le méthode de 2 string
le méthode de print membre
le méthode de clone
le méthode de equals
le méthode de code de hash code
etc etc
et donc
quand
c'est Roslin's job
pour dire
vous, le développeur
a ajouté un fil
quand c'est Roslin's job
pour dire le compiler
ce qu'il faut faire
il faut dire le compiler
tous ces choses
Right
le compiler
sait que pour un record
il doit construire
un méthode de 2 string
mais il ne sait pas
que pour cette compilation delta
il doit le dire
à la DLL
au moins l'idée lui le dit
donc
beaucoup de la complexité
vient de
transmettre
en effet
de c-sharp
dans dotnet
ce qui est
un peu bizarre
parce que c'est le compiler's job
mais on aussi
doit le faire aussi
mais différemment
et c'est aussi où
beaucoup
beaucoup de rédits de route
viennent aussi
donc un rédit de route
est quelque chose où
la production de la production
n'est pas supportée
une des niveaux
que les rédits de route
viennent de
Roslin
parce que
on n'a pas
torté
cela
à la fin de la discussion
avec cela
encore
pour des features de la nouvelle langue
c'est souvent
le cas
ou
peut-être
cela a
un effet
compliquant
que c'est impossible
pour
faire cela
efficientement
ou tout
mais donc
beaucoup de complexité
vient
dans l'air
avant de l'accueillir
à tout le truc
de la nouvelle langue
que je m'ai même parlé
de
donc vous avez mentionné
une nouvelle langue
de features
que peut-être
commencer à penser
sur
et puis évidemment
faire une nouvelle version
chaque année
maintenant
et avec
plus de syntaxe
sur le genre de choses
dans le
presumably vous avez
de la
manière de faire
votre travail
très gravement
avec les designers de la langue
pour en faire sure
que vous êtes
en train de soutenir
la route de route
assez tard
sur
oui
donc
pas pas beaucoup
les designers de la langue
nous ne
bon
je ne suis pas
involved
à ce niveau
parce que
les meetings de la langue
sont en train
à 2h00
mon temps
ne sont jamais
déjà mis à l'un
mais c'est
ce que nous
nous ne voulons pas
faire de la langue
pour influencer
de toute façon
la langue
est ce que c'est
et il faut être
en train de se faire
pour ses propres
purposes
nous
parfois
peut
parler
à la développe
de la
la langue
sur
comment
ceci peut travailler
en internais
alors que même
alors
nous ne pouvons pas
se faire un peu
parce que
la production de
continue
ou la re-load
ne fonctionne
dans les billets de débat
et donc
nous pouvons
nous pouvons
prendre des shortcuts
donc
si vous avez
ever
regardé
dans la décompilation
d'un
comme un
method de sync
il produit
une machine de state
dans un billet de débat
et un billet de relance
ils ressemblent
très bien
et le billet de débat
a beaucoup d'expressifs
pour aider avec la débugging
et
c'est une classe
et pas un structeur
qui est utilisé pour la performance
comme
un structeur qui est utilisé
en mode de relance
pour la performance
mais dans la débugging
on utilise une classe
parce que c'est plus facile
de managé
donc nous
on peut
le faire
comme
nous avons mis
quelque chose d'extra-stuff
dans le PDB
juste pour nous aider
pour nous raisonner
sur les changements
pour la décompilation
et continuer
donc nous pouvons
faire un peu de
limitations là-bas
mais oui
nous avons
cette relation
avec le compiler
où
qu'un développe
qui est implementé
un feature
leur job est de
faire
la décompilation
et continuer
le travail
et je fais des quotes
là
ils ont basicement
de ne pas faire
le crash
alors
quand l'édition continue
a un nouveau constructe
de construction
il doit
ne pas
mourir
mais il n'a pas
de
réussir
les updates
possible
souvent
vont ensuite
après le fact
avec notre
un peu plus spécialisé
de la knowledge
sur
comment
les pieces de la décompilation
sont
pour ensuite
faire
ces works
donc
c'est ce qui signifie
que
c'est
une nouvelle décompilation
qui est
large
de l'un des jours
c'est juste
une édition de route
tu sais
c'est
oh
j'ai vu un sintax
arrête
c'est une édition de route
je ne peux pas le faire
et puis on va en venir
et dire
ok
c'est la façon
où on processera un record
et puis
et parfois
ça
tu sais
on doit
parler
à la temps de la décompilation
parfois
sur
comment on devrait représenter
ce
comment on veut nous
apporter
ce
parfois on le le décompile
et on ne parle pas
à la temps de la décompilation
et on le fait de la même manière
c'est les funs
je m'a récentiment aidé
de soutien pour délétir un méthode
mais le temps de la décompilation
n'a pas de soutien pour délétir un méthode
donc
on juste lie au temps de la décompilation
ce qui est fun
mais oui
c'est
je veux dire
quelque chose de
on a eu
des éditions de route
tu ne pouvais pas changer
un espace de route
sur une classe
par exemple
et
c'était
à
le niveau de la décompilation de route
si tu n'as pas encore vu
une décompilation de route
il a juste arrêté
et dit
que la décompilation de route ne peut pas continuer
et on en parle de ça
et comme la décompilation de route
a évolué pour d'autres features que nous faisons
on a sorti à un point où on a réalisé
nous pouvons soutenir ça
par juste retirer
ce petit code
on n'a pas de travail
pour un changement de nombre de spaces
tout à l'heure
parce que
c'est juste une nomme de type
et le compiler
compilera ce type
et le runtime
apparaît ce type
et c'est ça
il y a le code
le compiler ne le fera pas
si tu le références
par le nom de l'an
David
donc
Meurs
donc
j'te vois
de la
trône
des choses
d'un autre
travail
Ça me rappelle beaucoup, c'est un truc que j'ai mentionné, c'est qu'il y avait des choses qui se référentent,
et puis, il y avait juste d'ailleurs une bouche de choses.
Oui, il y a beaucoup de phares malades dans les deux, parce que, on veut le faire rapidement.
Et donc, il y a beaucoup de phares malades sur les changements de la formation de les phares.
Et tous les files de code ont, vous savez, c'est de ce phare, avec un lien à un PDF,
et tous les noms variables dans le code sont tous les lettres singles,
parce que c'est la représentation math qui était dans le papier et ils voulaient que ça se match.
Donc c'est facile de travailler si vous avez des idées.
Oh, j'ai hâte de ne pas.
Mais oui, c'est-à-dire que vous ne pouvez pas comprendre le code.
Je n'ai pas d'idée de ce que ça fait.
Quand il y a une bouche, je suis comme, oh non, hang on, est-ce que c'est une bouche
dans la plus commune subsequence ? Oh, j'espère pas, parce que je ne veux pas regarder ça.
Je me rappelle que le développeur avait travaillé avec les années auparavant.
Tout son code était juste, non,
j'ai pas de problème, mais j'ai eu des idées, et j'ai eu des idées, et tout ça.
Pourquoi pas utiliser les noms variables ?
Je suis déçus de cette question.
Je suis vraiment anoyé de voir Roslyn faire des tests,
parce que chaque classe s'appelle C et chaque méthode s'appelle M.
Et ils sont tellement courtes.
Et dans chaque proposement de langue, chaque spec,
il y a tous ces petites lettres, et ça m'a toujours anoyée,
parce que je ne l'ai jamais compris,
je n'avais pas raison de ça, ils étaient trop courtes pour moi.
Mais j'ai été complètement déçue, et maintenant, chaque fois que je fais quelque chose,
c'est une méthode classique.
C'est juste que j'ai été battu dans la subvention.
Oh, je l'ai perdu, je n'ai pas perdu de dire ça.
Donc, on ne parle pas de la charge de hot-reload
sans mettre sur le whole.net-drama, c'est un truc qui s'est passé.
Je me record.
On est allés parler de ça ?
Bien, je pense que...
Peut-être que je devais commencer avec le disclament,
mais je vais juste rapidement disclamer
que je ne suis pas un officiel de Microsoft Spokesman.
Je veux dire, ça a été passé, on peut parler de ça.
Je vais le prétendre.
Pour être 100% d'honneur,
je n'ai pas d'idée de ce que ce soit plus que d'autres.
Je travaille sur Rosalind,
dans l'engin de hot-reload.
Je ne savais pas que ça allait arriver.
Je ne savais pas que ça allait arriver
jusqu'à ce que je l'ai vu sur Twitter.
Je n'ai pas d'idée que ça allait être réversé
dans un blog poste, jusqu'à ce que je l'ai vu.
Je ne vais pas avoir de problème
pour réveiller les secrets,
car je ne sais pas d'autre.
Je pense que...
Je suis d'une opinion très basée
de beaucoup de la conversation
sur le drame qui s'est passé sur dotnet.
Ce n'est pas même dotnet.
Il y a eu un drame récemment
sur le go-putting-tellimétrie.
Par exemple, je ne sais pas si vous avez vu ça.
Mais il y a toujours
beaucoup de hot-takes
et des gens qui sont en train de se faire gratter.
Je peux comprendre ça.
C'est fun de faire un hot-take en Twitter.
Mais je pense que peut-être que...
Je préfère que,
quand c'est cool,
peut-être que je rentre un peu plus bas
et que je considère un petit peu plus grand
sur ce qui fait sens.
Donc,
le blog a dit
que c'était en train de se retirer
parce que la qualité n'était pas là.
Et je ne sais pas...
Je n'ai pas d'idée.
Je dois prendre ça comme face-value
parce que je ne sais rien.
Mais ce que je peux dire, pour sûr,
c'est que
jusqu'à la fois que je suis en train de joindre Microsoft,
je n'avais pas d'idée
que ça pourrait être
si involvementant
à l'application d'envers.
Comme...
S'il vous plaît,
je pense que c'est un machine
responsable de toutes les choses
et qui a des...
C'est visible.
C'est très visible pour beaucoup de raisons.
Et je...
Mon cerveau a été bloqué.
Il y a beaucoup d'extensions visuelles
envers Microsoft.
Et elles sont super populaires
à ce point où il y a beaucoup de commentaires.
Pourquoi n'est-il juste dans le studio visuel?
Et...
Je veux dire,
la simple réponse pour ça,
je peux commencer un extension visuelles
pour faire un projet.
Je peux faire des codes
et je peux écrire sur le marché.
Un an plus tard, je ne sais pas.
Si je veux mettre un produit,
un projet visuel,
il doit être...
Transléter en 14 langues.
Il doit être accessible,
un review de l'accessibilité,
une review de privé,
on a 14 tendances de compliance.
Et je ne les remercie pas.
Oh non, sorry.
6 des compliances de compliance.
Les autres tendances de qualité.
Donc,
il peut être difficile de s'enchaîner.
Et,
si on s'enchaîner,
on l'a.
On doit maintenir.
Et il doit être envers compatible
et on ne doit pas rassurer les gens.
Donc,
je peux totalement voir
que c'est une réalité possible,
possible, plausible.
Je n'ai pas d'idée.
Mais la autre chose que je pense que c'est intéressant,
c'est
les gens qui sont angrires
qui disent
que ça ne va pas se matter si c'est pas parfait,
on ne devrait pas l'enlever.
C'est bien.
Je suspect qu'il y a un grand overlap
entre les gens
et les gens qui sont angrires qui disent
que Hot Reload ne fonctionne pas,
Microsoft ne peut pas faire tout le monde.
Et,
c'est comme,
on ne peut pas le faire de toutes les manières.
La télémetrie qui est arrivée
avec Go,
Remainement,
c'est comme,
parce que
la Cli.
a la télémetrie.
La télémetrie est répliquée
quand vous vous rassurez.
Et ça vous dit comment décevoir.
Et je sais que beaucoup de développeurs
qui pensent que
la télémetrie est terrible.
Je vais l'enlever.
C'est bien.
C'est bien.
Je ne sais pas si vous faites ça.
Mais,
vous n'êtes pas aussi le personne qui dit
que la Cli.
a une liste de rayon.
C'est confusant pour les nouveaux développeurs.
Ils doivent être en train de le faire.
C'est comme,
peut-être si nous avons une télémetrie
de tous les développeurs,
mais on sait que nous pouvons.
Je ne sais pas.
Peut-être que nous ne pouvons pas.
Je n'ai pas d'idée.
Peut-être qu'il y a un grand bank
avec des développeurs millionaires
qui ne sont pas sur Twitter
et qui utilisent ça tous les jours.
Je ne sais pas.
Mais je tend à essayer de
éviter
le drama juste parce que
vous devez prendre un tour de la back
et que les hauts de la Cli.
Mais je suis heureux que
la communauté a été élevé
et
ils ont pris leur manière.
La change est faite.
Et Microsoft l'a écoutée.
Donc,
je suis très heureux
que ça va se passer.
Je sais qu'il y a aussi beaucoup de gens
qui pensent
que tout ce qui se passe
à Microsoft,
c'est un signage de Microsoft
en étant évole.
Ils commencent à spaller Microsoft
avec les signages de dollars.
Ils disent
qu'ils ont l'air de s'exprimer
sans extention.
Je l'ai oublié.
Je travaille pour Microsoft.
Donc, évidemment,
je ne vais pas dire
ce n'est pas ce qu'il y a.
Ils ne vont pas me croire
parce qu'ils pensent que je suis un chien.
Je peux seulement vous dire
en bonne confiance
que si Microsoft était évole,
je ne serais pas là.
Je suis en train de faire des jobs
dans des places sportives
que je n'ai pas voulu
d'étiquer.
Donc, je n'ai pas.
Mais, évidemment, je suis en biais.
Donc, bien sûr, je dis ça.
C'est...
Je n'ai jamais appris à Malice
ce qui est expliqué
par une confiance.
Je ne sais pas.
Je ne sais pas si je ne serais pas en confiance
en en parler des gens
à la fois.
Mais,
Microsoft est un grand endroit
avec beaucoup de gens.
Et...
les choses se passent.
Je ne sais pas.
Je suis désolé.
C'est une explication pour le pauvre.
Je pense que le problème est
qu'il n'y a pas
que beaucoup d'airquotes
et d'adaptes.
Et le fait que
quand ça arrive,
ça devient un grand problème.
Juste pour moi,
ça me dit que
si ces problèmes
se passaient tout le temps,
ce n'était pas un grand problème
parce que les gens ne l'ont pas attendu.
Donc, c'est un bon problème,
dans mon avis.
Et les gens
vont abandonner la plate-forme.
Je suis sûr que
certains de ces gens
sont en train de se séparer
de ces types de feedbacks.
Mais, je suis sur le terrain
des équipes de tooling
comme vous le dites.
Et surtout, ce que je fais,
c'est travailler sur la
édite de la RAZER
et de la Visual Studio.
Et je n'ai pas de
des issues de la guitare
créés
qui disent
que je ne peux pas
ne croire que ce n'a pas été fixé.
Si tu as une software
comme ça,
je vais utiliser le rideur.
Ou je ne peux pas
ne croire que nous payons
de la Visual Studio.
Et les gens sont
très passionnés
sur leurs tools.
Et je le vois.
Mais en même temps,
il y a
deux ou trois gens
sur la team de RAZER
qui sont des développeurs de temps
pour tous les millions
de customisations de Visual Studio.
C'est comme...
Microsoft est
un blog de plus de 200 000 employés
parfois,
mais ce n'est pas
ce que c'est.
Je veux dire, c'est ça.
Mais il fait
beaucoup de choses différentes.
Donc, oui,
je pense que beaucoup de
le drama
est
très fort.
Mais si c'était
plus
réel,
je pense que
la plate-forme
ne survivait pas.
Et pour la plupart,
je pense que les gens
sont de plus en plus.
Et
il y a eu des temps
dans le passé,
où je pense que les gens
ont artificiellement
essayé de créer un drama
pour leur propre bénéfice.
Et
ça n'est évidemment pas bon.
Il y a des acteurs
dans toute la communauté,
mais j'espère que
il n'y a pas de gens.
Pour ce qui est cher,
je pense que Dotnet est incroyable
et il se fait plus et plus
en plus de temps.
Donc, je n'ai pas de complétions.
Je me souviens aussi.
La main reason
que je suis en biais
c'est parce que
je n'ai
vraiment pas de c'est-à-dire
de se faire chier à ce point.
Et je ne veux pas
arrêter de faire ça.
Je l'espère.
Je l'espère que ça reste.
Juste parce que
d'ailleurs, c'est un travail.
Ce qui est aussi
intéressant de
penser à quand,
comme j'ai mentionné mon père,
être un programme de cobalt lifelong,
la pensée a s'occuper de moi
comme je l'ai fait.
Il a terminé sa carrière
parce que la compagnie
voulait réécrire
leur application de cobalt
dans Dotnet.
Et donc, il a pris
un contract de 1 an
pour maintenir les choses
de cobalt
et puis retirent
6 ou 7 ans plus tard
parce qu'ils n'ont pas encore
assez de cobalt
et ça a été
incroyable.
Il y a une chance
que je serai
dans ce même cobalt
si Dotnet
n'a pas de
réelité.
Mais
en tant que
ça a été encore
quelques années
avant que je retire,
c'est bien.
Je me sens
que ça va être
assez longtemps.
Donc, vous avez mentionné
que vous savez que c'est
un cobalt.
Donc, comment
faire des choses
de cobalt
pour les choses
comme F-Shop
ou VB.net?
Je pense que
vous me rappelez.
Je sais que VB.net
aussi.
Et c'est drôle
parce que
je l'oublie
beaucoup de VB.
Et
à l'extérieur
que
quand je
j'ai
toutes les tests
pour Hot Reload
et la cobe
pour Hot Reload
continue
c'est tous en C-Sharp
les plus
et donc je jure
et j'ai ma code
et mes tests
et tout est gris
et j'ai ouvert un PR
et j'ai pu
mais bien sûr
je ne suis pas
sur ma machine locale
je ne runne pas
tous les tests Rosland
parce qu'il y a 100 000 plus
de ces tests.
Et donc, je n'ai complètement
oublié que ce soit un projet
qui a un peu de tests VB
et ils ne l'ont pas
parce que je n'ai pas
écrit les codes.
Et donc, je suis
Oh, VB
et je dois aller
et j'ai bien sûr
j'ai de l'alimenter
en VB
donc les sémi-colons
à chaque fois
et je mets des brackets
sur mes statements
je n'ai complètement oublié
mais
la
ligne en termes
d'édition continue
avec VB
est
que
si il y a des raisons
qu'on ne peut pas
supporter
on le fait
et donc, il n'y a pas
une raison
qu'on ne peut pas
supporter
pas d'autre
et c'est parce que
encore
on est principalement
en partant
comment on update
un DOL
et DOL
est un langage agnostic
donc
ça marche
des choses ne sont pas
comme
je n'ai pas besoin
de faire des records
en VB
évidemment
parce qu'on ne peut pas
faire des records
mais pour la plupart
on le fait juste
F-Sharp
n'est pas
n'est pas invoûté
parce que l'édition continue
est une feature
Rosland
et F-Sharp
n'est pas utilisé
Rosland Compiler
est C-Sharp
et VB
et donc
l'édition continue
est une feature
C-Sharp et VB
il n'y a pas
de
rien de
arrêter
F-Sharp
de créer leur propre
ou de faire des records
peut-être
de supporter
et de continuer
je ne sais pas
il n'y a pas de
rien de stopper
dans certains respects
je me demande
si ce serait plus facile
en F-Sharp
parce que
la main chose
avec Hot Reload
et l'édition continue
qui fait ça
difficile
c'est que
le travail est
de maintenir votre state
et
en F-Sharp
oui
votre application
a un state
mais vos fonctionnalités
en général
ne sont pas
les plus
potentiellement
c'est plus facile
en F-Sharp
mais
peut-être
avec un approach
complètement différent
c'est ça
ce n'est pas
ça
ce genre de chose
comme le temps
de la course
Hot Reload
n'a pas de
un délire
parce que
il n'y a jamais un délire
donc
si le mode actif
d'adverter un autre
est de l'étergner
pour 10 méthodes
ça ne fait pas mal
donc
potentiellement
en F-Sharp
aucun changement
peut être
on va juste créer un nouveau
parce qu'il n'y avait pas
un state
de toute façon
et si on update
tous les sites
pour être le nouveau
sous la coude
personne ne le verra
je ne sais pas
ce sont des spéculations
mais oui
c'est général un feature
et puis évidemment
ZAML
ont leur
et ils font
les choses
des choses comme
Razer
parce que Razer
génère ce C-Sharp
donc maintenant on va
retourner au Rosland
je pense que
avec F-Sharp
je peux pas être
pas un developer
F-Sharp
mais je sais que
en F-Sharp
ils utilisent
un style de réplique
pour programmer
beaucoup plus
où vous pouvez
juste sélectionner
un F5
et un de ces
des blocs
donc peut-être
cela peut être
plus ou moins
peut-être plus ou moins
mais je pense que c'est
le même
c'est le même chose
où la raison qu'ils peuvent
faire ça
facilement c'est parce que
la fonction est un
1er classiste
donc présumément
si vous pouvez juste
ranger une fonction
vous pouvez probablement
juste rééter
une fonction
mais je ne sais
oui vous pouvez le faire
peut-être
c'est pas nécessaire
donc
est-ce qu'il y a
quelque chose d'autre
que nous avons mis
avant de passer sur les pics de devs
quelque chose de tout
je n'ai pas d'idée
je peux parler
beaucoup plus
mais encore
c'est comme
je ne sais pas si nous avons besoin de
je pense que
la chose que je vais ajouter
avant
des pics de devs
mais c'est un peu
chiant parce que c'est un peu
un tip peut-être
il y a un attribute
que vous pouvez appeler
pour votre code
pour aider le reload
donc
dans mon temps de spare
beaucoup d'années
j'ai été streamer
sur Twitch
et j'ai écrit un jeu
et
le reload a travaillé
parce que c'était un code
C sharp et c'était dotnet
et c'est tout le monde
et je n'ai pas besoin
de faire tout le monde
mais
mon jeu
pour la vitesse
a cahé
beaucoup
des maps et beaucoup de
des séparements de dessins
et des choses comme ça
et donc
si j'ai changé
comment
un track
parce que mon jeu est
sur les trains
si j'ai changé
comment un track a été
dessiné
je peux appeler le reload
et
je pense que je vous ai mentionné
dans le début
le reload hot
va opter le code
mais c'est un autre chose
c'est un framework
un framework ui
pour assurer que le code
roule
et donc dans mon jeu
j'ai écrit le cache
moi-même
et donc
personne ne va
invalider le cache
et faire sure que le
réglerie est réparée
donc il y a un attribute
que vous pouvez mettre
dans votre code
donc vous allez être
appelé
par le runtime
après qu'il appuie
un update hot reload
et ça vous dit
que les types ont été
réapdés
donc vous pouvez
faire des scopes
et donc vous pouvez
invalider le cache
ou vous pouvez aller
et download un autre file
ou vous pouvez faire
ce que vous avez besoin de faire
mais c'est
comme le
le plus important que je pense
que nous ne parlons pas
vraiment beaucoup
en Microsoft
et c'est
c'est un peu
néer
parce que c'est vraiment
sur votre type d'application
mais
il y a je pense
beaucoup d'applications
où
si le hot reload
ne fonctionne pas pour vous
dans un moyen
que vous pressiez le hot reload
et ça semble que
rien ne se passe
mais il n'y a pas d'erreurs
il pourrait être
que vous avez besoin
d'utiliser ça
pour juste aider
le temps de run
et travailler
ok vous avez réapdé le code
mais vous avez besoin de
le faire
c'est le raison
que le hot reload
ne fonctionne pas
avec les API minibles
parce que
ce programme
se fonctionne
et c'est ça
si vous changez
vous pressiez le hot reload
Roslyn
va réapdéter le code
je vous promets
que vous avez réapdé le code
mais rien ne se passe
et c'est
le point de mon travail
donc c'est up
pour quelqu'un
donc ils tentent de travailler
ça
et ils vont utiliser ce attribute
mais vous pouvez utiliser
ce attribute
donc
si vous avez
pour le bon type d'application
pour une application
assez grande
où vous faites votre propre caching
vous faites votre propre
tout le monde
code generation
si vous avez des scripts
vous avez des plugins
ça pourrait être
quelque chose
pour se faire
pour se faire
briser ce gaffe
entre
tout ce que j'ai parlé
pour l'heure
et en fait
être relevant à votre travail
c'est assez fascinant
je me sens
que je dois juste
mettre ce attribute
de toute façon
et juste voir le code
et se faire briser
et ça me semble
assez intéressant
de savoir que vous pouvez
mettre ça
je n'ai pas mentionné
le nom de l'attrude
et je n'ai peut-être pas
oublié
c'est
metadata
je sais
metadata
qu'il faut appeler
je pense
on peut le mettre
dans les notes de la show
je vais essayer de
trouver un lien
sur la documentation
c'est un document
c'est un public
mais c'est pas
quelque chose
on peut parler
trop de choses
que j'ai vu
en tant que
vous savez
c'est quelque chose
que vous pouvez ajouter
à votre code
pour faire
cela plus bas
en bas
c'est très cool
donc
en regardant des tips de dev
vous avez déjà fait
ceci
mon tip
j'ai déjà fait
ceci
parce que je me souviens
de la guitre
je vais juste
dire
je recommande
si vous utilisez la guitre
et si votre développeur ne vous
n'a pas fait
juste prendre un peu de temps
juste apprendre
comment
les mémétrer et les blocs
ces types d'objets
travaillent
et j'ai fait
le 15 minutes
d'intervention
sur YouTube
qui peut inclure
les notes de la show
expliquer comment cela fonctionne
mais c'est une des choses
qui est
très surprise
super simple
quand vous
vous vous en faites
apprendre
à penser
c'est ça
et puis
il y a des changements
vous n'avez pas besoin
de savoir
que vous utilisez la guitre
mais quand vous utilisez la guitre
avoir ce knowledge
qui change
votre perspective
de comment
cela s'est mis ensemble
c'est assez sympa
je suis un grand fan
d'understand
une abstraction
d'objets
où vous avez besoin
je suis un grand fan
en général
j'aime cela
spécifiquement
avec C-Sharp
chaque fois que je vis
une nouvelle feature
de la langue
j'ai ouvert la lab
et j'utilise
et je regarde
ce que la code de décompile
ressemble
parce que je suis intéressé
parce que je ne pouvais
ne pas aller
avec comment
je peux impliquer
mais je peux
regarder
ce que les gens ont fait
et dire
oh, c'est intéressant
je l'aime
je pense que c'est un truc
qui informe
comment vous faites
tout et vous aide
dans toutes les situations
je dois avoir un tip de dév
je l'ai préparé
et
comme un
exceptionnel
d'un écart de l'écart
depuis l'épisode 1
je vais dire que c'est un tip de dév
parce que je suis un grand fan
mais le autre
je l'ai mentionné
que
nous avons
pu déterrir les méthodes
en hot reload
par juste
de la runtime
et je l'aime
parce que vous pouvez
mettre tous les types de crimes
mais
mon tip pour hot reload
si vous vous mettez un édition
que c'est
insurmountable
donc, par exemple
vous pouvez
vous ne pouvez pas
capturer
une nouvelle
variable
dans un expression de lambe
il n'y a rien que vous pouvez faire
pour ça
hot reload ne supporte pas
il n'y a pas de information
dans le DLL
pour nous faire
avec ça
donc on ne peut pas
peut-être que un jour
on va pouvoir fixer
mais au moment
si vous vous mettez
cette limitation
c'est le final de votre session hot reload
donc ça ne vous aide pas
avec la salle de la salle de la salle
donc le tip de la salle de la salle
c'est
si vous vous mettez
dans une situation
où
vous ne pouvez pas
changer l'inside
d'un méthode
pour un certain raison
délicurez le méthode
appuyez hot reload
ça va
faire ça
presser c'est contrôlé
à undo
ou contrôlé Z
si vous êtes en Amérique
et changez votre code
pour
capturer cette nouvelle
chose dans le lambe
ou faire votre méthode
async est un grand exemple
vous n'êtes pas allowed
à faire un méthode async
mais si vous délicurez le méthode
hot reload
puis vous mettez un méthode
avec le même nom
qui se passe
à être async
Roslyn va dire
oh vous avez ajouté un méthode
oui vous êtes totalement
allowed à ajouter un méthode
c'est bien
et ça va facilement faire l'update
c'est un peu d'aujourd'hui
parce que vous vous mettez
deux méthodes
un de eux n'est pas async
les deux sont tous les mêmes
qui sont invalides
et c'est charp
mais encore
nous avons à produire
.NET DLL
et .NET
ont plusieurs méthodes
avec le même nom
et différents types de retours
donc c'est mon tip de la salle
délicurez le méthode
et puis vous mettez un autre
c'est assez cool
je tend à
juste...
parce que je ne suis pas sur le command line
c'est comme si
si il y a un point de restart
il dit
que vous vouliez faire ça automatiquement
depuis maintenant
qu'il y a une fois dans cette execution
donc je tend à toujours faire ça
et puis on va assumer
que c'est un bon tip
mais c'est un cool tip
je vois beaucoup de gens
dire
hot reload
seulement fonctionne pour moi
en .NET Watch
et
Limps
W
mais
Doc
le
mais
parce qu'ils sont tellement vite.
Je me souviens de faire des tests de la load,
comme de boire un site sur le portal Azure.
Et nous étions en train de faire un grand tour.
C'était génial, nous pensions que tout allait bien.
Et ensuite nous avons regardé les loges.
Et le site de web
était toujours râle.
Mais le portal a juste créé un nouveau copier
et nous avons toujours été en train de le faire.
Nous n'avons jamais eu de la même chose.
Nous avons juste eu un code terrible.
C'est comme, on a des cycles CPU.
C'est drôle.
C'est drôle.
Je pense que je vais juste se dépasser
et la mémoire et tout est tellement mieux.
Je me souviens de la partie de la industrie des jeux.
Et nous étions en train de faire la CNC.
Nous étions en train de faire la CNC.
Et nous étions en train de faire la cache,
des mécis et tout.
Et je ne pense pas que ça soit dans une longue période.
Je fais un nouveau développement.
Je ne fais pas de jeux anymore.
C'est probablement le type de apps que je travaille.
C'est moins d'un problème.
Il y a encore un problème.
Il y a des types de apps où ça reste.
Et le studio visual est un bon point.
Parce que le studio visual a millions de utilisateurs.
Et il n'y a pas de choses comme un cas de l'Edge.
Si vous vous faites des codes,
vous pensez que ça va travailler pour 99% de gens.
C'est génial.
Mais il y a des gens qui sont dans le 1%.
Et il y a
beaucoup de performances optimisation
que nous devons faire.
Et c'est un problème.
Si vous avez écrit un blog
qui dirige que tout le monde fait ça,
vous seriez rassuré sur Internet.
Parce que c'est
la optimization de la prime.
Mais sur le programme de la même manière,
un jeu est un bon exemple.
Tout ce que je disais,
c'est parce que tout le code m'a fait rire
dans 16 milliseconds.
Ou mon jeu se sent terrible de l'utiliser.
Et c'est un limiter difficile.
Je ne peux pas le faire.
Donc, il faut que
parfois, vous devez
aller dans les weds et
faire des choses.
Oui.
Avec le jeu,
parce que c'est généralement dans un loop.
chaque situation où le loop a de 60 secondes.
Donc, 60 secondes.
Vous devez
faire sure que les performances sont performées.
Exactement.
Vous faites un timer
60 secondes.
Et puis,
vous le faites rapidement.
Vous êtes en train de
faire deux choses à la fois,
et tout va bien.
Ou vous êtes délétant.
Ça vous montre très rapidement.
Cool.
On est probablement en temps.
Mais si vous avez
l'intention de votre NDC,
je vais le mettre dans les notes de la show.
Vous avez des diagrams.
Ça peut être plus facile de comprendre.
Un peu plus visual.
C'est très bien expliqué.
Je vais regarder la deuxième part de la vidéo.
Je vais le mettre dans les notes de la show.
Je recommande à tous les regarder.
C'est vraiment intéressant.
Mais, aparte de ça, où est le meilleur place
pour les listeners pour s'occuper de vos questions?
Bien, je suis en master.
Je suis à David Wengie
et au odds.social.
Mais, probablement, le plus facile de ce genre,
c'est juste Github.
Avec notre fancy Github
Readme, on a des choses à créer.
Github.com.
Vous pouvez voir ce que je suis en train de travailler.
Vous pouvez regarder
tous les codes que j'ai écrit pour le travail.
C'est un peu horrifique de penser.
Mais c'est une chose.
Vous avez été donné sur Twitter?
Je...
Je n'ai pas...
Oui, je vais dire oui.
Je pense que je vais avoir la app sur mon téléphone.
Mais je ne les donne pas.
Je n'ai pas été en train de faire des notifications.
Je n'ai pas...
Je n'ai pas tweeté quelque chose long.
Je suis sûr que je l'ai disparu.
Je l'ai fait.
Je pense que je suis en première wave.
Mais je suis en train de m'en servir.
Je suis en service australien.
Et...
Je suis...
En Twitter, je suis connecté à
beaucoup de people.
Et surtout, ils sont dans un temps non compatible.
C'est assez bon.
Parce que Twitter n'a pas eu une grande distraction pour moi à travailler.
Parce que tout le monde était en train de dormir.
Mais c'était aussi...
Il y avait quelque chose de m'inquiétant.
Sur le service de service australien
je vraiment aime le fait que
quand je réveille le matin,
je peux regarder un liste de gens
qui disent que le matin est bon.
Il a l'air un bon jour.
Je me souhaite que c'était plus important.
C'était juste Melbourne.
Mais...
Je m'en ai été aménagé de cet aspect de MasterDawn.
Et je ne vais pas essayer de replier Twitter.
Donc...
Je m'ai délibéré
pour ajuster mon use social
de la société.
Je pense que MasterDawn
est le fait que tu peux suivre
les hashtags comme si c'était un user.
Je trouve ça très bien.
Je utilise les hashtags beaucoup plus...
Je ne peux pas dire tweets, mais ils sont appelés hoots.
Ils étaient appelés hoots.
Et je pense qu'ils ont changé les postes.
Mais ça peut arriver en plein circuit.
Je me suis dit que je suivais
les hashtags de C-Sharp.net.
Je vois de nombreux
de gens différents.
C'est fantastique.
Oui, j'ai utilisé
les deux, mais je n'ai pas
pas de sétil.
Je pense que je ne dois pas.
J'ai deux tabs à l'open.
C'est tout bon.
Et tous les links socials
qui sont mentionnés, vont être dans les notes de la show.
Merci beaucoup
pour vous joindre.
C'est vraiment fascinant.
Merci, j'ai apprécié.
C'est une honneur pour le 50e.
Oui, c'est assez excitant.
Il y a quelques années, mais on a
passé au 50e.
Je suis content de parler de tout à l'heure.
C'est très bien.
Absolument.
Merci à tous d'avoir écouté.
Je vous remercie de ce podcast sponsorisé
d'Everstack, qui est mon propre company.
Je vous remercie de vous remercier
de la question de la question de la question
de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la
question de la question de la question de la question de la question de la question de la question de la question de la question de la question de la question de La Betty
C'est un peu de ma brain qui me demande de faire le réacteur, parce qu'il ne fait pas trop vite.
Il ne fait pas le temps que je le fais. C'est drôle.
J'ai vu Richard Campbell faire le « Donnet Rocks » live tous les jours, et ça ressemble à 100% identical.
Tout le temps.
Il fait juste ça.
C'est juste un drôle, n'est-ce pas ?
Oui.
Avec la YouTube, je suis...
Avec le podcast d'éditing, c'est vraiment...
Tu peux m'avoir entendu un peu de temps, juste aller en bas un peu et commencer à parler, parce que je sais que je vais l'éduquer.
Et tu peux le faire très, très facilement.
C'est un édiciel assez facile, parce que tu n'as pas l'air de l'humaneur, mais un peu l'humaneur.
Mais en fait, c'est surprenant de voir...
C'est comme dans certains des épisodes, que chaque phrase a des chops.
C'est difficile de le dire.
Mais avec la YouTube, tu as la vidéo dans le jumping, donc tu ne peux pas vraiment faire ça en tant que certain.
Oui, c'est pourquoi.
La grande raison que j'ai commencé à streamer sur Twitch, c'est parce que je savais que je n'aurais jamais voulu éduquer un vidéo.
Je me suis dit que je vais le faire en live, et sur Twitch, il n'y a pas d'expectation que ce soit pas en live, donc la pression était offre.
Parce que...
Je suppose que la vidéo YouTube est...
La main-dame est d'éduquer, non?
Ce n'est pas même de la création de content, mais c'est juste d'éduquer.
Je l'ai dit.
J'aime l'idée de...
...un short...
Il y a beaucoup de choses qui viennent par votre plate-dame, et tu penses...
...que je pouvais juste faire un explémentaire de 10 minutes sur ça, et que ça soit vraiment bon.
Parce que c'est une question que je vois sur Twitter, ou Slack, ou Discord, ou autre chose.
Je fais un vidéo, mais je sais que ce vidéo de 10 minutes serait de 4 heures de recording.
Sorry, pas aujourd'hui.
Je dois dire que j'ai beaucoup d'injoins, parce que je commence à apprendre la résolve.
Je suis beaucoup d'injoins, la rédaction et la façon de faire différents effets et trucs.
C'est bon.
C'est comme ça, quand j'utilise mon idée, je vais apprendre les différents shortcuts de la télévision.
Avec un podcast, je fais des auditions d'Adobe, je m'ai appris qu'est-ce qui est le plus rapide de chaque chose.
Donc je peux être assez rapide avec ça.
Je fais le même avec la résolve de Divinci.
Et je pense que, après avoir fait ça quelques fois, ça devient plus rapide et plus rapide.
Et je suis nouveau à la rédaction YouTube, mais je suis en train de speeder les vidéos d'une à une fois.
Et j'aime bien ça. C'est juste une autre chose à apprendre et à jouer avec.
Et YouTube est...
C'est pour ça que j'ai des vidéos de chope.
Les gens savent que c'est ce que tu dois faire.
Il y a un threshold, mais je pense que pour une vidéo de plus petite, je pense que c'est tout de même raisonnable.
Quand tu as un vidéo de 1 heure et tu as toujours une chope, je tend à être en train de dire,
Je suis en train de faire des vidéos de plus petite, mais je n'ai pas de temps pour les vidéos de plus petite.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'est un peu de plus rapide.
Et je pense que c'estné.
Et je pense que c'est dangereuse mais tellement mauvais feux.
Mais je pense qu c'est un peu d'agеро Yin En bot pour faire un rôle en Firebase.
dans scan cam auch inter ve en bas.
plus.
J'ai été en train de travailler tous les années, quand mes enfants étaient des enfants et
des choses.
Et c'était très...
Je ne sais pas si ils ont remarqué que j'ai été déçue parce que c'est un truc trop
jeune.
Et maintenant, évidemment, ils sont à l'étage 11.
C'est complètement différent.
Un jeu différent pour eux, mais aussi, nous avons une relation différente où nous
jouons des Xbox ensemble.
C'est comme si nous...
Oui.
Oui, oui.
Oui.
Oui.
Avec les enfants, vous avez besoin de beaucoup de choses avec eux aussi.
Et si vous avez travaillé ça avant d'être à l'âge où ils ne veulent pas venir
plus tard, il n'y a pas vraiment de gens.
Vous pensez à combien de gens il y a?
Non, je suppose que mes âles sont seulement quelques années de plus.
Pas de venir, mais d'être trop jeune pour ne pas venir.
Et donc, nous avons un argument pour une semaine.
Mais aussi.
Oui, moi, je suis en 6 et 9 ans.
Oh oui, un peu de années.
Oui, un peu de années.
Oui, un peu de années.
Oui, un peu de années.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Oui, oui.
Qu'est-ce que ça fait ? Il faut que je fasse trop tard.
C'est juste que j'ai passé 10h30. C'est pas trop mal.
C'est pas trop mal.
Je sais que je vais aller à la maison à 1h30, donc c'est trop tard pour moi.
On a un couple de switchés de l'air.
J'ai le programme de l'envers des lignes à 10h.
Si je suis toujours sur le couloir et la lumière sur les lignes se dégâche,
je vais dire que je devrais finir l'épisode ou tout.
Je vais aller à la maison et aller à la maison.
C'est un bon signal.
Mais oui, je suis toujours en train de m'embaîter par là-bas,
mais je vais être sur mon téléphone pour tout ce que je dis.
C'est tout bon.
Ah, je suis content.
Je vais vous laisser aller à la maison.
Je vais prendre un autre écran pour voir si c'est le cas.
Tu es prêt à faire un tweet ?
Tu as un écran à faire ?
Bien sûr.
Je suis prêt à faire un tweet et un post.
Mais il fait tout.
Mais tu dois le faire parce que je ne suis pas prêt.
Je suis content. Je vais faire les deux.
Et tout le monde se voit tous les lignes.
Cool.
Ah, c'est pas vraiment ma couche de couche.
C'est bien.
Merci beaucoup pour l'invite.
C'est ok.
Je vais vous remercier de faire ça encore.
Je vais vous donner un liste de problèmes que je sais pas.
Vous pouvez me demander si vous savez ce que c'est.
Episode suivant:
Les infos glanées
TheUnhandledExceptionPodcast
Tags
Brighter - with Ian Cooper