- 博客(239)
- 收藏
- 关注
原创 Thread In Ruby
今日终于把原来留下来的ios notify给整了,由于用户数据的增加这个库显然力不从心,过程就不说了。这个东西原来是rails 3写的,APN发送也有现成的库用gem装下就能用了,关键在于原来的发送任务,由于rails 3中提供了一个基于redis的分布式任务系统,但这个东西自从我升级了redis后就再跑不起来,调试了几下也没有太多成果,时间来不及了,于是用了ruby下的Thread包。 ...
2011-11-02 00:24:03
178
原创 thrift-1-2-3
国庆前后玩了一下thrift,下面是一些入门级的体会和心得: 1 在linux 64位下的编译过程,之前已经写过一个文章了:http://edwardpro.iteye.com/blog/1172064 2 客户端体系结构: thrift在客户端中几个大的部分: TTransport -> TTProtocol -> {生成的业务代码} 这...
2011-10-07 20:24:00
215
原创 lexer html解析一个js过滤的改进
问题描述,使用htmlparser的lexer解析器进行页面解析时发现类似如下的页面会有问题: <script>for(i=0;i<a;i++){}</script>解析后代码变成了:<script>for(i=0;i<a;i++){}></script> 通过le...
2011-09-22 11:07:28
227
在linux下删除大文件的好方法
上次在linux书上看到的,我们平时删除日志可能会用: rm -rf xxxxx 其实这个不好,有的比较傻的日志系统会生成不了文件的,所以比较好的做法应该是: cat xxxx > /dev/null 效果看到文件直接变成0字节了,对于当前在打的日志很好使的。...
2011-09-16 09:36:04
236
thrift 在ubuntu 11.04下的编译过程一两点心得
今天需要使用thrift于是随手下载下来了,下载过程很简单,但是编译工程有点血泪史,小分享一下,声明下问题不是我解决的,是同事帮助下搞定的。 一些先决条件: 1 java 的库需要装好ant2 c++版本需要装上boost库3 openssl要装上libssl-dev 环境ok了现在可以来编译了,首先./configure下,看看是不是ok的了? 接下来ma...
2011-09-14 21:46:30
156
原创 StringBuilder和String中的subString方法的细微差别
昨天改了一个很小的地方,但是在线上跑的时候突然感觉内存消耗差别很多,而代码中仅仅增加了这么一句话:int indexOfNocheck = linkBuffer.indexOf(NOCHECK_TAG);ret.append(linkBuffer.substring(0, indexOfNocheck)); ret也是一个Stringuilder,实际上我的直觉问题就应该出在...
2011-02-23 20:19:23
3346
用枚举来作为配置
一个简单的需求需要自动抓取一些http request参数到上下文中,传统的做法就是写一堆过程,好一点加一个list或者map之类的容器,其实可以用枚举来做配置的: public enum RequestParam { V("v"), API("api"), PARAMS("data"), KEY("auth"), KEYTYPE("authType"), UA( ".
2010-04-20 21:39:59
453
装箱操作需注意
近期在工作里发现一个代码bug,主要是装箱上的问题,我们知道在JDK5以后开始有了装箱所谓的装箱就是把普通类型装载成他的对象形式或者还原。实际上按照我的理解这就是java原来对于String的处理,考虑下面两者的不同点://这会在堆里生成一个空间String a = new String("aaa");//只生成在栈String b = "aaa"; 实际上String一直...
2009-10-24 15:25:04
154
在JTIDY中对于inline标签的这行问题
在一个项目中需要使用jtidy格式化页面,一开始感觉不错,但是上线后发现一些样式的问题,原因是inline的标签在折行以后会自动多个空格,如:<a href=""></a><a href=""></a><a href=""></a> 这样看到的标签之间就会有空格,一般
2009-09-24 16:40:33
149
JAVA7的不兼容表现
今天有时间玩一下JAVA7,却发现有点小问题:Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceConfig' defined in resource loader resource [/galaxy/biz/persisten...
2009-09-06 17:49:57
221
用SPRING AOP实现主动缓存
缓存的实现最简单的模式,我称作为get set invalid 法,这也是缓存中最常用的一种模式,以前实现缓存(特别是后加)一般都会写一大堆诸如: Object target = cache.get(KEY)if(target!=null){//do something}else{//do set} 这个其实很不好看,代码很不优雅.当然你可以使用一些设计模式去解决比...
2009-06-21 13:05:30
274
gson使用感受
google的东西向来以简洁唯美gson也是如此: private static Gson gson = new GsonBuilder().setDateFormat( "yyyy-MM-dd HH:mm:ss").disableHtmlEscaping().create(); 接下来: return gson.toJson(src);return...
2009-06-13 08:27:02
116
数据对象化的思考
以前曾经想利用json作为字段数据存储格式,这样当我们扩展表属性时可以不增加数据字段,只需要在逻辑端做一些改造即可完成比如 数据字段如下:{"name":"test","logo":"1234.jpg","desc":"test also"} 但这样的设计有个缺点,我称之为无法索引值,也就是说如果你想查找其中的某个值的时候就不行了,它只合适做单条数据的查询,并且数据量也要
2009-06-13 07:51:17
564
用json作为配置存储介质的讨论
为什么会考虑json:有没有这样的场景,当需要增加一个新配,假设配置存储在数据库中,会有什么问题?一般的做法大概就是增加一个字段,修改下映射,或者修改sql语句,然后需要回归所有功能同样在前端需要修改你的数据bean....一个浩大的工程似乎....那么我们进阶下,假设现在换一种思路我们把数据映射到hashmap,那么首先数据库层的变动逃不掉的,接下来bean可以逃掉,但是带来的问题就是没有了...
2009-04-02 20:57:13
167
JAVA学习笔记之泛型接口
应该是我很久没有好好学技术了,有时候想用的时候却发现不会写,比如今天遇到了泛型接口,所以要记录一下,这样才能更明白...在这里我并不想说泛型接口怎么写,这个很简单,后面会写的,只是想说我为什么要用.泛型接口的意图是什么?请看如下的问题:abstract class BaseBean{//略}Interface IA{public BaseBean doSomething();} 下...
2009-02-02 22:58:22
160
lucene 2.4 变化修炼之 IndexerReader
大家用的最多的就是IndexReader上的open,其实在lucene里有DirectoryIndexerReader,关系如下: abstract class DirectoryIndexReader extends IndexReader{} 其中定义的几个方法,请注意2.4和2.3.2的open方法的差别: 2.3.2:static DirectoryIndexReader ...
2008-11-10 17:57:03
125
lucene 2.4 变化修炼之前言
升级lucene到2.4是最近几天的事情,但是升级发现很多东西改变了,最直接的:1 hits没有了2 copy函数变化了 我相信还有很多看看changelogs就知道了,所以怀着很大兴趣准备看看源码看看变化.Changes in backwards compatibility policy (1) LUCENE-1340: In a minor change to Lucene's...
2008-11-10 17:20:17
163
lucene中的filter器群组及其缓存大盘点
lucene中的filter其实并不起眼,大家对其对性能的影响也不是很关注,但实际上filter是除了单纯搜索以外,其他搜索附加功能的必选组件,其性能很大程度上会直接影响搜索的性能,之前我一直认为filter的性能比query高,但事实说明并不完全如此(这里所说的负荷是指io消耗并不是cpu),实际上在lucene中充满着各种io流,也就是说很多东西都无法从根本上保存,这也给缓存带来了很大难度(这...
2008-07-04 02:13:39
139
<![CDATA[zend select小议]]>
因为最近一直在做zend ext的工作,因此花了不少时间读了zend framework的代码,也比较深入地在使用这个东西.下面有些小小的个人体会.首先是select对象的一些小问题.select中有很多组语句的函数,但这些函数却不会判断是否传入是空字符串,导致输出变成两个单引号,这就要求开发人员在自己的函数里判断,这点不是太灵活.接下来select的毛病是不支持外连接,实际上这个有些让我...
2008-05-24 23:05:28
116
<![CDATA[侠客行-阿里巴巴第二届网络侠客大会记]]>
5月24日一个人独自来到了杭州目标只有一个阿里巴巴的开发者论坛活动,一早出发就不顺利,没有买到d字头车票结果坐了慢车,到了那边已经中午,活动差不多结束,正好是google研究院在介绍他们的新东西,这个东西有点意思,感觉OEM可以效仿,后面再说.首先看看照片吧.google的新东西还是很多的,这次基本上也是google在主导他们的产品,其实我本来对google的手机平台很感兴趣,但是看着看着...
2008-05-24 22:45:50
229
<![CDATA[谈谈PHP为什么不支持重载和多态]]>
突然又想到了,这个问题,不要说我为什么老是用别人的标准来衡量它,道理很简单,因为我要用,最近在对zend framework做一次构架改造,遇到了需要覆盖成员和重载的难题,但是很可惜php是不支持的,只能写很多不同名方法,这看起来也不错,但是仔细想想这样代码的冗余度是极高的,也不利于接口应用。说道这个问题,就要说说我很早以前发现的php bug,最后的结论php具有执行的不确定性,当它找不...
2008-05-19 12:03:22
131
<![CDATA[ 过了头就有点恶心了]]>
大地震,举国悲痛。但是cctv的节目开始越来越恶心了。救人救人救人!不要搞什么政治宣传了,求你了,不要秀了,知道你是央戏的自费生,行了。...
2008-05-14 13:59:49
108
<![CDATA[今日看病趣多多]]>
生病是个痛苦的事情,可是今天却不同。。。一不小心拉肚子了,早上还强撑着上班去,结果一身冷汗,不得不回来,目标长海医院。肠道科一般都会在角落里一个阴森的大楼我走了进去,心了一寒,哪能有731部队的感觉呢,大楼有点潮湿,而且灯光昏暗,医生大概因为病人不多,都懒懒地,我叫了半天才出来一个挂号的。可是看病之后却完全不同了。今天是一个40多的老医生,看起来有点凶,但是在我无敌搞笑地带动下突然就变了以...
2008-05-14 04:11:19
101
<![CDATA[让我们每天都感恩吧]]>
自认是一个很冷漠的人,至少别人的生死在我心中不会引起多少涟漪。可是我错了,一场突如其来的地震,这种感觉却如此震撼。今天有很多照片,每次看,心里的感觉都。。。终于还是忍不住微微地哭了,没有人会明白这点为了什么,这不是懦弱,说不清楚。突然觉得自己很开心,生活的地方很安全,每天都可以上班吃饭,尽管也有很多不快,但那些已经不重要了,如果比较起来,看着那些脸庞你还敢说你是不幸福吗?回来之后心情很低落...
2008-05-13 15:23:51
90
<![CDATA[从 method_exists 说起]]>
周五要用 method_exists 这个函数,当然如果再源头说用这个函数都是无奈,在别的语言我完全可以依靠try catch来解决问题,但是在php我却不敢这么做,原因是它的除错很有可能先die了,这会导致严重的问题,而try是无法捕捉这个错误的,原因是它的执行不是堆栈的或者说它的执行不是程序所看到的堆栈流程,于是php里多了很多服务于try操作的函数,比如 method_exists。...
2008-05-10 04:50:22
160
<![CDATA[我做的小熊]]>
上周买了一个自己缝的diy小熊,15块钱买的,当时挑了一个难度比较高的,这个小熊可以是有衣服的哦,衣服都缝了半天呢,呵呵。劳动节不上班也不能闲着,花了一个上午把之前已经裁剪好的布料缝合好了,先看看哈。看看它的衣服吧,布料不是太好,所以针脚还是比较粗的,呵呵,本来衣服用缝纫机靠边的,奈何缝纫机因很久不用少零件了,所以只能全手工缝制了。。。裤子里还有橡皮筋哦^^我还特地给他做了围巾,哈哈。光膀...
2008-05-02 08:42:59
82
<![CDATA[lucene 当数据库使用的尝试]]>
这个想法由来已久,由于全文索引本身的缓存设计,使得其io操作要小于数据库对于频繁读取的操作全文索引绝对有可能在性能上超越数据库(至少能轻松秒杀mysql,mysql那超低的io性能如果不改那肯定是要被sqlserver给灭掉的,只是时间问题)但当你深入这个问题的时候就会有很多问题出现,我最初的需求是利用这个记录搜索关键字进而得到关键字hot排名。问题出现了:1 IndexerWriter有...
2008-04-21 07:16:26
117
lucene的前端集群思路
你的搜索可以集群吗(这里单指前端应用集群)?这是一个突然发来的问题。。。其实lucene说实话什么都好就是集群不方便。。。查看了些资料基本上做集群都是利用系统的集群文件系统等实现的,这个效率不会好。突然我觉得可以这样的结构来做集群:一台单机做索引,索引文件存在这台物理机上然后利用nfs将索引文件映射到多台前端子机,子机将nfs的内容用RAMDirectory读到内存索引中,然后子机各自使用web服...
2008-04-17 10:52:07
314
<![CDATA[由lucene集群想到]]>
你的搜索可以集群吗?这是一个突然发来的问题。。。其实lucene说实话什么都好就是集群不方便。。。查看了些资料基本上做集群都是利用系统的集群文件系统等实现的,这个效率不会好。突然我觉得可以这样的结构来做集群:一台单机做索引,索引文件存在这台物理机上然后利用nfs将索引文件映射到多台子机,子机将nfs的内容用RAMDirectory读到内存索引中,然后子机各自使用web服务提供前台访问前端再...
2008-04-11 03:58:52
73
<![CDATA[无病呻吟]]>
终于忍不住去看病了。不想再让老妈跑去开我御用的施贵宝的头孢拉定了。今天还是可以值得纪念的,俺的医保卡终于开封了.但似乎第一次看病体验不咋的。。。1 诊疗那么困难?慢性鼻炎炎症波及左面的扁导体是我一直常有的病基本上每年发个两三次,今天跑去看,医生却异常粗糙地看看了扁导体,说你的扁导体本来就大我看没问题啊?哪里病了?我说我有鼻炎的,他也没看,就说鼻炎和扁导体发炎有什么关系?要不这样,你不放心,...
2008-04-09 15:50:35
82
<![CDATA[lucene分词算法概论以及中文分词的猜想]]>
趁着清明放假的大好岁月,花了点洗衣服的时间看了点lucene的源码,主要想看看分词那部分。luncene分词的大概过程是这样的:1 截断单词2 过滤干扰信息3 写入结果截断,对于英文来书很简单就是用空格和标点符号以及一些特殊用词,这些在系统里已经定义好,当然你也可以适时地改变一下。过滤,在它的标准算法中会对如下的符号进行过滤:'s 'S . 这样几种。写入,这个顾名思义啦下面谈谈我对中文...
2008-04-06 06:37:52
99
<![CDATA[消逝的岁月,消逝的文化]]>
乘着kds年度活动的春风,今天来到了鲁迅公园一游,但眼前的情景不禁让我有所感叹。 公园里围满了人,大家都在唱着歌曲,基本的配置都是这样的:二胡+口琴 伴奏,加上铃铛等打击乐器,看到一个阿姨很吃力地弹着她的电子琴,虽然我不会谈,但是和弦还多少懂一点,看着也有点累啊,但是人喜欢的是氛围水平有高低, 但是喜欢是没有档次的,热情中我也跟着唱了起来,虽然很多歌很熟悉却早就忘记了歌词,只能跟着哼...
2008-04-06 06:22:36
100
<![CDATA[关于group by]]>
周五因为在搜索引擎中要使用group by操作,原有的 count发似乎会出现很大的效率问题,所以也简单考虑了下groupby的实现,在sql里我猜想(我对这个算法完全没有概念),首先利用矩阵算法将所有的row排序好,然后以此顺序取出,然后再加入聚合函数count或者sum,也就是说在sql中实际上他是先把按groupby字段索引排序然后再进行数据聚合,最后再拉出需要的数据(这个猜想是基于...
2008-03-22 02:30:06
408
<![CDATA[我的第一个基于rails in php开发框架的产品已经上线了]]>
公司的一个新项目多用户blog系统终于在起起落落,拖拖沓沓的3个月之后上线了,目前运行的还是不错的,在这个版本中的框架action是最早的0.9版本 orm部分则是4个月前使用的未完成版本,但已经验证了action部分性能和实现的可行性,并且在不断改进中在老的action上加入了render等1.5版本的功能,框架正在试验中得到不断的完善,3月份基于拥有orm1.3版本的另外一个后台项目会...
2008-03-08 08:49:27
92
<![CDATA[关于ORM的补遗]]>
前天完成ORM中有个小问题,我忽略了,那就是多对一,按我的立即多对一就是一对多,但在多对多的情况下就不是这样了,因为当你做链接时会发现中间的数据表会无法真正融入整个对象集合,原因就是其中有多对一的关系,而我前天自己在实施时的配置也有点问题,居然导致了错误的方法变成了正确的结果,原因在于那天数据的id正好都是1 2 3 4 5 6所以错误的表连接居然恰好变成了正确的结果,发现这个问题之后我迅...
2008-02-23 04:47:36
91
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人