Syntax - Tasty Web Development Treats

Syntax - Tasty Web Development Treats

Full Stack Developers Wes Bos and Scott Tolinski dive deep into web development topics, explaining how they work and talking about their own experiences. They cover from JavaScript frameworks like React, to the latest advancements in CSS to simplifying web tooling.

Avsnitt(936)

8 Tricks When Using the Fetch() API

8 Tricks When Using the Fetch() API

In this Hasty Treat, Scott and Wes talk about 8 tricks to try when using the Fetch() API. Show Notes 00:23 Welcome 02:14 1) Stream The Result // Create a new TextDecoder instance const decoder = new TextDecoder(); // Make the fetch request fetch('https://api.example.com/streaming-data') .then(response => { // Check if the response is valid if (!response.ok) { throw new Error('Network response was not ok'); } // Stream the response data using a TextDecoder const reader = response.body.getReader(); // Function to read the streamed chunks function read() { return reader.read().then(({ done, value }) => { // Check if the streaming is complete if (done) { console.log('Streaming complete'); return; } // Decode and process the streamed data const decodedData = decoder.decode(value, { stream: true }); console.log(decodedData); // Continue reading the next chunk return read(); }); } // Start reading the chunks return read(); }) .catch(error => { // Handle errors console.log('Error:', error); }); 06:05 2) Download Progress Download progress example 09:40 3) Cancel Streams - Abort Controller // Create an AbortController instance const controller = new AbortController(); // Set a timeout to abort the request after 5 seconds const timeout = setTimeout(() => { controller.abort(); }, 5000); // Fetch request with the AbortController fetch('https://api.example.com/data', { signal: controller.signal }) 11:32 4) Testing if JSON is returned 13:18 5) async + await + catch const data = await fetch().catch(err => console.log(err)); 14:42 6) to awaited - return error and data at top level const [err, data] = collect(fetch()) if(err) // .... await-to-js - npm 16:58 7) Dev tools - Copy as fetch 17:54 8) You can programatically create a Request, Response and Headers objects const myRequest = new Request('https://traffic.libsyn.com/syntax/Syntax_-_641.mp3', { headers: { 'Content-Type': 'text/plain', } }); fetch(myRequest)

21 Aug 202319min

Supper Club × How Descript Built A Next Gen Video Editor In The Browser With Andrew Lisowski

Supper Club × How Descript Built A Next Gen Video Editor In The Browser With Andrew Lisowski

In this supper club episode of Syntax, Wes and Scott talk with Andrew Lisowski about working on Descript, web streams vs local storage, using state machines, writing CSS with Radix, monorepos, and more. Show Notes 00:35 Welcome 01:07 What is Descript? Descript | All-in-one video & podcast editing, easy as a doc. Work — Sandwich 02:21 Who is Andrew Lisowski? Andrew Lisowski (@HipsterSmoothie) / X hipstersmoothie.com Descript (@DescriptApp) / X devtools.fm 04:51 How does Descript interact with the webcam? 08:52 Web streams vs local first Web Streams Explained — Syntax Podcast 587 10:06 How are you exporting video? GitHub - Yahweasel/libav.js: This is a compilation of the libraries associated with handling audio and video in ffmpeg—libavformat, libavcodec, libavfilter, libavutil, libswresample, and libswscale—for emscripten, and thus the web. Riverside.fm - Record Podcasts And Videos From Anywhere 14:40 How does Descript deal with recording fails? 17:17 How does Descript design and build the UI? 19:37 What did you like about state machines? XState - JavaScript State Machines and Statecharts 24:12 How are you writing your CSS with Radix? Themes – Radix UI Home | Open UI 30:30 How does the marketing site’s tech stack compare? 31:44 Playwright vs Cypress Fast and reliable end-to-end testing for modern web apps | Playwright JavaScript Component Testing and E2E Testing Framework | Cypress 36:26 What tech do you use for monorepos? 37:01 What’s your build tool? Workspaces | Yarn - Package Manager Turbo webpack 40:18 Moving to the web means moving things to the backend 41:37 Descript focuses AI tools on helping creators Eye Contact: AI Video Effect | Descript 50:50 Supper Club questions Topre Switch Mechanical Keyboards REALFORCE | Premium Keyboard, PBT, Capacitive Key Switch Iosevka Github Dark High Contrast - Visual Studio Marketplace 56:21 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Lexical shadcn/ui Shameless Plugs devtools.fm Tweet us your tasty treats Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky

