RRU 079: State Machines and State Charts with Farzad Yousef Zadeh
React Round Up17 Syys 2019

RRU 079: State Machines and State Charts with Farzad Yousef Zadeh

Episode Summary Today’s guest is Farzad Yousef Zadeh, a developer from Iran with a unique path into computer programming. He started by studying astrophysics and aerospace engineering in college, then dropped out in his last semester because it wasn’t the right path. He then taught himself to code, working mostly in web programming and frontend development. Despite his change in course, Farzad remains passionate about observing the night sky. Farzad is here today to talk about the ideas in his talk Explicitness and Consistency in UI, where he talks about the difficulties of developing a user interface and how the experience can be improved by using state machines and state charts. He talks about his inspiration for the talk and how he has implemented state machines and state charts into his work. The panel backtracks and talks about the definition of state machines and state charts. A state machine, from an academic background, is a model for computing something. It's for managing and controlling, taking over branching and managing a finite amount of state declaratively. State machines are not so much about sharing or reusing, but about how your communicate a certain behavior. Despite the fact that event driven programming permeates the programming consciousness, thinking about state charts and state machines is actually more natural than it first appears. The panel explains how it’s the same principle as whiteboarding to solve a problem. Lucas asks how state charts are different from pure React. Farzad talks about how it’s important not to just treat your static states as first class, but also the transitions between them. Otherwise, you would end up with something that looks like a map with cities and towns, but no roads. Using statecharts and state machines makes testing an application much easier, and in some ways you let the machine test itself. The machine will know what to do with your states because you define the path, and the machine will take the path for you. They again talk about the difference between state machines and state charts. A state machine defines a finite set of states and defining the events that the machine can take and respond to when transitioning from state A to B. If you use only this, you will encounter a snag called ‘state explosion’ because not non-concrete things cannot be modeled. So, state charts were invented to compensate for this. A state chart brings the idea of an extended state, or the context and data you need to hold and reason from. Farzad talks about other types of machines and supports that exist for branching, entry actions, and exit actions. This is similar to the use effect hook in React. He gives examples of where you would use this logic and how it would be worked into frameworks. Farzad talks about how your machine is just a definition, a declarative model of how something is supposed to behave, and how having that separation between the definition of the logic and behavior vs the implementation of API has given us so much more freedom and portability The panel talks about how using state machines and charts is an investment in the long term maintainability of your code. They agree that using state machines and charts makes it easier to communicate with other developers, new team members, and even non developers. They talk about Cerebral.js and its contributions and model. As with everything in programming, state machines are not a silver bullet and don’t work in every situation. Farzad talks about situations where state machines can be unhelpful. It is still valuable to consider state machines and charts because it forces you to dedicate time thinking and organizing your thoughts so that you can build something maintainable that won’t just be thrown away. The panel discusses how thinking things out before starting to code can be beneficial. They finish by talking about how React Hooks has started them on the path to implement state machines and charts into their code. Panelists
  • David Ceddia
  • Lucas Reis
  • Leslie Cohn-Wein
  • Thomas Aylott
With special guest: Farzad Yousef Zadeh Sponsors Links Follow DevChatTV on Facebook and Twitter Picks David Ceddia: Thomas Aylott: Lucas Reis: Leslie Cohn-Wein: Farzad Yousef Zadeh: Special Guest: Farzad Yousef Zadeh.

Advertising Inquiries: https://redcircle.com/brands

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

Become a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

Jaksot(310)

Using and Teaching React with Kay Plößer - RRU 235

Using and Teaching React with Kay Plößer - RRU 235

In this episode of React Round Up, the panel talks with Kay Plößer, describing their experiences learning React. Kay is a software developer from Stuttgart, Germany and the author of the book React from Zero. They discuss the best approach to learning React from scratch. Kay describes the process of writing and producing his book 'React from Zero'. Initially he started with tutorials and lessons and then turned those into a book. It is constructed in two sections: basic and advanced and it's purpose is to help developers learn React without being overwhelmed. He has received great feedback from the people who have bought the book.Kay then describes his experiences teaching React to developers and talks about his blog post React Hooks Demystified which became really popular. The panel then about how developers can increase and diversify income through writing books and side projects.SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipLinksKay's Book: React from ZeroKay's Blog Post: React Hooks DemystifiedKay’s LinkedInKay’s TwitterKay’s GitHubKay's WebsiteKay's SkillshareKay's Facebookhttps://www.facebook.com/React-Round-Uphttps://twitter.com/reactroundupPicksNader - Finite and Infinite Games by James CarseLucas - An Introduction and Guide to the CSS Object ModelLucas - AST ExplorerCharles - Charles' New Devchat.tv Build on Eleventy on GitHubKay - Wardley mapsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

