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)

183 JSJ Should I go to college?

183 JSJ Should I go to college?

JS Remote Conf 2016 will be from January 14th-16th from noon-4:30PM ET! Get your early bird tickets or submit a CFP now thru December 14th! 02:46 - Panel Consensus and Experience and Career Paths16:00 - The School Doesn’t MatterDavid and Goliath: Underdogs, Misfits, and the Art of Battling Giants by Malcolm Gladwell 19:59 - Panel Experience and Career Paths (Cont’d)38:36 - Practically Helpful Knowledge and Disciplines; Interviewing and Hiring46:38 - Privilege and Navigating Without Opportunity49:54 - Why get a degree if it’s not necessary?Support Structure01:02:13 - Consensus Part 2Picks The More Things Change (Jamison) Allison Kaptur: Effective Learning Strategies for Programmers (Jamison) @Aimee_Knight (Joe) Star Wars Battlefront (Joe) Amazing Grass (Aimee) Daniel Brain: Sane, scalable Angular apps are tricky, but not impossible. Lessons learned from PayPal Checkout. (Aimee) xkcd: Correlation (Dave) Lviv, Ukraine (Dave) CharlesMaxWood.com (Chuck) Every Time Zone (Chuck) The Positioning Manual for Technical Firms by Philip Morgan (Chuck) JS Remote Conf (Chuck) 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 Loka 201543min

182 JSJ RxJS with Matthew Podwysocki

182 JSJ RxJS with Matthew Podwysocki

02:19 - Matthew Podwysocki IntroductionTwitter GitHubMicrosoft04:01 - RxJSReactive JavaScript Interview w/ Jeffrey Van Gogh & Matthew Podwysocki @ JSConf 2010“First-class Events”10:18 - Practical Experience of UseObservables17:28 - observable-spec 21:43 - Observables and Promises 25:06 - Using RxJS in Common FrameworksRxJS Git Book RxJS Gitter Channel27:53 - Are there places where observables might not be better than callbacks/Promises?29:16 - Why would someone use RxJS on the backend in place of Node streams? RabbitMQ32:28 - Are Promises dying?36:13 - Observable GotchasHot vs Cold Observables40:29 - InfluenceElmFunctional Reactive Programming (FRP)47:47 - Will observables in ES2016 replace RxJS?Picks A cartoon guide to Flux (Aimee) Promisees (Aimee) The Dear Hunter - Act IV Rebirth in Reprise (Jamison) Jessie Char: Expert On Nothing @ NSConf7 (Jamison) XHR Breakpoints (Dave) Glove and Boots (Dave) Computer Programming (Joe) Evan Czaplicki’s Thesis for Elm (Joe) The Alchemist by Paulo Coelho (Chuck) thaliproject (Matthew) BBC Micro Bit (Matthew) Minutemen (Matthew)Special Guest: Matthew Podwysocki. 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.

21 Loka 20151h 1min

181 JSJ The Evolution of Flux Libraries with Andrew Clark and Dan Abramov

181 JSJ The Evolution of Flux Libraries with Andrew Clark and Dan Abramov

Sign up for JS Remote Conf! Dan and Andrew's super awesome, helpful document that they made for the show during preparation03:22 - Andrew Clark IntroductionTwitter GitHubOpenGovflummox 03:39 - Dan Abramov IntroductionTwitter GitHubJavaScript Jabber Episode #179: redux and React with Dan Abramov 04:03 - FluxFlux vs MVC09:36 - Data FlowWhy FluxComponent > fluxMixinMixins Are Dead. Long Live Composition.  Higher-order Components Sebastian Markbåge's Tweet22:52 - Conceptualizing React and FluxReact.js Conf 2015 - Flux Panel Does redux limit ambiguity that exists in Flux?27:50 - Documentation 30:38 - The Elm Programming Language 32:34 - Making Patterns Explicit in FrameworksTom Dale @ TXJS 2015Let a 1,000 flowers bloom. Then rip 999 of them out by the roots.Sebastian Markbåge: Minimal API Surface Area @ JSConf EU 201436:31 - Getting Started with React and FluxClasses42:42 - Where Flux Falls Short58:23 - Keeping the Core Small; Making DecisionsPicks Strange Loop 2015 Videos (Jamison) Typeset In The Future (Jamison) Open-source as a project model for internal work (w/ speaker notes) by Kevin Lamping (Jamison) Explanation of Zipf's Law (Dave) Will Conant's talk at UtahJS 2015 on Flux (Dave) The Legend of ZERO (3 Book Series) by Sara King (Joe) Camel Up (Joe) The Elm Programming Language (Joe) Boundaries: A talk by Gary Bernhardt from SCNA 2012 (Aimee) Nodevember (Aimee) TV Fool (Chuck) RCA Outdoor Digital HDTV VHF UHF Yagi Type Antenna (Chuck) The Michael Vey Book Series (Chuck) BusinessTown (Dan) Elon Musk: The World’s Raddest Man (Dan) Professor Frisby's Mostly Adequate Guide to Functional Programming (Dan) Abiogenesis (Dan) react-future (Dan) The Righteous Mind (Andrew) lodash-fp (Andrew) Inside Amy Schumer (Andrew) dataloader (Andrew) Careers at OpenGov (Andrew)Special Guests: Andrew Clark and Dan Abramov . 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.

