gulp实作记录之插件

前言

上一篇介绍了gulp的四个API,本篇收集了gulp构建时的常用插件。参考这个博客中关于插件的介绍,根据自己的判断,有所删减,形成了这里的插件列表。

阅读全文 »

gulp实作记录之API

前言

软件程序存在的意义,是为了简化我们的生活和工作,利用程序可以代替我们完成一些生活工作中重复性的活动。构建工具的存在也是这个目的,简化我们的程序开发流程,并在一定程度上规范我们的开发工作。我所知道的第一个前端构建工具是grunt,未及深入学习,出现了gulp,论坛评价一边倒地赞扬gulp的优秀。最近又出现了webpack,替代browserify,目标是成为一个统一JavaScript前后端开发的构建工具,我也对webpack的官方文档做了一定学习,不过由于webpack和react贴得更近一些,而我暂时并未介入react及react native的学习开发,因此对其暂时搁置一段时间。个人认为webpack暂时不能完全取代gulp和grunt在前端构建的地位。因此今天就深入学习实践了一下gulp。

参考博客gulp详细入门教程,里面介绍很详细。还有一个很重要的工具cnpm

本篇主要对gulp的API进行介绍,gulp的API页面里有更多黑科技。gulp有4个API,分别是gulp.task,gulp.src,gulp.dest和gulp.watch,我们使用这四个API和众多的插件完成前端项目的构建工作。构建工作的开始当然是配置gulpfile.js文件了,这个文件在整个项目的根目录下面,我们接下来的代码全部是写在gulpfile.js中。

阅读全文 »

git 修改远程仓库

电脑之前坏了,拿去修理了。修理之后,重做了系统。重做了系统之后,原本的数据就都没有了。当然也包括github的ssh指纹。因此,想要用ssh推送项目的话,就需要做一些ssh配置工作。

但是呢,我这个人懒,当需要在推送我的的轮子autocomplete的时候,就直接使用了https进行项目推送了。然而,出来混总是要还的,我受不了每次都输入用户名密码啊,思来想去,还是重新配置了一下ssh推送,并且博客的configuration就使用的ssh,方便推送博客么。

既然ssh已经配置好了,那我的轮子项目也想要通过ssh推送了,人之常情。初始化的时候,我将远程设置成了这样的:

git设置远程仓库

1
$ git remote add origin https://github.com/xdushepherd/autocomeplete-0-1.git

那么问题来了,我要怎么才能ssh推送呢,通过度娘加上我的拓展,总结如下:

1.粗鲁形式

1
$ git push git@github.com:xdushepherd/autocomplete-0-1.git

2.修改origin

1
2
3
4
5
6
7
8
9
$ //方法一:
$ git remote origin set-url git@github.com:xdushepherd/autocomplete-0-1.git
$
$ //方法二: 直接在config文件中修改origin的值
$ vi .git/config
$
$ //方法三:删除origin,再添加新的origin
$ git remote rm origin
$ git remote add git@github.com:xdushepherd/autocomplete-0-1.git

3.另建远程

1
2
$ git remote ori git@github.com:xdushepherd/autocomplete-0-1.git
$ git push ori master

我大概能记得住的方法就这么多了。

Node.js官网API阅读之HTTP模块阅读记录

概述

require(‘http’)方法可以得到HTTP服务器模块。

Node.js中的HTTP接口被设计来支持许多该协议的特点,而这些特点传统上对我们来说使用起来时比较麻烦的。这个接口注重的是不缓存整个请求或者响应。开发者可以实现数据流的传输。

HTTP消息的头部时这样一个对象:

1
2
3
4
5
{ 'content-length': '123',
'content-type': 'text/plain',
'connection': 'keep-alive',
'host': 'mysite.com',
'accept': '*/*' }

健的值是小写的。值时未修改的。

