自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (4)
  • 收藏
  • 关注

原创 ssh相关

ssh登陆分两种,一种是密码登陆,一种是公钥登陆。密码登陆:当本地发送 ssh someuser@someip命令后,远端机器将把尝试把自己的私钥的指纹发回,用户确认该指纹和远端机官网贴出的内容一致之后,选择同意,远端机器则将自己的公钥发送给本地。此时,该公钥将被保存在本地的.ssh/known_hosts文件中。有了该公钥之后,用户输入自己的登陆密码,ssh会用远端机器的公钥

2017-07-24 14:41:43 227

原创 Javascript那些烦人的细节

for in循环遍历所有该对象enumerable的properties,包括原型链上继承过来的,但不包括symbols。Object.keys返回给对象上所有的自己的额numerable properties(即不返回原型链上的)Object.getOwnPropertyNames返回所有该对象上的属性名,包括不可枚举的(不返回原型链上的)Object.get

2017-05-03 15:43:28 302

原创 Lan内部是如何完成通信的

以太网是数据链路层的一种通用协议,以太网包的标头里包含发送方和接受方的Mac地址。数据包里存放IP(网络层)的东西。网络层的标头里存放发送方和接受方的ip地址,数据长度,数据包里存放tcp/udp(传输层)的东西UDP的表头里存放发送方和接受方的端口,TCP的话除此之外还会放置保证传输的各种属性。传输层的数据包里存放http,smtp,ftp等应用层的消息。当一台机器连接上一个

2016-11-22 11:47:10 4113

原创 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 4451

原创 将回调函数转换成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 3626 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 494

原创 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 341

原创 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 398

原创 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 662

原创 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 414

原创 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 358

原创 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 316

原创 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 447

原创 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 364

原创 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 863

原创 在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 1086 2

原创 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 1161

原创 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 1221

原创 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 443

原创 对于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 498

原创 Spring整合JPA

datasource少不了接着是entityManagerFactory最后基于注解的事务管理

2015-08-24 14:30:27 222

Web development with node and express

一本讲述node和express结合的好书。学习node的朋友看过来吧

2018-09-18

深入理解EMF&graphiti

我自己写的EMF教程,内容丰富,示例代码很多,解析很透彻,比市面上的简单教程要好得多

2013-08-11

深入浅出EMF与Graphiti

本人自己写的,有大量的代码示例,深度讲解emf的内部机制与类库。最后使用Graphiti作为例子,完成整个emf的讲解。 内容丰富,想要深入学习emf的朋友不容错过。。另外graphiti也是制作Eclipse插件的图形化工具的不错的选择

2013-08-05

unix操作系统设计(中文版)

一本很好的unix系统设计的参考书,介绍了各个系统调用的实现算法,中文版,翻译得很好

2009-08-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除