因为ubuntu 的root密码是随机的
所以需要重新定义,输入两次 用户密码即可
$sudo passwd
因为ubuntu 的root密码是随机的
所以需要重新定义,输入两次 用户密码即可
$sudo passwd
来源:https://segmentfault.com/a/1190000004384515
(function(){ //Observer var Observer = cc.Class.extend({ ctor: function(value){ this.value = value; this.walk(value); }, walk: function(value){ Object.keys(value).forEach(function(key, ind, arr){ this.convert(key,value[key]); },this); }, convert: function(key, val){ defineReactive(this.value, key, val); } }); var defineReactive = function(obj, key, val){ var dep = new Dep(); var childOb = observer(val); Object.defineProperty(obj, key, { enumberable: true, configurable: true, get: function(){ console.log("get"); if(Dep.target){ dep.addSub(Dep.target); } return val; }, set: function(newValue){ console.log("set",newValue); var value = val; if(newValue === value){ return; } childOb = observer(newValue); dep.notify(); } }) }; var observer = function(value, vm){ if (!value || typeof value !== 'object') { return; } return new Observer(value); }; //订阅器 var Dep = cc.Class.extend({ ctor: function(){ this.subs = []; }, addSub:function(sub){ this.subs.push(sub); }, notify:function(){ this.subs.forEach(function(sub, ind, arr){ sub.update(); }) }, }); Dep.target = null //watcher var Watcher = cc.Class.extend({ ctor: function(vm, expOrFn, cb){ this.cb = cb; this.vm = vm; //暂时只考虑expression的情况 this.expOrFn = expOrFn; this.value = this.get(); }, update: function(){ this.run(); }, run: function(){ var value = this.get(); if(value !== this.value){ this.value = value ; this.cb.call(this.vm); } }, get: function(){ Dep.target = this; //暂时只考虑expression的情况 var value = this.vm._data[this.expOrFn]; Dep.target = null; return value; } }); //Vue var vue = cc.Class.extend({ ctor: function(options){ this.$options = options || {}; var data = this._data = this.$options.data; Object.keys(data).forEach(function(key, ind, arr){ this._proxy(key); },this); observer(data, this); }, $watcher: function(expOrFn, cb, options){ new Watcher(this, expOrFn, cb); }, _proxy: function(key){ var self = this; Object.defineProperty(self, key, { configurable: true, enumberalbe: true, get:function proxyGetter(){ return self._data[key]; }, set: function proxySetter(val){ self._data[key] = val; } }); } }); mj.vue = vue; })();
(function(){ var jQ = function(selector, father){ return new jQ.prototype.init(selector); }; jQ.prototype = { length:0, init:function(selector, father){ var _document = father || ja.view, classInt = 0, res = this; if (typeof selector != "string" || !selector ){ if(typeof selector == "object" && selector.hasOwnProperty("length")){ for(var i = 0 ; i < selector.length ; i++){ this[classInt] = selector[i]; classInt++; } }else{ this[classInt] = selector; classInt++; } }else{ var props = selector.trim().split(" "), selector = props.shift(), selectLast = props.join(" "), mark = selector.charAt(0); if(mark == "["){ var selector=selector.replace(/[\[\]]/g,""), arr = selector.split("="); key = arr.length > 1 ? arr[0].trim() : "name", val = arr.length > 1 ? arr[1].trim() : arr[0].trim(); //遍历children // ja.log(key,val); _document.children.map(function(ele){ return (function(father,deep){ // var res = []; if(typeof father[key] !="undefined" && father[key] == val){ this[classInt] = father; classInt++; } var c = father.children; if(c && deep < 5){ deep++; for(var i in c){ arguments.callee.call(this,c[i],deep); } } // return res; }).call(this,ele,0); }.bind(this)) }else if(mark == "."){ var res = this.__class(selector.substring(1)); res.map(function(ele){ this[classInt] = ele; classInt++; }.bind(this)); } } this.length = classInt; return this; }, /*原型方法,不暴露*/ //类选择器位置列表 __class:function(className){ var arr = []; switch (className){ case "mainView": arr.push(ja.view); break; case "setBalance": arr.push(ja.setb); break; case "gameBalance": arr.push( ja.gameb); break; case "playerFrameList": for(var key in ja.view.playerInfoHandler.playerFrameList){ arr.push(ja.view.playerInfoHandler.playerFrameList[key].view); } break; case "playerArea": arr.push( ja.view.posLocal2Player); break; case "playerOut": ja.view.posLocal2Player.map(function(ele){ arr.push( ele.outTile); }); break; default: return null } return arr; }, //通过选择器确定子元素获取方式 _selector: function(selector, father){ if(typeof selector != "string" || !selector){ return this; } father = father ? father.children : Array.prototype.slice.apply(this); var mark = selector.charAt(0); switch(mark){ case "[": var reg = /\[(([\w\W]+)=["']?([\w\W]+)["']?|([\w\W]+))\]/; var reg_res = reg.exec(selector); var res_key = reg_res[2] || "name"; var res_val = reg_res[3] || reg_res[4]; var res = []; father.map(function(ele){ return (function(fa, deep){ if(typeof fa[res_key] != "undefined" && fa[res_key] == res_val){ res.push(fa); } if (fa.children.length > 0 && deep < 5){ deep++; for( var i = 0 ; i < fa.children.length ; i++){ var add = arguments.callee.call(this,fa.children[i],deep); } } return res; }).call(this,ele,0); }.bind(this)); return res; case ":": break; case "*": break; default: } }, //表达式筛选器,未完成 _expression:function(expression){ if(!expression){ } switch (expression){ case "first": return 0; case "last": return } }, /*过滤*/ find:function(selector){ var res = this._selector(selector); return new jQ.prototype.init(res); }, parent:function(){ var arr = []; Array.prototype.slice.apply(this).map(function(ele,ind){ arr.push(ele["parent"]); }.bind(this)); if(arr.length > 0){ var res = arr.length == 1 ? arr.shift() : arr; return new jQ.prototype.init(res); } }, parents:function(){ }, child:function(selector){ }, /*操作*/ attr:function(selector, setValue){ var arr = []; Array.prototype.slice.apply(this).map(function(ele,ind){ if(typeof setValue == "undefined"){ if(typeof ele[selector] != "undefined"){ arr.push(ele[selector]) ; }else if(typeof ele["_"+selector] != "undefined"){ arr.push(ele["_"+selector]) ; } }else{ ele[selector] = setValue; } }.bind(this)); if(arr.length > 0){ return arr.length == 1 ? arr.shift() : arr; } }, hide:function(){ Array.prototype.slice.apply(this).map(function(ele){ ele.setVisible(false); }) }, show:function(){ Array.prototype.slice.apply(this).map(function(ele){ ele.setVisible(true); }) }, }; jQ.prototype.init.prototype = jQ.prototype; return window.$ = jQ; })()
var initializing = false, fnTest = /xyz/.test(function() { xyz; }) ? /\b_super\b/ : /.*/; //构造基类 this.jaClass = function() {}; jaClass.extend = function(props){ var _super = this.prototype; initializing = true; var prototype = new this(); initializing = false; for (var name in props){ //这一段是赋值到prototype中,运用三元运算符的方式很灵活 //满足函数的条件作为函数插入到prototype中 prototype[name] = typeof props[name] =="function" && typeof _super[name] == "function" && fnTest.test(props[name]) ? (function(name, fn) { return function(){ var tmp = this._super; this._super = _super[name]; var ret = fn.apply(this, arguments); this._super = tmp; return ret; }; })(name, props[name]) : props[name] } function Class(){ if(!initializing && this.ctor) this.ctor.apply(this, arguments); } //子类prototype指向父类的实例,继承的关键 Class.prototype = prototype ; Class.prototype.constructor = Class; //子类自动获得extend方法,arguments.callee 指向当前正在执行的函数 Class.extend = arguments.callee; return Class; };
// 创建一个一次性事件
function onetime(node, type, callback) {
// 创建事件
node.addEventListener(type, function(e) {
// 移除事件
e.target.removeEventListener(e.type, arguments.callee);
// 调用处理器
return callback(e);
});
}
// 正则符号前加反义符,避免正则符号导致匹配错误 function regular_encode (string){ return string.replace( /[+\\*?.\[\]\{\}\|\(\)\<\=]/g, function(word){return "\\"+word} ); } //应用 var string = "df+54d[dfdf]"; string.replace( /[+\\*?.\[\]\{\}\|\(\)\<\=]/g, function(word){return "\\"+word} ) //输出:"df\+54d\[dfdf\]"
// 删除obj对象的所有属性,高效的将obj转化为一个崭新的对象!
cr.wipe = function (obj) {
for (var p in obj) {
if (obj.hasOwnProperty(p))
delete obj[p];
}
};
xAxis: {
show:true,
type:"category",
data: arr.map(function(ele){return ele.company_name;}),
axisLabel: {
interval: 0,
rotate: 30,//倾斜!!!!!
},
},
来源:http://www.oschina.net/code/snippet_12_8927
/** * * MD5 (Message-Digest Algorithm) * http://www.webtoolkit.info/ * **/ var MD5 = function (string) { function RotateLeft(lValue, iShiftBits) { return (lValue<>>(32-iShiftBits)); } function AddUnsigned(lX,lY) { var lX4,lY4,lX8,lY8,lResult; lX8 = (lX & 0x80000000); lY8 = (lY & 0x80000000); lX4 = (lX & 0x40000000); lY4 = (lY & 0x40000000); lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF); if (lX4 & lY4) { return (lResult ^ 0x80000000 ^ lX8 ^ lY8); } if (lX4 | lY4) { if (lResult & 0x40000000) { return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); } else { return (lResult ^ 0x40000000 ^ lX8 ^ lY8); } } else { return (lResult ^ lX8 ^ lY8); } } function F(x,y,z) { return (x & y) | ((~x) & z); } function G(x,y,z) { return (x & z) | (y & (~z)); } function H(x,y,z) { return (x ^ y ^ z); } function I(x,y,z) { return (y ^ (x | (~z))); } function FF(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function GG(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function HH(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function II(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function ConvertToWordArray(string) { var lWordCount; var lMessageLength = string.length; var lNumberOfWords_temp1=lMessageLength + 8; var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64; var lNumberOfWords = (lNumberOfWords_temp2+1)*16; var lWordArray=Array(lNumberOfWords-1); var lBytePosition = 0; var lByteCount = 0; while ( lByteCount < lMessageLength ) { lWordCount = (lByteCount-(lByteCount % 4))/4; lBytePosition = (lByteCount % 4)*8; lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)< >>29; return lWordArray; }; function WordToHex(lValue) { var WordToHexValue="",WordToHexValue_temp="",lByte,lCount; for (lCount = 0;lCount<=3;lCount++) { lByte = (lValue>>>(lCount*8)) & 255; WordToHexValue_temp = "0" + lByte.toString(16); WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2); } return WordToHexValue; }; function Utf8Encode(string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }; var x=Array(); var k,AA,BB,CC,DD,a,b,c,d; var S11=7, S12=12, S13=17, S14=22; var S21=5, S22=9 , S23=14, S24=20; var S31=4, S32=11, S33=16, S34=23; var S41=6, S42=10, S43=15, S44=21; string = Utf8Encode(string); x = ConvertToWordArray(string); a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; for (k=0;k