半瓶子醋 Life is sweet!

[心情]几句话

08.11.2010 · Posted in 生活随笔

编程宜当兴趣,不宜当职业。职业应选既轻松又赚钱的事儿,不用脑子思考的。
问:编程的最高境界是什么?
答:手上有码,心中无码,剑即是人,人即是剑(这个无码别想歪了)
问:各位聊聊php的工资及生存状况吧?想转行做php
答:如果以前不是做IT的,最好先看《围城》

[PHP]SET NAMES和mysql(i)_set_charset的区别

08.06.2010 · Posted in 开发笔记|PHP

关于Mysql的”SET NAMES”和mysql_set_charset (mysqli_set_charset)的内容:
说到, 尽量使用mysqli_set_charset(mysqli:set_charset)而不是”SET NAMES”, 当然, 这个内容在PHP手册中也有叙及, 但是却没有解释为什么.
最近有好几个朋友问我这个问题, 到底为什么?
问的人多了, 我也就觉得可以写篇blog, 专门介绍下这部分的内容了.
首先, 很多人都不知道”SET NAMES”到底是做了什么,
我之前的文章深入MySQL字符集设置中, 曾经介绍过character_set_client/character_set_connection/character_set_results这三个MySQL的”环境变量”, 这里再简单介绍下,

管理学知识

07.28.2010 · Posted in 生活随笔

蓝斯登原则:在你往上爬的时候,一定要保持梯子的整洁,否则你下来时可能会滑倒。
提出者:美国管理学家蓝斯登。
点评:进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。

卢维斯定理 :谦虚不是把自己想得很糟,而是完全不想自己。
提出者:美国心理学家卢维斯
点评:如果把自己想得太好,就很容易将别人想得很糟。

[基础]Ajax与Iframe比较

07.24.2010 · Posted in 开发笔记|基础

到现在ajax碰到的两个比较大的问题是
1)中文乱码,这个貌似是编码的问题,基本上能够解决,但是在某些比较低版本的浏览器中还是会出现一些问题
2)跨域post提交数据,这个貌似没有办法直接实现,只能通过代理或其他方式来实现

而这两个问题iframe基本都不会碰到,但是iframe的问题在于
1)你想同时进行多少个请求,就必须建立多少个iframe~否则无法同时进行
2)iframe的方式处理的是iframe页面的内容,交互成功的触发方式主要靠a)页面定时读取页面加载状态;b)iframe触发父页面的事件。a)方式必然导致对客户端资源的较多占用,b)方式导致返回数据的增加,而且必须保证父页和框架页的变量和方法的统一。而这点上面,ajax交互过程中仅仅返回所需要的数据(xml或者text),这个是ajax相比iframe的最大优势之一。

[算法]简单的求和

07.23.2010 · Posted in 开发笔记|算法

题目描述:
给你两个正整数d和n,计算[d/1]+[d/2]+…+[d /n]的结果,
其中d,n<=2e9,[x]表示x的值需要四舍五入到整数
如9/5就是2,20/7就是3

输入:
多组测试数据,每组仅一行为d和n
当d=n=0时结束程序

搞技术,万不可半瓶子醋

07.23.2010 · Posted in 生活随笔

下学期大三,自己该考虑工作的问题了。

依我的意思是不考研的,但是每个公司的招聘报表上都要求必填毕业院校,当我敲上我们本三院校的全名时,已经输了一个档次,已经给考官留下了不好的印象,虽然表面上说的是一视同仁,但是心理上必定不会高看自己的。

一直对自己的技术很自信的我,看着一串串那熟悉的职位要求,心里打起了鼓。

我在半年后甚至一年后有没有可能成为某一门 技术独挡一面之才?

[基础]工厂模式

07.23.2010 · Posted in 开发笔记|基础

工厂模式定义:提供创建对象的接口.
工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。

为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。

写好代码的10个秘密

07.22.2010 · Posted in 开发笔记|基础

一流代码的特征

1、稳定可靠(Robustness)
代码写出来以后,一定要能够运行得非常好,非常稳定可靠。在现今的IT行业,软件产品都是是24*7,即要保证系统一天24小时,一星期7天中都可以无间断的正常运行。比如我们百度的搜索引擎系统,比如我们的通信系统,等等。到了产品开发后期,大部分的成本都将投入到产品稳定性的提高。

2、可维护且简洁(Maintainable and Simple Code)
在写代码时,首先要考虑的是:写出来的代码不但要自己可以读懂,而且我们的同事、测试工程师都可能要修改这些代码,对其进行增减。如果代码很复杂,不容易读懂,如程序中的递归一大堆、程序不知何时或从何地跳出,则会使程序的可维护性和简洁性降低。所以必要的注释、统一的编程规范等都是非常重要的。

[算法]猫吃老鼠

07.22.2010 · Posted in 开发笔记|算法

题目描述:
有一只很霸道的猫,捉来好多好多老鼠,然后,这只猫就开始开大餐了。
但为了显得它与众不同,它用了一个很特别的就餐顺序:
它先定好步长k,然后它吃掉第1个位置上的,然后再每隔k只再吃一只老鼠
一轮结束后,它再次从第1个位置开始继续吃,直到最后只剩下一只老鼠为止。
而这最后一只老鼠这只猫会放走,因为它不想破坏生态平衡,它希望这只老鼠,
来年再制造n只。。。。。。(当然它怎么找它的另一半就不管了。。。)
但这群老鼠中,有一只特别聪明,它希望不死,它经过计算,
于是一开始它就站在一个特别的位置上,而最后,它果然没死,被放走了,
你知道它站在哪个位置上吗?

[PHP]正则(pcre)最大回溯/递归限制

07.19.2010 · Posted in 开发笔记|PHP

匹配过程开始的时候, “.*?”首先取得匹配控制权, 因为是非贪婪模式, 所以优先不匹配, 将匹配控制交给下一个匹配字符”b”, “b”在源字符串位置1匹配失败(“a”), 于是回溯, 将匹配控制交回给”.*?”, 这个时候, “.*?”匹配一个字符”a”, 并再次将控制权交给”b”, 如此反复, 最终得到匹配结果, 这个过程中一共发生了3次回溯.

现在我们来看看文章开头的例子, 默认的backtrack_limit是100000, 而源字符串的开头是 9个字符, 一共是99997个字符.