14 Loka 201550min

180 JSJ Finding a Job

180 JSJ Finding a Job

02:14 - 15 Minute Podcast Listener chat with Charles Wood 03:23 - Amy’s Upcoming Talk at Nodevember 04:45 - Junior, Mid-level, and Senior Developers08:00 - Advice for Devs Straight Out of Boot Camp (How Job Hunts Work)14:28 - Looking For the Right Job For YOU The Passionate Programmer: Creating a Remarkable Career in Software Development by Chad Fowler23:22 - Mentorship & Company Culture 27:16 - Nailing the InterviewSalary ExpectationsGet to Know Potential Team MembersConfidence32:57 - Be Prepared: Coding is HARD Work35:27 - Getting To Know People & NetworkingHackathonsOpen Source ContributionDon’t Be Afraid … APPLY! ApprenticeshipsSaron Yitbarek: CodeNewbieConferences46:45 - Communication and People SkillsConway’s LawGet in touch with Aimee or Chuck!Tweet @cmaxwFork Aimee’s Ask Me Anything! Picks JS Remote Conf (Chuck) Rails Remote Conf (Chuck) Remote Conference Talks (Chuck) Standing Desks (Aimee) We have a problem with promises (Aimee) Interview Cake (Aimee) Nodevember (Aimee) A standing desk for $22 (Chuck) SmartCells Anti-Fatigue Comfort Mat (Chuck) Pebble Time (Chuck) Pebble.js (Chuck) 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.

7 Loka 201558min

179 JSJ redux and React with Dan Abramov

179 JSJ redux and React with Dan Abramov

02:25 - Dan Abramov IntroductionTwitter GitHubDan Abramov: Live React: Hot Reloading with Time Travel @ react-europe 201502:43 - Dan’s Background and Journey Into Building Stuff with React Visual Basic05:48 - redux and React     10:07- The Elm Programming Language 12:19 - Reducers14:04 - Hot Reloading 17:50 - “React makes you a better JavaScript developer.”22:10 - Time Travel28:26 - Storing Data and Managing StateInteracting with the browser on CircleCI's VM34:43 - [Patreon] Support Dan Abramov Creating Redux and React Hot Loader 36:24 - react-transformreact-proxy babel-plugin-react-transformreact-transform-catch-errors41:34 - Using redux outside React43:52 - Editors and Programmer Productivity45:35 - Future PlansPicks The OAuth2 RFC (Aimee) Michael Ries: Hiring Apprentices (Jamison) @sebmck: "Sometimes having email history isn't always a good thing..." (Jamison) Metal Gear Solid 5: The Phantom Pain (Jamison) Firefly (Joe) The Elm Programming Language (Joe) Google Keep (Dave) 15 Minute Podcast Listener chat with Charles Wood (Chuck) Pebble Time (Chuck) 100 Days of Burpees (Chuck) Broad City (Dan) Jamie xx: In Colour (Dan) Cycle.js (Dan)Special Guest: Dan Abramov . 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.

30 Syys 20151h

178 JSJ Tech Education and The Business of Running Front End Masters with Marc Grabanski

178 JSJ Tech Education and The Business of Running Front End Masters with Marc Grabanski

