- 博客(21)
- 资源 (4)
- 收藏
- 关注
原创 ssh相关
ssh登陆分两种,一种是密码登陆,一种是公钥登陆。密码登陆:当本地发送 ssh someuser@someip命令后,远端机器将把尝试把自己的私钥的指纹发回,用户确认该指纹和远端机官网贴出的内容一致之后,选择同意,远端机器则将自己的公钥发送给本地。此时,该公钥将被保存在本地的.ssh/known_hosts文件中。有了该公钥之后,用户输入自己的登陆密码,ssh会用远端机器的公钥
2017-07-24 14:41:43
282
原创 Javascript那些烦人的细节
for in循环遍历所有该对象enumerable的properties,包括原型链上继承过来的,但不包括symbols。Object.keys返回给对象上所有的自己的额numerable properties(即不返回原型链上的)Object.getOwnPropertyNames返回所有该对象上的属性名,包括不可枚举的(不返回原型链上的)Object.get
2017-05-03 15:43:28
337
原创 Lan内部是如何完成通信的
以太网是数据链路层的一种通用协议,以太网包的标头里包含发送方和接受方的Mac地址。数据包里存放IP(网络层)的东西。网络层的标头里存放发送方和接受方的ip地址,数据长度,数据包里存放tcp/udp(传输层)的东西UDP的表头里存放发送方和接受方的端口,TCP的话除此之外还会放置保证传输的各种属性。传输层的数据包里存放http,smtp,ftp等应用层的消息。当一台机器连接上一个
2016-11-22 11:47:10
4310
原创 NodeJs ReadStream机制分析
读了一下午源代码,作者写的代码太难懂了,洋洋洒洒,勉强看懂。ReadStream有两个模式,即flow模式和readable模式,一旦设定成一种模式,最好不要切换成另一种。1.当一个stream被调用了on("data",..)后,即进入flow模式。2.stream.flow被设置成true,并且调用resume方法,下图是resume方法的截图function resume(s
2016-08-02 16:54:44
4541
原创 将回调函数转换成promise(粗糙版)
var q = require("q");function Q(outerFunc) { return function () { // 避免上下文丢失 var context = this; var args = []; for (var i in arguments) { args.push(a
2016-03-16 16:29:25
3697
1
原创 自己动手写co
function co(func) { var it = func(); var first = it.next(); var value = first.value; var done = first.done; move(it, value, done);}function move(it, value, done) { if (!done
2016-03-08 17:34:18
529
原创 Karma for angular
module.exports = function (config) { 'use strict'; config.set({ // enable / disable watching file and executing tests whenever any file changes autoWatch: true, // ba
2016-01-12 13:15:26
384
原创 Docker
在Ubuntu下安装docker curl -sSL https://get.docker.com | sudo sh默认情况下Ubuntu需要使用docker的话,要加上sudo可以创建docker组sudo groupadd dockersudo gpasswd -a #user docker sudo reboot #重启docker run ubuntu echo
2016-01-06 17:10:45
430
原创 Spring
1.除了property之外,还可以通过contructor-arg给bean设置属性 <constructor-arg value="Loulan" index="0" type="java.lang.String" >因为Java支持多重载,遇到参数有歧义的时候可以使用index或者type属性加以限制2. 属性若为list
2015-12-25 13:48:40
695
原创 ActiveRecord
设已经有一个model User,他继承自ActiveRecorduser = User.create(attributes) 创建一个用户user.destroy() 删除User.find(id)User.find_by(conditions)User.all() 返回全部User.firstUser.last//updateuser.name =
2015-12-15 14:33:37
451
原创 Ruby元编程
1. [].methods == Array.instance_methods //true[].methods.grep /re/obj.instance_variables //访问一个对象的所有域Array.instance_methods //访问一个类的所有实例方法(不是在对象而是在类上调用的)Array.instance_methods(false)//不显示父类以
2015-12-13 22:30:16
395
原创 js
1.js正则表达式多个匹配项,通过这种方式最方便。var text = "hello1-hello2-hello3";var regG = /(he(ll)o\d)\-?/g;// skip hello1regG.lastIndex = 5;var globalResult = null;while ((globalResult = regG.exec(text))
2015-12-08 17:25:21
346
原创 markdown&grunt
grunt&markdownMarkdown1._this_将this变成斜体2.#hello->hello3.[click me](www.a.com) -> click me引用型链接[a][fun place][fun place]:www.baidu.com4.**aaa** -> aaa5.在一行后面加入
2015-11-24 11:11:30
477
原创 angular
1.自己实现ng-modelreturn { restrict: 'A', link: function ($scope, element, attr) { var modelName = attr["model"]; $(element).val($scope.$eval(modelName)); //从v
2015-11-20 12:51:38
388
原创 ruby小记
1.print打印语句时不带换行符,puts带换行符,gets()用于获取用户输入2.双引号字符串可以插入变量或者表达式,“hello #{name} #{10 * (1 + 2)}”3.注释是#,多行注释以=begin开始,=end结尾4.定义一个方法def add(param1, param2) return param1 + param2end
2015-09-15 17:30:14
905
原创 在Heroku中配置Sendgrid邮箱
1.在项目底下输入heroku addons:create sendgrid:starter(事先需要在Heroku处设置信用卡信息)在config/environemtns/production.rb下加入以下代码 config.action_mailer.raise_delivery_errors = true config.action_mailer.
2015-09-14 11:18:13
1193
原创 rails小记1
1.print打印语句时不带换行符,puts带换行符,gets()用于获取用户输入2.双引号字符串可以插入变量或者表达式,“hello #{name} #{10 * (1 + 2)}”3.注释是#4.定义一个方法def add(param1, param2) return param1 + param2end5.字符串转换成数字string.to_i,stri
2015-09-01 10:29:30
1235
原创 lodash摘要
1.forEach=each ,forEachRight _.forEach(collection, function(name, index) { if (name === 'Kelly') { console.log('Kelly Index: ' + index); return false;//退出循环
2015-08-31 10:01:24
1318
原创 async注意点
1.如果在第二个function中不使用异步的话,end会先被打印。原因如下 parallel(any function in async) is about kicking-off I/O tasks in parallel, not about parallel execution of code. If your tasks do not use any timers or pe
2015-08-27 16:24:55
485
原创 对于async的错误理解
/** * Created by qiucheng on 15/8/27. */var async = require("async");var arr = [1, 2, 3];var transformed = arr.map(function (ele) { return ele * 3;});console.log(transformed);async.ma
2015-08-27 15:24:21
536
深入浅出EMF与Graphiti
2013-08-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人