Andrew Burgess
Andrew Burgess
  • 94
  • 928 582
how TypeScript 5.5 makes safer types in fewer keystrokes
TS 5.5 Announcment: devblogs.microsoft.com/typescript/announcing-typescript-5-5/
*My Links*
shaky.sh
shaky.sh/tools
#programming #coding #typescript #javascript
#frontenddeveloper #backenddeveloper #softwareengineer #softwareengineering #softwaredevelopment
Переглядів: 2 406

Відео

How to use WeakMap and WeakSet in JavaScript
Переглядів 3,3 тис.2 місяці тому
*My Links* shaky.sh shaky.sh/tools andrew8088 mastodon.social/@andrew8088 #programming #coding #typescript #javascript #frontenddeveloper #backenddeveloper #softwareengineer #softwareengineering #softwaredevelopment #weakmap #weakset #expressjs
will i never understand this? unknown.
Переглядів 3,3 тис.3 місяці тому
i think I only said "covariance" when I meant "contravariance" once ... *My Links* shaky.sh shaky.sh/tools #programming #coding #typescript #javascript #covariance #contravariance #frontenddeveloper #backenddeveloper #softwareengineer #softwareengineering #softwaredevelopment
Responding to YOUR feedback about promise concurrency
Переглядів 2,4 тис.4 місяці тому
Thanks for all the great comments on my last video! *My Links* shaky.sh shaky.sh/tools
Managing Promise Concurrency in JavaScript
Переглядів 7 тис.4 місяці тому
Check out the code for this video here: gist.github.com/andrew8088/7ecdf23aab7412fe9c702f8ca0387768 *My Links* shaky.sh shaky.sh/tools #programming #coding #javascript #promises #concurrency #frontenddeveloper #backenddeveloper #softwareengineer #softwareengineering #softwaredevelopment
Disposable in TypeScript: Explicit Resource Management
Переглядів 1,8 тис.5 місяців тому
We got using/dispose aka explicit resource management in TypeScript 5.2. In this video, we look at a couple examples of how to use this tool in practice. - mock - 0:37 - object pool: - 4:25 - transaction - 10:55 Check out the code for this video here: github.com/andrew8088/ts-using-dispose-example *My Links* shaky.sh shaky.sh/tools andrew8088 mastodon.social/@andrew8088 #programming...
Advent of TypeScript Play-Through! Days 1 - 13
Переглядів 2,7 тис.6 місяців тому
Chapters - Day 1 - 0:46 - Day 2 - 1:50 - Day 3 - 2:40 - Day 4 - 3:34 - Day 5 - 5:00 - Day 6 - 7:18 - Day 7 - 11:01 - Day 8 - 14:58 - Day 9 - 17:19 - Day 10 - 21:52 - Day 11 - 23:30 - Day 12 - 28:16 - Day 13 - 33:29 - Conclusion - 46:52 Advent of TypeScript: typehero.dev/aot-2023 Distributive Conditional Types: shaky.sh/ts-distributive-conditional-types/ Thanks to @MichiganTypeScript for all the...
Advent of Code ... in Types Only!
Переглядів 2,9 тис.6 місяців тому
Check out the code for this video here: tsplay.dev/N5QZVN *My Links* shaky.sh shaky.sh/tools andrew8088 mastodon.social/@andrew8088 #programming #coding #typescript #javascript #adventofcode #frontenddeveloper #backenddeveloper #softwareengineer #softwareengineering #softwaredevelopment
old TypeScript syntax I just discovered
Переглядів 3,8 тис.10 місяців тому
This is an exceedingly nerdy dive into the topics of covariance and contravariance in TypeScript. Prefer to read about this topic? Read the accompanying blog post here: shaky.sh/ts-covariance-contravariance/ Check out the code for this video here: tsplay.dev/mqypYm *My Links* shaky.sh shaky.sh/tools andrew8088 mastodon.social/@andrew8088 #programming #coding #typescript #javascript ...
Syndication made simple! #ownyourdata
Переглядів 1,9 тис.11 місяців тому
X no longer marks the spot where I wanna be sharing thoughts ... github.com/andrew8088/pidge micro.blog 11ty.dev/ indieweb.org/POSSE *My Links* shaky.sh shaky.sh/notes andrew8088 mastodon.social/@andrew8088 micro.blog/shaky #posse #ownyourdata #vercel #mastodon #microblogging #twitter
Is functional programming worth it?
Переглядів 4,1 тис.11 місяців тому
I've been playing with functional programming and algebraic data types recently, and I'm not sure the trade offs are worth it. Code from the video: github.com/andrew8088/habits.sh *My Links* shaky.sh shaky.sh/tools andrew8088
5 Tips for Classier TypeScript
Переглядів 4,8 тис.11 місяців тому
If you're using classes a lot in your TypeScript code, here are several useful tips for you! 5 Tips 00:05 - Classes are both types and values 02:18 - Truly Private Fields 03:41 - Parameter Properties 04:36 - Assertions & Guards 07:07 - Handling the type of `this` *My Links* shaky.sh shaky.sh/tools andrew8088 mastodon.social/@andrew8088 #typescript #coding #programming #javascript #e...
TypeScript 5.2 new features review!
Переглядів 8 тис.11 місяців тому
The TypeScript 5.2 beta was announced a few days ago, and there are some pretty banger new features coming up! Let's take a quick look at what we'll getting soon. *My Links* shaky.sh shaky.sh/tools andrew8088 mastodon.social/@andrew8088 #typescript #coding #programming #javascript
How to use sed to automate big code changes (GUIs hate this trick)
Переглядів 6 тис.Рік тому
How to use sed to automate big code changes (GUIs hate this trick)
this regex identifies prime numbers (reaction)
Переглядів 113 тис.Рік тому
this regex identifies prime numbers (reaction)
How do closures work? (JavaScript Fundamentals, 2023)
Переглядів 6 тис.Рік тому
How do closures work? (JavaScript Fundamentals, 2023)
how to get better at typescript (feat. kysely)
Переглядів 7 тис.Рік тому
how to get better at typescript (feat. kysely)
Command Lines Scripts in JavaScript (or any language!)
Переглядів 4,6 тис.Рік тому
Command Lines Scripts in JavaScript (or any language!)
The Power of TypeScript Generics
Переглядів 6 тис.Рік тому
The Power of TypeScript Generics
Are your TypeScript Unions broken? | Advanced TypeScript
Переглядів 7 тис.Рік тому
Are your TypeScript Unions broken? | Advanced TypeScript
React Query tips from the maintainer @tkDodo
Переглядів 21 тис.Рік тому
React Query tips from the maintainer @tkDodo
I kinda hate hooks ... a refactoring story
Переглядів 7 тис.Рік тому
I kinda hate hooks ... a refactoring story
JavaScript’s Deferred Promise Pattern
Переглядів 12 тис.Рік тому
JavaScript’s Deferred Promise Pattern
TypeScript Transformations with Pick and Omit
Переглядів 3,4 тис.Рік тому
TypeScript Transformations with Pick and Omit
The TypeScript feature I never use
Переглядів 11 тис.Рік тому
The TypeScript feature I never use
5 JavaScript Tips You Probably Don't Know
Переглядів 9 тис.Рік тому
5 JavaScript Tips You Probably Don't Know
How does ts-reset work?
Переглядів 6 тис.Рік тому
How does ts-reset work?
A better way to use 3rd-part types (Extract & Exclude)
Переглядів 4,2 тис.Рік тому
A better way to use 3rd-part types (Extract & Exclude)
How does ZOD work? Build it yourself!
Переглядів 12 тис.Рік тому
How does ZOD work? Build it yourself!
i can't solve this in typescript
Переглядів 7 тис.Рік тому
i can't solve this in typescript

