In Git you can add a submodule to a repository. This is basically a repository embedded in your main repository. This can be very useful. A couple of usecases of submodules:
- Separate big codebases into multiple repositories.
#!/bin/bash | |
# Sometimes you need to move your existing git repository | |
# to a new remote repository (/new remote origin). | |
# Here are a simple and quick steps that does exactly this. | |
# | |
# Let's assume we call "old repo" the repository you wish | |
# to move, and "new repo" the one you wish to move to. | |
# | |
### Step 1. Make sure you have a local copy of all "old repo" | |
### branches and tags. |
var db = mongoose.connect('mongodb://localhost:27017/DB'); | |
// In middleware | |
app.use(function (req, res, next) { | |
// action after response | |
var afterResponse = function() { | |
logger.info({req: req}, "End request"); | |
// any other clean ups |
A quick overview of the node.js streams interface with basic examples.
This is based on @brycebaril's presentation, Node.js Streams2 Demystified
Streams are a first-class construct in Node.js for handling data.
Think of them as as lazy evaluation applied to data.
package main | |
//#include<stdio.h> | |
//void inC() { | |
// printf("I am in C code now!\n"); | |
//} | |
import "C" | |
import "fmt" | |
func main() { |
/* test load from stream | |
* | |
* compile with: | |
* | |
* gcc -g -Wall load-from-stream.c `pkg-config vips --cflags --libs` | |
* | |
* test with: | |
* | |
* cat k2.jpg k4.jpg | ./a.out | |
*/ |
This is specifically tailored to Node.js binding projects in which case the C++ layer is always a library.
Clone gyp:
git clone --depth 1 https://chromium.googlesource.com/external/gyp.git gyp
Add the below common.gypi
file in the root of the project.
It is not usually recommended to reuse errors since the stack trace is attached whenever the error is instantiated.
However in some cases the overhead of doing that may affect performance, especially if the error is an exception that is known to occur frequently and is handled.
Only in these cases it may be advantagous to reuse the created Error
. In all other cases getting a full stacktrace created at the time the exception occurs is to be preferred as it gives much better information needed to debug the problem.
➝ node errors.js
#user nobody; | |
#Defines which Linux system user will own and run the Nginx server | |
worker_processes 1; | |
#Referes to single threaded process. Generally set to be equal to the number of CPUs or cores. | |
#error_log logs/error.log; #error_log logs/error.log notice; | |
#Specifies the file where server logs. |