工作这半年

 去年11月初离校,到4月6日回了趟学校,整整5个月,一学期的时间差不多也就这样,能以学生身份自居也不过2个月。回到老校区,很寂静,寝室很杂乱,看着熟悉的床铺,不知不觉三年半就过去了。 
 去年11月21日,到了成都禾润软件有限公司工作,到4月20日离职也5个月,5个月也是弹指一挥间。 
 刚工作时有许多东西都不懂,在学校时喜欢看理论方面的书籍,对编程不免有些生疏,但工作更多要求的是直接编程,理论对于底层小职员来说不是那么重要,这或许是学习与工作的最大区别。我喜欢学习,这段时间学习的东西也还不少。刚工作时的C++和MFC,然后是网络编程和多线程编程(并行计算及GPU运算还不咋个熟),接着是系统编程(windows和unix),及慢慢的熟悉一些程序库,对于这些东西的原理性知识还待深究,有时候在想学东西太快太多就会很杂乱以致消化不良和学习效率下降,不过目前还好,知识整合的还可以,其实我也明白术业有专攻,知识太杂就容易不专业,再进行知识的基础性积累后,我是应该选择一个喜欢的方向来学习研究。 
 工作久了,有时候发现离最初的一些梦想慢慢远了。这段时间忙于提升自己的工作技能,知识面慢慢的窄了,就像一条射线愈发的远离原点,重新选择方向的机会就会越来越少。跟张哥(张立铜)聊了几次,他对我说:“你若工作三四年还能保持现在的一些梦想就一定能实现的,我刚毕业时也怀抱理想,不过慢慢的被工作和生活给消磨掉了。”慢慢的算是有所感悟。很感激这5个月张哥对我的指导,从他那里学到了不少东西,尤其感受到了一个老鸟对一个菜鸟的耐心。 
 慢慢的要开始懂得如何处理好学习,工作与理想。对于技术工作者,或多或少都有点理想主义,这个应该和对技术的痴迷程度成正比。大二的时候曾对Joyin说,“我要为我们未来的baby设计一辆婴儿车,现在的婴儿车是劣质的没有多少科技含量,以后再批量生产,取名为好爸爸牌婴儿车,让baby感受到我的爱。”承诺犹如昨日,liange 加油!有时看到那些走失的小孩,看到那一张张寻人启事,我们可以做点什么,yes we can!We are born equal,但想到还有很多残疾人,如盲人和哑巴,生理上都不平等了,生活能平等吗?我们可以做点什么吗,有些事可以通过Science去改变,对于一个搞技术的人来说,这更是责无旁贷,难度有大有小,但我们确实可以做点什么。 
 其实对于离职的原因,做毕业设计肯定只是其中一个理由,也可以当成一个借口;身体要紧,这一个多月来还是挺累的,工作上到没啥,每天坐公交都要人命了,前几日又有一位程序猿猝死,近几日,晚上睡觉老是感觉到腰部有点酸痛,该多运动运动了,很不好意思,liange又胖了点,男生工作了就容易长胖,算是体会到了,程序猿们注意身体;对于在禾润的工作,少了些挑战与激情,技术重复性很高(基本上都是MFC和C++常规代码),看着云风博客里面介绍的他的设计与实现方案,很给力,神马时候我也成为主创,到时也把设计与实现方案放到博客里面来介绍介绍。 
 这段时间,我还是发现我更喜欢理论性的知识,写了段时间代码,还是觉得理论更高阶,现在获得或少也有点能将理论通过代码来实现的能力了。
 liange,come on!

发表在 Life | 留下评论

从冲动购买说起

转载自淘宝UED,原文地址

有没有过这样的情况,你走进琳琅满目的商场,心里想着,我需要一支牙刷。而在结账的时候,你心满意足的看着营业员刷过一件又一件的物品,欣然地递过卡。直到回到家里,或睡觉前,你忽然发现,其实你只是需要一个牙刷。接下来,也许你会捶胸顿足,一遍遍地念着冲动是魔鬼,并痛下决心以后绝对不会再这么冲动,直到下次这种情况又那么“自然而然”地发生。这样“自然”的过程,便是一次“冲动购买”。

