Skip to content

Instantly share code, notes, and snippets.

Reactive Design Patterns

The Reactive Manifesto

A system:

  1. It must react to its users (responsive).
  2. It must react to failure and stay available (resilient).
  3. It must react to variable load conditions (elastic).
  4. It must react to inputs (message-driven).

ASK

The Ask Formula is a series of surveys (or questions) designed to determine what a customer wants, along with customized sales language based on those answers to get that customer to buy. Think of it like a funnel. A funnel is a tube or pipe that is wide at the top and narrow at the bottom, used for guiding liquid or powder into a small opening. A survey (or question) funnel operates the same way. You start by asking big wide questions at first, and then those questions narrow, and narrow more, as you ask your customers simple, more precise questions about their situation; until you have enough information to speak to their specific wants, needs, and desires.

People don’t know what they want.

People are really good at telling you what it is they don’t want.

The 15 Commitments of CONSCIOUS LEADERSHIP

When leaders are below the line, they are closed and defensive, and when they are above the line, they are open and curious.

WHAT’S WRONG WITH BEING RIGHT

Once leaders develop self-awareness and locate themselves accurately below the line, they create the possibility for shifting, a master skill of conscious leaders.

Shifting is moving from closed to open, from defensive to curious, from wanting to be right to wanting to learn, and from fighting for the survival of the individual ego to leading from a place of security and trust.

Understanding ECMAScript 6

1 Block Bindings

Variable declarations using var are treated as if they are at the top of the function (or in the global scope, if declared outside of a function) regardless of where the actual declaration occurs; this is called hoisting.

Block-level declarations declare bindings that are inaccessible outside a given block scope. Block scopes, also called lexical scopes, are created in the following places:

  • Inside a function
  • Inside a block (indicated by the { and } characters)

let declarations are not hoisted to the top of the enclosing block; use let to declare a variable but limit the variable’s scope to only the current code block.

@jonnyjava
jonnyjava / The_principles_of_object-oriented_javascript.md
Last active August 2, 2023 09:56
The principles of object-oriented javascript by nicholas c. zakas

The principles of Object-Oriented Javascript

TYPES

JS uses two kinds of types: primitive and reference. Primitive types are stored as simple data types. Reference types are stored as objects, which are really just references to locations in memory.

Primitive Types

There are five primitive types in JavaScript:

  1. Boolean true or false
  2. Number Any integer or floating-point numeric value
  3. String A character or sequence of characters delimited by either single or double quotes (JavaScript has no separate character type)
@jonnyjava
jonnyjava / working_effectively_with_legacy_code.md
Created November 4, 2019 21:51
Working effectively with legacy code summary

WORKING EFFECTIVELY WITH LEGACY CODE

To me, legacy code is simply code without tests. I’ve gotten some grief for this definition. What do tests have to do with whether code is bad? To me, the answer is straightforward, and it is a point that I elaborate throughout the book: Code without tests is bad code. It doesn’t matter how well written it is; it doesn’t matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don’t know if our code is getting better or worse.

Chapter 1 Changing Software

Four Reasons to Change Software: For simplicity’s sake, let’s look at four primary reasons to change software.

@jonnyjava
jonnyjava / Clean Arquitecture.md
Last active December 22, 2021 08:22
Clean Arquitecture

Clean architecture

  • The goal of software architecture is to minimize the human resources required to build and maintain the required system.
  • The only way to go fast, is to go well.

A TALE OF TWO VALUES

BEHAVIOR

The first value of software is its behavior. Programmers are hired to make machines behave in a way that makes or saves money for the stakeholders.

@jonnyjava
jonnyjava / 97_Things_Every_Programmer_Should_Know.md
Last active November 27, 2023 22:16
97 Things Every Programmer Should Know: Collective Wisdom from the Experts

97 Things Every Programmer Should Know: Collective Wisdom from the Experts

  1. Act with Prudence

    • Pay off technical debt as soon as possible. It would be imprudent to do otherwise.
  2. Apply Functional Programming Principles

  3. Ask "What Would the User Do?" (You Are Not the User)

    • Spending an hour watching users is more informative than spending a day guessing what they want.
@jonnyjava
jonnyjava / LeanStartup.md
Created July 6, 2017 16:21
What i learnt about Lean Startup

LEAN STARTUP

Books

  • Business Model Generation and Value Proposition Design: - Alexander Osterwalder
  • The Lean Startup: - Eric Ries
  • The Startup Owner's Manual: The Step-By-Step Guide for Building a Great Company - Steve Blank / Bob Dorf
  • The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers - Ben Horowitz
  • The Four Steps to the Epiphany Hardcover – Steve Blank (Author)
  • The Lean Product Playbook: How to Innovate with Minimum Viable Products and Rapid Customer Feedback - Dan Olsen (Autor)
@jonnyjava
jonnyjava / roadmap.md
Last active September 27, 2019 09:58
Become a good programmer roadmap