![Andrew Burgess](/img/default-banner.jpg)
- 94
- 928 582
Andrew Burgess
Приєднався 18 лип 2008
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
*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!)
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
5 JavaScript Tips You Probably Don't Know
Переглядів 9 тис.Рік тому
5 JavaScript Tips You Probably Don't Know
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!
Nice video, Where does ContextMethodDecoratorContext come from?
that's cool man 😎 each video => more knowledge for me 😂 thanks 🙏 amazing videos
As long as it's intermediate or advanced level... I like a nice mixture of TypeScript and JavaScript.
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! :)
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.
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
!== null doesn't work to infer out undefined it only infers out nulls. last version works fine: typeof n === 'number'
Ah yep, I was specifically doing !=, which coerces undefined to null. But yeah, the typeof way is best for this one.
Anybody ever told you, you look like Toby Maguire? Lol
NonFalsy seemed to have overlooked document.all. However, if this oversight matters to anyone, mercy be upon their souls.
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
Hmm, how do you mean? Wouldn't that mean this new behavior can introduce bugs?
@@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
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.
At 4:30, that got fixed at version 5.5.
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
Fick Giving that predicate narrowing is such a blessing, that’s bitten me like 3 different times over the past year.
This is amazing! I wasn't expecting all that from v5.5, just one would have sufficed lol Thanks for keeping us updated :)
Why it says config repo invalid repo when I try to clone it.. using the same setup as you.
I totally agree with you, hooks are the worst thing that ever happened. I hate them... so now i hate React
I prefer nested ternaries. They are not hard to read if formatted properly with line breaks and indents.
Can anyone point me to resources for adding node.js to a legacy javascript web app? (just script tags in html files).
Really helpful. Thanks
Really smart teacher.
Amazing!
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?
Unfortunately useless in legacy code with database queries and lots of side effects..
To speed up, maybe: ps -e -o comm -t | grep nano | grep -v grep
Not many in-depth videos on this topic. Good video 👍
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!
Could you please do more rust videos? Your rust videos are fantastic, especially the traits explanation 🔥
type TODO = any;
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.
well defined
The way I think about FP is like a point free data pipeline. Also would recommend ramda or lodash
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.
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.
Great explanation. Big Thanks!
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...
does this mean i have to move every config from .config to dotfile and then symlink them back to .config?
Just no
1.Global Positioning System 2.Undefined 3.Kalkulator 4.Rudi Harmanto
For clearing terminals, I always use CMD+K. Though `c` is one less keystroke.
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?
Fantastic perspective
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());
In this video he is using nodejs timers/promises which is a promisified version ofr the global setTimeout
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
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.
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.
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?
That's the font I use, mono lisa
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.
i was about to point exactly the same reference from vue reactivity
that's really nice example! thank you!
Audio is top. Maybe don’t lean back 🤣