JSJ 275: Zones in Node with Austin McDaniel

JSJ 275: Zones in Node with Austin McDaniel

JSJ 275: Zones in Node with Austin McDanielThe panel for this week on JavaScript Jabber is Cory House, Aimee Knight, and Charles Max Wood. They speak with special guest Austin McDaniel about Zones in Node. Tune in to learn more about this topic![00:01:11] Introduction to Austin Austin has worked in JavaScript for the past ten years. He currently works in Angular development and is a panelist on Angular Air. He has spent most of his career doing work in front-end development but has recently begun working with back-end development. With his move to back-end work he has incorporated front-end ideas with Angular into a back-end concept.[00:02:00] The Way it WorksNodeJS is an event loop. There is no way to scope the context of a call stack. So for example, Austin makes a Node request to a server and wants to track the life cycle of that Node request. Once deep in the scope, or deep in the code, it is not easy to get the unique id. Maybe he wants to get the user from Passport JS. Other languages – Python, Java – have a concept called thread local storage. They can associate context with the thread and throughout the life cycle of that request, he can retrieve that context.There is a TC39 proposal for zones. A zone allows you to do what was just described. They can create new zones and associate data with them. Zones can also associate unique ids for requests and can associate the user so they can see who requested later in the stack. Zones also allow to scope and create a context. And then it allows scoping requests and capturing contacts all the way down.[00:05:40] Zone UsesOne way Zone is being used is to capture stack traces, and associating unique ids with the requests. If there is an error, then Zone can capture a stack request and associate that back to the request that happened. Otherwise, the error would be vague.Zones are a TC39 proposal. Because it is still a proposal people are unsure how they can use it. Zones are not a new concept. Austin first saw Zones being used back when Angular 2 was first conceived. If an event happened and they wanted to isolate a component and create a scope for it, they used Zones to do so. Not a huge fan of how it worked out (quirky). He used the same library that Angular uses in his backend. It is a specific implementation for Node. Monkey patches all of the functions and creates a scope and passes it down to your functions, which does a good job capturing the information.[00:08:40] Is installing the library all you need to get this started?Yes, go to npminstallzone.js and install the library. There is a middler function for kla. To fork the zone, typing zone.current. This takes the Zone you are in and creates a new isolated Zone for that fork. A name can then be created for the Zone so it can be associated back with a call stack and assigned properties. Later, any properties can be retrieved no matter what level you are at.[00:09:50] So did you create the Zone library or did Google?The Google team created the Zone library. It was introduced in 2014 with Angular 2. It is currently used in front-end development.[00:10:12] Is the TC39 proposal based on the Zone library?While Austin has a feeling that the TC39 proposal came out of the Zone library, he cannot say for sure.[00:10:39] What stage is the proposal in right now?Zone is in Stage Zero right now. Zone JS is the most popular version because of its forced adoption to Angular. He recommends people use the Angular version because it is the most tested as it has a high number of people using it for front-end development.[00:11:50] Is there an easy way to copy the information from one thread to another?Yes. The best way would probably be to manually copy the information. Forking it may also work.[00:14:18] Is Stage Zero where someone is still looking to put it in or is it imminent? Austin believes that since it is actually in a stage, it means it is going to happen eventually but could be wrong. He assumes that it is going to be similar to the version that is out now. Aimee read that Stage Zero is the implementation stage where developers are gathering input about the product. Austin says that this basically means, “Implementation may vary. Enter at your own risk.”[00:16:21] If I’m using New Relic, is it using Zone JS under the hood? Austin is unsure but there something like that has to be done if profiling is being used. There has to be a way that you insert yourself in between calls. Zone is doing that while providing context, but probably not using Zone JS. There is a similar implementation to tracing and inserting logging in between all calls and timeouts.[00:17:22] What are the nuances? Why isn’t everybody doing this?Zone is still new in the JavaScript world, meaning everyone has a ton of ideas about what should be done. It can be frustrating to work with Zone in front-end development because it has to be manually learned. But in terms of implementation, only trying to create a context. Austin recommends Zone if people want to create direct contacts. The exception would be 100 lines of Zone traces because they can get difficult.Another issue Austin has is Node’s native basic weight. Weight hooks are still up in the air. The team is currently waiting on the Node JS community to provide additional information so that they can finish. Context can get lost sometimes if the wrong language is used. He is using Typescript and doesn’t have that problem because it is straightforward.[00:21:44:] Does this affect your ability to test your software at all?No, there have not been any issues with testing. One thing to accommodate for is if you are expecting certain contexts to be present you have to mock for those in the tests. After that happens, the tests should have no problems.PicksCory: Aimee:​ Charles: Austin:LinksSpecial Guest: Austin McDaniel.

