mkdir project-folder
cd project-folder
npm init
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import ( | |
"crypto/aes" | |
"crypto/cipher" | |
"crypto/rand" | |
"encoding/hex" | |
"os" | |
) | |
// Encrypt will encrypt a raw string to | |
// an encrypted value |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import ( | |
"crypto/aes" | |
"crypto/cipher" | |
"crypto/rand" | |
"encoding/hex" | |
"os" | |
) | |
// Decrypt will return the original value of the encrypted string | |
func Decrypt(encryptedKey []byte) ([]byte, error) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import ( | |
"crypto/rand" | |
) | |
func NewRandomKey() []byte { | |
key := make([]byte, 32) | |
if _, err := rand.Read(key); err != nil { | |
// really, what are you gonna do if randomness failed? | |
panic(err) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE TABLE apps ( | |
id SERIAL PRIMARY KEY, | |
name character varying, | |
public_key character varying, | |
encrypted_secret_key character varying, | |
created_at timestamp without time zone NOT NULL, | |
updated_at timestamp without time zone NOT NULL | |
); | |
-- enhance query performance and enforce uniqueness | |
CREATE UNIQUE INDEX apps_public_key ON apps(public_key text_ops); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function handleActivitySubscription(snapshot, counter) { | |
const initialLoad = counter === 1; | |
snapshot.docChanges().forEach(function(change) { | |
if (initialLoad) { | |
doSomething(change.doc.data()); | |
} else { | |
doSomethingElse(change.doc.data()); | |
} | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function handleActivitySubscription(snapshot) { | |
snapshot.docChanges().forEach(function(change) { | |
doSomething(change.doc.data()); | |
}); | |
} | |
const handleActivitySubscriptionWithCounter = | |
createFnCounter(handleActivitySubscription, 1); | |
db.collection("activities").where("userID", "==", currentUserID) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
db.collection("activities").where("userID", "==", currentUserID) | |
.onSnapshot(function(snapshot) { | |
snapshot.docChanges().forEach(function(change) { | |
doSomething(change.doc.data()); | |
}); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function createFnCounter(fn, invokeBeforeExecution) { | |
let count = 0; | |
return (snapshot) => { | |
count++; | |
if (count <= invokeBeforeExecution) { | |
return null; | |
} | |
return fn(snapshot, count); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# runs rails console and copy + paste this snippet in to see the offending file | |
JS_PATH = "app/assets/javascripts/**/*.js"; | |
Dir[JS_PATH].each do |file_name| | |
puts "\n#{file_name}" | |
puts Uglifier.compile(File.read(file_name)) | |
end |