- Make sure you have a modern-ish version of Node.js installed.
- Type
npx https://gist.github.com/kfox/1280c2f0ee8324067dba15300e0f2fd3
- Connect to it from a client, e.g.
netcat
or similar:nc localhost 9000
At the heart of agile software development is the first enumerated principle from the Manifesto for Agile Software Development:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
We have fallen into a pattern of not having demonstrable software when an increment concludes. There are heavy sighs when the question arises of what is there to show at product review.
I propose remedying this unvirtuous cycle by trying an experiment. This radical idea is to focus on The Most Important Thing
. We spend time bandying about number of developers and weeks. We don't spend much attention to what is Important
. If something is important we should attack it with virgor and defer new work until completing Important Thing
.
This approach ensures that things get completed. Time spent 'in-progress' for the Epic is minimal. We've all see the task/story that sits at 80% done for 9
import { useState, useRef, useCallback } from 'react'; | |
export const useSubmit = (fun: Function) => { | |
const [isPending, setIsPending] = useState<boolean>(false); | |
const pendingRef = useRef(null); | |
const submit = useCallback((...args) => { | |
if (pendingRef.current) { | |
return; | |
} |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Jigsaw puzzle</title> | |
<script type="text/javascript"> | |
function save(filename, data) | |
{ | |
var blob = new Blob([data], {type: "text/csv"}); |
import {call, put, take, fork} from 'redux-saga/effects' | |
import {END} from 'redux-saga' | |
import CategoryActions, {CategoryTypes} from '../Redux/CategoryRedux' | |
// attempts to fetch category | |
export function* fetchCategoryServer (api) { | |
let action = yield take(CategoryTypes.CATEGORY_SERVER) | |
// check when it stopped | |
while (action !== END) { | |
yield fork(fetchCategoryAPI, api) |
Picking the right architecture = Picking the right battles + Managing trade-offs
- Clarify and agree on the scope of the system
- User cases (description of sequences of events that, taken together, lead to a system doing something useful)
- Who is going to use it?
- How are they going to use it?
@ECHO OFF | |
SETLOCAL | |
GOTO:MAIN | |
REM | |
REM Info functions start | |
REM | |
REM Display version and copyright information | |
:VERSION |
(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.
/** | |
* api/services/BaseController.js | |
* | |
* Base controller for all sails.js controllers. This just contains some common code | |
* that every controller uses | |
*/ | |
'use strict'; | |
var actionUtil = require('sails/lib/hooks/blueprints/actionUtil'); |