144: Gary Bernhardt - TypeScript and Testing

144: Gary Bernhardt - TypeScript and Testing

Topics include:

  • Why Gary decided to write Execute Program as a full-stack TypeScript application instead of using a Ruby or Python backend like he may have traditionally
  • Do you actually have to write less tests if you have a good type system?
  • What does a good type system give you that tests can't give you?
  • Using io-ts to type check incoming data
  • How to think about structuring your code to best take advantage of the benefits your type system gives you and minimize the need to write tests
  • Pushing conditional logic to the core of your system to reduce the number of tests you need to write at the edges
  • The correlation between type errors and behavioral bugs, and how a type system can help you catch mistakes you don't think to test for
  • Do type errors signal that you're missing a test?
  • Structural vs. nominal type systems, and the benefits of structural type systems like used by TypeScript and Go
  • Best practices for type-checking within a function in a structural type system like TypeScript
  • The power of supporting literal types like true or "active" in addition to traditional types

Links:

Supporting the show:
I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.

If you do want to support the show, the best way to do it is to purchase one of my products:

  • Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.
  • Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.
  • Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.
  • Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.
  • Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Episoder(153)

153: DHH – Omarchy and Designing Your Own OS on Arch Linux

153: DHH – Omarchy and Designing Your Own OS on Arch Linux

I talk to DHH about Omarchy, the carefully curated distribution of Arch Linux he's been refining for the last few months.We talk about stuff like:How did he discover Arch + Hyprland in the first place...

21 Aug 20251h 16min

152: Ben Orenstein - How to Stand Out When Applying for a Job at a Small Company

152: Ben Orenstein - How to Stand Out When Applying for a Job at a Small Company

Topics:Putting yourself in the shoes of the person reviewing your applicationCrafting a high quality application tailored to a specific positionStanding out in a more traditional hiring process by doi...

28 Jan 202147min

151: DHH – Building HEY with Hotwire

151: DHH – Building HEY with Hotwire

Links:HotwireHEYSupporting the show:I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.If you do want to support the show, th...

28 Des 20201h 14min

150: Secret Screencasting Tips & Behind the Scenes of Tailwind CSS 2.0

150: Secret Screencasting Tips & Behind the Scenes of Tailwind CSS 2.0

Supporting the show:I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.If you do want to support the show, the best way to do...

21 Okt 202059min

149: Choosing a Payment Processor, Radical Icons & W3C Hype

149: Choosing a Payment Processor, Radical Icons & W3C Hype

Links:Changes to Gumroad's PayPal supportRadical iconsJack's hand-drawn avatarsW3C's CMS Selection ReportSupporting the show:I decided to stop taking sponsors for the show because I think advertisemen...

7 Okt 202056min

148: Accessible Focus Styles, Tailwind Labs on YouTube, and Secret Projects

148: Accessible Focus Styles, Tailwind Labs on YouTube, and Secret Projects

Supporting the show:I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.If you do want to support the show, the best way to do...

29 Sep 202059min

147: Surviving GitHub Issues, the Statamic 3 Launch Aftermath, Tailwind 1.8, and Headless UI

147: Surviving GitHub Issues, the Statamic 3 Launch Aftermath, Tailwind 1.8, and Headless UI

Supporting the show:I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.If you do want to support the show, the best way to do...

23 Sep 20201h 19min

146: Launching Statamic 3, GitHub Sponsors, Tailwind CSS v1.7, and Preparing for Laracon

146: Launching Statamic 3, GitHub Sponsors, Tailwind CSS v1.7, and Preparing for Laracon

Adam and Jack talk about how the Statamic 3 launch went, and adding GitHub Sponsor tiers to the Statamic GitHub organization and what to give people in exchange for sponsoring. They also talk about th...

4 Sep 20201h 20min

Populært innen Teknologi

lydartikler-fra-aftenposten
romkapsel
teknisk-sett
smart-forklart
energi-og-klima
rss-ki-praten
nasjonal-sikkerhetsmyndighet-nsm
rss-impressions-2
shifter
tomprat-med-gunnar-tjomlid
elektropodden
rss-praktisk-proptech
hans-petter-og-co
rss-ki-til-kaffen
teknologi-og-mennesker
i-loopen
pedagogisk-intelligens
rss-for-alarmen-gar
rss-digitaliseringspadden
rss-ai-forklart