牛人与非牛人的对话

—-”如果你的应用程序不能正确地运行,不要去责怪操作系统。”
2001年,当SUN提出SUN.ONE构架的那一天,XX大学毕业的牛在“牛狼之家”聊天战碰到了一个公司的Coder

——————————————————————-

牛: 你懂XXX协议、YYY框架、ZZZ思想吗
coder:稍微知道一点点
牛: 那你看过XX牛的《XXXX》第X版第X卷,YY牛的《YYYY》第Y版第Y卷,ZZ牛的《ZZZZ》第Z版第Z卷吗
coder:你说的这些书都是《经典书籍》,不过我大都没认真看过
牛: 这么说,你对XXX协议、YYY框架、ZZZ思想的底层细节应该不是很了解哦
coder:可以这么说
牛: 你具体做什么项目
coder:做X2X网站
牛: 你说你不懂XXX协议、YYY框架、ZZZ思想的底层细节,那么你们做X2X网站时, 碰到XXX问题你怎么解决的
coder:很简单,我们会给XX、YY大学的牛发Email,叫他们给我们解XXX组件。很方便的。
牛: 如果没人肯帮你们解XXX组件呢
coder:不会的,每次都有N多牛排长对呢。再说了,到Internet上Search一下,买XXX组件的公司成堆
牛: 好了,好了,我再问你,你都用什么语言开发呢
coder:用ASP+VB
牛: 你知不知道MS已经不再支持VB+ASP了,改为C#+MS.NET
coder:在聊天室里听牛说过
牛: 那你为什么还要用VB
coder:C#,JAVA我不懂 ,所以我用VB
牛: 唉,又来了,基础的XXX协议、YYY框架、ZZZ思想的底层细节你说你不太懂,前沿的C#, MS.NET;JAVA,SUN.ONE你又不懂,你难道没想过要好好学学吗
coder:我有想过啊
牛: 那你为什么不学呢
coder:我没有时间
牛: 你的时间都到哪儿去了
coder:用VB+ASP编代码赚钱啊
牛: 赚钱干吗
coder:供我儿子出国读大学
牛: 读研究生
coder:不是,是读本科
牛: 读本科就出去读,没必要吧
coder:在XXX协议、YYY框架、ZZZ思想的底层细节方面,国内经常生产牛的最牛的XX大学刚刚入门,在****方面连门都没入。我知道我儿子是块搞技术的料,所以我想要让我儿子系统掌握XXX协议、YYY框架、ZZZ思想的细节,精通前沿的…

(听到Coder批评牛毕业的XX大学,牛有点生气了,开始不客气起来)
牛: 你知不知道,你没有XXX协议、YYY框架、ZZZ思想的底层细节,是写不出完美的代码出来的。还有,像你这样,虽然现在可以赚一点小钱,但四年后肯定要被淘汰的……
coder:在我淘汰之前,我就不想干了
牛: 那你去干嘛
coder:我想开一家软件公司,招很多牛,包括精通XXX协议、YYY框架、ZZZ思想的底层细节的牛,精通MS.net SUN.ONE的牛……
牛: 好笑!

———————————————————————-

4年后,软件业VB+ASP已经彻底绝迹,XXX协议、YYY框架、ZZZ思想的底层细节已经被大量修改,MS.net和SUN.ONE也快倒掉的时候…….
牛: (XXX公司CTO办公室里,看着www.xxx.com上的新闻)
啊! MS.net和SUN.ONE真要倒掉了吗?看来偶要继续充电了…….
coder:(XXX公司CEO办公室里,看着www.xxx.com上的新闻)
哦,MS.net和SUN.ONE果真快倒掉了。看来我要招聘新的CTO和Coder了…

谁也不知道,XXX公司的CTO和CEO就是当年在“牛狼之家”聊天战聊天的牛和Coder。
很多人自以为什么都知道—的确有很多牛从协议细节到当前潮流到开发环境….
样样都精通,但那是少数—可是却偏偏不知道自己正真需要的是什么,自己最需要的又是什么,自己为什么要去知道这么多东西。