1、冲动购买和非理性

对于冲动购买的定义,Beatty和Ferrell(1998)认为冲动购买是一种突然的非计划的购买行为。为什么会发生冲动购买呢?在解答这一问题之前,我们先来看一个经典的营销案例。

下面是《经济学人》网页的广告:

欢迎光临《经济学人》征订中心,请选择你想订阅或续订的方式:

口电子版:每年59美元

包括《经济学人》网站全年所有在线内容及1997年以来各期《经济学人》的所有在线内容的权限

口印刷版:每年125美元

全年各期印刷版的《经济学人》

口电子版加印刷版套餐:毎年125美元

全年各期印刷版的《经济学人》加全年《经济学人》网站所有在线内容及1997年以来的各期《经济学人》的所有在线内容的权限

在麻省理工学院的斯隆管理分院,100个学生选择的结果是:

A单订电子版 59美元—16人

B单订印刷版 125美元—0人

C印刷版加电子版套餐 125美元—84人

是的,按照我们的正常思维,谁会选择B呢?所以乍一看,B选项的存在本身就十分的荒唐。所以,我们可以推测,就算把B选项去掉,也不会影响其他选项的选择。而现实情境中真的把B选项去掉后,结果却是这样的:

继续阅读

发表在 转载 | 留下评论

CDN技术介绍

转载自淘宝核心系统团队博客,地址 http://rdc.taobao.com/blog/cs/?p=106

背景

Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越 高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的影响,响应速度慢还是经常抱怨和困扰。解决方案就是在网络传输上利 用缓存技术使得Web服务数据流能就近访问,是优化网络数据传输非常有效的技术,从而获得高速的体验和品质保 证。

网络缓存技术,其目的就是减少网络中冗余数据的重复传输,使之最小化,将广域传输转为本地或就近访问。互联网上传递的内容,大部分为重复的Web/FTP数据,Cache服 务器及应用Caching技术的网络设备,可大大优化数据链路性能,消除数据峰值访问造成的结点设备阻塞。Cache服务器具有缓存功能,所以大部分网页 对象(Web page object),如html, htm, php等页面文件,gif,tif,png,bmp等图片文件,以及其他格式的文件,在有效期(TTL)内,对于重复的访问,不必从原始网站重新传送文件 实体, 只需通过简单的认证(Freshness Validation)- 传送几十字节的Header,即可将本地的副本直接传送给访问者。由于缓存服务器通常部署在靠近用户端,所以能获得近似局域网的响应速度,并有效减少广域 带宽的消耗。据统计,Internet上超过80%的用户重复访问20%的信息资源,给缓存技术的应用提供了先决的条件。缓存服务器的体系结构与Web服 务器不同,缓存服务器能比Web服务器获得更高的性能,缓存服务器不仅能提高响应速度,节约带宽,对于加速Web服务器,有效减轻源服务器的负荷是非常有 效的。

高速缓存服务器(Cache Server)是软硬件高度集成的专业功能服务器,主要做高速缓存加速服务,一般部署在网络边缘。根据加速对象不同,分为客户端加速和服务器加速,客户端 加速Cache部署在网络出口处,把常访问的内容缓存在本地,提高响应速度和节约带宽;服务器加速,Cache部署在服务器前端,作为Web服务器的前置 机,提高Web服务器的性能,加速访问速度。如果多台Cache加速服务器且分布在不同地域,需要通过有效地机制管理Cache网络,引导用户就近访问, 全局负载均衡流量,这就是CDN内容传输网络的基本思想。

继续阅读

发表在 WEB | 留下评论

大话PHP之性能

转载自百度搜索研发部官方博客,地址

http://stblog.baidu-tech.com/?p=1343

1缘起

