- 浏览: 181431 次
- 性别:
- 来自: 北京
最新评论
-
sjzc66:
非常棒 感谢分享
造成数据库索引失效的几种原因 -
ymm8505:
不错…… 有更多的 例子就更好了
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解 -
bo_hai:
把文件下载后,再怎么搞?没有说清楚呀?
aptana studio 3 添加jquery 提示功能 -
magele758:
代码已经更改过了,看看nodejs的官方文档上面有说清楚:ht ...
浅谈对node.js http.agent的理解 -
linmomo02:
mfkvfn 写道“先进后出”听说很别扭,一般不是称“后进先出 ...
java中的堆内存和栈内存
文章列表
我的eclipse版本是java EE 3.7
在线安装svn插件。help ->install new software ->添加一个svn:http://subclipse.tigris.org/update_1.6.x
选择subclipse,选中subclipse,subversion Client Adapter和Subversion JavaHL Native Library Adpte.但是在新建svn项目,出现unable to load default svn client错误,
把Optional JNA Library也装上然旧不行。经过查看文档http ...
Memcached真的过时了吗?
作者:nosqlfan
on 星期一, 三月 12, 2012 · 3条评论
【阅读:2,892 次】
这两年Redis
火得可以,Redis也常常被当作Memcached
的挑战者被提到桌面上来。关于Redis与Memcached的比较更是比比皆是。然而 ...
1.下载mongodb,到官网下载最新的稳定版本:http://www.mongodb.org/downloads
2.解压下载的包 tar -zxvf mongodb-linux-i686-2.0.4.tgz
3.mongodb默认的数据存储路径是/data/db/ 所以先创建目录 mkdir /data/db
4.运行 ./bin/mongod启动服务。
5.运行 ./bin/mongo 启动shell,通过javascript shell可以操作数据库。
相关命令如下:
show dbs show database ...
栈(stack):
是一个后进先出的数据结构,通常用于保存方法(函数)中的参数,局部变量. 在java中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前scopes内(就是由{...}括起来的区域).
栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的。所以栈内存中存放的都是方法运行中声明的基本数据类型,如short,int,long等,他们的长度都是一定的,并且生存期都是随着方法的结束而结束。
堆(heap):
堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,J ...
今天运行node服务发现一个异常,我通过node.js客户端访问我的node.js服务,然后客户端程序就报错,具体堆栈信息是这样的。
Error: Parse Error
at Socket.<anonymous> (http.js:1150:24)
at TCP.onread (net.js:354:27)
最后发现引起这个异常的原因是http header中的content-length设置的不正确,不是content的实际长度。经过一翻了解,node中如果这个属性省略的话那么它回自动使用chunck编码。否则的话你就要告诉客户端你下发内容的实际长度。
许多 web 服务具有发送压缩数据的能力,这可以将网络线路上传输的大量数据消减 60% 以上。这尤其适用于 XML web 服务,因为 XML 数据 的压缩率可以很高。
服务器不会为你发送压缩数据,除非你告诉服务器你可以处理压缩数据。
例 11.14. 告诉服务器你想获得压缩数据
>>>
import
urllib2, httplib
>>>
httplib.HTTPConnection.debuglevel = 1
>>>
reque ...
在node.js中,模块在第一次被记载的时候就被缓存起来了,这意味着当我们在其他的文件再次使用require('foo')方法引入的模块的时候,我们都将会得到一个从缓存中返回的对象,而并会再执行一遍foo.js文件。
如果我们想在每次require('foo')的时候都执行一遍文件的话那么我们可以再foo.js中exports一个function,requere的时候都执行这个function就可以了。
Express支持多工作环境,比如生产环境
和开发环境
等。开发者可以使用configure()
方法根据当前环境的需要进行设置,当configure()
没有传入环境名称时,它会在各环境之前被调用(一回注:相当于被各个明确环境所共享)。
下面的示例我们只抛出异常(dumpException
),并且在开发模式
对异常堆栈的输出做出响应,但是不论对开发或者生产环境我们都使用了methodOverride
和bodyParser
。
// 定义共享环境
app.configure(function(){
app.use(express.methodOverride( ...
就像NPM的官网(http://npmjs.org/
)上介绍的那样,安装NPM仅仅是一行命令的事情:
curl http://npmjs.org/install.sh | sh
这里详解一下这句命令的意思,curl http://npmjs.org/install.sh是通过curl命令获取这个安装shell脚本,按后通过管道符| 将获取的脚本交由sh命令来执行。这里如果没有权限会安装不成功,需要加上sudo来确保权限:
curl http://npmjs.org/install.sh | sudo sh
安装成功后执行npm命令,会得到一下的提示:
Usage: ...
wget http://nodejs.org/dist/v0.6.1/node-v0.6.1.tar.gz
tar zxvf node-v0.6.1.tar.gz
cd node-v0.6.1
./configure
上面几行命令是通过wget命令下载最新版本的代码,并解压之。./configure命令将会检查环境是否符合Nodejs的编译需要。
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar ...
node.js之火已经燃起。本文简单介绍一下自己在学习node.js过程中遇到的问题。
node.js的http模块使用了一个agent代理。如果你的http启动了keep-alive那么这个代理相当于一个连接池。
这个代理维护了一定数量的socket链接,当然都是短链接。http发起请求所用的socket都是通过代理获取的。
这样就省去了每次发起http请求是创建套接字的时间提高了效率。
下面就说说这个agent中的主要属性:
对node v0.4的版本
agent.maxSockets 默认值为5,指定代理能同时并发打开的套接字数量。
agent.sockets ...
ubuntu下安装subversion客户端:
sudo apt-get
install subversion subversion-tools
详细请看 http://www.subversion.org.cn/svnbook/1.1/index.html
svn子命令
1、检出
svn co
http://
路径(目录或文件的全路径) [本地目录全路径]
--username
用户名 --password
密码svn co
svn://
路径(目录或文件的全路径) [本地目录全路径]
--username
用户名 --password
...
对tcp的几种状态一直比较模糊,在实际应用中对这几种状态有个充分的理解还是很重要的。tcp链接建立和断开的过程如下所示:1 、建立连接协议(三次握手) ( 1 )客户端发送一个带 SYN 标志的 TCP 报文到服务器。这是三次握手过程中的报文 1 。( 2 ) 服务器端回应客户端的,这是三次握手中的第 2 个报文,这个报文同时带 ACK 标志和 SYN 标志。因此它表示对刚才客户端 SYN 报文的回应;同时又标志 SYN 给客户端,询问客户端是否准备好进行数据通讯。( 3 ) 客户必须再次回应服务段一个 ACK 报文,这是报文段 3 。[size=14px; background-color ...
1,下载apache-tomcat6,地址链接:http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.28/bin/选择Ubuntu Linux适用版本,即apache-tomcat-6.0.28.tar.gz文件,
2,复制安装文件到/usr/local/目录下面,在控制台console输入命令, sudo tar -zxvf apache-tomcat-6.0.28.tar.gz,将安装包解压至apache-tomcat-6.0.28目录下,
3,console输入命令:sudo gedit /usr/local/ap ...
以前在非root用户下安装chrome运行很好。后来切换到root用户死活启动不起来。
说不能以root用户运行。要运行必须修改一个东西。
后来在网上搜了一下。可以了。说下操作步骤吧:
1.cd /usr/lib/chromium-browser/
2.vi chromium-browser 找到geteuid 改成getppid保存,ok搞定了。