Automated MySQL backups to S3 with node.js

Source: https://gist.github.com/maximilianschmitt/680abefef40ebd341635

'use strict';
var mysqlBackup = require('./mysql-backup');
var schedule = require('node-schedule');
schedule.scheduleJob({ hour: 22, minute: 0 }, mysqlBackup);


'use strict';
var spawn = require('child_process').spawn;
var s3Upload = require('s3-stream-upload');
var config = require('../config');
var Promise = require('bluebird');
var moment = require('moment');
var mysqlBackup = function() {
var upload = s3Upload({
accessKeyId: config.aws.accessKey,
secretAccessKey: config.aws.secretKey,
Bucket: config.aws.buckets.backup.name,
region: config.aws.buckets.backup.region
});
var s3 = upload({ Key: 'mysql-backup-' + moment().format('YYYY-MM-DD-HH-mm-ss') + '.sql' });
var mysqldump = spawn('mysqldump', [
'-u', config.db.connection.user,
'-p' + config.db.connection.password,
config.db.connection.database
]);
return new Promise(function(resolve, reject) {
mysqldump
.stdout
.pipe(s3)
.on('finish', function() {
resolve();
})
.on('error', function(err) {
reject(err);
});
});
};
module.exports = mysqlBackup;

jQuery - Create hidden form element on the fly

Source: https://stackoverflow.com/questions/2408043/jquery-create-hidden-form-element-on-the-fly

$('<input>').attr('type','hidden').appendTo('form');
To answer your second question:
$('<input>').attr({
    type: 'hidden',
    id: 'foo',
    name: 'bar'
}).appendTo('form');
The same as David's, but without attr()
$('<input>', {
    type: 'hidden',
    id: 'foo',
    name: 'foo',
    value: 'bar'
}).appendTo('form');

Express: Forever run app

Source: https://stackoverflow.com/questions/24072812/forever-node-js-express-4

Try this:
forever start ./bin/www
Let's take a look to package.json:
"scripts": {
    "start": "node ./bin/www"
},
I guess when we call npm start, ./bin/www will be executed at some point. Then look at the content of./bin/www:
var server = app.listen(app.get('port'), function() {
  debug('Express server listening on port ' + server.address().port);
});
so we are ready to listen for connections.

Express Application: How do I handle 404 responses?

Source: https://expressjs.com/en/starter/faq.html

In Express, 404 responses are not the result of an error, so the error-handler middleware will not capture them. This behavior is because a 404 response simply indicates the absence of additional work to do; in other words, Express has executed all middleware functions and routes, and found that none of them responded. All you need to do is add a middleware function at the very bottom of the stack (below all other functions) to handle a 404 response:
app.use(function (req, res, next) {
  res.status(404).send("Sorry can't find that!")
})
Add routes dynamically at runtime on an instance of express.Router() so the routes are not superseded by a middleware function.

jQuery change div background-image with fadeIn/Out

Source: https://stackoverflow.com/questions/8610973/jquery-change-div-background-image-with-fadein-out

This was the only reasonable thing I found to fade a background image.
<div id="foo">
  <!-- some content here -->
</div>
Your CSS; now enhanced with CSS3 transition.
#foo {
  background-image: url('a.jpg');
  transition: background 1s linear;
}
Now swap out the background
$("#foo").css("background-image", "url(b.jpg)");
Or do it with native javascript
document.querySelector("#foo").style.backgroundImage = "url(b.jpg)";
Voilà, it fades!

Obvious disclaimer: if your browser doesn't support the CSS3 transition property, this won't work.

anti-pattern là gì

  Trong công nghệ và lập trình, Anti-pattern (mẫu phản diện) là những giải pháp bề ngoài có vẻ hiệu quả để giải quyết một vấn đề phổ biến, ...