的集成度越来越小,一些附加功能都是通过中间件实现的,上传功能需要处理form-data,试用了一下busboy(在Express中使用connect-),还是十分不错的。

busboy 原地址:https://github.com/mscdex/busboy

connect-busboy 地址:

connect-busboy中给出的例子十分简单,或者说十分简陋,具体功能还需要在busboy原地址中学习。

首先需要在app.js中require一下,并设置相关参数

var busboy =require('connect-busboy');
 
app.use(busboy({ immediate: true }));

其中immediate选项表示立即从request流读取并解析数据

然后在routes里开写吧!

var uuid = require('node-uuid')
 
if (req.busboy) {
    req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
		console.log(fieldname);
		console.log(filename);
		console.log(file);
		console.log(mimetype);
		if(mimetype.substr(0,5)=="image"){//我这里是上传了图片
			var id = uuid.v1();
			console.log(id);
			tmpUploadPath = path.join(conf.__uploads, id+'.jpg');
			file.pipe(fs.createWriteStream(tmpUploadPath));
			msg = {errorno:0,uuid:id,msg:"success"}
		}
    });
    req.busboy.on('field', function(key, value, keyTruncated, valueTruncated) {//处理其他非文件字段
		console.log(key);
		console.log(value);
    });
    req.busboy.on('finish', function() {//处理完毕后的回调
        res.json(msg)
    });
}

可以看到 busboy在处理form-data还是非常方便的,值得选用,如果进一步进行裁剪、缩放的功能,再结合gm之类的中间件处理应该更好

浏览:2,031

由于我是个穷人,只买得起OpenVZ架构的VPS,因此,自动配置的系统均无图形界面,下面我们一起看看如何快速安装桌面环境并远程桌面。

首先你应该确保你的系统已经更新

# apt-get update
# apt-get upgrade

然后安装Gnome吧

#apt-get install gnome-desktop-environment

把一些需要的字体也安装好

# apt-get install xfonts-100dpi
# apt-get install xfonts-100dpi-transcoded
# apt-get install xfonts-75dpi
# apt-get install xfonts-75dpi-transcoded
# apt-get install xfonts-base

安装tightvncserver

# apt-get install tightvncserver

继续阅读 »

浏览:14,823

我原来一直装着All in one , google analytics for wordpress 还有 wordpress xml sitemap 插件,今天试着装了排名非常靠前的Yoast WordPress SEO插件,非常好用郑重推荐。

它囊括了其他两个插件的功能,自带了google analytics和xml sitemap的实用功能,另外在seo本身也颇具特色,社会化和rss的seo都感觉不错

当然我这个站没有什么内容,也没啥SEO的空间就是了。。。哭

浏览:4,995

近日捣鼓ROR环境,重新搭了个Ubuntu,发现我大教育网竟然不走网关就可以通cn.archive..com,这对我确实是个福音,省时省力毫不费劲儿,想当年,由于我们通IPV6,而直走官方源必须过网关,一般情况下安装完Ubuntu第一件事就是改源。
在启rails server时,默认是以SQlite3作为数据库的,提示需要安装sqlite3-dev。没问题,轻车熟路

zhonghcc@zhonghcc-VB12:~$ sudo apt-get install sqlite3 libsqlite3-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
libsqlite3-dev : 依赖: libsqlite3-0 (= 3.7.9-2ubuntu1) 但是 3.7.9-2ubuntu1.1 正要被安装
sqlite3 : 依赖: libsqlite3-0 (= 3.7.9-2ubuntu1) 但是 3.7.9-2ubuntu1.1 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

依赖乱了,apt-get update吧,不顶用,remove sqlite3要删除300多个包,能帮我省下800多M的空间,其中Terminal之类的包也赫然在列,看来我想单独删除sqlite3的天真想法是破灭了。

网上的只言片语引起了我的注意,说是换过源出现的问题,我心想不对啊,我平时是换源的,这次是真真没换过。。抱着试一试的心态,我换了北理的ipv6的源,update,upgrade 再安装,竟然就通过了,谁能告诉我坑爹的Ubuntu官方源是怎么回事!!!

浏览:942

是一个专业的游戏特效编辑器。它建立在Flash界最流行的3D引擎Away3D之上,并且是完全GPU加速的架构(所有在渲染时的计算都在GPU中完成),所以性能非常棒。同时它的功能很强大,我们可以用它制作出游戏中那些十分绚丽的效果。

参加Sparticle粒子特效设计大赛 赢取iPad Air!

为了庆祝新年到来,我们决定举办Sparticle粒子特效设计大赛!

Sparticle 是一个专业的游戏特效编辑器。它建立在Flash界最流行的3D引擎Away3D之上,并且是完全GPU加速的架构(所有在渲染时的计算都在GPU中完成),所以性能非常棒。同时它的功能很强大,我们可以用它制作出游戏中那些十分绚丽的效果。