18 Aug 20231h

6 or so New Approved and Proposed JavaScript APIs

6 or so New Approved and Proposed JavaScript APIs

In this episode of Syntax, Wes and Scott talk about new approved and proposed JavaScript API changes including Promise.withResolvers, .at(), Immutable Array Methods, Array.fromAsync, and more. Show Notes 00:10 Welcome 04:55 What are we going to cover? 06:10 Promise.withResolvers 09:40 .at() You probably knew about JavaScript’s new .at() method for accessing array items. Did you know it works for strings too? @IAmAndrewLuca 15:59 Immutable Array Methods Wes Bos: "🔥 Pretty excited about the new JavaScript non-mutating array methods. Currently in stage 3. .toReversed() .toSorted() .toSpliced() - remove items .with() - replace items 21:48 Array.fromAsync Proposal for array.fromAsync 27:15 Array Grouping Proposal for Array grouping 31:04 Observable Events? Observable Events? 35:28 Import Attributes 39:21 v.emplace method 41:15 Decorators Proposal for Pattern Matching 45:42 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Artifact.news Wes: LED lights for bikes Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials Tweet us your tasty treats Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky

16 Aug 202353min

JS Fundamentals - Decorators

JS Fundamentals - Decorators

In this Hasty Treat, Scott and Wes talk about whether decorators are finally here, what the uses cases are for decorators, how to define a decorator, and what auto accessor is. Show Notes 00:25 Welcome 01:00 Are decorators finally here? TC39 proposal How this compares to other versions of decorators 06:47 What are use cases for decorators? 10:55 How do you define a decorator? 14:20 Auto Accessor on classes @loggged class C {} on fields class C { @logged x = 1; } Auto Accessor class C { accessor x = 1; } sugar for below class C { #x = 1; // # means private get x() { return this.#x; } set x(val) { this.#x = val; } } Can be decorated and decorator can return new get and set and init functions function logged(value, { kind, name }) { if (kind === "accessor") { let { get, set } = value; return { get() { console.log(`getting ${name}`); return get.call(this); }, set(val) { console.log(`setting ${name} to ${val}`); return set.call(this, val); }, init(initialValue) { console.log(`initializing ${name} with value ${initialValue}`); return initialValue; } }; } // ... } Tweet us your tasty treats Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky

14 Aug 202322min

Supper Club × Flightcontrol with Brandon Bayer

Supper Club × Flightcontrol with Brandon Bayer

Can you have a Vercel like experience on your own AWS? Scott and Wes talk with Brandon Bayer about Flightcontrol - what it is, how to use it on your app, pricing, and more. Show Notes 00:32 Welcome 01:28 Who is Brandon Bayer? Brandon 🚀 Flightcontrol (@flybayer) / X Flightcontrol (@Flightcontrolhq) / X Blitz.js - The Missing Fullstack Toolkit for Next.js Flightcontrol — AWS Without Pain Tailwind Connect 2023 | Tailwind CSS Live Event 03:00 How do you fly? 06:10 What is Flightcontrol? 10:00 Why doesn’t Amazon make it easier? 11:34 Which parts of the AWS stack should I use? 15:08 Creating the infrastructure 19:01 Ongoing deployment 20:05 What languages does Flightcontrol support? 23:35 How are events or cron handled? 25:24 What is Temporal? Open Source Durable Execution Platform | Temporal Technologies 29:05 What are Nixpacks? GitHub - railwayapp/nixpacks: App source + Nix packages + Docker = Image 35:50 How is Flightcontrol priced? How To Get Free AWS Credits - Flightcontrol 44:44 How does Flightcontrol help with scaling? Serverless Compute Engine – AWS Fargate – AWS 46:11 What are your thoughts on ReactJS, Server components? 49:57 Supper Club questions Keychron K3 Ultra-slim Wireless Mechanical Keyboard (Version 2) Learn to Code - for Free | Codecademy 57:20 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× EAA AirVenture Oshkosh | Oshkosh, Wisconsin | Fly-In & Convention Ko Tao Ko Lanta Yai Shameless Plugs Flightcontrol — AWS Without Pain Tweet us your tasty treats Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky

11 Aug 20231h 3min

Potluck × Is TypeScript Fancy Duct Tape × Back Pain × Cloud Service Rate Limits

Potluck × Is TypeScript Fancy Duct Tape × Back Pain × Cloud Service Rate Limits

In this potluck episode of Syntax, Wes and Scott answer your questions about TypeScript just being fancy duct tape, dealing with back pain while coding, rate limits on cloud services, what to use for email provider, is Firebase a legit platform, and more! Show Notes 00:11 Welcome 03:11 The Sunday scaries 06:03 Is TypeSctipt just a bunch of fancy Duck Tape? Is TypeScript saving us? 12:29 How do you go years into programming without back pain? Hasty Treat - Stretching For Developers with Scott — Syntax Podcast 293 23:51 Why don’t cloud services provide an option to shut off services when a spending limit is reached? DigitalOcean | Cloud Hosting for Builders Vercel: Develop. Preview. Ship. For the best frontend teams 28:41 How do you choose a CSS library for any project? The most advanced responsive front-end framework in the world. | Foundation 960 Grid System 38:26 What’s happening to Level Up Tuts? Level Up Tutorials - Learn modern web development Wheels - Skateboard Wheels - 60mm Cali Roll - Shark Wheel 43:43 Not a sponsored Yeti spot 45:16 What do you do for email hosting? Google Workspace TechSoup Canada Proton Mail: Get a private, secure, and encrypted email account Outlook Microsoft 365 Plans Scheduling Software Everyone Will Love · SavvyCal Synology Photos 50:34 Is Firebase ok to run an app long term with? Firebase 58:57 Am I wrong to not do productive work intensely? 01:34 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: MagSafe Charger, Anker 3-in-1 Cube with MagSafe Wes: 6amLifestyle Headphone Hanger Stand Under Desk Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials Tweet us your tasty treats Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky

9 Aug 20231h 10min

Why is Facebook’s HTML + CSS Such a Mess?

Why is Facebook’s HTML + CSS Such a Mess?

In this episode of Syntax, Wes and Scott talk about why Threads, Instagram, and all things Facebook have what seems like really messy HTML and CSS? Show Notes 00:10 Welcome Scott on Threads Wes on Threads 00:35 Threads has got divs 02:42 Tight scoping 09:44 Avoids specificity 10:37 Dealing with ad blockers and scraping 15:45 Divs are free, what’s the big deal? 20:19 Facebook is tracking everything 27:57 React Native Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials Tweet us your tasty treats Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky

7 Aug 202329min

Supper Club × Ryan Florence of Remix

Supper Club × Ryan Florence of Remix

In this supper club episode of Syntax, Wes and Scott talk with Ryan Florence about Remix, working at Shopify, the history of licensing and pricing, quitting Twitter, the state of React Server components, and more. Show Notes 00:35 Welcome Ryan Florence Ryan Florence (@ryanflorence) / X React Training React Router Docs Moved ryanflorence (Ryan Florence) · GitHub 01:42 Collarbone update 06:47 What is Remix? Remix.run 11:43 Server actions 15:33 What was the history around licensing? 20:30 Open source is weird now 22:21 Working with Shopify and Hydrogen Remixing Shopify | Remix CSS Zen Garden: The Beauty of CSS Design The Zen of CSS Design: Visual Enlightenment for the Web: Shea, Dave, Holzschlag, Molly E.: 9780321303479: Amazon.com: Books 28:04 On quitting Twitter 35:33 What’s coming up with v2 of Remix? 40:30 The reality of breaking changes 44:18 What’s the status of React Server components? 49:46 Will Remix ever have React Server components in it? 50:55 How should we be fetching our data? 53:04 Do you have a wishlist for JSX? 58:45 Supper Club questions Strapi - Open source Node.js Headless CMS 🚀 Sidekiq GitHub - i-tu/Hasklig: Hasklig - a code font with monospaced ligatures GitHub - sindresorhus/terminal-snazzy: Elegant Terminal theme with bright colors 08:24 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Minivans Shameless Plugs Shopify Tweet us your tasty treats Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky

4 Aug 20231h 12min

Populärt inom Politik & nyheter

svenska-fall
p3-krim
rss-krimstad
fordomspodden
rss-viva-fotboll
flashback-forever
aftonbladet-daily
rss-sanning-konsekvens
rss-vad-fan-hande
olyckan-inifran
dagens-eko
motiv
krimmagasinet
rss-expressen-dok
rss-frandfors-horna
rss-krimreportrarna
svd-dokumentara-berattelser-2
blenda-2
svd-nyhetsartiklar
spotlight