景灵

——我要我想要的


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

JSLint Error --- for in

发表于 Mar 18 2015   |   分类于 Node.js

JSLint Error Explanations:

1
The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.

https://stackoverflow.com/questions/1963102/what-does-the-jslint-error-body-of-a-for-in-should-be-wrapped-in-an-if-statemen

Ubuntu软件安装卸载命令

发表于 Mar 15 2015   |   分类于 Linux

安装软件

apt-get install softname1 softname2 softname3……

卸载软件

apt-get remove softname1 softname2 softname3……

卸载并清除配置

apt-get remove --purge softname1

更新软件信息数据库

阅读全文 »

apt-get命令

发表于 Mar 15 2015   |   分类于 Linux
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
apt-get update
#在修改/etc/apt/sources.list或者/etc/apt/preferences之後运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。
apt-get install packagename
#安装一个新软件包(参见下文的aptitude)
apt-get remove packagename
#卸载一个已安装的软件包(保留配置文件)
apt-get --purge remove packagename
#卸载一个已安装的软件包(删除配置文件)
dpkg --force-all --purge packagename
#有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。
apt-get autoclean
#apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件
apt-get clean
#这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。
apt-get upgrade
#更新所有已安装的软件包
apt-get dist-upgrade
#将系统升级到新版本
apt-cache search string
#在软件包列表中搜索字符串
dpkg -l package-name-pattern
#列出所有与模式相匹配的软件包。如果您不知道软件包的全名,您可以使用“*package-name-pattern*”。
aptitude
#详细查看已安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息,可以说它更适合用来进行安装和卸载。
apt-cache showpkg pkgs
#显示软件包信息。
apt-cache dumpavail
#打印可用软件包列表。
apt-cache show pkgs
#显示软件包记录,类似于dpkg –print-avail。
apt-cache pkgnames
#打印软件包列表中所有软件包的名称。
dpkg -S file
#这个文件属于哪个已安装软件包。
dpkg -L package
#列出软件包中的所有文件。
apt-file search filename
#查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。apt-file是一个独立的软件包。您必须 先使用apt-get install来安装它,然後运行apt-file update。如果apt-file search filename输出的内容太多,您可以尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文件名)或者类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的)。
apt-get update
#系统软件包更新

Node.js在Web开发中有哪些优势和劣势

发表于 Mar 15 2015   |   分类于 Node.js

来源: http://www.itpub.net/thread-1730509-1-1.html

  1. NodeJS的优势有:

    1)性能优异,内存占用少,在某些场景下性能提升极大;

    2)尤其适合做Web开发的程序员,因为可以充分发挥他们所掌握的JavaScript技能;

    3)前端开发者可以与后端开发者在一个小组内协作开发,因为前后端都采用了JavaScript语言;

    4)NodeJS对硬件资源的利用率极高,而且Google V8引擎处于不断的发展过程中,性能还将日益提高;

    5)NodeJS的开发者可以更加专注于应用和逻辑的开发;

    6)NodeJS周边库非常多,可以重用以便快速完成开发任务。

  2. NodeJS的缺点有:

    1)有很多的库需要掌握,学习时间长,破耗精力;

    2)NodeJS的函数较多,要记住并掌握的难度不小;

    3)NodeJS开发偏底层一些,代码的易读性不如Java;

    4)NodeJS的文档较少,中文书目前只有一本,而且写得很差。

如果NodeJS能整合Dart语言或TypeScript语言,那么前景会更好。

是否低响应时间/高并发重要?Node真的很擅长它。
项目有多大?小项目问题不大。大项目应该小心的评估(可用的库,修复一个bug所需的资源或者two upstream等等。)

PMD

发表于 Mar 15 2015   |   分类于 PMD

PMD

分析工具

软件行业的JAVA代码静态分析工具
PMD是一种开源分析Java代码错误的工具。与其他分析工具不同的是,PMD通过静态分析获知代码错误。也就是说,在不运行Java程序的情况下报告错误。PMD附带了许多可以直接使用的规则,利用这些规则可以找出Java源程序的许多问题。此外,用户还可以自己定义规则,检查Java代码是否符合某些特定的编码规范。

