其实想想还是挺幸福的,虽然有点辛苦。只有辛苦的努力并不断实现自己的梦想,才会倍加感觉到幸福。生活难免有风雨,过去了才能见彩虹,生命中感谢有你,能够与我共勉、奋斗、经历与成长。

http://blog.sina.com.cn/s/blog_62f2fd3b0100ke2n.html

这样的企业已经绝种了?

http://hutuworm.blogspot.com/2010/07/blog-post.html

需翻墙

1. 禁止布局
如果需要在全局禁止布局则在app_controller.php中设置$this->autoLayout = false,其子类可以继承/重写该设置;如果需要有条件,则可以将$this->autoLayout = false放在app_controller.php的before_filter()过滤器中。
如果只是个别的controller/action的话,那么最好是直接在具体的action定义中设定$this->autoLayout = false,而不是在控制器层级设定。

2. HTML助手
在模板里使用图片的时候,最好是使用助手的方式,如:echo $html->image(’pic.gif’),而不是直接手动编写<img>标签,因为如果硬编码的话,一旦网站目录结构出现变化,问题就严重了。同样的情况还出现在链接上,应该使用助手的方式,如:echo $html->url(array(’action’ => ‘foobar’)。

图片链接生成的两种方式:

 

//由$html->image()方法生成,简单而实用。但不够灵活,不能为<a>链接添加额外的属性
 <?=$html->image('/img/icons/review.png',array('alt'=>__('Review',true),'url'=>'/admin/members/review/'.$member['Account']['id']))?>
//由$html->link()生成,可以添加额外的属性,如提示信息。注意其中最后一个参数必须设置为false,否则会将$html->image转义
<?=$html->link($html->image('/img/icons/destroy.png',array('alt'=>__('Trash',true))),
                                  '/admin/members/destroy/'.$member['Account']['id'],
                                  array(),
                                  'Are you sure you want to delete this record?',
                                  false
                    )
?>

3. 分页助手

分页助手一般使用的都是文字链接,但实际上也可以使用图片链接,方法如下:

<?php echo $paginator->prev($html->image('prev.gif', array('border' => 0)), array('escape' => false));?>

类似的,表单提交按钮如果想使用图片的话,方法如下:

<?php $form->submit(‘pic.gif’)?>

注意所有图片文件都被认为是存放在webroot目录下的img文件夹内的。

分页默认是由div包裹,这个是可以自定义的:

 <?=$paginator->prev('« '.__('Previous', true), array(), null, array('class'=>'disabled prev_page','tag'=>'span'));?>

有时候分页时需要通过URL传递一些查询参数,此时应该在模板文件里按如下设置:

<?php $paginator->options(array('url' => $this->passedArgs));?>

4. Form助手

在CakePHP里,Form助手可以说是所有助手里最重要的,也是最复杂的,其中,尤以input方法为甚,比如说文章属于一个目录,那么在录入文章的表单里我们可以这样生成一个目录的下拉菜单:

<?php
$form->input('category_id');
//当然,仅仅这样还不够,还需要在控制器里提供数据才OK
$this->set('categories', $this->Article->Category->find('list'));
?>

相应表有一个name字段用于显示,当然你也可以在模型里设定var $displayField属性。总体来说非常简单,甚至有点奇幻的感觉,这是因为CakePHP在这里做了点小动作,参考form.php文件:

<?php
if (!isset($options['options']) && in_array($options['type'], $types)) {
    $view =& ClassRegistry::getObject('view');
    $varName = Inflector::variable(
        Inflector::pluralize(preg_replace('/_id$/', '', $this->field()))
    );
    $varOptions = $view->getVar($varName);
    if (is_array($varOptions)) {
        if ($options['type'] !== 'radio') {
            $options['type'] = 'select';
        }
        $options['options'] = $varOptions;
    }
}
?>

CakePHP会把表单元素名字中的_id部分去掉,并转换成复数形式,然后在当前视图变量里查找是否已经有了同名的变量,如果有,且未设置成radio单选标签,就把它当做select下拉菜单。

表单助手缺省创建的input会有div包裹,还有label等等修饰,很多时候这和美工设计的页面结构不同,这时:

$form->input(’password’, array(’div’ => false, ‘label’ => false, ‘error’ => false))

输出记得转义,CakePHP提供了h()方法,很简单,但是总容易忘。

这里还有一个技巧,就是在渲染select的时候,如果原来的数据库表里有一个名为name或者title的字段,那么会自动被当做下拉菜单的显示部分。

5. saveAll方法

saveAll方法可以同时保存一对一,一对多的关系。比如说一个question有多个answer,那么在question的表单里,我们就可以这样设定:

<?php
echo $form->input('Question.title');
echo $form->input('Answer.0.content');
echo $form->input('Answer.1.content');
echo $form->input('Answer.2.content');
echo $form->input('Answer.3.content');
?>

经过这样简单的设定后,在question控制器里就可以使用saveAll方法一次性保存所有的数据了。

6. Configure最多支持三级设置

如果超过三级,比如说Configure::write(’A.B.C.D’, ‘…’);这样是无效的,做多A.B.C三级。


7. 通过HTTP_X_FORWARDED_FOR得到客户端IP

如果想通过HTTP_X_FORWARDED_FOR得到客户端IP,必须传递一个false参数:

<?php $this->RequestHandler->getClientIP(false);?>

就是说要传递一个false参数,不过这样做仅适合安全性要求不高的应用。

8. 钩子方法afterFilter并不一定会执行

这是CakePHP的一个硬伤,因为redirect会直接跳转,所以afterFilter有可能会被忽略,这点要注意。

9. Auth组件缺省设置的弊端

缺省实现里,提交表单时,如果有password字段,会自动哈希处理,但是有的时候反倒麻烦,比如说添加用户时,如果验证未通过,再显示出错表单时,密码字段已经被哈希了,已经不是初始值了,再提交就不对了,所以为了屏蔽问题,就不应该再使用password字段名,而应该改名,以注册表单为例:

原始密码:

<?php echo input(’encrypt_password’); ?>

确认密码:

<?php echo input(’confirm_password’); ?>

这样的话,字段值在提交前后始终保持是初始值,就不会再有问题了。

作者 AdSense 支持小组
2010年第二季度,AdSense 团队举办了很多在线培训,从行业研究到产品解读,为发布商提供了全方位的信息和知识。
如果您由于时间原因没能参加这些培训,没有关系,我们对每一场在线培训都录制了视频,您随时可以到我们的在线培训中心观看学习。
我们的在线培训课程及内容介绍如下:
深度挖掘商业价值——财经商业电子商务行业网站的广告策略
• 新模式下的品牌广告之路
• 搜索广告帮助最大化商业词汇的价值
DFP 案例现场分享 – 豆瓣网: 提升在线营销能力
• 豆瓣网市场部经理刘琰与大家一起分享了豆瓣网使用 DFP 广告管理系统的心得
快速精通掌握 AdSense——新发布商使用技巧指导
• Google AdSense 全产品线介绍
• 广告实施最佳方法
• 广告优化黄金法则
• 跟踪广告表现分析报告
做活搜索,粘住用户, 实现潜力——Google自定义搜索使用指南
• 介绍全新的 Google 自定义搜索
• 如何关联 AdSense 帐户
• 自定义搜索优化技巧
内容•用户-女性美容类网站优化之道
• 女性类网站常用网页格式及广告位置效果分析
• 相关广告商投放广告时对网站内容及广告位的偏好

AdSense 政策专题讲座
• AdSense 网站内容政策
• AdSense 广告投放政策
• AdSense 最新产品及功能介绍
• 热点Q&A
DFP 广告管理系统在线培训–广告资源管理篇
• 不知道如何运用广告管理系统全面管理您的网站广告资源
• 不理解 DFP 广告资源中的广告单元和展示位置的概念?
• 不明白广告单元和展示位置之间的关系?
• 不清楚如何根据自己的网站结构配置来广告单元和展示位置?
我们仍然会继续提供更多更深更广的在线培训,您可以随时到在我们的培训中心查看最新的培训课程,欢迎广大发布商注册参加!


Inside AdSense 于 7/22/2010 11:05:00 上午 发布在 Google AdSense 中文博客


您收到此邮件是由于您注册了Google Groups "Inside AdSense (简体中文版)" 群组。
从该群组注销,请发送电子邮件到: inside-adsense-zhs-unsubscribe@googlegroups.com
更多选项,请访问该群组:http://groups.google.com/group/inside-adsense-zhs?hl=zh-cn

我有两个朋友。

L的公司在上海,大半时间跑广东。他是华南某所不太知名的大学毕业的,小眼睛质朴男,多年以前还是个文学青年。哥们做手机网游的,我见他使过好几款手机,但最贵的一个也不过1千多块钱。比起什么Web2.0、移动互联网的概念,他更关心珠三角的几千万农民工和城市边缘的大学生“蚁族”,怎么关心?在东莞的夜宵摊上跟他们拼啤酒,在富士康厂区外网吧里刷夜,跟靠做他们生意开上宝马的便利店老板扯淡……

W猫在北京中关村。他从小就是个脑袋很大眼睛发亮的天才少年,数理化成绩很好,逻辑思维超强,英文和中文一般流利。在首都某著名大学毕业后,W 直接去美国名校拿了硕士,接着回国创业。我一直觉得,他是硅谷Geek们的中国版。诸如iPad之类的新技术玩意,我总能第一时间从他那儿找到。他也是国内把玩Facebook、Twitter、Groupon、Foursqure的人。啥叫互联网的未来,W做的网站就代表互联网的未来。

W比L拥有更多的掌声和名声。但遗憾的是,他做了好几个连投资人都觉得很酷的网站,却始终没有挣到大钱。原因不外如下:要么是起个大早,却被一大堆抄近道的同行给围追堵截;要么因为资金接济不上,只能让一个更有资源实力的大公司直接吃掉,还有的不知道触了哪根高压线被主管部门直接暂停。

L的生意是实实在在每天都能数着钱的,他都已经可以打高尔夫了,但他并不想告诉无关人他挣到钱了。说了也没人信,几十万月薪不到2000的打工仔拿着300块钱买的山寨机玩L公司做的游戏,每月给他贡献过百元的ARPU值,换句话说,他们收入的十来分之一都心甘情愿地送给L了。我有时也想不通,W针对的客户明明是北京、上海这些大城市中最有消费能力的精英。为什么他们舍得花钱买最贵的手机,换最新的笔记本电脑,下最好的馆子,在网上却什么都要免费。

圈里公认,只要是W做的事情必定引来围观。同行也好,媒体人、营销人也罢,口口相传,网站流量和用户量几乎是一条直线往上蹿。但奇怪的是,过了没多久就停止上升势头,开始跟中老年同志的心脏一样来回震荡。我也问过L,他的这些草根用户没几个有自己的电脑,更谈不上3G,究竟是怎么发掘的?L笑笑说,网吧都不是最有效的渠道。厂区周边有很多便利店,工人一下班就聚到哪儿。老板提供一台电脑,里面装了各种手机用的游戏、MP3、电影,再备一本类似早年K歌房里的“点歌簿”。不用上网,拿根USB数据线,想要什么下什么。还有更方便的,用手推车直接送到宿舍门口。

有次跟L吃饭,他提问我:如果一款游戏要打入45万富士康工人的市场,该请哪位代言人合适?我先猜周杰伦,摇头,丫目标受众是城市,又猜春哥也不对,她只杀伤学生和少妇,怒了,决定猜当红的凤娇,还是被鄙视!正确答案是凤凰传奇,有百度歌手榜单为证。备选是慕容晓晓。完全超出我知识范围,还好我没猜韩寒。

过去W单纯地以为凭技术就能改变社会,现在他知道你可以不过问政治,但政治会来过问你。不过,要让一个海归精英学会怎么跑门子疏通关系确实有点臊。L曾经愤青过,但如今很务实,好的商人都是知道怎么看《新闻联播》的。他挺关心运营商的人事变动和扫黄整顿,还搞过几次工友联谊会,虽然目的是为了推广他的游戏。前一段富士康工人“12连跳”,他很严肃地跟我说,这事他们有责任。我吓一跳。L讲,那些一想不开就跳楼的年轻人正是他的衣食父母。一部手机通常就是这些工人唯一的娱乐设备,与厂外世界交流的唯一媒介。他们有责任让工人们更快乐。

我所认识的投资人都对W评价很高,但却更爽快给L投钱。因为他们的心里也明镜似的:在中国,做精英的只能赚吆喝,做草根的才能赚着钱。腾讯、百度不就是最好的例子嘛。

上海那位梳分头打摩丝的笑星说过一句经典:我是喝咖啡的,北方那两位是吃大蒜的。咖啡是舶来品,感觉很洋气,吃大蒜却有益身心。今年炒大蒜的都挣了很多钱,没听说谁倒腾咖啡挣了钱。中国的互联网好像也是一样?

我曾经突发奇想,如果把W和L对调位置,情况会不一样吗?他们会更理解各自商业的长短吗?后来想想觉得这事不太可能。

W所追求的互联网,其实是一个“美式的互联网”。在美国,信息革命是从上个世纪60年代开始的,从1950后到1990后都是“数字化的一代”。他们之间并没有太大的“数字鸿沟”,他们的生意与生活,工作与娱乐都与互联网分不开。这也是为什么80后的扎克伯格能够和50后的乔布斯、60后的贝索斯、70后的佩奇同台竞技的原因。

同时,美国的社会结构是一颗“橄榄”,没有那么大的贫富差距、地区差异、城乡之别,所以,美国的互联网可以说是“全民的互联网”。

但当下中国的社会结构,原本我们以为它会是一座“金字塔”,但越来越变成一颗“图钉”。W和L一个站在削尖的头上,一个站在遥远的钉帽上。中国没有一个所谓“全民的互联网”,中国的互联网是人为割裂的。它既存在于精英的Think笔记本上,也存在于草根的MTK山寨机中。我们的精英也许和美国同步,草根却与越南同步。

事实上,中国的“数字化一代”只存在于北上广等一些大城市,20-40岁之间的几千万中产阶级。剩下的几亿中国互联网用户归根结底都只是QQ用户。互联网改变不了这个现状,能改变它的也许需要更宏大的社会变革和经济变革?

我相信,L看穿了所谓“中国的互联网”的本质。哪些精英们的欲望从来不缺乏满足的渠道,太多的企业在追逐宠坏其实有限的一群客户。相反,有一大批“数字化贫民”却没有办法利用互联网改变自己的命运,没有条件通过网络让自己的生活质量飞升,只能沉醉于廉价的虚拟娱乐中。L的商业很符合本土国情,很和谐社会,但他能够走出国门吗?

我一直相信,终有一天,W能做点“代表先进互联网”的事情,让美国人也能跟着咱们屁股后面学。可现实的磨难会不会打消他的意志呢?

按照哲学家柏拉图的“洞穴”理论,每个人从出生开始就呆在自己挖的一个洞穴里,我们所见的世界只不过是被阳光抛到洞穴墙壁上的影像,而我们这些洞穴的居民却把它当作是真实的世界,因为我们没有见到过其他的东西。而真实的世界却是在洞穴之外,在有太阳的地方。

不管看这个BLOG的各位精英们是否承认,我们和某些人——一群数量比我们大得多的人(中国的农民工、刚毕业的大学生等等,大概3亿人),完全生活在两个不同的世界。如果能关注那一群人,还会有很多机会。但很有可能,我们永远都走不出自己呆的洞穴。

作者:申音 《创业家》杂志主编

原文地址:http://www.5gme.com/space-1513-do-blog-id-105491.html

« 上一页下一页 »