Skip to content

Instantly share code, notes, and snippets.

View danlourenco's full-sized avatar

Dan Lourenço danlourenco

  • Slalom _build
  • Boston, MA
View GitHub Profile
@danlourenco
danlourenco / promises.js
Created March 3, 2016 20:08
Promise patterns from HTML5Rocks
var promise = new Promise(function(resolve, reject) {
// do a thing, possibly async, then…
if (/* everything turned out fine */) {
resolve("Stuff worked!");
}
else {
reject(Error("It broke"));
}
});
@danlourenco
danlourenco / dynamic-alias.js
Created August 2, 2016 20:20 — forked from pwfisher/dynamic-alias.js
Implementation of the missing "Ember.computed.dynamicAlias"
import Ember from 'ember';
// @see http://emberjs.jsbin.com/beboga/edit?js,output
export default function dynamicAlias(target, keyKey) {
var prefix = target ? `${target}.` : '';
var dynamicAliasKey = `${prefix}${keyKey}_alias`;
return Ember.computed(function() {
var key = `${prefix}${this.get(keyKey)}`;
Ember.defineProperty(this, dynamicAliasKey, Ember.computed.alias(key));
@danlourenco
danlourenco / components.hello-component.js
Last active August 23, 2016 14:02
component interpolation within handlebars template
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['ember-component']
});
@danlourenco
danlourenco / recursive-fibonacci
Created August 17, 2016 15:34
Generates fibonacci sequence recursively
function fibonacci(n) {
if (n <= 2) { // base case
return 1;
}
else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
fibonacci(8) // 21
@danlourenco
danlourenco / merge-sort.js
Created August 17, 2016 15:36
Merge Sort in Javascript
function mergeSort(arr) {
//base case
if (arr.length < 2) return arr;
var halfLength = Math.ceil(arr.length / 2);
var leftSide = arr.splice(0, halfLength);
var rightSide = arr; // just to keep mental model simple
return _stitch(mergeSort(leftSide), mergeSort(rightSide));
}

How to Add a DynamoDB Role to your Lambda Function

Step 1: Role Summary

@danlourenco
danlourenco / cypress-request.js
Created November 13, 2018 19:27
using cy.request
const options = {
method: 'POST',
url: 'https://my.url.com/endpoint',
body: {
username: 'my_username'
password: 'my_password'
...
}
@danlourenco
danlourenco / cypress-commands.js
Created November 13, 2018 19:30
Using Cypress commands
Cypress.Commands.add('login', (overrides = {}) => {
Cypress.log({
name: 'loginViaAuth0',
});
const options = {
method: 'POST',
url: Cypress.env('auth_url'),
body: {
grant_type: 'password',
@danlourenco
danlourenco / policy.json
Created March 2, 2019 23:40
S3 Bucket Policy - Public Website
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket-name-here/*"
}
@danlourenco
danlourenco / example.js
Last active March 8, 2019 04:38
ES7 omit property via object rest operator
const myObject = {
a: 1,
b: 2,
c: 3
};
const { a, ...noA } = myObject;
console.log(noA); // => { b: 2, c: 3 }