bbiao的专栏

天行健,君子以自强不息;地势坤,君子以厚德载物。

2010年02月05日

原创 大数据量系统

这半个月一直在忙,忙着改程序,做实验,原来的系统的处理能力是10^4/10^5,我现在需要处理的数据量是10^6/10^7。原来正常的程序却出现了各种各样的异常,最明显的问题有两个,一个是OutOfMemory,一个是Connection Reset。 前一个问题有很多种不同的解决方法,就是增加机器的物理内存,调优jvm的启动参数,如果这些都解决不了问题,那就是程序本身的问题。我遇到的最多的就是BufferedReader溢出、ArrayList的不正确使用。这些问题都解决了还是会发现莫明其妙的溢出的话,还是增加物理内存吧。jvm虽然有垃圾收集机制,但是如果程序设计的初衷就没有为大数据量的数据考虑过的话,内存消耗真是件杯具而且及其不好解决在问题,特别是在code base有10^5级别的时候。 后一个问题,目前我还没有找到好的解决办法,目前能想到的,就是增加发送和接收缓存,平滑发送的速率,可是16*16的链接还是会莫明其妙的断掉。 郁闷了!还是需要再接再厉,外围的方案解决不了问题的话,只能去动核心的代码了。身边也没有有经验的人可以请教,我自己现在倒是对大数据量、巨数据量系统的可伸阅读全文>

发表于 @ 2010年02月05日 10:56:00 | 评论( loading... ) | 编辑| 举报| 收藏

2010年01月28日

原创 Apple iPad

虽然自己一直没有用过Apple的产品,但是对他的新产品发布都有关注,乔大爷北京时间今天凌晨发布了苹果定位在iPhone与MacBook之前的产品,iPad,这个名字并不出人意料之外,之前也有猜测叫做iSlate,我更倾向于这个名字。先上张图: 外观上给人的印象真的就是一大号的iPod Touch,而且边框也太厚了吧?难道就是为了配合最下面的那个Home键么? 再说说他的配置: Display: 9.7 inch IPS Weight: 1.5 lbs 0.5 inches thin Battery life: 10 hours Accelerometer and Compass Speaker, Microphone, and 30 pin connector WiFi 802.11n Processor: 1GHz Apple A4 chip Storage: 16-64GB Flash Full capacative multi-touch 作为一个娱乐休闲终端,我想这个配置应该是不错的阅读全文>

发表于 @ 2010年01月28日 09:44:00 | 评论( loading... ) | 编辑| 举报| 收藏

2010年01月27日

原创 CentOS配置vsftpd遇到550错误的解决办法

安装vsftpd很简单:yum install vsftpd 启动vsftpd也很简单:service vsftpd start 默认情况下用root是无法连接的,你可以创建一个非root帐户登录,但是登录是可以登录,却没有办法创建或是上传文件。有人说,可以把SELinux关掉,可是这样未免也有点尺度太大了,其实是SELinux里的设置问题,只要修改相应的配置就可以了。 发现问题的方法: # getsebool -a | grep ftp allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off ftp_home_dir --> off httpd_enable_ftp_server --> off tftp_anon_write –> off 将红色字体部分的值改成on就可以了,设置的方法如下: # setsebool -P ftp_home_di阅读全文>

发表于 @ 2010年01月27日 11:53:00 | 评论( loading... ) | 编辑| 举报| 收藏

2010年01月24日

原创 Refactor

为什么要重构?我不知道教科书是或是别人都会怎么讲,但是重构对我来说,基本上就是把一个糟糕的设计重新写一遍。那么,什么是我定义的两糟糕的设计?又怎么样来重写,并且期望能够达到一个怎么样的目的才算是一个好的重构呢? 糟糕的设计: 因为时间紧,任务重,没有进行设计,基本上是随心所欲的写出来的代码; 充斥着“if…else…”,打了无数的补丁,新增功能的时候,就得多增加判断条件; 代码变得越来越复杂,相同的代码出现在了不同的地方,修改一处,必须时刻记着也要修改别的地方 那怎么样来重写呢?完全抛弃以前的代码么? 完全抛弃以前的代码:之前的代码写得实在是太糟糕,没有任何可取之处。而且没有办法使用一些重构工具一进行梳理。我自己没有遇到过这种情况。每一小段代码还不至于写得面目全非,这应该算是代价相对较重的一种重构方法,与其说是重构,不如说是重新写。 使用之前的代码:之前的代码,小的部分还是可以使用的,将它们独立出来,形成单独的模块,并使用一定的模块调用机制(如使用事件机制、插件系统)等,来阅读全文>