Support this podcast at — https://redcircle.com/javascript-jabber/donations

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Jaksot(734)

Practical Strategies for Web Optimization: Using Chrome DevTools - JSJ 635

Practical Strategies for Web Optimization: Using Chrome DevTools - JSJ 635

Jack Franklin is a Senior Software Engineer at Google. They dive deep into the world of performance optimization. They explore the sophisticated capabilities of Chrome DevTools, focusing on the performance and insights panels. Jack shares invaluable tips on utilizing tools like Lighthouse and the flame chart to prioritize and analyze web performance, along with practical advice for maintaining a clean environment for accurate profiling.Join them as tehy decode the intricacies of debugging, from handling long tasks and layout thrashing to understanding the context of flame charts and network requests. Plus, they discuss the collaboration efforts between Chrome and Microsoft Edge, valuable educational resources, and even touch on topics like involvement in local politics and upcoming movie releases. Whether you're a seasoned developer or a tech enthusiast, this episode is packed with knowledge, humor, and practical advice to help you master web performance optimization. Tune in now!SocialsLinkedIn: Jack FranklinPicksCharles - Legendary: A Marvel Deck Building Game – SHIELD (2019)Dan - Dan Shappir: How to Maximize Web PerformanceJack - Sky Team | Board GameBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

11 Kesä 20241h 24min

New Frontiers in Web Platform Development with Bruce Lawson - JSJ

New Frontiers in Web Platform Development with Bruce Lawson - JSJ

In this episode, they dive into the world of web development, featuring insightful discussions on the differences and costs associated with hiring React Native developers, the importance of understanding web standards and browser differences, and the ongoing efforts of the Open Web Advocacy organization. They share their experiences, concerns, and insights on Apple's impact on the open web, the EU's investigation into Apple's actions, and the implications of progressive web apps in light of Apple's policies. Join them as they unravel the complexities and controversies shaping the web development landscape, and explore the future of web app accessibility and competition across devices.SocialsLinkedIn: Bruce LawsonBruce LawsonPicksCharles - Harry Potter: Death Eaters Rising Charles - Vite | Next Generation Frontend ToolingDan - Barry Pollard | Google IODan - React Compiler: In-Depth Beyond React Conf 2024Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

4 Kesä 20241h 19min

Building a Custom Front-end Framework - JSJ 633

Building a Custom Front-end Framework - JSJ 633

Zach Lankton is the Product Engineer at Signature Payments. They dive deep into the world of software development and tech innovations. In this episode, they explore a wide range of topics, the main focus is on ReZact, a cutting-edge front-end framework discussed by Zach, which shares similarities with React and Svelte. The conversation covers the framework's unique features, the challenges of customizing form inputs in the browser, and the value of leveraging native browser capabilities. Additionally, they delve into the concept of signals as a means of state management, the technical implementation of signals, and their benefits compared to other state management tools. And that's just scratching the surface! So, get ready to enrich your knowledge and dive into the latest trends in software development with this insightful discussion.SocialsLinkedIn: Zach L. PicksAJ - The Andromeda StrainZach - A Man in Full | Netflix Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

28 Touko 20241h 21min

Sentry's Impact on Web Vitals Understanding - JSJ 632

Sentry's Impact on Web Vitals Understanding - JSJ 632

Lazar Nikolov is a Full-stack engineer. They engage in a deep exploration of diverse subjects, from historical veracity and book recommendations to crucial insights on web performance monitoring tools. Join the esteemed panelists as they navigate the complexities of understanding historical events, reflect on significant global issues such as Holocaust Memorial Day and ongoing conflicts, and delve into the intricacies of improving website performance with cutting-edge tools like Sentry. Stay tuned for an insightful and thought-provoking discussion that combines expert analysis with real-world applications in the realm of development and technology.Sponsors"Testim, who makes an end to end testing tool"Chuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Lazar NikolovGitHub: nikolovlazarBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

21 Touko 20241h 25min

Embracing Angular's Evolution with Santosh Yadav - JSJ 631

Embracing Angular's Evolution with Santosh Yadav - JSJ 631

Santosh Yadav is a Google Developer Expert for Angular. They dive into the world of JavaScript and development. The discussion centers around the topic of why Angular is considered the best framework, with insights from Santosh, Steve Edwards, and Charles Max Wood. They explore the history and evolution of Angular, its resurgence, and the recent improvements post-Angular 14. They also delve into Angular's migration process, state management options, and the future direction of the framework. Join them as they explore the technical aspects and practical implications of Angular in the development landscape. So, tune in and explore the world of Angular through the eyes of experienced developers.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Santosh YadavSantosh Yadav PicksCharles - The Crew: The Quest for Planet NineBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