03:01 - Marc Grabanski IntroductionTwitter GitHub Blog03:35 - The jQuery UI Datepicker 04:29 - Frontend Masters@FrontendMasters07:26 - The Live Streaming PhenomenonTwitch.tv09:17 - Scalability11:25 - Value, Feedback Cycle14:43 - Structuring Courses and Workshops16:09 - Online vs In-PersonPrerequisites18:11 - Booking Workshops19:02 - Scaling (Cont’d)20:00 - Online Education (eLearning) in General egghead.ioCodeCombatNodeSchool21:40 - The Business ModelLicensing24:12 - Hot SellersKyle Simpson: Advanced JavaScript25:28 - Technical SetupLivestreamFirebase27:27 - Selecting Topics29:41 - Future Topics / Topics in Production30:38 - Individual / Company Attendeesfrontendmasters.com/workshops31:45 - Upcoming Plans for Frontend Masters32:32 - Advice For Starting Something Like Frontend Masters34:23 - Keeping Content Up-to-date36:14 - eLearning ExperimentsUntrusted exercism.ioNodeSchoolA Better Way to Learn JavaScriptMy Tech High39:30 - Giveawaysmarc@frontendmasters.com 40:07 - Getting Started with Programming43:03 - Marketing45:20 - Teacher CompensationPicks Jessica Kerr: Functional Principles In React @ React Rally 2015 (Jamison) thought-haver (Jamison) [Frontend Masters] Angular Application Development (Aimee) [Frontend Masters] JavaScript the Good Parts (Aimee) LÄRABAR (Aimee) Taking time off (Chuck) The Man from U.N.C.L.E. (Joe) BB-8 by Sphero (Joe) ng-conf (Joe) The Tim Ferriss Show (Marc) CodeCombat (Marc) Untrusted (Marc)Special Guest: Marc Grabanski. 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.

23 Syys 201512min

177 JSJ UI Validation with Oren Rubin

177 JSJ UI Validation with Oren Rubin

02:43 - Oren Rubin IntroductionTwitter GitHubLinkedInTESTIM.IO 05:43 - TestingUnit TestingEnd-to-end TestingAcceptance TestingFunctional TestingPerformance Testing18:18 - Page Object(s)Locators27:10 - Protractor & SeleniumZombie32:06 - Checking UI (Screenshots)37:04 - End-to-end > Full Coverage?40:03 - When should you start testing?42:21 - Cucumber 45:39 - DebuggingPicks Paul Ford: 10 Timeframes (Jamison) Kishi Bashi - “In Fantasia” (Jamison) Matt Zabriskie (Jamison) http-backend-proxy (Aimee) repl.it (Aimee) React.js Training with Michael Jackson and Ryan Florence (Joe) React Rally (Joe) AngularConnect (Joe) ng-conf (Joe) Ruby Remote Conf Videos (Chuck) Angular Remote Conf (Chuck) 15 Minute Podcast Listener chat with Charles Wood (Chuck) Dave Haeffner: Elemental Selenium (Oren) CSS Secrets by Lea Verou (Oren) Cloudinary (Oren)Special Guest: Oren Rubin. 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.

16 Syys 201559min

176 JSJ RethinkDB with Slava Akhmechet

176 JSJ RethinkDB with Slava Akhmechet

02:20 - Slava Akhmechet IntroductionTwitter GitHub Blog02:41 - RethinkDB Overview@rethinkdb rethinkdb repo    04:24 - How It’s UsedCompose.io05:58 - Joins12:50 - Returning DataJSON13:53 - Getting Data to the BrowserQuora ArticleSocket.IO19:35 - ClusteringReliability & Performance IssuesJepsen (Call Me Maybe Series)Consensus Algorithms26:37 - ReQL 30:53 - IndexesB-tree 32:18 - MapReduce 35:44 - The RethinkDB Community & Contributors38:04 - Is it production ready?40:08 - Differences Between Version 2.0 and 2.1 ExtrasJavaScript Jabber Episode #161: Rust with David HermanSteve Klabnik: Systems Programming for the Ruby Developer @ Ruby Remote Conf 2015  Picks Our World War (Dave) Quest Protein Bars (Aimee) You-Dont-Know-JS (Aimee) Angular Remote Conf (Chuck) Orphan Black (Chuck) Mr. Robot (Slava) Rick and Morty (Slava) The Rust Programming Language (Slava)Special Guest: Slava Akhmechet. 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.

9 Syys 201551min

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