为了支持所有的可能的HTTP应用。Node.js中HTTP的API事一个非常底层的接口。这个API处理流数据并且可以完成消息的解析。这个接口可以将一个消息解析成一个头部和主体部分的两个消息,但是,这个接口不回解析真正的头部或者主体部分。

默认的头部允许一些键有多个值,这些值有’,’分隔开来,除了set-cookie和cookie,这两个键的值时存在一个数组中的。
像content-length这样的键智能有一个值。

原生的headers事保存在rawHeaders属性中,这个属性是这样的一个数组:[key,value,key2,value2,…]。举个例子,上面的那个消息头对象可以有下面这样一个rawHeaders列表:

1
2
3
4
5
6
[ 'ConTent-Length', '123456',
'content-LENGTH', '123',
'content-type', 'text/plain',
'CONNECTION', 'keep-alive',
'Host', 'mysite.com',
'accepT', '*/*' ]

Node.js官网API阅读之DNS模块鱼肚纪录

概述

使用require(‘dns’)来获取这个模块。这个模块包含了分别属于两个类别的函数。

第一种,使用操作系统提供的一些服务来完成域名解析的工作,不需要任何网络交流工作。这个目录包含一个函数,那就是dns.lookup()。
这是一个解析www.google.com网址的例子

1
2
3
4
5
var dns = require('dns');

dns.lookup('www.google.com', function onLookup(err, addresses, family) {
console.log('addresses:', addresses);
});

阅读全文 »

Node.js官方API阅读之Debugger模块阅读记录

概述

V8引擎自带了一个扩展的debugger,这个调试工具可以通过简单的TCP协议实现在进程外访问程序。Node.js为这个调试器实现了一个内建的客户端。想要使用这个客户端,你只需要在在Node.js文件执行时添加一个debug参数就可以;

1
2
3
4
5
6
7
8
$node debug myscript.js
< debugger listening on port 5858
connecting... ok
break in /home/indutny/Code/git/indutny/myscript.js:1
1 x = 5;
2 setTimeout(function () {
3 debugger;
debug>
阅读全文 »

Node.js官网API阅读之事件模块阅读记录

概述

许多Node.js中的对象都可以触发事件:一个net.Server对象会在每一次有会话连接到它的时候出发一个事件。一个fs.readStream对象会在一个文件打开的时候触发一个事件。所有可以触发事件的对象都是events.EventEmitter的实例。你可以通过require(‘events’)方法得到这个模块。

一般而言,事件的名字是一个驼峰形的字符串,但是,这也不是硬性的规定,所以任何形式的字符串都可以作为事件的名字。

类:events.EventEmitter

使用require(‘events’)来获取EventEmitter类。

1
2
var EventEmitter = require('events').EventEmitter;//导入events模块
var event = new EventEmitter(); //创建一个EventEmitter的实例对象

阅读全文 »

Node.js官网API阅读之模块阅读记录

概述

Node.js拥有一套简单的模块加载系统。在Node.js中,文件和模块之间是一一对应的关系。在接下来的例子中,foo.js和circle.js处于同一个文件夹下面,以foo.js文件夹在模块circle.js模块为例,展示一下模块加载机制。

基本定义和使用

foo.js中的内容:

1
2
var circle = require('./circle.js');
console.log('The area of a circle of radius 4 is' + circle.area(4));

circle.js的内容:

1
2
3
4
5
6
7
8
9
var PI= Math.PI;

exports.area = function(r){
return PI * r * r;
}

exports.circumference = function(r){
return 2 * PI * r;
}

阅读全文 »

mac配置纪录

引导和关机

前期知识点

ROM

   ROM(只读存储器),ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定 ,断电后所存数据也不会改变;其结构较简单,读出较方便,因而常用于存储各种固定程序和数据。

RAM

   RAM(随机存储存储器),又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。

BIOS

   BIOS(Basic Input Output System:基本输入输出系统),它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。当今,此系统已成为一些病毒木马的目标。一旦此系统被破坏,其后果不堪设想。

阅读全文 »