Skip to content

Instantly share code, notes, and snippets.

@jredh
jredh / 404.js
Created August 5, 2016 15:16
For some reason this is sending a 302 (redirect) instead of a 404
app.use( function ( req, res ) {
log.dis( 'Invalid path request: ' + req.path );
res.status( 404 );
// respond with html page
if ( req.accepts( 'html' ) ) {
res.status( 404 )
.redirect( req.protocol + '://' + req.get( 'Host' ) + '#/404' );
return;
@jredh
jredh / FluentInterface.java
Last active July 18, 2016 19:35
Naive Builder Pattern - I use this when I don't want a large amount of Builder Pattern overhead
public class Cat {
private String name;
private String color;
private Cat(){ }
public getName(){ return this.name; }
public getColor(){ return this.color; }
public setName(String _name){ this.name = _name; return this; }
public setColor(String _color){ this.color = _color; return this; }
}
@jredh
jredh / Builder.java
Last active July 18, 2016 19:36
Pure Builder Pattern for the Cat class
public class Cat{
// Cat fields, private access
private String name;
private String color;
private Cat(Builder _builder){
this.name = _builder.name;
this.color = _builder.color;
}
// Notice that there are only Accessors in this class
// This can be altered if Cat's state changes.
@jredh
jredh / Patterns.java
Last active July 18, 2016 19:38
This shows the different approaches to Object specifications and things that could lead to a Builder Pattern
// 1.) Constructor & Ambiguous Parameters
Cat cat = new Cat("Mittens", "Orange");
// 2.) Constructor & Explicit Parameters
Cat cat = new Cat();
cat.setName("Mittens");
cat.setColor("Orange");
// 3.) Builder & Explicit Parameters
Cat cat = new Cat.Builder()
@jredh
jredh / main.java
Created February 10, 2016 00:53
B-B-BUILD
// ...
float value = new House.Builder() // ADD THIS
.setBedrooms( 2 )
.setName( "Home" )
.setBathrooms( 3 )
.setSquareFeet( 1900 )
.setWindows( 4 )
.build() // ADD THIS
.appraise();
// ...
@jredh
jredh / House.java
Last active February 10, 2016 00:51
return this!
// setters
public House setBedrooms( int _set ){
houseBedrooms = _set;
return this;
}
public House setName( String _set ){
houseName = _set;
return this;
}
public House setBathrooms( int _set ){
@jredh
jredh / main.java
Created February 10, 2016 00:47
Oh, this is neat syntax
// ...
float value = new House()
.setBedrooms( 2 )
.setName( "Home" )
.setBathrooms( 3 )
.setSquareFeet( 1900 )
.setWindows( 4 )
.appraise();
// ...
@jredh
jredh / main.java
Last active February 10, 2016 00:48
void Setters
// ...
House house = new House();
house.setBedrooms( 2 );
house.setName( "Home" );
house.setBathrooms( 3 );
house.setSquareFeet( 1900 );
house.setWindows( 4 );
float value = house.appraise();
// ...
@jredh
jredh / House.java
Last active February 10, 2016 00:51
Setters
// setters
public void setBedrooms( int _set ){
houseBedrooms = _set;
}
public void setName( String _set ){
houseName = _set;
}
public void setBathrooms( int _set ){
houseBathrooms = _set;
}
@jredh
jredh / main.java
Last active February 10, 2016 00:48
With the window numbers
// ...
House house = new House( 2, "Home", 3, 1900, 4 );
float value = house.appraise();
// ...