КОМЕНТАРІ

  • @richardbray
    @richardbray 18 годин тому

    Nice video, Where does ContextMethodDecoratorContext come from?

  • @0xtz_
    @0xtz_ День тому

    that's cool man 😎 each video => more knowledge for me 😂 thanks 🙏 amazing videos

  • @edgeeffect
    @edgeeffect День тому

    As long as it's intermediate or advanced level... I like a nice mixture of TypeScript and JavaScript.

  • @edgeeffect
    @edgeeffect День тому

    Good pacing... neither so fast that I missed a load of things nor so slow I got bored with all the extra details... Absolutely spot on! :)

  • @ash1kh
    @ash1kh 2 дні тому

    I think I will wait for typescript 9.0 when I don't have to type anything and it will be type safe. 😂😂😂😂 Telepathy compiler.

  • @ShawnPMurphy8
    @ShawnPMurphy8 3 дні тому

    Not sure if you are aware but some random UA-cam channel seems to be using this video of yours: ua-cam.com/video/J02rycAW5fM/v-deo.htmlsi=TbD2YnY6vf5dySnV

  • @AlexanderYaremchuk
    @AlexanderYaremchuk 4 дні тому

    !== null doesn't work to infer out undefined it only infers out nulls. last version works fine: typeof n === 'number'

    • @andrew-burgess
      @andrew-burgess 4 дні тому

      Ah yep, I was specifically doing !=, which coerces undefined to null. But yeah, the typeof way is best for this one.

  • @user-vd3ph6zh8q
    @user-vd3ph6zh8q 6 днів тому

    Anybody ever told you, you look like Toby Maguire? Lol

  • @Mothuzad
    @Mothuzad 6 днів тому

    NonFalsy seemed to have overlooked document.all. However, if this oversight matters to anyone, mercy be upon their souls.

  • @xelspeth
    @xelspeth 7 днів тому

    I'm pretty sure obj[key] is not inferred because obj[key] can change after a call even of obj and key stay the same

    • @andrew-burgess
      @andrew-burgess 7 днів тому

      Hmm, how do you mean? Wouldn't that mean this new behavior can introduce bugs?

    • @xelspeth
      @xelspeth 7 днів тому

      @@andrew-burgess in a simple if(typeof === string) it can't (unless you use getters in which case normal variables could change, too [look up a == 1 && a == 2 && a == 3]) But f.ex. if(obj[key] === 'hello') {await someLongCall(); console.log(obj[key])} could change in another function but I believe they caught that with the current implementation

  • @pupfriend
    @pupfriend 7 днів тому

    The type narrowing is amazing. But why do you think .filter(Boolean) doesn't also narrow? I've been using that all over my code thanks to Matt Pocock's ts-reset package, and it is a blessing. I was hoping 5.5 would let me ditch ts-reset, but I guess not.

  • @user-mx1ek4sl2m
    @user-mx1ek4sl2m 9 днів тому

    At 4:30, that got fixed at version 5.5.

  • @keyserj
    @keyserj 10 днів тому

    Ooh this is quite nice to have indeed! I recently subscribed to the TypeScript devblogs, but I found myself not spending the time to read those... so I particularly appreciate the summary of the features you find useful. Cheers

  • @flygonfiasco9751
    @flygonfiasco9751 10 днів тому

    Fick Giving that predicate narrowing is such a blessing, that’s bitten me like 3 different times over the past year.

  • @astrotoolau
    @astrotoolau 10 днів тому

    This is amazing! I wasn't expecting all that from v5.5, just one would have sufficed lol Thanks for keeping us updated :)

  • @yourjhay
    @yourjhay 11 днів тому

    Why it says config repo invalid repo when I try to clone it.. using the same setup as you.

  • @88goeth
    @88goeth 15 днів тому

    I totally agree with you, hooks are the worst thing that ever happened. I hate them... so now i hate React

  • @chookingvid
    @chookingvid 16 днів тому

    I prefer nested ternaries. They are not hard to read if formatted properly with line breaks and indents.

  • @brentmarquez9057
    @brentmarquez9057 20 днів тому

    Can anyone point me to resources for adding node.js to a legacy javascript web app? (just script tags in html files).

  • @pgtechmedia5624
    @pgtechmedia5624 21 день тому

    Really helpful. Thanks

  • @chrishanthacosta4093
    @chrishanthacosta4093 21 день тому

    Really smart teacher.

  • @fluxsiarski
    @fluxsiarski 27 днів тому

    Amazing!

  • @jaideepsingh8449
    @jaideepsingh8449 Місяць тому

    Hey buddy, i saw your advent of typescript series, i am beginer, I got stuck in one of the similar code which uses advent of typescript logics, could you please help me out?

  • @jlecordier
    @jlecordier Місяць тому

    Unfortunately useless in legacy code with database queries and lots of side effects..

  • @user-pr7zo5lr7u
    @user-pr7zo5lr7u Місяць тому

    To speed up, maybe: ps -e -o comm -t | grep nano | grep -v grep

  • @kcin4206
    @kcin4206 Місяць тому

    Not many in-depth videos on this topic. Good video 👍

  • @wtl912
    @wtl912 Місяць тому

    Excellent video, thanks a lot! Btw, it'd be great if you have the chance to add timestamps to your videos, it really helps a lot!

  • @returncode0000
    @returncode0000 Місяць тому

    Could you please do more rust videos? Your rust videos are fantastic, especially the traits explanation 🔥

  • @ericb8494
    @ericb8494 Місяць тому

    type TODO = any;

  • @pratik245
    @pratik245 Місяць тому

    In other languages like java, supertypes can always have reference to subtype instance. So string having referemce to a role is not surprising but has a different name calles contravariance in typescript.

  • @tech_channel110
    @tech_channel110 Місяць тому

    well defined

  • @zxyi9090
    @zxyi9090 Місяць тому

    The way I think about FP is like a point free data pipeline. Also would recommend ramda or lodash

  • @vendiddy
    @vendiddy Місяць тому

    This was very illuminating! In a similar vein I'd love to understand how something like ts-pattern works under the hood. Like how to implement a mini pattern-matching library.

  • @DV-ml4fm
    @DV-ml4fm Місяць тому

    I used crontab to run a command and output the result it to a file. Then I create a custom command to read the file with detect_files option.

  • @AibySara
    @AibySara Місяць тому

    Great explanation. Big Thanks!

  • @Samonitari
    @Samonitari Місяць тому

    At this point, you could just throw out zsh, one less sh*t to maintain, I definitely did left zsh and never looked back! I always hated the bazillion frikin' knobs to tweak, and the whole oh-my-zsh project. I mean why do I have to have a plugin manager for my shell? Luckily starship is quite cross-shell! On a similar note, I left nvim for helix. Unfortunately I cannot install it to all of our servers. But the environment on the workstations I use have become leaner, and less of a beautiful-only-for-me-and-brittle-AF snowflakes...

  • @mrlectus
    @mrlectus Місяць тому

    does this mean i have to move every config from .config to dotfile and then symlink them back to .config?

  • @duke605
    @duke605 Місяць тому

    Just no

  • @SamsungA04e-dp7kj
    @SamsungA04e-dp7kj Місяць тому

    1.Global Positioning System 2.Undefined 3.Kalkulator 4.Rudi Harmanto

  • @superhero-studios
    @superhero-studios 2 місяці тому

    For clearing terminals, I always use CMD+K. Though `c` is one less keystroke.

  • @adammontgomery7980
    @adammontgomery7980 2 місяці тому

    For some reason I really like rust when watching someone write and explain it. When I try to write it, everything becomes...hectic. Isn't ParseError an error enum that you could extend with ParseEquationError?

  • @joel_bio
    @joel_bio 2 місяці тому

    Fantastic perspective

  • @schizomaru
    @schizomaru 2 місяці тому

    line 33: await setTimeout...? i dont think setTimeout returns a promise you could create: function delay(time){return new Promise((done)=>{setTimeout(done, time || 0});} await delay(1000 * Math.random());

    • @EccentricEngineerMN
      @EccentricEngineerMN 2 місяці тому

      In this video he is using nodejs timers/promises which is a promisified version ofr the global setTimeout

  • @Ali-sc6dh
    @Ali-sc6dh 2 місяці тому

    I used weekmap a lot for analytics data tracking. In case you want to build a tracking tool that is independant from the website source code, you can use weakmap to track for exemple unique impressions of elements (when they are visible on screen). This way you don't hold references to HTML elements that have been removed from the DOM and prevent them from being garbage collected

  • @malvoliosf
    @malvoliosf 2 місяці тому

    There is a huge bug in your code! The results are returned in the order they were resolved, NOT the order they appeared in the original args array. Make a function that has the functionality “given n, wait 10-n seconds then return n” and run it with an array 0 through 9 and a concurrency of 10. The numbers will be returned in reverse order.

  • @aredrih6723
    @aredrih6723 2 місяці тому

    Another strength is that v8 jit smile on function that take arguments of consistent shape. Weak collection allows you to add extra data to objects without changing their shapes. That said, voodoo practice to please the jit happy can get cargo cultish.

  • @xelspeth
    @xelspeth 2 місяці тому

    Great video didn't even know this was a thing! What do you use to get curly if's and else's? Or is that just manual nvim config?

  • @florianbopp187
    @florianbopp187 2 місяці тому

    Another place where a weakmap is useful is for diy reactivity using proxies. You can use it to store reactivity dependencies and they will be garbage collected when the dependencies are. See vue‘s reactivity system for more info.

    • @studiowebselect
      @studiowebselect 2 місяці тому

      i was about to point exactly the same reference from vue reactivity

  • @ivan.romaniv
    @ivan.romaniv 2 місяці тому

    that's really nice example! thank you!

  • @hugodsa89
    @hugodsa89 2 місяці тому

    Audio is top. Maybe don’t lean back 🤣