Sparticle的最新版本可以在 这里(http://www..com/t/sparticle)下载,最新版本支持lua脚本,上传作品设为私有等大家期待已久的特性!

本次比赛向全世界的粒子特效爱好者开放.

比赛将于2014年1月15日开始,2014年3月1日截止.

一等奖
全新 16GB Wi-Fi iPad Air (或者 价值五百美元的亚马逊礼品卡)

二等奖
全新 16GB Nexus 5 (或者 价值350美元的亚马逊礼品卡)

三等奖
全新 Kindle Paperwhite (或者 价值120美元的亚马逊礼品卡)

比赛网址:http://www.effecthub.com/contest

顺便宣传下我的作品

黑暗之门

http://www.effecthub.com/item/763

浏览:1,674

Jakarta Commons  3.X版本自11年之后就不再更新了,现在4.0以后的版本叫做HttpComponents

可以到这里下载 http://hc.apache.org/downloads.cgi

令人惊喜的是 HttpClient 4.2提供了连贯操作()。抛弃原来3.X版本的GetMethod、PostMethod,使得Http访问变得非常容易。

Get Request

Request.Get("http://somehost/")
        .execute().returnContent().asString();

简单一句话就可以页面内容获取到了。

如果Get有参数,可以使用URIBuilder来进行设置

URIBuilder builder = new URIBuilder();
builder.setScheme(ServerInfo.PROTOCAL).setHost(ServerInfo.HOST).setPath(path)
    .setParameter("para1", para1)
    .setParameter("para2", para2)
    .setParameter("para3", para3);

然后再进行Get
继续阅读 »

浏览:4,296

bitnami

BitNami是非常易用的开源Web应用一键安装 软件包。我在一年之前在这个框架下尝试安装过Trac、、Drupal等软件。非常傻瓜(对用户而言),非常智能(对软件本身而言)。官网: bitnami.com

XAMPP

XAMPP是非常易用的Apache、PHP、MySQL、Perl 甚至是FTP和Tomcat集成开发环境,也是非常简单、非常智能。它作为我惯用的服务环境,我在其上开发过若干php网站,非常感谢该团队的工作。 http://www.apachefriends.org/zh_cn/xampp.html

好久没有安装过新版本,今日在ubuntu上搭建开发环境时,发现XAMPP发生了两大变化

  1. 有了一个安装向导界面。
  2. 的Logo下赫然写着BitNami。并引导用户前往BitNami官网下载BitNami for 的一键安装网站应用,有大家耳熟能详的wordpress、joomla、drupal、mediawiki等。

BitNami for XAMPP for XAMPP

http://bitnami.com/stack/xampp

浏览:12,530

项目服务器的时间不同步,按照原来用date -s的习惯进行设置,结果无效。

google了一下才知道Xen默认不允许节点机自己调整时间,但时间不同步的情况下,Redmine的活动、wiki无法反应准确时间对项目管理是很不利的。所以设置成可独立配置时间。具体如下:

首先使用date -R查看当前时区,这台VPS是-5区的,首先需要设定时区:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

再次查看时间,确认依然是不准,首先安装ntp

yum install ntp

然后允许节点机配置本地时间

sysctl xen.independent_wallclock=1

进行同步
继续阅读 »

浏览:2,165

承前所说,Redmine在开源的项目管理平台平台是No.1,在去年的一个项目全程使用了Redmine。感觉还不错,不过那个项目由于工期紧张,中后期忙于编码和测试,Redmine平台利用的并不是很好,这次搭建项目管理平台,在吸取上次的教训后,要增加两个支持

  • 一个就是邮件服务,当某人提交了一个“问题”(比如是个bug或者工作安排)可以给指派一个人完成,多人跟踪。Redmine会给这些人发邮件通知。
  • 一个是LDAP验证,由于团队有可能人员变动比较大,权限的控制就比较重要。而且开发人员管理人员需要分级定权限。这时需要一个统一的认证平台,对Redmine、SVN进行有权限控制的访问。

至于安装,使用Bitnami 套装其实还是很容易的,如果采用Redmine官方的安装流程,需要安装Ruby、Apache2、MySQL、SVN等一系列组件并进行较为复杂的配置。但使用Bitnami ,基本就是一键安装,非常哈皮。

继续阅读 »

浏览:5,732

接上文所说,在项目管理平台搭建过程中需要两台VPS。

为什么使用VPS?

一般来说公司内部项目组织,为了安全起见,管理平台都是架在公司内网,访问速度高、成本低、安全性也高。但这个项目的开发不是一个集中的过程(实际上是非常松散的组织,soho?),由于开发人员和创业团队不能总是坐在一起办公。就需要web协作,因此需要购买域名和vps。

为什么需要两个VPS?

因为考虑到Redmine吃资源比较大,而提供演示的平台要求速度比较快。考虑到需要对用户访问的页面和数据库做压力统计以便进一步优化,所以需要将数据库、网站演示放在一台机器上,、LDAP放在另一台机器上。

VPS选择

我对VPS本博是架在国外的虚拟主机上的,虽然VPS原来也买过两个玩玩,但也绝对称不上行家,小菜一个而已。赵荣部落vps信息很新很全,在翻看了一段时间,又google了一些资料之后。选定了一家老牌(06年成立。。)vps提供商:virpus。

这家的vps很是便宜,openvz的最低月付$4,Xen的最低$5。现在又有个年度优惠:1G内存的Xen主机年付$60,512M的Xen主机年付$30(http://www.zrblog.net/9290.html),优惠主机机房在堪萨斯,国内访问速度不错。非优惠版本大概是两倍的价格,可以选洛杉矶机房的主机。 继续阅读 »

浏览:1,546
© 2017 Zhonghcc 's Blog Suffusion theme by Sayontan Sinha