This sheet goes along with this SSH YouTube tutorial
$ ssh [email protected]
$ mkdir test
$ cd test
/* Table Of Contents: | |
GeneratorFunction | |
The GeneratorFunction constructor, exposed. | |
isSetIterator | |
Returns true if the object is a bultin Set Iterator. | |
isMapIterator | |
Returns true if the object is a builtin Map Iterator. | |
iterableObject | |
Make a regular Object an iterable. | |
get |
// sequelize config | |
var sequelize = new sequelize('database', 'user', 'pass', { | |
host: '127.0.0.1', | |
dialect: 'mysql', | |
port: 3306, | |
pool: { | |
max: 10, | |
min: 0, | |
idle: 20000 |
$ ssh [email protected]
$ mkdir test
$ cd test
const _makeProxy = f => new Proxy(f, { | |
get (fn, prop) { | |
return U[prop] && U[prop].bind({ hold: fn }); | |
} | |
}); | |
const U = { | |
add: function (x) { | |
return _makeProxy( | |
y => ( |
#!/usr/bin/env bash | |
# Setup user | |
sudo useradd -m minio | |
cd /home/minio | |
# Download minio and make it executable | |
wget https://dl.minio.io/server/minio/release/linux-amd64/minio | |
sudo chown minio:minio ./minio | |
chmod +x ./minio |
Steps to deploy a Node.js app to DigitalOcean using PM2, NGINX as a reverse proxy and an SSL from LetsEncrypt
If you use the referal link below, you get $10 free (1 or 2 months) https://m.do.co/c/5424d440c63a
I will be using the root user, but would suggest creating a new user
Over the last 24-48 hours, I've fielded quite a flurry of tweets related to a couple of threads I posted recently. Upon reflection on the feedback, especially the negative stuff, I decided to write this blog post to clarify a few things about my background on the topic, what I was trying to say, what I've done so far, and what I'm hoping to do (and learn!) in the future.
It's a bit of a lengthy read, but if you find you've got the time, I hope you'll read it.
To be clear, the feedback has been on a broad spectrum. A lot of it was actually quite positive, people thanking me and appreciating my continued efforts to try to make dev topics approachable. As a matter of fact, over the years, I've received boat loads of such positive feedback, and I'm tremendously grateful that I've had a helpful impact on so many lives.
But some of it veered decidedly the other direction. I'm deliberately not linking to it, because I don't want to either amplify or gang up on those folks. I'm offended an
// | |
// Prelude | |
// A zero dependency, one file drop in for faster Typescript development with fewer bugs | |
// through type safe, functional programming. Comments are inline with links to blog posts motiviating the use. | |
// alias for a function with airity 1 | |
export type Fn<A, B> = (a: A) => B; | |
// alias for a function with airity 2 |
// when T is any|unknown, Y is returned, otherwise N | |
type IsAnyUnknown<T, Y, N> = unknown extends T ? Y : N; | |
// when T is never, Y is returned, otherwise N | |
type IsNever<T, Y = true, N = false> = [T] extends [never] ? Y : N; | |
// when T is a tuple, Y is returned, otherwise N | |
// valid tuples = [string], [string, boolean], | |
// invalid tuples = [], string[], (string | number)[] |