`
dingjob
  • 浏览: 183217 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
文章列表
    出门旅游,机票是个大花费,这里总结下从报纸上学来的四招,掌握了这四招,即使在佳节时候,机票也可以相当于打两折。      1.货比三家,机票网站很多,酷讯,去哪儿,芒果网等,更有南航、海航和财付通联合搞的南航财富通、海航财富通,在夜深人静的时候,多刷几次很有可能刷到特价机票。      2.很多人不用官网来订机票,其实如果你订票订的不是很早,这个时候如果有人退票,那你还是能在官网上看到这个机票,而且还是以前退票人订票的价格,而在其他的网站就看不到这些票了。      3.直飞的可能不打折(比如上海到九寨沟),找附近的热门线路(比如上海到重庆),如果你是旅游,还可以顺便多去几个省市。    ...
     由于也是初次开发基于Lucene的商业应用,经验比较缺乏,在开发过程中遇到了不少问题,有些比较大众化的问题,这里不细讲,对于稍微复杂的问题展开来写下,也希望得到博友的一些分享。         1.单分词的研究       对于 “上海apen 公司”进行搜索,要能够搜索出  上海a的模糊查询。首先这个需求有一定弊端,索引会因此变大,搜索效率会变低,目前的解决方案有: 1.类似系统A的like搜索 ,用wizardFiter对query进行通配符的过滤,这种过滤会增加上去这些词条。 2. 使用庖丁解牛,辅助生成分词方法 3. javaCC,根据自定义的规则生成查询 ...
提出背景:   在C/S模式的系统里面,服务器端的主线程,除了要接收消息之外,还要处理消息。这使得主线程的工作量不但很大,而且工作很繁杂。这种情况在软件设计的角度来看,是很不好的:第一,这样让主线程类看起来异常的臃肿和难易阅读,第二,软件设计追求的目标是“尽量让每个类处理的工作都很单一,这样便于以后的调试和进一步对程序的扩展和移植”,这样的设计背离了软件设计中“模块化设计”的原则。   为此,很多程序员会设计一个全局的LinkedBlockingQueue对象来存放服务器主线程所收到的消息,即主线程收到消息之后,不做任何业务逻辑处理,直接put到阻塞队列中去,然后再启动一个处理消息的线程来从阻塞 ...
    本文旨在探索基于Lucene的搜索架构问题,也就是怎么应用Lucene来构造一个应用于业务系统的搜索引擎框架的问题。     一直对做搜索有不少幻想,也曾尝试着自己小打小闹的搞过几个demo,前不久,这个机会来了,目前我们开发的系统业务数据在跨越千万级的门槛上了,主管和项目经理打起了搜索引擎的主意,我也主动请缨要来搞一下。         做过搜索的人都知道。对于使用Lucene做个简单的demo 很简单,只要把Lucene 包下载下来,网上看点资料应该很快就有效果的,但是应用于商业系统有很多的问题需要考虑:什么样的架构足够灵活,删除的数据怎么在索引中删除,同一时间有很大数据时会 ...
  上周五(美国当地时间周四),百度CEO李彦宏作客《华尔街日报》科技栏目高级编辑朱丽亚盎格文(Julia Angwin)的访谈节目,回答了读者对于百度搜索引擎、盗版音乐搜索的一系疑问,包括百度的远期目标以及在中国国内政府对 ...
            KELEX电子表单致力于成为互联网世界的PDF Form,帮助用户在电子表单(eForm)领域跨越各种技术障碍。使得任何企业、任何个人都可以方便的创建各种类型的表单(市场调查、问卷、测试、问答、反馈、注册等等),并将这些表单像YouTube视频一样随意的嵌入到互联网的任何角落。         2007年,智明星通团队推出国内领先的面向widget的RIA开放框架ELEX,该框架在执行效率和文件大小上都优于Adobe Flex,特别适合小型嵌入式widget的开发。目前基于该平台的多款产品已经应用于阿里巴巴,新浪网,网易等国内互联网巨头。     2008年, ...
近期遇到了不少并发和事务问题,总结如下 1.锁 必须在取数据之前。  现在的事务主要是通过锁数据并通过在后面的校验中验证状态实现的, 要注意,后面的验证数据一定要是加锁之后取出来的数据,比如验证订单状态能否进行当前操作时 要重新取一下订单。 2.锁的粒度 原则:粒度越小越好,但同时也要在不影响性能的情况下,考虑实现的方便和代码的结构性。 举例: 当仅仅时对订单进行操作时,不要锁住客户,但是由于下单时没有订单,这种情况下就要锁客户,续订和续订的修改是公用的方法,这样在这方法中就要判断什么时候要锁客户,什么时候要锁订单,导致多余的判断,代码结构不好。这个时候考虑所有订单操作都锁住客户表。 ...
描述: 写代码时,接口中尽量封装为对外透明,外面只管调用,不用关心 自己的状态。 比较下三段比较简单的代码:用于下单和删除时客户付费状态修改 1. updateCustomerPayingToExperience,updateCustomerExperienceToPaying 分开 if (ChanOrder.CONVERT_FEE_ORDER.equals(order.getIsConvertFee())) { this.updateCustomerPayingToExperience(order.getCustomerId()); } } if ...
Global site tag (gtag.js) - Google Analytics