J.B. Rainsberger - Integration Tests are a Scam
J.B. Rainsberger - When Is It Safe to Introduce Test Doubles?
Gary Bernhardt - Boundaries
Gary Bernhardt - Functional Core, Imperative Shell
Tom Stuart - Thinking functionally in Ruby
J.B. Rainsberger - Integration Tests are a Scam
J.B. Rainsberger - When Is It Safe to Introduce Test Doubles?
Gary Bernhardt - Boundaries
Gary Bernhardt - Functional Core, Imperative Shell
Tom Stuart - Thinking functionally in Ruby
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
@mintuz gist contains instructions of how to preserve history of a subdirectory between repos, for example a template or lib within morph-renderer
which you are transferring into morph-modules
.
However this script doesn't work for a whole repository, such as something already (incorrectly) versioned or a standalone lib.
Based off of article found here: http://www.nomachetejuggling.com/2011/09/12/moving-one-git-repo-into-another-as-subdirectory
You have two repos here. morph-modules
and my-module
. We will be copying 'my-module' and preserving it's history into morph-modules/my-module
.`
Years ago, some smart folks that worked on JS engines realized that not all JS that's loaded into a page/app initially is needed right away. They implemented JIT to optimize this situation.
JIT means Just-In-Time, which means essentially that the engine can defer processing (parsing, compiling) certain parts of a JS program until a later time, for example when the function in question is actually needed. This deferral means the engine is freer to spend the important cycles right now on the code that's going to run right now. This is a really good thing for JS performance.
Some time later, some JS engine devs realized that they needed to get some hints from the code as to which functions would run right away, and which ones wouldn't. In technical speak, these hints are called heuristics.
So they realized that one very common pattern for knowing that a function was going to run right away is if the first character before the function
keyword was a (
, because that usually m
import React from "react"; | |
import { ErrorBoundary } from "./error-boundary"; | |
export const App = () => { | |
return ( | |
<React.StrictMode> | |
<ErrorBoundary report={console.error}> | |
<h1>Example</h1> | |
</ErrorBoundary> | |
</React.StrictMode> |