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(735)

151 JSJ Getting Started with a Career in Web Development with Tyler McGinnis

151 JSJ Getting Started with a Career in Web Development with Tyler McGinnis

02:21 - Tyler McGinnis IntroductionTwitter GitHub BlogDevMountain Programming Bootcamp@DevMtn Firebase Experts Program03:23 - Getting Started at DevMountainHack ReactorNeedle04:38 - DevMountain ConceptionCahlan Sharp05:37 - How Do I Learn How to Code?Struggle. Fail. Tears.[Confreaks] Tyler McGinnis: What I’ve Learned about Learning from Teaching People to Code08:03 - Resources => Consume ALL THE InformationKatya Eames[YouTube] Katya Eames: How to Teach Angular to your KidsA Smarter Way to Learn JavaScript: The new approach that uses technology to cut your effort in half by Mark Myers11:16 - Two Camps: Art (Creators) and Technicians <= Does DevMountain Cater to One or the Other?13:08 - Repetition as a Way to LearnThe Hard Way Series (Zed Shaw)Follow @lzsthw for book related news, advice, and politeness 15:23 - Letting People Struggle vs Helping Them    17:14 - Training/Finding Instructors / Teaching Teachers to be Better Teachers21:08 - Why Is JavaScript a Good Language to Learn?JSX24:11 - DevMountain Mentors26:30 - Student Success Stories28:56 - Bootcamp Learning EnvironmentsReact Week@reactweekRyan Florence34:11 - Oldest and Youngest Students (Success Stories Cont’d)37:18 - Bootcamp Alumni (Employment Rates and Statistics)Picks Costco Kirkland Brand Peanut Butter Cups (Dave) [Confreaks] Tyler McGinnis: What I’ve Learned about Learning from Teaching People to Code (Dave) [YouTube] Katya Eames: How to Teach Angular to your Kids (Dave) [YouTube] Misko Hevery and Rado Kirov: ng-conf 2015 Keynote 2 (Dave) Mandy’s Fiancé (AJ) [YouTube] Katya Eames: How to Teach Angular to your Kids (Joe) ng-conf Kids (Joe) Salt (Joe) [YouTube] Dave Smith: Angular + React = Speed (Tyler) [YouTube] Igor Minor: (Super)Power Management (Tyler) React.js Newsletter (Tyler) Dave Smith’s addendum to his talk (Joe)Special Guest: Tyler McGinnis. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

18 Maalis 201550min

150 JSJ OIMs with Richard Kennard, Geraint Luff, and David Luecke

150 JSJ OIMs with Richard Kennard, Geraint Luff, and David Luecke

Check out RailsClips on Kickstarter!! 02:01 - Richard Kennard IntroductionTwitter GitHubKennard ConsultingMetawidget02:04 - Geraint Luff IntroductionTwitter02:07 - David Luecke IntroductionTwitterGitHub02:57 - Object-relational Mapping (ORM)NoSQLDuplication10:57 - Online Interface Mapper (OIM)CRUD (Create, Read, Update, Delete) UI (User Interface)12:53 - How OIMs WorkForm GenerationDynamic GenerationStatic GenerationDuplication of DefinitionsRuntime Generation16:02 - Editing a UI That’s Automatically GeneratedShape Information => Make Obvious Choice23:01 - Why Do We Need These?25:24 - Protocol? Metawidget 27:56 - Plugging Into Frameworksbackbone-formsJSON Schema33:48 - Making Judgement CallsWebComponents, ReactJSON APIAngularJS49:27 - Example OIMsJSON SchemaMetawidgetJsonary 52:08 - TestingPicks The Legend of Zelda: Majora's Mask 3D (AJ) 80/20 Sales and Marketing: The Definitive Guide to Working Less and Making More by Perry Marshall (Chuck) A Wizard of Earthsea by Ursula K. Le Guin (Chuck) Conform: Exposing the Truth About Common Core and Public Education by Glenn Beck (Chuck) Miracles and Massacres: True and Untold Stories of the Making of America by Glenn Beck (Chuck) 3D Modeling (Richard) Blender (Richard) Me3D (Richard) Bandcamp (David) Zones of Thought Series by Vernor Vinge (David) Citizenfour (Geraint) Solar Fields (Geraint) OpenPGP.js (Geraint) forge (Geraint)Special Guests: David Luecke, Geraint Luff, and Richard Kennard. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

11 Maalis 20151h 2min

149 JSJ Passenger Enterprise with Node.js with Hongli Lai and Tinco Andringa

149 JSJ Passenger Enterprise with Node.js with Hongli Lai and Tinco Andringa