发表于 @ 2010年01月24日 14:44:00 | 评论( loading... ) | 编辑| 举报| 收藏

2010年01月17日

原创 Nokia 5530XM

还是要跟小6说声对不起,把你摔坏了。 现在用的是小5,最近太忙,没时间折腾,原来是打算买个HTC Magic(G2),顺便还能试试在Android平台上做开发。可是时间实在是太仓促,买水货不做够功课我是不敢去买的,于是就买了Nokia 5530 Xpress Music。 到目前为此,我只装了Opera Mini 4.0和Opera Mini 5.2 Beta 2,以及UCWeb 7.0,Fetion for N97,QQ 2008 for Nokia 5800。前面的三款软件可以顺利安装,每一款都让人爱不释手,可以根据你个人的习惯来选择一个做为你的浏览器。同时,系统本身自带的浏览器也是不错的哟。 QQ 2008,去官网下,地址是http://mobile.qq.com/2008,手机型号选Nokia 5800XM Fetion去官网下,地址是http://www.fetion.com.cn/download/mobileclient/,手机型号选N97 下下来了,OK,机器也连上WiFi了,想上飞信跟QQ,没门!这两个软件必须用GPRS连接,具体的设置方法是: 功能阅读全文>

发表于 @ 2010年01月17日 20:09:00 | 评论( loading... ) | 编辑| 举报| 收藏

2010年01月15日

原创 Guge, Bye!

我没觉得Google要远离我的生活,我最常用的邮件客户端是Gmail(包括收其他邮箱的邮件),我的RSS阅读器是Google Reader,我搜索用Google.com,我查文章用Google Scholar,偶尔会在Google Books上查一些书的资料,我用Google Code来管理自己的一些项目,我用Google Analytics来统计我的网站的使用量,我用Google App Engine偶尔做一些小东西,还好我不需要用Google AdWords来做推广,也不用Google AdSense来做广告赚钱,写Blog也不用Google Blogger,Picasa网络相册也不常用,但是我用Picasa个管理我自己电脑上的照片,我用Google Toolbar for Firefox来增强我的浏览器的功能,我不用Google拼音输入法,但是我会装,偶尔有字用五笔一时打不出来了,可以换这个,会用Google Calendar来管理一下自己的形程。盘点完毕。 不过这些东西好像与Google.cn没有一点关系。Google.cn虽然不继续在中国发展了,我想我还能继续我的网上生活,阅读全文>

发表于 @ 2010年01月15日 21:41:00 | 评论( loading... ) | 编辑| 举报| 收藏

2010年01月08日

原创 使用mklink或junction后Chrome无法安装扩展的解决办法

Chrome官方的扩展中心已经上线了,现在有相当多的扩展开用。之前一直不愿意放弃Firefox使用Google Chrome,有一大部分原因是因为Firefox上的一些扩展。之前我也尝试过在Chrome上安装扩展,但是每次都在“加载中”便没有反应了。今天下了功夫搜索了一下,发现所有使用过mklink或是junction,把User Profile从默认位置移出来的同学都有这个问题,而且最后把问题归结到TEMP和TMP这两个变量指向的位置上,所以我想了个办法,写了个简单的脚本, 1: @echo off 2: set TEMP=C:\Users\Google\Temp 3: set TMP=C:\Users\Google\Temp 4: C:\Users\Talent\AppData\Local\Google\Chrome\Application\chrome.exe 5: exit 按这个思路,只要把TEMP跟TMP设置到非mklink或是juncito阅读全文>

