修复micolog的一个bug:Entry.publish函数

2009年9月21日 11 条评论

我错了,大家千万不要被我误导,尤其对houkai同学深表抱歉!我没有仔细看代码,随手改了一下,结果引入了bug,其实原来的基础上加了entrycount已经是正确的了,附上代码

[code lang='python' style='vs']

def publish(self,newval=True):
    if newval:

        if not self.is_saved():
            self.save()

        if not self.is_wp:
            self.post_id=self.key().id()

        #fix for old version
        if not self.postname:
            self.setpostname(self.slug)

        vals={'year':self.date.year,'month':str(self.date.month).zfill(2),'day':self.date.day,
              'postname':self.postname,'post_id':self.post_id}

        if self.entrytype=='page':
            if self.slug:
                self.link=self.postname
            else:
                self.link='?p=%(post_id)s'%vals
        else:
            if self.slug:
                self.link=self.slug
            else:
                self.link=g_blog.link_format.strip()%vals

        if (not self.published) and (self.entrytype == 'post'):
            g_blog.entrycount+=1
            self.published=True

        g_blog.save()
        self.save()
    else:
        self.published=False
        if self.published:
            g_blog.entrycount-=1
            g_blog.save()
            self.save()
            self.removecache()
            if g_blog.sitemap_ping:

[/code]

唉,惨,打算不天天折腾这个了,还是开始研究mysql吧

今天发现iNove主题的page.html的三个js没有标明type,导致评论出现问题,追查问题的过程中,在测试环境中,又发现添加页面后,总是无法在主页上显示。顺手修正了这个python代码中的bug:

model.py中,Entry的publish函数,观察最前面5行,只是做了将Entry存储的功能,如果再调用publish函数之前没有设置publish状态为true,就不会降文章设置到发布状态。修正办法也简单,在那个if语句上面添加一行:

self.published = True

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/21/repair-micologu002639s-a-bug-entry-publish-function.html
---------------------------------------------------------------

分类: 软件, micolog 标签:

svn安装备份完全解决方案

2009年9月19日 5 条评论

本文解决svn的安装,apache的搭建,svn库的自动化网络备份问题。因为自己用的是ubuntu,就只介绍ubuntu的啦。

安装搭建部分:

1.先安装apache,配合阅读svn用,并且平时开发时候也是要经常用到的,所以就一起安装了

sudo apt-get install apache2

2.再安装svn与svn中apache的库

sudo apt-get install subversion

sudo apt-get install libapache2-svn

3.创建项目仓库,我的例子是micolog:

sudo mkdir /svnroot

sudo chmod a+r /svnroot

svnadmin create /svnroot/micolog

sudo chmod –R a+rwx /svnroot/micolog

4.因为是在自己的个人pc上面,就配置简单一些,不设置密码。修改配置文件/svnroot/micolog/conf/svnserve.conf在[general]中加入auth-access = write

5.配置svn服务随系统启动

创建/etc/init.d/svnserve文件,文件中包含如下内容:

#!/bin/sh

/usr/bin/svnserve -d -r /svnroot/

执行

sudo chmod a+x /etc/init.d/svnserve

在启动阶段2中启动,具体配置方法为运行命令:

cd /etc/rc2.d

sudo ln –s /etc/init.d/svnserve S92svnserve

这样,svn就会随系统在开机时候启动啦。可以自己手动运行一下立即启动,将项目导入到svn库中使用svn import命令,这里就不再赘述了

6.配置apache

执行下面的命令,配置apache启动时加载dav模块

cd /etc/apache2/mods-enabled

sudo ln –s ../mods-available/dav.load dav.load

sudo ln –s ../mods-available/dav_svn.conf dav_svn.conf

sudo ln –s ../mods-available/dav_svn.load dav_svn.load

编辑文件/etc/apache2/sites-available/default,在虚拟主机中,加入如下内容

 

DAV svn

SVNPath /svnroot/micolog

 

执行

sudo /usr/sbin/apache2ctl restart

就可以在http://localhost/micolog访问svn库了,编辑一下/var/www/index.html文件,加上个链接,可以使自己方便些。

因为这个实在几个月之前装系统时候搞的了,自己记得也不是很清楚了,有错误的话,就留言问我吧:p

自动网络备份:

在你的home文件夹(输入cd回车就进入了)中建立cron目录,建立一个svnbackup.sh文件,内容如下:

