Skip to content

Instantly share code, notes, and snippets.

View dengjonathan's full-sized avatar

Jon Deng dengjonathan

View GitHub Profile
@dengjonathan
dengjonathan / oop.js
Created September 28, 2016 02:43
OOP style
class Animal {
constructor(name, legs) {
this.name = name;
this.legs = legs;
}
}
class Dog extends Animal {
constructor(name) {
super(name, 4)
@dengjonathan
dengjonathan / functional.js
Last active September 28, 2016 02:42
Functional style through composition
class Animal {
constructor(name, legs) {
this.name = name;
this.legs = legs;
}
}
class Dog extends Animal {
constructor(name) {
super(name, 4)
@dengjonathan
dengjonathan / OOP.js
Last active September 28, 2016 02:28
OOP style
const hasLegsMaker = num => ({ legs: num });
const noiseMaker = noise => {
return { makeNoise: () => { console.log(`All day I just ${noise}`) } };
};
var fido = Object.assign({}, hasLegsMaker(4), noiseMaker('woof!'));
fido.makeNoise(); //All day I just woof!
@dengjonathan
dengjonathan / index.js
Last active February 20, 2017 10:26
minimal express.js server
var express = require('express');
var app = express();
var path = require('path');
app.use(express.static(path.join(__dirname)));
app.use("/styles", express.static(__dirname));
app.use("/images", express.static(__dirname + '/images'));
app.use("/scripts", express.static(__dirname + '/scripts'));
// viewed at based directory http://localhost:8080/
@dengjonathan
dengjonathan / server.js
Last active September 24, 2016 12:50
simple express node server
var express = require('express');
var app = express();
var path = require('path');
// make express look in the public directory for assets (css/js/img)
app.use(express.static(path.join(__dirname)));
app.use("/styles", express.static(__dirname + '/css'));
app.use("/scripts", express.static(__dirname + '/scripts'));
app.use("/images", express.static(__dirname + '/img'));
app.use("/components", express.static(__dirname + '/bower_components'));
@dengjonathan
dengjonathan / static_server.js
Created September 24, 2016 03:59 — forked from ryanflorence/static_server.js
Node.JS static file web server. Put it in your path to fire up servers in any directory, takes an optional port argument.
var http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs")
port = process.argv[2] || 8888;
http.createServer(function(request, response) {
var uri = url.parse(request.url).pathname
, filename = path.join(process.cwd(), uri);
@dengjonathan
dengjonathan / hashTable.js
Last active September 23, 2016 13:57
hashtable for MVP
"use strict"
var LimitedArray = function (limit) {
var storage = [];
var limitedArray = {};
limitedArray.get = function (index) {
checkLimit(index);
return storage[index];
};
@dengjonathan
dengjonathan / hashTable.js
Last active September 23, 2016 14:14
a hashTable
"use strict"
var LimitedArray = function (limit) {
var storage = [];
var limitedArray = {};
limitedArray.get = function (index) {
checkLimit(index);
return storage[index];
};
@dengjonathan
dengjonathan / Bee.js
Created September 19, 2016 18:50
superclass to subclass inheritance
var Bee = function () {
Grub.call(this);
this.age = 5;
this.color = 'yellow';
this.job = 'keep on growing';
};
Bee.prototype = Object.create(Grub.prototype);
Bee.prototype.constructor = Bee;
@dengjonathan
dengjonathan / puke.js
Created September 12, 2016 15:12
puke function that creates a React node displaying results of an object (usually an api call)
function puke(object) {
return <pre>{JSON.stringify(object, null, ' ')}</pre>;
}