发表于 @ 2010年01月08日 21:43:00 | 评论( loading... ) | 编辑| 举报| 收藏

原创 Python and RRD

RRD是Round Robin Database的意思,RRDTool是用来管理RRD的一个工具。RRDTool的主页在这里,Wikipedia的页面在这里。RRD其实就是一个时序数据库,使用一个固定大小的环型buffer,适用于存储一些统计性的信息,如CPU负载呀,气温变化呀。我为什么要说这个东西呢,因为XenServer里的性能统计是用的RRD,你可以访问诸如http://xenserver-host/rrd_updates?cf=AVERAGE&interval=5&start=123131321形式的网址来获取统计信息。XenServer将返回一个XML文件,这个XML文件其实就是用rrdtool里的export工具导出的。 好,下载完成了这个文件以后,我们假设文件名是data.xml,你可以使用rrdtool restore data.xml data.rrd的方式将数据重新恢复成rrd的格式,然后就可以使用rrdtool进行一系列操作。rrdtool的操作可以写十篇博客,这不是我今天想说的重点。 我今天想说的是,当我把rrdtool跟Python集成的时候,发现Pyth阅读全文>

发表于 @ 2010年01月08日 10:11:00 | 评论( loading... ) | 编辑| 举报| 收藏

2010年01月07日

原创 帮帮这个小姑娘

在北京工作的潘俊廷是一位在嵌入式领域尤其是ARM/Linux方面从事开发工作多年的工程师,也是Linux社区活跃分子,担任Linux论坛版主。 他的女儿潘怡帆今年5岁。出生第二天就进了急救病房。后诊断为肺动脉高压,一直靠氧气机呼吸。目前她的肺部已经转纤维化,不能提供自己所需的氧气,生命垂危。她的父母为了挽救女儿的生命,已经倾其所有,卖掉了房子。国内专家已经无能为力,需要转美国治疗此病经验丰富的德州儿童医院进行心肺移植手术。所需资金约50万美元。 请大家一起帮助她,程序员的下一代。因为病魔的折磨,她还没有学会走路,她的记忆里更多的只是针头和面罩,她更多的是从电视里知道了世界,她还保存着给四川灾区捐款一万元而收到的感谢信。 【捐款方式】 请访问怡帆基金网站捐赠页面 http://www.help-yifan.org/donate.html 更多详情请访问 http://www.help-yifan.org阅读全文>

发表于 @ 2010年01月07日 09:47:00 | 评论( loading... ) | 编辑| 举报| 收藏

2009年12月21日

原创 糟糕的网银用户体验

周日兴冲冲的想给支付宝账户充点钱进去,之前没有使用过网银的网上支付功能,当时自己在实验室,所以回了趟宿舍取了下UKey,又去另一家银行把数字证书重新申请了一下,回到实验室,两个账户的密码却死活试不出来了,而且超过了最大可尝试次数,帐户被冻结,直到今天我回忆起了密码,才“顺利地”把钱充到了支付宝的帐户里,充值的过程没有遇到任何问题。 晚上睡不着觉的时候,我自己想了想,网银为什么给我的感觉总是使用体验相当糟糕,为什么我情愿把钱全部冲到支付宝里,再通过支付宝进行支付,现总结如下。 第一,国内各大银行几乎都推出了网上支付功能,但是其支付过程又各不相同。有的需要下载数字证书,有的需要使用Ukey,这无法让一个已经有了某家银行网银使用经验的人,迅速的可以掌握另一家网银的使用方法。之于软件,无异于用户会用MSN后,却不会用GTalk,或是用户习惯了用QQ,需要用阿里旺旺的时候却摸不着头脑,这无疑是很糟糕的。 其次,由于银行卡帐号比较长,一般人可能记不住那一串数字,于是有些网银便推出了一项“便捷”的功能,为帐户起一个别名,类似于你的网名。问题是,对于一个不常使用网银的人,这个别称很有可能被忘记,阅读全文>

发表于 @ 2009年12月21日 19:38:00 | 评论( loading... ) | 编辑| 举报| 收藏

Copyright © bbiao
Powered by CSDN Blog