#!/bin/sh

projects=”micolog redirecter”
svnroot=”/svnroot”
backdir=”/home/yanp/Dropbox/code/svnbackup”

date=`date +%Y%m%d`

for project in $projects
do
/usr/bin/svnadmin dump $svnroot/$project > $backdir/${project}_$date
done

其中projects里面可以配置你的多个工程。

执行crontab -e,输入如下内容:

0 22 * * 6 (cd /home/yanp/cron && /home/yanp/cron/svnbackup.sh)

/home/yanp/cron/是home文件夹的路径,记得添加时候修改。

dropbox是一个跨平台的,多pc自动同步文件软件,在国内的下载速度可以达到500kB以上(公司的网络比较快哈,在家里用,一般就是133kB),十分强大。就用它来备份svn库再好不过了。注册账号下载软件

这样就全都搞好了,每周六的22点就会自动帮你备份好svn,dropbox也会帮你把svn库传到你的账号中存好。如果你在自己的多台电脑上都安装了dropbox,每台电脑都会自动拥有svn备份数据(dropbox网络上也有一份)。想修改备份的时间,请参考crontab

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/19/svn-install-the-complete-solution-to-backup.html
---------------------------------------------------------------

分类: 软件 标签:

gae micolog 验证码

2009年9月19日 7 条评论

今天又遭到了新的一轮垃圾评论,愤怒之下,开始折腾pycaptcha的验证码功能,结果发现gae提供的image模块功能太简单了,没有ImageFont与ImgageDraw的相关能力。通过gae的python运行环境实现验证码看来是不可能了。

调研了一下目前提供验证码的服务,有下面两个,但是验证码的样子都太丑了,不喜欢,就放弃了

1.http://captcha.net/

2.http://captchas.net/

现在就暂时先优化一下micolog自己的验证码服务,避免人家直接发post请求就能发评论吧。观察comments.html文件,注释掉检查验证码的那个js函数,就会发现不填写验证码也能够直接发表评论了。修改blog.py文件,注释掉这一行:

if not (self.request.cookies.get(‘comment_user’, ”)):

再试试看,是不是不输入验证码的话,会提示错误?

惨,就先这样临时解决一下吧,记得要吧comments.html中的js注释恢复哦

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/19/gae-micolog-code.html
---------------------------------------------------------------

分类: micolog 标签:

简历,笔试,面试

2009年9月15日 4 条评论

最近校园招聘开始了,很多毕业生都要找工作了,也有很多师弟师妹问推荐的事情,作为一个面试官,把我的建议简单写写,blog的读者可以简单参考一下,这里所描述的主要是it或互联网行业。

简历

推荐了不少师弟师妹,在简历系统中也看了一些简历,但这些简历通常都没有符合或者只是部分符合STAR原则:

Situation:写明问题状况、如何解决,Task:描写完成项目,Action:执行的政策和自己在其中的想法,Result:自己的贡献,譬如在促销成功中自己完成的比例,必须写故事,自己做了什么、得到什么、善于什么

在STAR原则中,Result其实是最重要的,因为以前做过的项目不一定是与自己所投简历的公司对口的(尤其是对于应届毕业生来说),筛选简历的人看到一堆自己不懂或者仅仅是听说过的内容,只能认为应聘者与职位的相关度不高,如果能够看到做事情的结果,反而会发现闪光点,对应聘者有个印象。而现实情况恰恰相反,多数人的简历里面是没有Result的,所以一旦有了这个,在简历上面就可以领先一步或者弥补一些不足。

另外,在中国,英文只有少数情况下是大家沟通用的语言,将中文简历放在前面吧

笔试

面对要求写程序的题目,要优先将各题算法的思想写下(时间不充分的情况下),甚至写伪代码也是不错的选择。要知道判卷子的人主要工作并不是判卷子,答案的主要目的就是为了让他了解你的算法思想,顺道考察一把编码习惯。如果能够用简单的语言将算法思想描述清楚,让判卷人能在短时间内明白而不是通过阅读你那修改了很多次的代码,他会更加高兴,你也会高兴的。

面试

面试在这里可能就比笔试更加没有通用性了。开发工程师重点考察的是解决问题的能力,顺道会有算法与设计方面的考察。测试工程师则重点考察基础知识是否扎实,是否具备将一个复杂问题抽象成几个基础方面来的能力。当然,这两者都会考察是否脑筋足够灵活,要求回答一些类似智力题的问题。