有的人知道的的确不多,但是他知道他最需要的是什么。他知道他时间不多,只能去争取他最需要的东西。

以后的社会分工会越来越细,没必要也没有可能什么都懂,开飞机的显然不必知道流体力学—虽然流体力学毫无疑问是飞机飞上天的基础;装配飞机的显然不必知道采购来的发动机具体是如何把航空油变成动力输出的—-虽然这是飞机可以开动的基础。

一样,用COM+或者EJB组件构造企业系统,你根本没有必要知道这个COM+或者EJB组件是如何处理底层TCP/IP连接的。组件生产者关心的是实现细节–稳定性,效率,安全……至于你,就去关心企业业务流程好了,即使不明白什么是TCP/IP,什么是IPv6也没有关系。

守住心灵的安宁

peace

peace

最近很多人都在议论林书豪,很多人会问Jeremy奇迹如何降临,他说来自心灵的安宁。

他说很多人打球的动机是金钱、女孩子和明星的生活方式……但是他知道,自己打球不是为了这些。

为了打好球,jeremy也给自己施加了很多压力。这的确使自己迷失了打球的目的,当第一次签约时,见到那么多媒体和fans,他只觉得自己必须打好每一场球,这样大家才会高兴。这也是他自己一直面对的挣扎,但他自己必须要知道,自己不是为了球迷而打球,不是为了家人打球,甚至不是为了自己打球。Jeremy坦言自己打球的目的是为了追求“永恒的快乐”,不是输赢的快乐。想明白了一点,让他自己得到了心灵的“安宁”。这样神奇的“安宁”就带来了奇迹。就算事情出了差错,他依然坐在那里,仍然可以醒过来,可以微笑面对。

也许对于我们来讲,生活中总是少了那份心灵的“安宁”:做一件你喜欢的事情,让它给你带来快乐,别为这件事情附加任何条件,无谓对错输赢,不管开始结束,你要记得的是那份来自心底的真实和快乐。

生活里没有奇迹,也不会每时每刻充满激情,耐得住激情过后的那份平静便是奇迹。我们何时能守候着这份心灵的“安宁”走完每一段平静的人生之路,我们何时便把握住了人生的巅峰。

我的2011

 时间过得好快,有时让人猝不及防,年华总会逝去,朋友总会离去,感情却会搁置在心里,酿成回忆,偶尔小酌,仍温暖我心。

天下没有不散的筵席,残忍你却不得不信,人生就像一杯苦茶,不会苦一辈子,但会苦一阵子,幸福就是好的身体加坏的回忆,当我们做对了时没人会记得,当我们做错了时没人会忘记,最酸的感觉不是吃醋而是没权吃醋。

也许你不该每天呆在这里,你会把这里当成全世界。你得离开一阵子,去看看外面的世界。放弃一个人并不痛苦,痛苦的是放弃心中的爱。因为放弃,我们在挣扎中回忆最真的昨天,在绝望里删除密密的回忆。昨天虽已走远,但回忆的细节,越删除越清晰,它牢牢盘踞在我们的精神深处。如果放弃,那就彻底,就算再痛;如果缘未尽,那就好好把握,细细呵护,毕竟我们不奢求还有来生。

人生没有如果,只有后果和结果。过去的不再回来,回来的不再完美。生活有进退,输什么也不能输心情。生活最大的幸福就是,坚信有人爱我。对于过去,不可忘记,但要放下。因为有明天,今天只是起跑线。生活简单就迷人,人生简单就幸福,学会简单其实就不简单……

这世界有一种花叫彼岸花,美丽而忧伤,彼岸花开,花不见叶,叶不见花,生生相错。可是,未必是悲哀,如果不曾相遇,我怎么会爱上你。如果不曾相遇,我又怎么会有那么多遗憾。

这是个最好的时代,这是个最坏的时代,这是个充满希望的春天,这是个令人绝望的冬天,我们前面什么都有,我们前面什么都没有。梦想,让我们一次次的走远,又一次次的回头,一个关于人生的梦想还在不断奔跑,带着喜悦和疼痛,不过一切才刚刚开始,并且直到今天也远远没有结束,在一个下雪天的入夜,我做了人生中最美好的姿势:2012,加油……

                 2012122121745星期日于山东济南历城区山东商业学院

