存档

‘编程相关’ 分类的存档

WordPress解决评论错乱的问题

2011年12月19日 没有评论 8,481 views

今天,想在blog的每篇文章后面添加随机文章展示,增加PV,可是,发现加上之后,评论出现了问题,展示的评论是随机出现的,并且随机对应某一篇文章的评论。

由于我对其他代码没有改动,分析了下,肯定是因为新改的代码导致的,新改的代码如下:

    <ul>
      <?php
        $posts = get_posts('numberposts=7&orderby=rand');
        foreach($posts as $post) {
          setup_postdata($post);
          echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
        }
        $post = $posts[0];
      ?>
    </ul>

仔细看了下代码,发现,这里面会把$post变量改变,而后面的评论代码取评论的时候,是根据$post来取评论的,因此会导致评论错乱,出现随机文章的评论。那为什么别人用这段代码展示随机文章不会出现评论错乱呢,那是因为别人是放在侧边栏的,评论(comments.php)执行在侧边栏(sidebar.php)之前,这时候改变$post的值并不会改变评论。

原因找出来了,因此,只需要避免改变$post值即可,改后的代码如下:

    <ul>
      <?php
        $random_posts = get_posts('numberposts=7&orderby=rand');
        foreach($random_posts as $random_post) {
          echo '<li><a href="' . get_permalink($random_post->ID) . '">' . get_the_title($random_post->ID) . '</a></li>';
        }
      ?>
    </ul>
分类: 沙子, 编程相关 标签: , ,

Matlab通过性能分析工具Profiler查找Hotspot(热点)

2011年11月29日 没有评论 13,290 views

对于程序员(或曰码农),优化代码很大程度就是优化性能,而优化性能的辅助神器自然是各种Profiler,在linux下,可以通过oprofile分析程序各个函数的执行时间,调用次数等,很方便。

这几天,用Matlab,也碰到了要分析性能的问题,第一感觉matlab应该有现成的Profile,查了下,果然不出所料,Matlab自带了Profiler。由于使用简单,并且具体使用方法网上一搜到处都是,在这里直接贴出一段profile代码及报告。更多的细节请参见Matlab官方文档:http://www.mathworks.cn/help/techdoc/ref/profile.html

profile on
<You Code>
profile viewer
p = profile('info');
profsave(p,'profile_results')

阅读全文…

Python使用有道翻译api

2011年11月23日 没有评论 15,345 views

字Google关闭翻译api后,一直在找一个好的翻译api,直到今天,有道开放了翻译api的申请,我第一时间试用了一下。

由于我是在python平台下试用的,因此,在本文简要介绍下使用。

  1. 首先,由于我用得是json格式的,需要使用到python-json库,需要先安装
  2. 测试代码很简单,只需要import相关库(urllib以及json)后,通过api获取json页面,,再用json分析字段。示例代码如下:
    import json
    import urllib
    page=urllib.urlopen("http://fanyi.youdao.com/fanyiapi.do?keyfrom=<YouSite>&key=<youkey>&type=data&doctype=json&version=1.1&q=sigma网站的网址是www.sigma.me").read()
    trans_res=json.read(page)
    print trans_res["translation"][0]
  3. 结果如下:
    Sigma website addresses is www.sigma.me
    
分类: 编程相关 标签: , , ,

解决linux/config.h: No such file or directory

2011年11月4日 没有评论 18,646 views

由于实验需要,写的代码需要的ring0下跑,最后解决方法就是把代码编译成一个内核模块加载到内核中。

写内核模块时参考了:http://tldp.org/LDP/lkmpg/2.6/html/

但是写完后,编译,发现报“linux/config.h: No such file or directory”

网上搜了下,原因是2.6.19之后的内核没有了config.h文件,因此直接把对应的include注释掉即可。

 

分类: 编程相关 标签: , ,

读取设置CPU的频率信息

2011年11月3日 没有评论 7,304 views

Intel Core 2之后的CPU有两个寄存器和CPU频率相关: IA32_MPERF 以及 IA32_APERF.MPERF 表示CPU支持的最高频率, 而 APERF 表示CPU实际的工作频率.

实际的频率为:freq=(maxfrequency*APERF)/MPERF

读取以及设置的话,可以通过rdmsr以及wrmsr设置。示例: 阅读全文…

分类: 编程相关 标签: , ,

Linux查看并修改链接库路径

2011年11月1日 没有评论 11,502 views

在Linux中,LD_LIBRARY_PATH表示的是临时设置的编译器链接时查找库的路径。需要查看该路径可以直接在终端输入:

echo $LD_LIBRARY_PATH

这个环境变量可以直接通过export临时设置,或者在bash_profile中为某用户设置。

倘若需要修改或添加目录到默认的链接库,需要编辑/etc/ld.so.conf文件,编辑完成后,需要执行ldconfig更新ld缓存ld.so.cache。 

 更多请参考:http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html

 

GAE(Google Appengine)开始支持python 2.7

2011年10月15日 没有评论 9,986 views

今天看GAE文档,发现目录中有个python2.7的条目,看来GAE已经支持python2.7.

不过,点进去发现暂时的支持是实验性质的(Experimental).官方说法为:

The Python 2.7 runtime is an experimental, innovative, and rapidly changing new feature for App Engine. Unfortunately, being on the bleeding edge means that we may make backwards-incompatible changes. We will inform the community once the Python 2.7 runtime is no longer experimental

另外,现在本地的GAE程序dev_appserver.py并不支持python2.7,需要通过appcfg.py上传到GAE服务器才能测试代码。所以,暂时来说,感觉没必要移到python2.7平台。除非应用有特殊需求。

分类: 编程相关 标签: , ,

无觅相关文章插件,快速提升流量