关于PHP,很多人的直观感觉是PHP是一种灵活的脚本语言,库类丰富,使用简单,安全,非常适合WEB开发,但性能低下。PHP的性能是否真的就如同大家的感觉一样的差呢?本文就是围绕这么一个话题来进行探讨的。从源码、应用场景、基准性能、对比分析等几个方面深入分析PHP之性能问题,通过真实的性能数据来说话,最终找出影响PHP模块性能的关键因素。

2从原理分析PHP性能

从原理分析PHP的性能,主要从以下几个方面:内存管理、变量、函数、运行机制、网络模型来进行分析。

2.1内存管理

类似Nginx的内存管理方式,PHP在内部也是基于内存池,并且引入内存池的生命周期概念。在内存池方面,PHP对PHP脚本和扩展的所有内存相关操作都进行了托管。对大内存和小内存的管理采用了不同的实现方式和优化,具体可以参考以下文档:http://www.laruence.com/2011/11/09/2277.html。在内存分配和回收的生命周期内,PHP采用一次初始化申请+动态扩容+内存标识回收机制,并且在每次请求结束后直接对内存池进行重新mask。

继续阅读

发表在 WEB | 标签为 | 留下评论

我的创意简历

 我觉得还是很有创意的简历:简历

发表在 Life | 留下评论

由乔布斯去世引起的一点思考————关乎神,关乎技术,关乎孤寂

2011106日,从家返回学校。长途汽车刚刚出发,刚拿出手机浏览的姐就对我说,乔布斯死了,惊愕之余未敢轻信,掏出手机浏览网页,今天是属于乔布斯的,这周仍将属于乔布斯。

互联网充满了对乔布斯的哀悼与赞美之词,极尽夸张以致有失常理,如惠普CEO首席执行官梅格·惠特曼(Meg Whitman):对科技产业的影响力超过了硅谷,美国前副总统戈尔乔布斯是那种250年才会出一个的人才,毫无疑问是举世无双的。瞬间,乔布斯的去世,让他从大家心中的天才进化为神。

乔布斯是个商业天才,在他带领下的苹果极具创新力。

有些人将乔布斯和爱因斯坦、爱迪生和图灵相提并论,这无疑是错误的。首先要说明一点,乔布斯不懂技术,科技没有多少学术研究,他是商业天才,但并不是技术天才,苹果的联合创始人沃兹尼亚克(Stephen Gary Wozniak)却是个技术天才。苹果一号和苹果二号的核心设计者,一个技术天才加上一个商业天才碰撞出的火花足以改变世界。当然这个时候说乔布斯是商业天才,还有点早,换个人或许能达到同样的高度。设想一下,你有一个好队友,帮你把产品都设计好了,世界上独一无二的产品,你只需要融资然后把产品卖出去,你能做好这件事吗?

继续阅读

发表在 Life | 留下评论

C/C++链接文件优先级

以前在阅读《C和指针》《C专家编程》时书里都提到链接文件时,若出现库文件名字相同后缀名不同时,会按照后缀名进行有优先级进行链接,如GCC中,*.a文件链接优先级比*lib高,所以如果有同名的.a和.lib文件链接会链接.a文件而不链接*.lib文件。
前天配置glut(版本glutdlls37beta)文件时,在GCC中没有问题,但在Dev-C++中却出问题,编译链接都通过,但运行时出错报缺OpenGL.dll文件,Windows下面GLUT提供的是OpenGL32.dll,后来发现Dev-C++中有libglut.a和libglut32.a,链接时优先级高过了glut.lib和glut32.lib,所以运行出错。
以前觉得我不会遇到这个链接问题,没想到就碰到了。

发表在 程序设计 | 标签为 , | 留下评论

MIT Scheme启动

因为MIT Scheme直接双击安装目录下面的mit-scheme.exe无法启动,在命令行中通过如下方式可以启动MIT Scheme
D:\Program Files\MIT-GNU Scheme\bin\scheme.exe” –library “D:\Program Files\MIT-GNU Scheme\lib
而通过MIT Scheme自带的快捷方式启动MIT Scheme时会启动Edwin,一个类似emacs的编辑器,所以我写了点代码调用MIT Scheme。

