Skip to content

Instantly share code, notes, and snippets.

@georgeOsdDev
georgeOsdDev / gist:2d1be3a81542e57d8405
Created December 2, 2014 03:32
Promise control flow
function createPromise(name){
return new Promise(function(resolve, reject){
setTimeout(function(){
if (Date.now()%2 === 0) {
console.log(name+" is reolved");
resolve(name+"_success");
}else{
console.log(name+" is rejected");
reject(name+"_fail");
}
@georgeOsdDev
georgeOsdDev / gist:5ddf864f96cf81fe7732
Last active August 29, 2015 14:10
thenable JSON.parse
function parse(val){
return Promise.resolve().then(function(){
return JSON.parse(val);
});
}
function parse2(val){
return new Promise(function(resolve, reject){
try{
resolve(JSON.parse(val));
@georgeOsdDev
georgeOsdDev / gist:98f529a359bc136c417a
Created November 26, 2014 09:44
encrypt/decrypt string with openssl
encrypt
-------
$ echo "Hello World" | openssl enc -e -des -base64 -out encrypted -k myKey
result
-------
$ cat encrypted
U2FsdGVkX19pZy6kjZ4GTbTNeKeI1lWvoLjrpBqy0bw=
decrypt
@georgeOsdDev
georgeOsdDev / browserifyEventEmitter.sh
Created November 14, 2014 03:10
Create browserified EventEmitter.js
# !/bin/sh
echo 'if(typeof EventEmitter === "undefined") EventEmitter = require("events");' > src.js
browserify src.js -o dist.js
nodeversion=`node -v`
browsrifyversion=`browserify -v`
cat << EOF > version.txt
// This file is created by Browserify(http://browserify.org/)
// Node version : $nodeversion
// Browsreify version : $browsrifyversion
@georgeOsdDev
georgeOsdDev / gist:25d47e62c8fecd1bc064
Created November 11, 2014 06:46
jks to der or p12
keytool -exportcert -alias alias -keypass keypass -keystore sample_keystore.jks -storepass storepass -file KEYSTORE.der
keytool -importkeystore -srckeystore sample_keystore.jks -srcstoretype JKS -srcstorepass srcstorepass -srcalias srcalias -srckeypass srckeypass \
-destkeystore KEYSTORE.p12 -deststoretype PKCS12 -deststorepass deststorepass -destalias destalias -destkeypass destkeypass -noprompt
@georgeOsdDev
georgeOsdDev / google_login.html
Created November 5, 2014 09:12
google login by javascript
<!DOCTYPE html>
<html>
<head>
<title>Google login example</title>
<script src="https://apis.google.com/js/client:platform.js" async defer></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<style media="screen">
h3 {
color:green;
}
@georgeOsdDev
georgeOsdDev / app.js
Created November 5, 2014 01:56
Thenable login
var Utils = {};
var deferApply = function() {
var args = Array.prototype.slice.apply(arguments),
f = args[0],
realArgs = args.slice(1)
;
return new Promise(function(done, reject) {
return f.apply(null, [done, reject].concat(realArgs));
});
};
@georgeOsdDev
georgeOsdDev / gist:c398b093079c528dfb92
Last active August 29, 2015 14:06
Vagrantでrubyの開発環境
For ruby + mysql development
### Download
* Vagrant 1.6.5
https://www.vagrantup.com/downloads.html
* ChefDK
http://downloads.getchef.com/chef-dk/mac/#/
@georgeOsdDev
georgeOsdDev / gist:ab4b4d1c61fd15f50c2a
Created August 1, 2014 03:29
/bin/bash -c with arguments
[xx@msg-ap01 ~]$ cat /etc/redhat-release
CentOS release 6.4 (Final)
[xx@msg-ap01 ~]$ echo $SHELL
/bin/bash
------------------
inline script with double quotation
[xx@msg-ap01 ~]$ /bin/bash -c "echo $#" a b c
@georgeOsdDev
georgeOsdDev / mongoshell
Created May 8, 2014 09:09
Polyfill for ObjectId.getTimestamp(), Convert date <- -> ObjectId etc.
function twoDigit(int) {
return (int < 10) ? ('0' + int) : ('' + int);
}
ObjectId.prototype.getDateObj = function() {
var d = new Date(parseInt(this.str.slice(0,8), 16)*1000);
d.setTime(d.getTime() + d.getTimezoneOffset()*60*1000);
return d;
};