smarty使用技巧(不断更新)

smarty中判断数组是否为空

{if $array|@count neq 0 }

{/if}

php读取分类数据

在很多的程序中,我们需要读取很多的分类数据,例如,在一个程序中,我们需要添加个人兴趣爱好,这时候我们会为用户列出很多个兴趣选项,来供用户选择,那么这些分类数据我们从哪里读取呢,当然,首先想到数据库,其实很多时候我们会从配置文件中读取,当然这个过程也需要读取数据库,下面举例说明。
先给出数据库的表结构:

/*
MySQL Data Transfer
Source Host: localhost
Source Database: register
Target Host: localhost
Target Database: register
Date: 2012-1-16 1:14:49
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for interest
-- ----------------------------
CREATE TABLE `interest` (
  `id` int(50) NOT NULL auto_increment,
  `type` int(50) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `interest` VALUES ('1', '1');
INSERT INTO `interest` VALUES ('2', '1');
INSERT INTO `interest` VALUES ('3', '1');
INSERT INTO `interest` VALUES ('4', '1');
INSERT INTO `interest` VALUES ('5', '1');
INSERT INTO `interest` VALUES ('6', '1');
INSERT INTO `interest` VALUES ('7', '2');
INSERT INTO `interest` VALUES ('8', '2');
INSERT INTO `interest` VALUES ('9', '2');
INSERT INTO `interest` VALUES ('10', '2');
INSERT INTO `interest` VALUES ('11', '2');

再给出数据配置文件 interest.php

array(
            1 => 'program',
            2 => 'article',
            3 => 'sport',
        ),
        'foods'=>array(
            1 => 'apple',
            2 => 'watermelon',
            3 => 'shrimp',
        )
    );

    return $data;
}

function fetchInterest(array $ids, $type)
{
    $datas = interests();
    for($i = 1; $i <= count($ids); $i++){
        if(isset($datas[$type][$i])){
            $interest[] = $datas[$type][$i];
        }
    }
    $interest = join(',', $interest);
    return $interest;
}
?>

获取配置数据的文件 getInterest.php


其实我们在数据库中紧紧存储了数据分类的ID,我们从数据库取得了分类数据的ID,然后通过与配置文件中的配置数据进行匹配获得正确的数据,这样做是为了提高效率,也是为了方便数据的配置。

搭错车

明明错过却还要想念,想念却不会再拥有。明明别离却又相遇,相遇却又不得不说再见。我喜欢现在的自己,怀念过去的我们。自此我们就像旋转的木马,彼此追逐,却隔着可悲的距离。

当你喜欢我的时候,我不喜欢你,当你爱上我的时候,我喜欢上你,当你离开我的时候,我却爱上你。是你走得太快,还是我跟不上你的脚步?我们在最好的年华里相遇,却错过了最好的彼此,我们还要继续错过,但是,多年以后,你若未嫁,我若未娶,那我们能不能在一起?如果有来生,请记住你欠我的幸福。

即使可以回到起点,却已不再是昨天。有些人走了就是走了,再等也不会回来。有些人不爱了就是不爱了,再勉强也是徒然。有些人很幸福,一眨眼,就一起过了一个永远。有些人很幸运,手一牵,就走过了百年。有些人明明很努力了,却还是改变不了什么……不是一辈子的人,不说一辈子的话。

听说,鱼的记忆只有七秒钟,看见,转身,遗忘,就已不记得来时的路……我的记忆也许会有一辈子的停留,我却在一个夜里迷路在一个熟悉的街角,再也找不到来时的路……

人面不知何处去,桃花依旧笑春风。在这分合聚散的流逝年华里,一切的贪嗔痴念,一切的水月年华,总是能如烟般消失无痕。把盏暗夜的纵情,一一在飘然而放的桃花里渐次渲染。倦眼孤舟新阅历,低鬓残霜旧人家。风罢,寂寞也如缎。

在青春的路上,遇见总是一场美丽,不管是对还是错,不管是在错误的时间里遇上了对的人还是在正确的时间里遇见了错误的人,而不管是错了时间还是错了地点抑或是遇错了人……

也许等我们到了白发苍苍的时候,在慢慢地想起时,会轻轻地微笑,无声地落泪,悄悄地擦拭,或在那么不经意的一瞬间,会闻到一阵味道,阳光的味道,又或者眼泪发酵出来的思念的那一种苦涩,围绕不散。正如,不知何时的蓦然回头,以仰望的姿态,定格住了那一秒,静止

多年以后,我又小心的翻开那份抄在日记本上的手摘:

荷西问三毛:你想嫁什么样的人?
三毛说:看顺眼的,千万富翁也嫁。看不顺眼的,亿万富翁也嫁。
荷西说:你还是想嫁个有钱的。
三毛看了荷西一眼说:也有例外时。
那你要是嫁给我呢?荷西问。
三毛叹口气说:你的话只要够吃饭的钱就够了。
那你吃得多吗?荷西问。
不多不多,以后还可以少吃一点。三毛小心说
 
在一个悠然的午后偶然听到黎瑞恩的那首《一人有一个梦想》,让我找到一种久违的感觉,黎瑞恩在这首歌之后迅速淡出我们的视线,为爱隐退,其实多年以后,我们知道她过得不好,就像歌里唱得那样,一人变心会受伤,两人愿意没惆怅。也许我们应该感慨的不是流年,而是初遇爱情的那份悸动,因为爱情就是爱情,没任何附加和条件。

 

php记住密码(remember me)登陆程序

目前主流网站都有记住登录信息的功能,今天就写一个小程序,仅为说明原理,程序有防止刷新重复提交的功能,是通过设置一个$_SESSION['form_secret']来实现的,通过比较$_SESSION['form_secret']与表单提交时的$_POST['form_secret']来判断是不是重复提交,并且提供一个异步提交的小例子。程序的文件如下:

database.php


users.sql

/*
MySQL Data Transfer
Source Host: localhost
Source Database: register
Target Host: localhost
Target Database: register
Date: 2012/2/8 16:00:16
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for users
-- ----------------------------
CREATE TABLE `users` (
  `id` int(30) NOT NULL auto_increment,
  `username` varchar(30) default NULL,
  `password` varchar(50) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=latin1;

info.sql

/*
MySQL Data Transfer
Source Host: localhost
Source Database: register
Target Host: localhost
Target Database: register
Date: 2012/2/8 16:00:21
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for info
-- ----------------------------
CREATE TABLE `info` (
  `id` tinyint(100) NOT NULL auto_increment,
  `name` varchar(200) character set latin1 NOT NULL,
  `description` text character set latin1 NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `info` VALUES ('1', 'harvard01', 'harvard description');
INSERT INTO `info` VALUES ('2', 'harvard02', 'lovestory in havard');

register.php


login.php

退出';
        echo '
';
        echo '去做点什么吧';
    }
    else
    {
        //产生一串随机的数字,并且保存在session中,用于放置刷新重复提交表单
        $form_secret = uniqid(rand(),TRUE);
        $_SESSION['form_secret'] = $form_secret;
?>

logout.php


main.php


dosome.php


dosome.html

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="jquery.js"></script>
    </head>
    <body>
        <form id="form1" method="post">
            <input id="dosome" type="text" name="dosome" />
            <input type="button" name="submit" value="获得东西" />
        </form>
        <div id="con"></div>
        <script type="text/javascript">
            $(document).ready(function(){
                $(':button').click(function(){
                    var dosome = $('input[name="dosome"]').val();
                    $.post('process1.php',{info:dosome},function(data){
                        $('#con').empty().append(data);
                    });
                });
            });
        </script>
    </body>
</html>

process1.php


雅思2012

2012年,新的一年,雅思要开始了哦……

雅思学习分享文章将在2012年开始记录……

php的magic_quotes_gpc、addslashes和stripslashes的使用

对于php中的addslashes与stripslashes,很多人都有一些疑问,今天讲解一下addslashes和stripslashes的具体用途。

首先,我们要提到一个环境配置选项magic_quotes_gpc,这个环境配置参数的作用是确定是否启用对使用GET、POST和cookie方法传输的数据启用魔法引号作用,也就是对单引号、双引号、反斜线和空白符使用反斜线自动转义,可以理解使用addslashes()函数。那么addslashes()函数的作用其实就是在指定的预定义字符前添加反斜杠,这些预定义字符就包括单引号、双引号、反斜线和空白符。

因此如果在magic_quotes_gpc开启的状态下,我们可以不使用addslashes()函数,如果我们对输入的数据使用了addslashes()函数,我们就进行了双重转义,在输出的时候就要使用stripslashes()函数去掉这些多余的反斜线。我们可以使用get_magic_quotes_runtime()来判断魔法引号是否启用。那么这里stripslashes()函数的作用也就删除由 addslashes() 函数添加的反斜杠。主要用于清除从数据库查询的数据和html表单提交数据的多余反斜线。

如果在魔法引号未开启的情况下,也就是magic_quotes_gpc = off的情况下,必须对数据使用addslashes()函数,例如如果你执行这样一条语句:

$query = "insert into users (username, password) value ('hellogxp'01',2)"

这条语句在执行时数据库会报错,数据库会自动检查排错,因此无法执行,因此必须用addslashes()为其添加反斜线转义才可以正确执行:

$query = "insert into users (username, password) value ('hellogxp\'01',2)"

这样的数据插入数据库后,在进行输出的时候不需要使用stripslashes()函数进行格式化输出,因为addslashes()添加反斜线的作用是对数据中的预定义字符进行正确转义,为mysql数据库查询和插入提供正确的字符串,也就是帮助mysql数据库顺利的执行了sql语句,数据库中保存的还是原始的输入内容,因此输出的时候不需要使用stripslashes()进行格式化。

suddenly y

有的人,记忆总是那么脆弱,一首歌,一个路口,一班开往远方的班车,就会勾起曾经有你的记忆,犹如在昨日一般,看到了你的样子,也看到了我们曾经的牵手。彼此承诺的幸福誓言。

听悲伤的歌,看幸福的戏,我开始习惯一个人,一首歌,没有你的城市,我像一本陷入浮华流年的书,没有方向,没有归宿,在人潮涌拥挤的夜里走失自己,躲在一个黑暗的角落默默哭泣……我开始幻想着是否会有重逢,我不知道一别竟是一辈子,即使是在同一个小小的城市。也不会再相逢,某一天某一刻,走在同一条街,却再也看不见对方,我蹲坐在那个阴暗的角落,双手抱住膝盖,抽搐着,像个孩子似得哭起来……

 我选择了伪装,扬起脸,让悲伤划过脸颊,落在身后,我怕走过每一个有你的街角,只要记忆掠过心头,心头就一阵颤抖,思绪开始蔓延,直到思念沉重的让我窒息……直到如今,我都小心翼翼的生活,我在夜晚搭最后的一班公车回家,我不敢一个人呆在家里,周末我照常起床和上班,我怕,我怕停下来会有你的影子,我怕自己的眼泪……直到如今,又有谁真切的懂得那份思念有多重……

一个人独处时,轻轻的想起相见时的青涩模样和那悸动的心情,直到,你离开,没有留下一句话,我哭过,痛过,满身疲惫,我不去问,我只知道,在我的心里,总有一个角落,你已不在,别人也不会进来,爱若卑微,我便卑微,爱若很痛,我愿为你承受这痛,这泪……

又到秋季,那些风吹花落的瞬间,总让我不经意的感慨,流年,原来真的流走了,那些关于青春的记忆已经淡淡的如一片粉红色的花瓣,我的爱情终于淹没于宿命中,流离失所,开始流浪在城市的某个街角,似水流年,美好只是美好,眷恋,只是眷恋……

人的海,汹涌复汹涌,有时把天都遮了,如果真的有来世,我期待,于千万人中,在蛮荒无涯的时间里,没有早一步,也没有晚一步,和你相遇,轻轻地说一句:“你也在这里吗。”