That’s cool. If you want to jump in and start playing with React right away, the official documentation has lots of resources to help you get started.
This post is for people who want an answer to the questions, “why React? Why does React work the way it works? What is the purpose of the API designs?”
Life is simpler when UI components are unaware of the network, business logic, or app state. Given the same props, always render the same data. …
Is there a shortcut to becoming a 10x developer? Is there some magical secret that — if you only knew it — would unlock a whole new world of software development mastery and productivity for you?
This is where the doubters are thinking “There are no shortcuts! Everybody needs to practice to get good!” And that’s true enough, but what are the experts of software productivity practicing, and is there one key thing that can make a huge difference?
Yes! There is!
But even if I share it with you — even if I give it away and spell it out for you in detail— it might take you 10 years to grow into and fully appreciate the simplicity of it. …
Redux is an amazing tool if you take the time to get to know it. One of the things about Redux that commonly trips people up is that reducers must be pure functions.
A pure function is a function which:
The problem is that sometimes a reducer needs to make a complicated change to some input state, but you can’t just mutate the state argument without causing bugs.
The solution is a handy tool called Immer. In this video, I’ll introduce you to Immer and show you how to use it to reduce the complexity of your reducer code. With one or two small reducers, the difference is pretty subtle, but on a large project, it can significantly simplify your application code. …
Buy the Book | Index | < Previous | Next >
Not to be confused with:
Algebraic Data Types (sometimes abbreviated ADT or AlgDT). Algebraic Data Types refer to complex types in programming languages (e.g., Rust, Haskell, F#) that display some properties of specific algebraic structures. e.g., sum types and product types.
Algebraic Structures. Algebraic structures are studied and applied from abstract algebra, which, like ADTs, are also commonly specified in terms of algebraic descriptions of axioms, but applicable far outside the world of computers and code. An algebraic structure can exist that is impossible to model in software completely. For contrast, Abstract Data Types serve as a specification and guide to formally verify working software. …
Disclaimer: I am not a financial advisor and I’m not telling you where to put your money. Either or both BTC and ETH values could drop to zero.
This is a bait and switch title, but only because a lot of people are asking a question that doesn’t make sense.
The question, “which will win, Bitcoin or Ethereum?” implies some misconceptions which do not reflect reality.
Even if you’re already a professional software developer, you need to learn how to learn to code. Choosing a career in software development is choosing a path of lifelong learning.
In my role as a mentor I’ve had a peek into the learning process of hundreds of developers. What shocked me most is how much faster some learn than others. Some with little or no coding background learn new concepts more than 10 times faster than others who may have 10+ year’s experience in the craft. The secret is, you can, too. …
One gotcha that comes up frequently and has a serious impact on application performance is the tendency to accidentally fetch data in serial that could have been fetched in parallel. Don’t just drop an await in everywhere you use promises. Instead, think about the fetching dependencies. If you’re fetching more than one thing, make sure you fetch in parallel whenever you can. This will make a huge difference in your application’s performance.
Here’s some example code for you to play with.
Eric Elliott is a tech product and platform advisor, author of “Composing Software”, cofounder of EricElliottJS.com and DevAnywhere.io, and dev team mentor. He has contributed to software experiences for Adobe Systems, Zumba Fitness, The Wall Street Journal, ESPN, BBC, and top recording artists including Usher, Frank Ocean, Metallica, and many more.
He enjoys a remote lifestyle with the most beautiful woman in the world.
I’ve said this part before, so if you read the previous article, skip to “How to Implement Passwordless Authentication”, below. I’m posting the introduction again for those of us who are too lazy to click a link.
Managing user authentication and authorization is a very serious responsibility, and getting it wrong can cost a lot more than unauthorized access to your app. It can also compromise user privacy or lead to financial damage or identity theft for your users. …
On remote teams, conveying team norms is a different process from in the office. Office workers can usually stroll to another desk and ask somebody a question whenever one comes up. On remote teams, your team members may work at different times, or be busy with family errands in the middle of the workday (and that’s OK — people should work when they can be most productive).
So how should remote workers communicate the team’s practices and procedures when they can’t just shout, “Hey, how do we do code reviews around here?”
I’ve been using checklists for years. In software development we have many of them, like the SOLID principles on object-oriented design. …
Last Updated: March 2020
Setting up your remote work space can be daunting. You’ll be confronted with dozens of purchasing decisions, and you may feel like you need to do a lot of research. I build and advise remote development teams as part of my regular work, and have been doing so since 2014. I’ve looked at all the microphones and headsets, furniture, and accessories, so you can gear up quickly and get right to work.
Here are my current recommendations.
Note: Purchase using these links to support more great, free content.
A Fast Computer
Remote software development is CPU and memory intensive. You’ll often be recording and transcoding video clips, screen sharing or video chatting while compiling and interacting with a web browser. …