对于测试工程师,回答问题时候要提纲挈领,不要立即深入到细节的测试点上面去。可以从 正常功能,异常情况,运行环境,压力情况,语言兼容性,用户体验等方面进行考虑

对于面试官提出的第一个问题,无论是多难的问题,都不要主动放弃,这就是第一印象啊。并且在思考问题的时候,最好不要不说话一个劲的自己在那想,要说出自己的思路,至少让面试官能知道你对这个问题是了解50%的而不是0%

===============

找工作的过程,就是学生在学校的积累在极短的时间内爆发,要综合运用自己的优势,巧妙的隐藏自己的劣势甚至转换为优势。另外,别人为在校期间主要是要过的逍遥快活,学习成绩其实是一个重要的考量因素,如果没有优秀的成绩,几乎只能靠自己做的事情来顶了。

题外话-学习成绩不好的解释:

我在校期间的学习成绩不好,几乎从来不上课,考研时候忘带准考证,还是靠着正好监场老师记住了我就是经常逃课那家伙给放进去的…,毕业时,别人的成绩单都是80与90,而我的多是60与70…一面的时候,遇到过人家问我这样的问题:你在校期间的成绩怎么样?(只能排中等的成绩,当然不能在简历上面写了)。我的回答是:上学期间太过忙于项目了,没有上过课,考试都是在考前一周突击学习所有课程,勉强通过的。或者是因为上学期间项目做得不错吧,面试官反而觉得我学习能力挺强的,hiahiahiahia~~

最后,到百度来的话,我可以进行推荐哦~~

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/15/resume-written-tests-interviews.html
---------------------------------------------------------------

分类: 互联网, 生活, it 标签:

泡沫与收入增长速度

2009年9月13日 2 条评论

看到一个泡沫的定义,觉得说的挺有道理:

泡沫,顾名思义,就是金融资产的价格不足以为基本面支撑,而此时购买金融资产的主要理由就是有人愿意在更高的价格接手,而那些接手的人则希望可以在更高的价格出手,只要有资金不断的涌入,这个泡沫就可以不断的吹下去,直到有一天,这个过程骤然停止。

当然,这个是属于纯理论上的,对我等普通人还是比较难以判断的,另外,里面还有个关键内容:过程骤然停止。如果不能骤然停止就不算泡沫么?

中国的房子市场,想来大多数人都会觉得是有泡沫的吧,多数买多套房的人是为了投资。但现在银行已经被绑架了,如果泡沫吹到骤然停止的一天,估计也就是泡沫破灭的那一天了,但那个时候也是中国经济萎缩的那一天(全体中国人为少数炒房的有钱人买单)。

在一个经济高速增长的国家中,收入没有同步增长是悲惨的,这就是“逆水行舟,不近则退”的道理。中国的经济增长每年8%以上,少数“先富起来”的人增长速度远远超过这个数字,多数人的收入增长都没接近过吧。

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/13/foam-and-revenue-growth.html
---------------------------------------------------------------

分类: 经济, 生活 标签:

国内外电子商务市场冰火两重天/中国市场还有很大的发展空间

2009年9月11日 没有评论

上半年电子商务市场交易规模过千亿,同比增长94.8%

中国网络购物市场交易规模

销售排在前三名的是家居日用,服饰与手机。成交量最高地区的前三名是广东、浙江、江苏。

与此同时,米国市场出现了交易量的萎缩

美国电子商务交易额

看来米国的电子商务市场已经达到了成熟稳定的时期,出现负增长可能与经济萧条有关系。

随着时间的推移,就像互联网一样,中国的电子商务市场估计也有可能会成为世界上最大的市场。C2C市场与B2C市场还都不算成熟,都有非常大的发展空间。尤其C2C与B2C之比还是15:1,这与其他国家的市场状况正好相反过来,并且比例悬殊。当前B2C厂商现在还是在物流体系上角力,一旦出现霸者就会进入高速发展时期吧,不是说国美与苏宁也有打算做网店了么。

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/11/domestic-and-international-e-commerce-market%e5%86%b0%e7%81%ab%e4%b8%a4%e9%87%8d%e5%a4%a9-chinese-market-still-has-much-room-for-development.html
---------------------------------------------------------------

分类: 互联网, 电子商务 标签: