Skip to content

Instantly share code, notes, and snippets.

View edysegura's full-sized avatar
👽
Always learning!

Edy Segura edysegura

👽
Always learning!
View GitHub Profile
@edysegura
edysegura / screenshot.js
Last active August 29, 2015 14:21
[JS] Take a snapshot with PhantomJS
var page = require('webpage').create();
page.open('http://edysegura.com', function () {
var title = page.evaluate(function () {
return document.title;
});
page.clipRect = { top: 0, left: 0, width: 600, height: 700 };
page.render(title + ".png");
phantom.exit();
});
@edysegura
edysegura / nodejs-process.js
Last active August 29, 2015 14:22
[nodejs] How to pass command line arguments to Node.js? https://nodejs.org/docs/latest/api/process.html#process_process_argv
// print process.argv
process.argv.forEach(function(val, index, array) {
console.log(index + ': ' + val);
});
//$ node process.js one two=three four
//0: node
//1: /Users/mjr/work/node/process-2.js
//2: one
//3: two=three
@edysegura
edysegura / javascript-ninja-tricks.js
Last active September 16, 2015 23:01
[JS] JavaScript Ninja Tricks
//convert a string to number
+'2' //2
+'2a' //NaN
//convert anything to boolean
!!'it will be converted to true' //true
!!'' //false
@edysegura
edysegura / .brackets.json
Last active August 29, 2015 14:23
[JSON] Brackets configuration
{
"sass.options": {
"outputDir": "../styles"
},
"linting.enabled": true,
"language": {
"javascript": {
"linting.prefer": "JSHint",
"linting.usePreferredOnly": true
}
@edysegura
edysegura / tomcat-web.xml
Created July 20, 2015 13:00
CORS - Cross-Origin Resource Sharing
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
@edysegura
edysegura / promise.js
Last active August 29, 2015 14:26
[angularjs] How to test a promise in AngularJS
//given
spyOn(YourService, 'yourMethod').and.callFake(function () {
var mockDeferred = $q.defer();
mockDeferred.resolve();
return mockDeferred.promise;
});
//when
serviceOrScope.method();
@edysegura
edysegura / regexp-exec.js
Created July 30, 2015 20:47
[JS] How to extract data from a string with regex.exec
var
anyString = "[{name=setPriority, action=Priority Toggle, property=priority, placeholder=system.userActivities.priorityToggle, states=[{name=true, briefDetails=Priority Toggle ON, details=Config$_run_closure8_closure29@45fb3b72}, {name=false, briefDetails=Priority Toggle OFF, details=Config$_run_closure8_closure30@70fbdd42}]}, {name=updateMetadata, action=Metadata Update, briefDetails=Metadata Update, placeholder=system.userActivities.metadataUpdate, details=Config$_run_closure8_closure31@277b5201}, {name=exportTitles, action=Download, briefDetails=Export Titles, placeholder=system.userActivities.download}, {name=login, action=Logged In, briefDetails=Logged In, placeholder=system.userActivities.login}, {name=logout, action=Logged Out, briefDetails=Logged Out, placeholder=system.userActivities.logout}, {name=sendEmail, action=Sent Email, briefDetails=Sent Email, placeholder=system.userActivities.sendMail, details=Config$_run_closure8_closure32@1144d3e7}]",
regex = /action=([\w\s]+),/g,
matched;
whil
@edysegura
edysegura / jasmine-many-call.js
Last active August 29, 2015 14:26
[JS] How to test many method calls in Jasmine
it('should test many calls', function() {
// GIVEN
spyOn(YourObject, 'yourMethod');
// WHEN
Something.happens();
// THEN
[
'HTML',
@edysegura
edysegura / js-private-members.js
Created August 14, 2015 14:22
[JS] How to create private members in JavaScript
var counter = (function(){
var i = 0;
return {
get: function(){
return i;
},
set: function( val ){
i = val;
},
@edysegura
edysegura / nodejs-tcp-example.js
Created October 22, 2015 18:49 — forked from tedmiston/nodejs-tcp-example.js
Node.js tcp client and server example
/*
In the node.js intro tutorial (http://nodejs.org/), they show a basic tcp
server, but for some reason omit a client connecting to it. I added an
example at the bottom.
Save the following server in example.js:
*/
var net = require('net');