10 Loka 202352min

The State Machines in React with David Khourshid - RRU 234

The State Machines in React with David Khourshid - RRU 234

David Khourshid is the author of a library called Xstate, He has been a developer for 7 years, currently works for Microsoft, his passion is frontendTalks a. In college, he actually studied piano performance, and so he talks about how he got into programming and where he started. The panel discusses his unique husky animation and how he came up with the idea for it and went about programming it.The panel discusses what a state is in React. David defines a state as a moment in time. States can change, when they do, that’s a state transition. They talk about the utility of states and thinking about your app as a state machine. They agree that describing your code as a state machine makes it easier to communicate and connect with non developers. The panel discusses the importance of learning from other industries, such as approaching programming the same way construction workers build a house. They debate the Waterfall versus the Agile mindset. They talk about the advantages of programming in React and focusing on the state machine, especially because it is important to be intentional about dealing with concepts separate from other concepts. They share different ways to switch to state machine thinking, one of which is to look at your event handlers and make sure they are doing anything besides dispatching events. David talks about his library called Xstate and the basics of his library and his inspiration, and who else is working in state machines. The finish by discussing industry standards. SponsorsChuck's Resume Template Raygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksXstateKeyframersBootstrapDavid’s husky animationThe Checklist ManifestoSion SCXMLQTElmThunkObservableNoFloSketch SystemsState Charts PicksDavid - Atomic Habits by James Clear David - Bullet JournalThomas - The Checklist ManifestoThomas - Thomas’ Youtube ChannelDavid Khourshid - Constructing The User Interface with State Charts (check the library first)Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

4 Loka 202351min

React Best Practices - RRU 233

React Best Practices - RRU 233

In this week’s episode of React Round Up the panel works their way through a blog post outlining best practices for React. The first is “keeping components small and function-specific”. The panel discusses the pros of using this best practice and how it relates to the single responsibility principle. This best practice also helps with the next, “reusability is important”.The panel considers this second best practice and points out some of its flaws. It recommends avoiding the creation of new components. The panel explains that by avoiding creating new components it saves time but can also cause problems as you adapt components to fit more projects. SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipLinkshttps://teachablemachine.withgoogle.com/ Practical React Hooks: How to refactor your app to use Hooks 12 React Best Practices You Need to Follow in 2020 https://github.com/nadeesha/saul https://www.facebook.com/React-Round-Uphttps://twitter.com/reactroundupPicksCharles - White Christmas Charles - Holiday Inn Charles - The MaxCoders Guide To Finding Your Dream Developer Job Christopher - https://github.com/microsoft/vscode-eslint Christopher - https://www.playingwithfire.co/ Thomas - test && commit || revertAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

27 Syys 202340min

Game Development in React & Typescript with Maksim Ivanov - RRU 232

Game Development in React & Typescript with Maksim Ivanov - RRU 232

Front-end developer Maksim Ivanov talks about working for Mojang, the company behind the ridiculously popular game Minecraft. As it turns out, Maksim uses React to build different pieces of the game, and runs the code through a custom renderer to make it work in the game world. In addition to his day job, he also found time to write a book about TypeScript after realizing how much easier getting familiar with new code bases could be if TypeScript was used instead of JavaScript. The panel has used TypeScript to varying degrees themselves, but nobody's gone all in, and they talk about the pros and cons of it, including the initial learning curve and how it can help prevent bugs in the code. Maksim's book covers many aspects of TypeScript in great detail, and it sounds like a good read for anyone just picking up the language.SponsorsChuck's Resume Template Raygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksCustom Rendererreact-game-engine - npmreact-unity-webgl - npmgettextnewline@tjfuller • InstagramReact Hook FormCheatsheets for experienced React developers getting started with TypeScriptThe RSpec BookTypeStrongPicksMaksim - Follow Maksim on YoutubeMaksim -Harry Potter and the Methods of RationalityCharles - Iron druid chroniclesCharles - Percy JacksonPaige - The Name of the WindTJ - OmniDiskSweeper, OmniWeb, and OmniPresence - The Omni GroupTJ - https://rtmccormick.com/2018/01/10/clear-node-modules-folders-recursively-mac-linux/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