PMD的核心是JavaCC解析器生成器。PMD结合运用JavaCC和EBNF(扩展巴科斯-诺尔范式,Extended Backus-Naur Formal)语法,再加上JJTree,把Java源代码解析成抽象语法树(AST,Abstract Syntax Tree)。
PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。

PMD支持的编辑器包括:
JDeveloper、Eclipse、JEdit、JBuilder、BlueJ、CodeGuide、NetBeans/Sun Java Studio Enterprise/Creator、IntelliJ IDEA、TextPad、Maven、Ant,、Gel、JCreator和Emacs。
9组合决策
编辑

PMD(Product Mix Decision),产品组合决策

是指在一定资源约束条件下,企业该如何安排产品组合,以实现一定时间内收益最大化的问题。

javascript框架

发表于 Mar 15 2015   |   分类于 javascript
  1. 十个拥有丰富 UI 组件的 JavaScript 开发框架
    • http://www.cnblogs.com/lhb25/archive/2012/09/17/10-javascript-framework-with-rich-ui-component.html

JS中call的使用

发表于 Mar 15 2015   |   分类于 javascript

来源:http://ibruce.info/2013/11/22/hexo-your-blog/

call 方法

应用于:Function 对象
调用一个对象的一个方法,以另一个对象替换当前对象。

1
2
3
4
5
6
7
8
call([thisObj[,arg1[, arg2[, [,.argN]]]]])
参数:
thisObj
可选项。将被用作当前对象的对象。
arg1, arg2, , argN
可选项。将被传递方法参数序列。
说明:
call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。

1、最基本的理解:

示例1

自定义一个类,该类有一个方法showTxt,用来显示当前对象的name值。

创建一个对象,并且该对象的name值等于test1。

使用call方法,使新创建的对象obj添加Class1类的showTxt方法,即把Class1类中的this.showTxt中的this指定成obj,这样obj就有了showTxt方法。弹出”test1”。

1
2
3
4
5
6
7
8
function Class1(){
this.showTxt = function(){alert(this.name)}
}
var obj = new Object();
obj.name="test1"
Class1.call(obj);
obj.showTxt();//test1
alert(obj.showTxt);//function(){alert(this.name)}

阅读全文 »

Lo-Dash和Underscore.js

发表于 Mar 15 2015   |   分类于 Node.js

1、Underscore http://underscorejs.org/

Underscore 是一个JavaScript实用库,提供了类似 Prototype.js (或 Ruby 的一些功能,但是没有扩展任何JavaScript内置对象。它弥补了部分 jQuery 没有实现的功能,同时又是 Backbone.js 必不可少的部分。Underscore提供了80多个函数,包括常用的: map, select, invoke — 当然还有更多专业的辅助函数,如:函数绑定, JavaScript模板功能, 强类型相等测试, 等等. 在新的浏览器中, 有许多函数如果浏览器本身直接支持,将会采用原生的,如 forEach, map, reduce, filter, every, some 和 indexOf。

2、lodash

lodash包括了所有underscore的函数,还扩展一些其他的东西
https://lodash.com/
lodash官网,对lodash与underscore不同的地方进行了说明
https://lodash.com/docs
API Documentation
http://devdocs.io/lodash/
DevDocs – a searchable interface for our documentation

3、相关资料

源码解读资源

发表于 Mar 15 2015   |   分类于 源码解读
  1. nodeJS之eventproxy源码解读

    • http://blog.csdn.net/qq976477610/article/details/24644031
  2. 解读express 4.x源码(1)

    • http://segmentfault.com/blog/insideyiqi/1190000000577149
  3. mongoose

    • Mongoose源码剖析:Introduction and Installation
      • http://www.cnblogs.com/skynet/archive/2010/07/24/1784322.html
    • Mongoose源码剖析:外篇之web服务器
      • http://www.cnblogs.com/skynet/archive/2010/07/24/1784110.html

http相关知识

发表于 Mar 15 2015   |   分类于 http
  1. Content-Type:用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据

    • MIME:MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
      • http://baike.baidu.com/view/160611.htm?fr=aladdin
    • text/html的意思是将文件的content-type设置为text/html的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。

    • text/plain的意思是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理。

1…456…8
crazyjingling

crazyjingling

crazyjingling's blog | Node.js | javascript

75 日志
60 分类
106 标签
github twitter weibo zhihu
© 2016 crazyjingling
由 Hexo 强力驱动
主题 - NexT.Mist