"E" is for "effective." EJS is a simple templating language that lets you generate HTML markup with plain JavaScript.
Saturday, December 5, 2015
Git
Git is a widely used version control system for software development. It is a distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows.
git clone https://github.com/libgit2/libgit2
Monday, November 16, 2015
Node.js async in practice
Error-first callback:
Variables local to the module will be private.
A required module prefixed with '/' is an absolute path to the file. For example, require('/home/marco/foo.js') will load the file at /home/marco/foo.js.
A required module prefixed with './' is relative to the file calling require(). That is, circle.js must be in the same directory as foo.js for require('./circle') to find it.
Without a leading '/', './', or '../' to indicate a file, the module must either be a core module or is loaded from a node_modules folder.
module.exports is the object that's actually returned as the result of a require call.
Ref:
http://www.sebastianseilund.com/nodejs-async-in-practice
http://amirrajan.net/nodejs-by-example/
- The first argument of the callback is reserved for an error object. If an error occurred, it will be returned by the first err argument.
- The second argument of the callback is reserved for any successful response data. If no error occurred, err will be set to null and any successful data will be returned in the second argument.
Module
Node.js has a simple module loading system. In Node.js, files and modules are in one-to-one correspondence.Variables local to the module will be private.
A required module prefixed with '/' is an absolute path to the file. For example, require('/home/marco/foo.js') will load the file at /home/marco/foo.js.
A required module prefixed with './' is relative to the file calling require(). That is, circle.js must be in the same directory as foo.js for require('./circle') to find it.
Without a leading '/', './', or '../' to indicate a file, the module must either be a core module or is loaded from a node_modules folder.
module.exports is the object that's actually returned as the result of a require call.
JS Library
Underscore.js is a utility-belt library for JavaScript that provides support for the usual functional suspects (each, map, reduce, filter...) without extending any core JavaScript objects.Ref:
http://www.sebastianseilund.com/nodejs-async-in-practice
http://amirrajan.net/nodejs-by-example/
Wednesday, April 15, 2015
AngularJS
AngularJS is built around the belief that declarative programming should be used for building user interfaces and connecting software components, while imperative programming is better suited to defining an application's business logic.
Directives
AngularJS directives are extended HTML attributes with the prefix ng-.The ng-app directive initializes an AngularJS application.
The ng-init directive initializes application data.
The ng-model directive binds the value of HTML controls (input, select, textarea) to application data.
Data Binding
Data-binding: This is one of the core features in Angular. When the page loads, Angular binds the name of the input box to a variable of the same name in the data model and keeps the two in sync.The {{ firstName }} expression, in the example above, is an AngularJS data binding expression.
Data binding in AngularJS, synchronizes AngularJS expressions with AngularJS data.
{{ firstName }} is synchronized with ng-model="firstName".
Filters
A filter can be added to an expression with a pipe character (|) and a filter.Tuesday, April 14, 2015
Javascript
1. where to put the javascript in the HTML, head or body?
A common advise for HTML applications, is to place scripts at the very bottom of the element.
A common advise for HTML applications, is to place scripts at the very bottom of the element.
Sunday, April 5, 2015
PhoneGap
http://cleancodedevelopment-qualityseal.blogspot.nl/2012/11/how-to-install-phonegap-for-android.html
Getting Cordova/Phonegap to emulate on Genymotion virtual device
It seems that adb sees genymotion virtual device as a real device and not as an emulated one, try cordova run android instead of cordova emulate android.
Getting Cordova/Phonegap to emulate on Genymotion virtual device
It seems that adb sees genymotion virtual device as a real device and not as an emulated one, try cordova run android instead of cordova emulate android.
Thursday, March 19, 2015
Margin and Padding
Padding is the space inside the border, between the border and the actual view's content. Note that padding goes completely around the content: there is padding on the top, bottom, right and left sides (which can be independent).
Margins are the spaces outside the border, between the border and the other elements next to this view. In the image, the margin is the grey area outside the entire object. Note that, like the padding, the margin goes completely around the content: there are margins on the top, bottom, right, and left sides.
Ref: http://stackoverflow.com/questions/4619899/difference-between-a-views-padding-and-margin?lq=1
Monday, March 9, 2015
Script
wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory
Note the double slash after the server name. If I don't put an extra slash the path is relative to the home directory of user.- -nH avoids the creation of a directory named after the server name
- -nc avoids creating a new file if it already exists on the destination (it is just skipped)
- --cut-dirs=5 allows me to take the content of /absolute/path/to/directory and to put it in the directory where I launch wget. The number 5 is used to filter out the 5 components of the path. The double slash means an extra component.
echo %date:~6,4%-%date:~3,2%-%date:~0,2%2015-03-12
Ref: http://stackoverflow.com/questions/113886/how-do-you-recursively-ftp-a-folder-in-linux
Saturday, January 3, 2015
Install HMailServer + RoundCube
Install HMailServer
1. copy libmysql.dll from mysql bin folder to HMailServer bin folder.
Install RoundCube
Active password plugin
1. Open php.ini add the followings, add
extension=php_com_dotnet.dll
2. Open roundcube/plugins/password/config.inc.php, update
$config['password_driver'] = 'hMail';
3. Open roundcube/config/config.inc.php, add
$config['plugins'] = array('password');
1. copy libmysql.dll from mysql bin folder to HMailServer bin folder.
Install RoundCube
Active password plugin
1. Open php.ini add the followings, add
extension=php_com_dotnet.dll
2. Open roundcube/plugins/password/config.inc.php, update
$config['password_driver'] = 'hMail';
3. Open roundcube/config/config.inc.php, add
$config['plugins'] = array('password');
//Query the MX Record using -query=mx nslookup -query=mx redhat.com
Subscribe to:
Posts (Atom)