20 Syys 202359min

All Astro with Fred Schott - RRU 231

All Astro with Fred Schott - RRU 231

Today we talk with Fred Schott, the co-creator of Astro, a web framework focused on improving performance. Built around island architecture, it leverages HTML over javascript where it’s an option. Astro is a great option for those who focus on content, marketing, or personal blogs, and it is a great option to use with React. In this episode, we talk about when it makes sense to use Astro, and how to implement it.SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipLinksastro.new Astro | Build faster websitesAstro LoungeTwitter: @FredKSchottTwitter: @astrodotbuildPicksFred- Over the Garden WallJack- Pizza: The Ultimate Cookbook Featuring More Than 300 Recipes (Italian Cooking, Neapolitan Pizzas, Gifts for Foodies, Cookbook, History of Pizza)TJ- The Vergecast PodcastAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

13 Syys 202346min

React Architecture with Tommy Groshong - RRU 230

React Architecture with Tommy Groshong - RRU 230

In today's episode, we talk about state management, dependency injection, react hooks, API access best practices and more with Tommy Groshong a React UI architect.SponsorsChuck's Resume Template Raygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksReact Context for Dependency Injection Not State ManagementReduce State Management Footprint with React QueryReduce State Management Footprint with React QueryTest DoubleTommyGroshong.comLinkedIn: Thomas Groshong Twitter: Tommy Groshong ( @tgroshon ) PicksJack- Deno DeployPaige- Ted LassoPaige- GitHub | foambubble/foamTJ- Land of the GiantsTommy- The CourierTommy- The Anarchist HandbookAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

6 Syys 202353min

Data Visualization at Scale with Andrey Goncharov - RRU 229

Data Visualization at Scale with Andrey Goncharov - RRU 229

Software Engineer Andrey Goncharov joins the React Round Up crew to discuss how his company Hazelcast has approached visualizing hundreds of data points on potentially hundreds of computers in a way that makes sense to users. Dust off your math skills - it gets a little technical along the way as they discuss graphs, charts, performance optimizations, and bottlenecks, and even handling accessibility of these data-intensive graphs. If you ever have to debug system failures and anomalies, this will be a worthwhile episode to check out.SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksHazelcast | The Leading In-Memory Computing Platform Chart.js | Open Source HTML5 Charts for your WebsitePicksAndrey- Designing Data-Intensive Applications by Martin KleppmannPaige-  Netflix Series | The Queen’s GambitTJ- City of Stairs: A Novel (The Divine Cities) by Robert Jackson BennettSpecial Guest: Andrey Goncharov.Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

23 Elo 202343min

How to Organize Your React App ft. Tania Rascia - RRU 228

How to Organize Your React App ft. Tania Rascia - RRU 228

Tania Rascia joins the round up to discuss how to organize your code across files, directories, components, and repos within your React app. The panel chimes in with what they've seen and clarify how these approaches effect the overall application functionality of your app.SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipLinksReact Architecture: How to Structure and Organize a React Application | Tania RasciaBackends for Frontends pattern - Cloud Design Patterns | Microsoft DocsChakra UIFront End Tables: Sorting, Filtering, and Pagination | Tania RasciaPicksJack- react-location - npmPaige - Newline.coPaige- Fullstack React with Typescript courseTania - NetlifyTJ - Edge ImpulseAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

16 Elo 202345min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
herrasmieshakkerit
ostan-asuntoja-podcast
hyva-paha-johtaminen
taloudellinen-mielenrauha
sijoituskaverit
rss-lahtijat
rss-rahamania
rss-huomisen-talous
rss-vaikuttavan-opettajan-vierella
kasvun-kipuja
rss-bisnesta-bebeja
rss-merja-mahkan-rahat
rss-sisalto-kuntoon
rss-lentopaivakirjat
rss-paasipodi
rss-hoyrytetty