UJUG Architecture Roundup
Derrick Isaacson, Director of Engineering
Architectural History
Paid
Free
TIE
North
Am
erica
Euro
peAsi
a
Oce
ania
Sout
h Am
erica
Africa
Unkno
wn
0
3000
60009000
Hours in editor by region
Client State
HMACpublic static String calculateRFC2104HMAC(String
data, String key)
{
SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), “HmacSHA1”);
Mac mac = Mac.getInstance(“HmacSHA1”);
mac.init(signingKey);
byte[] rawHmac = mac.doFinal(data.getBytes());
return Encoding.EncodeBase64(rawHmac);
}
Stateless
Don’t DDOS Yourself
• Use RESTful principles for correct status codes (5xx vs 4xx) so clients know when to rety.• Use correct headers:• Retry-After: 120
Actors
Typed (JavaScript) Code Pays Off
• Static type checking• Unused value detection• Dead code removal• Syntax validation• Style warnings• JS pitfalls detection
Beware ORMs
Anorm
What does a framework really need?• Paremeterized queries• Simpler API than JDBC• Control over your queries
is Not an Object Relational Mapper
Beware of Coddling Frameworks
Q & A
http://www.lucidchart.com/jobs