Check out RailsClips on Kickstarter!! 02:39 - Hongli Lai IntroductionTwitter GitHub BlogPhusion03:08 - Tinco Andringa IntroductionGitHub03:23 - Phusion Passenger[GitHub] passenger06:13 - Automationnginx08:37 - Parsing HTTP HeadersHooking12:44 - Meteor Support15:37 - Future Added Features?17:12 - Passenger EnterpriseRuby Rogues Episode #143: Passenger Enterprise with Tinco Andringa and Hongli Lai About Phusion Passenger Documentation & Support20:03 - Concurrency and Multithreading  MultiprocessingThe Cluster ModuleWebSocketspassenger_sticky_sessions23:33 - Setting Up on a Server for a Node.js ApplicationDebian Packages25:06 - Union Station Monitoring Tool (Union Station Teaser)Introducing Union Station: our web app performance monitoring and behavior analysis service; now in open beta Using Google PolymerJavaScript Jabber Episode #120: Google Polymer with Rob Dodson and Eric BidelmanPolymer vs Facebook ReactPicks Emily Claire Reese: Playing Catch-Up (Jamison) Jason Punyon: Providence: Failure Is Always an Option (Jamison) Active Child: You Are All I See (Jamison) FFmpeg (Chuck) YouTube (Chuck) Developers' Box Club (Chuck) Ruby Remote Conf (Chuck) DevChat.tv Kickstarter (Chuck) Dash (Hongli) In the Balance: An Alternate History of the Second World War by Harry Turtledove (Hongli) phusion-mvc (Tinco) Union Station Teaser (Tinco) Radio 1's Live Lounge (Tinco)Special Guests: Hongli Lai and Tinco Andringa. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

4 Maalis 201543min

148 JSJ i.cx and EveryBit.js with Matt Asher and Dann Toliver

148 JSJ i.cx and EveryBit.js with Matt Asher and Dann Toliver

02:24 - Dann Toliver IntroductionTwitter GitHub Bento Miso02:35 - Matt Asher IntroductionTwitter GitHub Blog02:51 - EveryBit.js and I.CX[GitHub] everybit.js EveryBit.js Whitepaper 03:43 - ArchitectureEpisode #135: Smallest Federated Wiki with Ward Cunningham06:54 - Sustainability and The Pieces of the SystemContent “Puffs”AuthenticationStorageFirebaseDistributed Hash Table (DHT)The Chord Algorithm (Peer-to-Peer)21:56 - DecentralizationSpace MonkeyMadesafe25:20 - Audience: Why Should I Care?27:38 - Getting Started: Nuts and BoltsFrontend AgnosticStorage and PerformanceUsers and Data ManagementPayload PropertiesMetadataGraph DatabaseAdding New RelationshipsAdding HeuristicsResource Allocator ComponentLocal StorageRAM34:55 - Scaling and Server Cost36:23 - Cloud Storage and Management (Security & Trust)HTTPSSSL ModelGPG Model“Proof of Presence”"Self-verifying"Namecoin Project47:22 - Implementing Cryptographic Primitivesbitcoinjs-lib    Key Management CryptographyOAuth55:13 - The Firefox Sync Tool ProjectPicks [Twitch.tv] Kylelandrypiano (Jamison) "Visualizing Persistent Data Structures" by Dann Toliver (Jamison) Probability and Statistics Blog (Jamison) Seeed Studio (Tim) Adafruit Industries (Tim) SparkFun Electronics (Tim) American Sniper by Chris Kyle, Scott McEwen, and Jim DeFelice (Chuck) Introducing Relay and GraphQL (Dann) The Clojurescript Ecosystem (Dann) Read-Eval-Print-λove (Dann) React Native (Matt)Special Guests: Dann Toliver and Matt Asher. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

25 Helmi 20151h 5min

147 JSJ io.js with Isaac Schleuter and Mikeal Rogers

147 JSJ io.js with Isaac Schleuter and Mikeal Rogers

The panelists talk to Isaac Schleuter and Mikeal Rogers about io.js.Special Guests: Isaac Schleuter and Mikeal Rogers. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

18 Helmi 20152min

146 JSJ React with Christopher Chedeau and Jordan Walke

146 JSJ React with Christopher Chedeau and Jordan Walke

The panelists talk to Christopher Chedeau and Jordan Walke about React.js Conf and React Native.Special Guests: Christopher Chedeau and Jordan Walke. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

11 Helmi 201557min

145 JSJ Meteor.js with Matt DeBergalis

145 JSJ Meteor.js with Matt DeBergalis

The panelists talk to Matt DeBergalis about Meteor.js.Special Guest: Matt DeBergalis. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

4 Helmi 20151h 6min

144 JSJ Marionette.js 2.0 with Sam Saccone

144 JSJ Marionette.js 2.0 with Sam Saccone

The panelists talk to Sam Saccone about Marionette.js 2.0.Special Guest: Sam Saccone. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

28 Tammi 201538min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
mimmit-sijoittaa
psykopodiaa-podcast
rss-rahapodi
ostan-asuntoja-podcast
oppimisen-psykologia
pomojen-suusta
taloudellinen-mielenrauha
rss-lahtijat
kasvun-kipuja
sijoituspodi
rss-seuraava-potilas
rss-h-asselmoilanen
rss-merja-mahkan-rahat
rss-viisas-raha-podi
rahapuhetta
rss-uskalla-yrittaa
rss-laakispodi
rss-farmapodi
rss-rikasta-elamaa