我先通过system()函数调用,但这会弹出一个黑色控制台。

#include<stdio.h>
int main(void)
{
    system("\" \"D:\\Program Files\\MIT-GNU Scheme\\bin\\mit-scheme.exe\" --library \"D:\\Program Files\\MIT-GNU Scheme\\lib\\\" \"");
	return 0;
}

于是我通过ShellExecute()函数进行调用,


#include<stdio.h>
#include<windows.h>

int main(int argc, char** argv)
{
	ShellExecute(NULL,"open","D:\\Program Files\\MIT-GNU Scheme\\bin\\mit-scheme.exe"," --library \"D:\\Program Files\\MIT-GNU Scheme\\lib\\\"",NULL,SW_SHOWNORMAL);
	return 0;
}

但这个仍然会出现黑色控制台,在gcc链接时加入命令-mwindows,消去控制台
在system函数中,路径我觉得还是比较复杂的,带空格带参数的情况下很容易出错,
最开始我认为

    system(" \"D:\\Program Files\\MIT-GNU Scheme\\bin\\mit-scheme.exe\" --library \"D:\\Program Files\\MIT-GNU Scheme\\lib\\\" ");

就行了,但运行时出错。改成

    system("\" \"D:\\Program Files\\MIT-GNU Scheme\\bin\\mit-scheme.exe\" --library \"D:\\Program Files\\MIT-GNU Scheme\\lib\\\" \"");

就没有问题了

发表在 Scheme | 留下评论

Python文件重命名

因为照片需要重命名但又比较多,所以就用Python写了一个脚本,因为一时疏忽,导致有个小错误,抓狂郁闷了会。
文件重命名时,把通配符”*”加到了文件名中,违反了Windows的命名规则,但Python只是提示错误,没有注意到这个原因。
 


# -*- coding: cp936 -*-
import os
import glob

def fileRename(filePath, fileType):
    #用于命名文件编号
    num = 0000000001
    for fileDirectoryPath, fileChildDirectory, files in os.walk(filePath):
        #将目标目录改为当前目录
        os.chdir(fileDirectoryPath)
        #获取指定文件列表
        fileList = glob.glob(fileType)
        #获取后缀名
        fileTypeTmp = fileType.split('.')[-1]
        #改名
        for oldFileName in fileList:
            os.rename(oldFileName, str(num) + '.' + fileTypeTmp)
            num = num + 1

if __name__ =="__main__":
    filePath = 'e:/ps/'
    fileRename(filePath, '*.jpg')
    fileRename(filePath, '*.gif')

 

发表在 计算机 | 留下评论

人生就像一条射线,相交相离

时间匆匆,转眼间三年就过去,都大四了,马上就要毕业,然后开始工作,继而结婚生子,子女开始重复我们类似的经历,而我们就学着长辈慢慢衰老,最后面对死亡。一切是这样的按部就班,一切都是这样的无可奈何。我恍惚间觉得自己仍然是个初中生,高中生或者刚进大学的新生,那些发生在中学时代,刚进大学时,去年,上个月,上周的事,似乎都是发生在昨天,发生在刚才,问我年龄,会一下愣住,我多少岁了,然后计算我多少岁了,不再是十八岁十九岁。

有时候忍不住去想,三年前这个时候我在干什么,两年前的今天我在干什么,一年前呢,然后感叹一年又过去了,时间过得真快,还没准备,也还没有意识到已经这么久了。猜测小学的那些同学的现况;怀念初中走在上学的路上的感觉;回味高中一起上课学习的感觉。听着一直听了六七年的音乐,慢慢回放听着这音乐时的场景,是如此的鲜活与丰富。三年前,我刚到雅安,那失落的感觉,那下车的一幕,进宿舍的第一次对话,和人家聊到雅安失落的感觉,偶尔回想起来,感觉不错略带感伤,想象着以后老了再回想这些是什么感觉,最后一眼看这个世界时又是什么感觉。

继续阅读

发表在 Life | 留下评论