流浪青春

空中智联信息科技

距离巫坚老兄荣光退伍还有 -63 天。
  • 叨叨

  • sphinx开源搜索引擎对Discuz & ucenter 的优化手记

    / Tag: / Category:杂烩 / Comments: 0条
    工作需要,需要对公司使用的开源搜索引擎Sphinx的产品对Discuz相关搜索进行优化。背景:sphinx在production环境上经常卡死mysql,使得linux服务器CPU占用99%,而且经常有多个进程等待甚至死锁的情况发生。在QA环境上,因每20分/次运行程序重新对discuz内容进行抓取,大概有2152条数据情况下,大概需要用时274.05657482147s优化后0.8s左右。下面放出优化前有某国内知名公司所做的代码:优化的核心思想:一、针对select语句:目前有很多开源mysqlclass类中如果不写相关field,则默认是select*,这样导致很多懒人就直接不写所需要用到的域。所以所做的工作也就是针对这块进行处理。二、insert/update数据分离搜索引擎重新收录数据的过程中,肯定会针对旧数据进行比较。则可以分开insert/update操作。因为我们在insert语句中,通常N条记录,如果使用普通的方法则需要N次的insert操作,这样大大降低了效率。所以可以使用inserttable()value(),(),()这样的语句减少语句数量,同时提高工作效率。(但这过程可能存在一个问题,那就是insert语句如果不做适....
  • 2011百度之星第一题,锻炼思维,我的PHP代码

    / Tag: / Category:PHP,杂烩 / Comments: 0条
    中文版:很久都没动过这类的东西了,发现脑子已经开始慢慢僵化,所以赶紧拿写题目来锻炼下,不然以后就笨得咬死了。找到了百度之星2011的第一题,话了两小时(这样的比赛,第一题本来要半小时就搞定的,如果真去,初赛就会被过滤掉),既然做了,我放出我的代码,初步验证,觉得没什么大问题。用作大家锻炼思维用吧。英文版:Longtimenodothingswhichbechallenged,Asit’snotagoodhabittocontinuelikethat,soIsearchthetestquestions frombaidustar2011. Usually,itcouldjusttakehalfpastahourforaplayertofixthefirstquestion.Amazing,ittookmealmost2hstofixit.IdosoIdoshare,Iguessthere’snottoomanypeopledothesethingslikemethatusedphptofixit. <?php/*第一题:图标排列百度应用平台上有很多有趣的应用,每个应用都由一个开发者开发,每个开发者可能开发一个或多个应用。百度的工程师们想把应用尽可能好的推荐给用户。研究发现,同一个开发者开....
  • 电灯泡将可传输无线数据:每秒超10Mb

    / Tag: , / Category:杂烩 / Comments: 0条
    英国著名物理学家哈拉尔德-哈斯表示,他研发出一种全新的无线数据传输技术,可利用普通的电灯泡完成整个过程。在打开房间电灯的同时,用户也打开了互联网连接。哈斯将这种装置称之为“LightFidelity”(简称Li-fi),可用于传输来自电视波段“白空间”的无线数据或者未被使用的卫星信号。哈斯是英国爱丁堡大学工程学院教授,他表示我们当前使用的无线电波数据传输方式效率不高。借助于手机,现在有140万个基站负责增强信号,但大部分能量都用在冷却上,效率只有5%。相比之下,全世界使用的灯泡却有400亿个,因此拥有更高的效率。只要将传统白炽灯换成LED灯,便可让灯泡变成无线网络发射器。这项发明被称之为“D-Light”,通过改变房间照明光线的频率进行数据传输,每秒传输的数据超过10Mb,与典型的宽带连接不相上下。它可以应用于医院、机场、军队甚至于水下。从理论上说,飞机乘客能够利用机舱内发出的光信号上网冲浪。哈斯说:“我们当前采取的无线数据传输方式是效率低下的电磁波,尤其是无线电波。无线电波存在很多局限性,它们较为稀有、成本昂贵并且只有确定....
  • Using jQuery to get document title not works right in IE7/8 在IE7/8下无法正常使用document.title获取网页名称的问题

    / Tag: , / Category:JS,前端,工作 / Comments: 0条
    UsingjQuerytogetdocumenttitlenotworksrightinIE7/8,oncetimeIjustwanttogetthedocumenttitleandusesplit()tosplitthetitle,itwokrswellinIE9/Chrome/firefox5.0(andmaybesoon),butit’llnotgettherighttitleinIE7/8ifthepageurlhas‘#’,Idonotunderstanditandwhy?Anyfriendknowsit?在IE7/8下无法正常使用document.title获取网页名称的问题。在一次工作中发现通过doument.title来获取页面的标题的时候,通常情况下是可以的,但是如果在ie7/8下页面的地址中包涵了井号(‘#’)就会出错,出错就是活得了#号后面的内容,其它浏览器下正常(至少IE9/Chrom/firefox5.0),求高人指点。
  • Bing翻译中遇到的问题:js中escape,encodeURI,encodeURIComponent

    / Tag: ,,,,, / Category:JS,前端,工作 / Comments: 0条
    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent我们在给bing翻译中的数据如果带#号的话,bing翻译就把#号之前的内容给漏掉了,我们觉得这是bing翻译存在的bug.Wemeettheproblem inthebingtranslationapi,ifwesubmitthecontentwithsharp,thereturndatawillbecutbysharp(‘#’),Wethinkit’sbugofbingwehaveusedencodeURIComponenttotransferourdata.1、  传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。例如:<scriptlanguage=”javascript”>document.write(‘<ahref=”http://passport.baidu.com/?logout&aid=7&u=’+encodeURIComponent(“http://cang.baidu.com/bruce42″)+’”>退出</a&gt;’);</script>2、  进行url跳转时可以整体使用encodeURI例如:Location.href=encodeURI(“http://cang.baidu.com/do/s?word=百度&a....
  • 仿Discuz!弹出层JS

    / Tag: ,, / Category:PHP,工作 / Comments: 0条
    Discuz!中的弹出层效果不错,于是我们自己模板了一个这样的overlay,不过方式和discuz有点不一样,在Discuz中,他是通过类似iframe的形式加载弹出框内容的,因为取得的是另外一个网址里面的内容,而我们的overlay.js中引用的是获取本页面的指定id下内容进行弹出。实现对指定id进行dispaly:none,在调用的时候会自动显示。不过有个潜在的问题就是,会导致网页里面的id有重复,这是个不好的地方,不知道有没有其它更好的做法。不过如果需要取弹出层里面的内容,还是可以的,你可以通过父级元素来处理。稍候放出zip文件。下载地址:http://niceie.com/blog/wp-content/uploads/2011/08/overlay.tar,有任何问题可以直接mailtome.(admin[at]niceie.com)
  • Think in jQuery–jQuery工作笔记

    / Tag: / Category:前端,工作 / Comments: 0条
    jQuery是个很好的JS框架,但是想要用好他还是需要有一定的经验,最近项目中就遇到一些可能大家都会遇到的问题,现做如下整理,以飨读者。1、关于版本变更的问题:在不同的jQuery版本中,确实可能存在取值的不同方法,例如1.3.2中统一使用attr()进行取值,包括type为checkbox的input标签(不同版本取值可能出现是true或者是checked的可能性),在1.6.1以后要使用prop(),详细可以查看jQuery的官方升级日志。
  • Discuz! X1.5/2.0 二次开发,根据UID获取API数据

    / Tag: , / Category:PHP,工作 / Comments: 0条
    近日,因工作需要,研究了Discuz!X1.5/2.0根据uid获取API数据,通常Discuz给我们的外部数据调用格式是:http://yourdomain/api.php?mod=js&bid=72。(这里的bid是你对应的blockid),而我们在实际调用中,尤其是多站点中,需要相互调用数据的时候,我们往往希望能根据指定id调用。虽然在属性设置中有一栏可以设置限制调用的数据,但我们不可能为每一个用户都创建一个block。所以我们就希望可以通过这样的形式调用:http://yourdomain./api.php?mod=js&bid=72&uid=1其中UID并非指浏览该页面的会员的的用户id(我们暂且称之为Member_uid),而是通常我们指定的商家这样的uid,虽然这样指定的uid也属于我们的会员一部分。如果用(b2b2c)的模式下去理解的话,那这里的uid就是我们的b的uid.OK,前奏结束:通过查找,发现表中pre_common_block_item中所有数据是通过创建的时候更新的(后期的更新是被动的,依赖于用户的访问作为激发机制)中有一个并没有限定作者,于是我们复制一份空表pre_common_block_item命名为pre_common_block_item,增加一个字段aut....
  • 世界,你好!

    / Tag: ,, / Category:杂烩 / Comments: 2条
    欢迎使用WordPress。这是系统自动生成的演示文章。编辑或者删除它,然后开始您的博客!

统计位置