7 Touko 20241h

Web3 with Nik Kalyani - JSJ 630

Web3 with Nik Kalyani - JSJ 630

Feel like you don’t know enough about Web3? Don’t worry, neither do we. That’s where these podcasts come in! In this new episode, the Jabberers sit down with Nik Kalyani, the founder of Decentology and overall Web3 expert. The gang discusses the “big D” of Web3 (and why you need to understand it), how Web3 changes the game for blockchain and the like, and how Web3 is going to make gaming bigger AND more lucrative.“For developers, Web3 equals a green field of opportunity!”- Nik KalyaniIn This Episode The “big D” that you NEED to know to understand Web3 (and why it’s about more than just the tech) The BIGGEST concern about Web2 that Web3 is trying to solve (and how it changes privacy for everyone) How to navigate NFTs, blockchain, and more buzzwords in Web3 The future of Java with Web3 (and why it’s easier than Web2!) How Web3 is changing the game for gamingSponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipPicksAJ- Genetically Modified Skeptic (Rational Atheist)AJ- AJ's Litmus Test (Contact me you're looking for work)Follow CoolAJ86 Live Streams: YouTube: https://youtube.com/coolaj86Twitch: https://twitch.tv/coolaj86Follow Beyond Code: YouTube: https://www.youtube.com/channel/UC2KJHARTj6KRpKzLU1sVxBATwitter: https://twitter.com/@_beyondcodeCharles- Wavelength | Board Game | BoardGameGeekCharles- Charles is Hiring! Charles- Best Tasting Protein Bars | BuiltBar.comNik- CATAN - CATANNik- Halt and Catch FireSteve- Twitter: Dad Jokes ( @Dadsaysjokes )Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

30 Huhti 20241h 24min

From Learning New Languages to Learning New Technologies - JSJ 629

From Learning New Languages to Learning New Technologies - JSJ 629

Tony Alicea is a Udemy and Pluralsight Instructor. They delve into the crucial topic of understanding and mastering technology, featuring insightful discussions and experiences from our speakers. From the shift in focus from technical problems to effective communication and marketing to the significance of deeply understanding a system rather than just focusing on coding, they provide valuable perspectives on building strong foundations, navigating challenges, and staying current in the ever-evolving tech landscape. They also touch on the importance of curiosity, learning by doing, and the potential impact of AI-generated code. Join them as they explore the nuances of learning and understanding technology in this engaging and thought-provoking episode.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinks https://understandingreact.com (coupon code JSJABBER)https://thesmythgroup.comSocialsTony AliceaTwitter: @AnthonyPAliceaPicksCharles - DoomlingsCharles - FinchCharles - Training PeaksCharles - 75 HardDan - RipleyTony - Forbidden IslandTony - Tales from the LoopBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

23 Huhti 20241h 33min

Unveiling Qwik and JavaScript Streamlining Web Development with Shai Reznik - JSJ 628 with Shai Reznik - JSJ 628

Unveiling Qwik and JavaScript Streamlining Web Development with Shai Reznik - JSJ 628 with Shai Reznik - JSJ 628

Shai Reznik is the Founder & CEO at HiRez.io and he is a Qwik Team Member. They dive deep into the world of web development with a focus on the Qwik framework and JavaScript streaming. They explore topics such as predictive buffering, Qwik Insight, automating tasks, optimizing user and developer experiences, and the challenges of large-scale JavaScript refactoring. With a blend of technical insights and personal experiences, they shed light on the evolution of web development and the future role of AI in frameworks like Qwik. This episode is packed with thought-provoking discussions, expert opinions, and valuable resources for developers aiming to stay at the cutting edge of web development. So buckle up and get ready for an insightful journey into the world of fast and efficient web development.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Shai ReznikPicksDan - My Daemon on NetflixShai - The Gentlemen on NetflixBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

14 Huhti 20241h 21min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
rss-rahapodi
mimmit-sijoittaa
ostan-asuntoja-podcast
pomojen-suusta
rss-lahtijat
rss-bisnesta-bebeja
rss-sisalto-kuntoon
inderespodi
taloudellinen-mielenrauha
yrittaja
rss-startup-ministerio
rss-seuraava-potilas
rss-paasipodi
pari-sanaa-lastensuojelusta
bakkari-tarinoita-tapahtumien-takahuoneista
rss-markkinointiradio
rss-lindholm-savolainen
rss-podcast-podcasteista