~/devreads

Pony Foo

https://ponyfoo.com/ · 10 posts · history since 2019 · active

16 Dec 2021

nico@ponyfoo.com (Nicolás Bevacqua) 15 min read

Building — and adopting — a component library in the context of a vibrant business is no easy feat. Here are a few things we’ve learned. At a small startup, the timing is never quite right to start a component library. Extremely quick iteration is not usually associated with putting together a standardized set of components and conventions to use…

architecture

3 Jun 2019

ryan.glover@cleverbeagle.com (Ryan Glover) 14 min read

Handling data in React can be treacherous if you don’t know your way around. Learn some common patterns for fetching, storing, and retrieving data in this guide to help you avoid messy code traps. React’s flexibility means you can handle data in a lot of different ways. This guide will teach you patterns for fetching, storing, and retrieving data in…

reactdatastatehooksrefs

13 May 2019

m@peka.la (Maciek Pekala) 7 min read

One of the things I enjoy the most about coding is discovering patterns. Being aware and mindful of the patterns emerging in your codebase can make it easier to keep that codebase consistent, readable and easy to navigate. Most patterns will remain unspoken, and some, that prove notably elegant, are named and promoted as best practices. Others might even be…

reactpatterns

22 Apr 2019

jsmapr1@gmail.com (Joe Morgan) 11 min read

Mocks are a great way of preventing AJAX calls in tests, but they can also help you isolate side effects and impurities that can create complicated tests. As you learned in Part 1, mocks are a great way to handle external data or any data that is likely to change. Mocking external data will likely be your most common use…

jesttesting

10 Apr 2019

nico@ponyfoo.com (Nicolás Bevacqua) 2 min read

Have you ever tried to do a code review on a PR that merges a large release branch or feature branch back into mainline, fixing merge conflicts? It’s not pretty. The diffs are often and easily very big, — 50k+ LOC big — have hundreds of commits, and the actual changes made by the engineer resolving the merge conflicts are…

gittips

28 Mar 2019

jsmapr1@gmail.com (Joe Morgan) 8 min read

Testing can be simple. In fact, it is simple. Well, it is simple until impurities slip in. Code that would be easy to test becomes a nightmare as soon as you get impure data (like date checks) or complex external dependencies (such as DOM manipulations or large 3rd party libraries). The part that tends to frustrate developers most is when…

testingjest

26 Mar 2019

ryan.glover@cleverbeagle.com (Ryan Glover) 18 min read

Let’s convert a mock API endpoint for signing up new users in a mobile app into using the action pattern. When I first started writing software on the web, my code was a mishmash. Every project was loaded with unnecessarily long files and code left commented, thrown to the side of the road like an abandoned vehicle. The theme of…

patternsaction-pattern

19 Mar 2019

jsmapr1@gmail.com (Joe Morgan) 14 min read

Proper state handling in React will make your components simple and maintainable. Poor choices will give you lots of headaches in the long-term. There are plenty of options for managing state in a React app. But there’s very little guidance about which one you should use in any situation. Let’s fix that. The solution you pick to manage state should…

javascriptreactredux

12 Mar 2019

ryan.glover@cleverbeagle.com (Ryan Glover) 19 min read

GraphQL is all the rage, but what exactly is it? In this in-depth walkthrough, we take a look at what GraphQL is, how to use it, and why you should use it. Learn why GraphQL is all the rage! We’ll walk through the implementation of a schema for a popcorn company’s API, learning about types, queries, and mutations as we…

graphqlapollo

5 Mar 2019

benedikt.meurer@googlemail.com (Benedikt Meurer) 20 min read

In recent years, JavaScript engines have improved on all fronts. The performance of JavaScript has reached a level where it can easily compete with programming languages that have traditionally been considered more appropriate for high-performance computing. This is not only true for V8, the JavaScript engine inside of Chrome and Node.js, but for all major JavaScript engines, including ChakraCore, the…

performancev8internals