forecho 的独立博客

把生命浪费在美好的事物上

天赋还是努力

2013年10月27日

刚开始听说《怪兽大学》这个动漫电影的时候,看了一下预告片,然后海报,觉得,哇,真的是怪兽,第一次看的话还有点「吓人」,就跟我看《卑鄙的我》一样,还是不适应那个主角的画风,腿那么细,不过「小黄人」确实很可爱。

后来没想到《怪兽大学》还有上一部,叫《怪兽电力公司》,于是先看的这部。想象力真的丰富,我是怎么也想不到电力是由一群怪兽通过吓小孩,然后由收集到的小孩尖叫获取到的,绝对想不到。然后到故事的结尾还把收集吓小孩的尖叫声变成手机小孩的笑声,真是很好的转变,美好的结局,这是皮克斯的一贯的作风。

《怪兽大学》是《怪兽电力公司》的前传,这一部主要讲的是比赛谁最吓人,大家都想获得冠军。大眼仔麦克·华斯基为了这个目标一直非常的努力,课本被的滚瓜烂熟,没事就跑去图书馆看书,知道各种吓人的方法。同学毛怪詹姆士·苏利文却整天玩,他们两个比赛吓人的话,结果确是毛怪赢。就是因为大眼仔天生长的不吓人,个头又小。而毛怪长的个头大,随便那么一吓就挺吓人的,这就是在拼天赋,无论你后天怎么努力有些东西你就是不行。

知乎上有个问题是:人不聪明怎么办?有个人是这样回答的:「真正努力过的人,就会明白天赋的重要。」但是又有这样一句话「以大多数人的努力程度之低,根本轮不到拼天赋。」这就让人变的比较疑惑了。

在看《怪兽大学》的时候,到后面我其实是很想看到大眼仔通过努力变成一个吓人的高手的,但是事实是他再怎么努力也是没有毛怪厉害的,这就是天赋的力量。但是就这样结束了吗?这样的结局并不美好,不符合皮克斯的风格啊。所以最后在毛怪的鼓励下,大眼仔找到了自己的方向,正确的说他找到自己擅长的事了,就是用自己智慧做毛怪的搭档,做自己最擅长的策划。所以说找准方向还是很重要的。 前几天买了本《高效能程序员的修炼》,是 Jeff Atwood 写的,其实之前也没听过这个人,后来才知道他是Stack Overflow的创始人之一,非常了不起,这个网站也非常好。其中有一段是这样的:

其实,天赋跟成功的关系并不大。如果你有敏锐的商业嗅觉和不错的人际交往能力,你依然可以变得很成功。如果你是一个普通的程序员,但你还能靠这一行过上不错的生活,这已经说明你是很有才的了,只是你不必非得干程序员这一行。 人贵有自知之明。通常你的能力都会比你自认为的要低。缺乏天赋并不是什么大不了的事情。要勇敢一点,发掘自己的特长,并且充分加以发挥。

这不正是我看的这部《怪兽大学》所阐述的观点吗?这不禁让我想起了毛姆在《月亮与六便士》里的观点,「文学或是艺术品它是一种基于个人经验的产物,如果你没有体验过某种类似的情景或是做过接近的思考,你很难直接通过文字或是画面获得共鸣。」

所以我认为平常还是多看看书,如果你遇到什么问题,说不定就能在书里面找到答案的。可能是受到《暗时间》这本书的影响,我现在一有点想法就想写下来,不然他会一直停留在我的脑海中,如果没有记下来,总感觉有什么事没做一样。建议大家平常有什么一瞬间的想法要立刻记录下来,这是一笔很宝贵的资源。如果不记录下来,你下次就可能真的想不起来了。

最后感谢皮克斯的动漫电影,他们的电影通常都是很温馨很搞笑,老少皆宜。是他们让世界多了一份欢笑。大部分的作品我都喜欢。

代码不值钱

2013年10月21日

最近发现 Podcast 这个好玩的东西,分享给大家。比方说这个:http://teahour.fm/ 如果有 iPhone 的话直接去下载 Podcast ,可以直接去订阅,非常 cool。

其实 teahour 这个网站我以前有知道过,那时候还听过一集,是讲「暴走漫画」架构的。那个时候对这种纯音频形式的播客没能感兴趣,一直到「十一」之前,无意中又登录到这个网站了,并且还比较认真的听完了一集,听完之后感觉还真不错,很喜欢这个分享。(其实主要是十一要回家,而路途接近三个小时,听这个来打发时间的)

据我了解这个 teahour 创始人是比较偏向 Ruby 语言的,去 Ruby-China 的论坛去看看,你会发现其实的氛围真不错,之前就在知乎上看到有人这样说:「假如你想帮他尽快找个活儿,赚到钱,推荐PHP。假如你想让他成为一个高效工程师,推荐 Python。假如你想让他爱上他的工作,推荐Ruby。」,在后来发现 PHP 的很多框架(比方说 Yii、CakePHP)设计思想很多都有借鉴 Ruby On Rails 的,这些都不禁让我对 Ruby 产生了好感,很想去学习。为此我还买了本 Ruby 创始人写过的《松本行弘的程序世界》。好吧,有点扯远了,可能是介于这个原因,所以我觉得 teahour 上面请的人都比较偏向 Ruby 开发者,比方说我最近听的「跟简书的赵波聊从大公司到创业」和「和Rei一起聊聊他的创业项目 - Writings.io」。

根据我听到的这两个 Podcast 再加上最近的一些「思考」就有了想写这篇文章的想法了。

一个好的互联网项目,绝对不会是因为代码写的好而成功的。而一个失败的互联网产品可能是因为代码写的不好、功能满足不了需求而失败的。想想 Facebook 做社交为什么能成功,而 Google 做的 Google+ 为什么就没有那么的成功,为什么新浪做微博成功了,其他网易、腾讯、搜狐做微博就不能成功。你能说他们的技术不给力吗?不可能的,Google 的技术绝对不会必 Facebook 的差。首页每个公司都会有属于自己的属性的,比方说新浪是属于媒体公司,所以他去做微博这样一款具备媒体功能的产品必定是有成绩的,如果他去做搜索肯定是不合适的。当年有人跟马云说阿里巴巴是一家电子商务公司,他就跟人家急了,阿里巴巴是一家服务型的功能,他只不过是借助互联网这个目前看来最好的方式来完成自己的服务的,如果未来有很好的服务方式,他们会立刻用那种方式的。

用过 ERP、RTX 等一些企业级的软件的你,可能会感叹,怎么会有这么落后的 UI,界面怎么还这么丑,其实我以前这样想过,然后还想着为什么不开发一款这样的软件,但是界面做的好看一点呢?这样一定会有很多人用的。但是真的会这样的吗?简述的赵波以前在 SAP 上了四年班,SAP 就是转为大型企业提供管理系统的,听了他的经历真是很受益。SAP 的系统软件都是那种很丑的,但是他们的系统却卖的非常的好,他们公司有专门的行业研究人员做需求,比方说他们公司有专门研究化学工厂需求方面的人员,有专门研究药厂需求的人员等等,他们了解企业的需求,抓住了这个核心,他们的界面做的丑一点,运行速度多1秒钟,这些客户都不会在乎的,他们在乎的是,我要的功能你要有,我要的数据要准确,要同步。所以当时赵波出来之后没有去做一个会计软件,虽然你有那个技术,但是他完全不懂会计的需求。

关于 Rei 一个人开发的这个 Writings.io 项目,技术方面肯定是没话说的,但是就在前一段时间,Rei 宣布这个项目失败了。其实项目是好的,但是运营没做好,或者说没有这个项目找准路,所以这个项目失败了。Hacker News

为什么在 IT 界这么火,完全是因为这个项目是由 Y Combinator 创建的,他们能带动很多牛人在他网站上去讨论,有了这些牛人做核心会员,这个网站访问量还会有不高的吗?国内的冯大辉做了一个中国版的叫 Startup News,在他的带领下这个网站还是不错的,其实你简单研究下这个网站发现功能都是很简答的,我自己都能写开发这样的网站来。他们的成功并不是因为项目的代码写的好。

接下来我们来聊聊微信,微信现在是越来越火了,之前的米聊我是没用过了,界面做的太丑了。前一阵子网易和电信合作开发出来了一款 App 叫「易信」,以及最近比较火的、阿里巴巴出品的「来往」。其实我都觉得微信在背后有在偷笑,这些产品都是在模仿微信,最典型的例子是模仿微信出的公众平台了,真是一点创意都没有,连我都不看好这些产品。但是他们花了那么多钱和尽力去推广,多多少少还是会有人用的,但是最终呢?那就不好说了,社交这个东西没有人用,你做的再好,这个产品也是失败的。Evernote 是比较喜欢的一个公司,他们很火的时候,国内也出了很多不少类似的笔记产品,什么为知、麦库、有道笔记,我都体验过,但是最让我满意的还是印象笔记(Evernote 的中文版,英文版服务器太慢了)。在爱范儿上看到过一些关于这个公司的报道,发现是一个很有区的公司,你去了解一下这个公司的产品你就知道了。他们是在打造一个以「生活方式」为主题的公司,那些模仿印象笔记的产品最好能找到自己的出路,作出一点创新,找准自己产品要走的路,要不然只知道模范,你会死的很惨的。我抄袭抄的比较好的有新浪微博、微信(特别是最近比较火的微信 、QQ出的手机小游戏,加了社交的功能,很不错,完全是模仿 LINE 的。)多想想为什么他们会成功。 但是也不能一味的去否定代码,你的想法以及运营能力很不错,但是你不能实现这个技术,也是没有用的。

「技术的作用从短期来看往往被高估,但是从长期来看又往往容易被低估」这句话很多电商公司 CEO 可能永远都不会明白。重视你们的技术团队,重视你们的技术人才,在技术上持续做投入才是王道。否则的话,学亚马逊也没有用。众所周知,亚马逊的技术是业界第一流的。

Comments

Rui Chopper: 在卖erp的公司,技术人员往往得不到重视,尤其在用友,做技术的根本得不到重视。工作一年半深有体会。。。但是ui那么烂的产品,价格那么高,事业机关单位任然会高高兴兴买单,这一点为什么,嘻,自己体会~

Rui Chopper: 发现你的东西越写越多啦,看来思维的力量很强大,独立思考的能力就是在大量阅读和思考下培养出来的吧,学习学习~

ForEcho: 我现在有点想法就想写下来,越写越来劲。

硅谷传奇

2013年10月18日

前一段时间一部叫做《乔布斯》的电影上映了,但是评价很差,以为精彩的故事要开始的时候,缺是影片结束的时候。反正是个烂片吧。

就在这个时候我发现了这部电影,是1999年上映的电影了,但是确是一部还不错的电影,电影主要讲了乔布斯和比尔盖茨的故事,看完电影之后我对他们俩又有重新的认识了。但是电影中的又有多少是真实的呢?这是我所不知道的,我现在只讨论这部电影。

《乔布斯传》我看了一点,还在看,基本上影片中的片段书中都有,所以我觉得这部电影还是挺靠谱的。

电影是以倒序插叙的形式来讲述的,所以刚开始看的时候我看得是一头雾水的。乔布斯是一个很有个人魅力的人,他能打电话说服别人免费为他提供某个硬件,他能在一群人围着他的情况下稳而不乱的为他们讲述,但是沃兹不会,他甚至有社交恐惧症,但是他技术牛。他们俩在一起真是绝配。他一边在HP上班的时候,一边开发电脑,当它开发成功,给HP高管展示的时候,他们根本不懂这个东西,还好他们不喜欢,这才有了后续的故事。(沃兹在HP工作的时候签订的合同中有一条是,工作期间开发的任何东西都属于HP所有,所以要私自使用这个电脑,必须要通过他们的同意。)

然后他们开始展示他们的电脑,然后乔布斯去找投资,自然是很难找到,因为别人都看不懂电脑。但是有人主动找上来了。然后apple公司的迅速发展,乔布斯性格变的非常的暴躁,对员工的要求也非常的苛刻,要去员工非常的忠诚,要是我是apple的员工我也受不了乔布斯的,那就不能怪有员工受不了乔布斯都跟他打起架来了。后来一个叫施乐的研究室研究出了图形化界面,他向公司展示结果,但是那帮「老头」显然看不起这个东西,也看不懂这是什么。但是乔布斯看到了,他很激动,并且说服了施乐把这个成果送给他们,他真的有这个能力。公司发展的太快了,连沃兹都跟不上了,直达有一天,他受不了乔布斯了,提出离开apple。一直没能理解为什么乔布斯把她的女朋友和女儿抛弃了,难道是因为他从小也是被抛弃的原因吗?看到那段觉得乔布斯挺可恶的。

比尔盖茨没有沃兹技术这么好的朋友,他们的电脑是他用自己开发出来的编程语言换来的「奖品」。盖茨也非常的痴迷电脑,他是第一个意识到软件版权的,他还把操作系统卖给了IBM(虽然这个有他母亲的帮助),他卖给IBM的系统甚至是自己另花钱买的操作系统,他卖给IBM的操作系统只是使用费,操作系统还是盖茨的,他太聪明了。乔布斯发现施乐的图形化操作系统的时候,盖茨也发现了这其中的无限潜力,但是其他人根本看不到,这是不是他们成功的原因呢?真是英雄所见略同,但是被乔布斯强先一步了,所以盖茨为了得到这个,使用了点「卑鄙」的手段,那时候的乔布斯根本没把盖茨放在眼里。从windows诞生开始起,他们就开始反目成仇了。他们俩都说过相同的一句话 - 「好的艺术家复制,伟大的艺术家偷窃。Good artists copy.Great artists steal.」。

不过跟IOS相比,windows确实很稀烂,但是有没有想过如果当初没有windows的话我们的生活会是怎样?

Comments

Rui Chopper: 我觉得这些伟大的人总会有相同的地方,比如执着

ForEcho: 确实有相同的地方,都有远见,看到了一般人没有看到的东西。

CakePHP 命名规则

2013年10月17日

表名和控制器为复数,模型名为单数。

  1. 一般来说,文件名是由下划线将单词分开,但是类名通常使用驼峰命名法。
  2. 模型类别名称是单数且使用骆驼命名法。
  3. 数据表名称对应到CakePHP 模型是复数且以下划线分隔单字。
  4. 控制器的类别名称是复数,使用骆驼命名法,并在最后加上Controller 。
  5. 如果一控制器的函数已加上下划线,函数将不可直接从网站上取存,但是可以供内部使用。
  6. url 应该由小写字母和下划线组成。
  7. 网址遵循下面这种形式 http://域名/Cake应用文件夹名/控制器名/操作名
  8. Cake所有的视图文件都保存在app文件夹下的视图文件夹里,在这个文件夹里,单个控制器的所有视图都被保存在以控制器命名的子文件夹里

大型网站架构的演化

2013年10月14日

网站一般分三个部分:应用程序、文件、数据库。

  1. 初级阶段的网站架构就是把所有的资源放在一台服务器上就够了。
  2. 应用服务和数据服务分离:整个网站使用三台服务器 - 应用服务器、文件服务器、数据库服务器。
  3. 使用缓存改善网站性能:一种是本地缓存,更好的是远程分布式缓存。(本地缓存虽然速度更快,但是受应用服务器内存的限制,其缓存数据量有限,而且会出现和应用服务器争用内存的情况)
  4. 使用应用服务器集群改善网站的并发处理能力,通过负载均衡调度服务器。
  5. 数据库读写分离:通过配置两台数据库主从关系,实现主数据库同步更新从数据库,读数据库的时候通过从数据库获取到数据。
  6. 使用反向代理和CDN加速网站响应:CDN部署在网络供应商的机房里,可以从距离最近的网络提供商机房获取数据。反向代理部署在网站的中心机房,访问机房的时候,如果反向代理服务器中缓存着用户请求的资源,就将其直接返回给用户。
  7. 使用分布式文件系统和分布式数据库系统。
  8. 使用NoSQL和搜索引擎。
  9. 业务拆分:将一个网站拆分成许多不同的应用,每个应用独立部署。(通常还是访问同一个数据库)
  10. 分布式服务:把每一个应用系统相同的业务提取出来,独立部署。可复用的业务链接数据库,提供公用业务服务,而应用系统只需要管理用户界面,通过分布式服务调用共用业务服务完成具体业务操作。

–The End–

Git 初使用

2013年10月11日

  • Mac 安装 Git,软件下载地址:https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

  • 第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:

1
2
$ git config --global user.name "forecho"
$ git config --global user.email caizhenghai@gmail.com
  • 建立 SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。
1
$ ssh-keygen -t rsa -C "caizhenghai@gmail.com"
1
$ cat ~/.ssh/id_rsa.pub
  • Clone 项目
1
$ git clone https://github.com/iiYii/getyii.git
  • 复制文件到这个目录下,然后跟踪新的文件:
1
2
3
$ git add .    # 跟踪所有改动过的文件
$ git add -u    # 只加修改过的文件, 新增的文件不加入.
$ git add -i     # 进入互动模式
  • 提交变更:
1
2
$ git commit -m "xxxx"
$ git commit -a -m 'xxxx'

commit和commit -a的区别: commit -a相当于: 第一步:自动地add所有改动的代码,使得所有的开发代码都列于index file中 第二步:自动地删除那些在index file中但不在工作树中的文件 第三步:执行commit命令来提交 ​

  • 推送到服务器上:
1
$ git push
  • 恢复单个文件
1
$ git checkout -- hello.rb

远程服务器覆盖当前的改动:

1
$ git checkout -f
  • 添加被忽略的文件以及文件夹
1
$ git add -f 文件路径
  • 服务器更新本地
1
$ git pull
  • git如何查看某一个文件的详细提交记录
1
$ git log -p filename
  • 配置常用别名
1
2
3
4
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
  • 使用 vim 作为默认编辑器
1
git config --global core.editor "vim"
  • 忽略 new mode old mode 修改
1
git config core.filemode false

整理一下我经历的PHP面试题

2013年10月08日

1、用css、html编写一个两列布局的网页,右侧固定宽度200px,左侧自适应。(答案如下,IE下没测试,Chrome下正常)

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<title></title>
</head>
<style type="text/css">
div{
	height: 200px;
}
#left{
	float: left;
	width: 100%;
	margin-left: -210px;
}
#content{
	margin-left: 210px;
	border: 1px solid #ccc;
}
#right{
	float: right;
	width: 200px;
	border: 1px solid #ccc;
}

</style>
<body>
<div id="left">
	<div id="content">
		我在左边 可以自动适应
	</div>
</div>

<div id="right">
	我在右边 固定宽度200px
</div>

</body>
</html>

2、简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)

索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。 普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。普通索引允许被索引的数据列包含重复的值。如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。也就是说,唯一索引可以保证数据记录的唯一性。 主键,是一种特殊的唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字PRIMARYKEY来创建。 索引可以覆盖多个数据列,如像INDEX(columnA,columnB)索引,这就是联合索引。索引可以极大的提高数据的查询速度,但是会降低插入、删除、更新表的速度,因为在执行这些写操作时,还要操作索引文件。

3、JS 表单弹出对话框函数是 ?获得输入焦点函数是 ?

弹出对话框函数:alert(), prompt(), confirm() 获得输入焦点函数: focus()

4、JS 的转向函数是?怎么引入一个外部 JS 文件?

转向使用 window.location.href=”” 引入外部 js 使用

5、include 和 require 都能把另外一个文件包含到当前文件中 ,他们有什么区别? Include 和 include_once 又有什么区别?

二者区别只有一个,那就是对包含文件的需求程度, include就是包含,如果被包含的 文件不存在的话,那么则会提示一个错误,但是程序会继续执行下去。而 require 意思是需要,如果被包含文件不存在或者无法打开的时候,则会提示错误, 并且会终止程序的执行。这两种结构除了在如何处理失败之外完全一样 。once 的意思是一次,那么 include_once 和 require_once 表示只包含一次,避免重复包含。

6、echo(),print(),print_r()的区别?

echo 是一个语言结构,输出一个或多个字符串; print() 实际上不是一个函数(它是一个语言结构),因此你可以不必使用圆括号来括起 它的参数列表 ,它输出一个字符串 ; print_r () 是一个函数,打印变量的信息,基本类型,数组,对象。

7、用 PHP 打印出前一天的时间格式是 2006-5-10 22:21:21。

<?php echo date("Y-m-d H:i:s", time()-3600*24); ?>
<?php echo date("Y-m-d H:i:s", strtotime("-1 days")); ?>

8、求两个日期的差数,例如 2009-3-1 ~ 2009-4-4 的日期差数?

<?php echo (strtotime("2009-4-4")-strtotime("2009-3-1"))/3600*24;?>

9、用 PHP 写出显示客户端 IP 与服务器 IP 的代码。

客户端 IP:$_SERVER[“REMOTE_ADDR”] 服务器端 IP:$_SERVER[“SERVER_ADDR”]

10、sql 语句应该考虑哪些安全性?

防止 Sql 注入,对特殊字符进行转义、过滤或者使用预编译的 sql 语句绑定变量。 最小权限原则,特别是不要用 root 账户,为不同的类型的动作或者组建使用不同的账户。当 sql 运行出错时,不要把数据库返回的错误信息全部显示给用户 ,以防止泄露服务器和数据库相关信息。

11、MYSQL 取得当前时间的函数是?,格式化日期的函数是?

current_time() 用于取得当前时间 date_format(datetime, format)用于格式化日期,如:select date_format(now(),’%Y%m%d’);

12、请简述项目中优化 sql 语句执行效率的方法,从哪些方面,sql 语句性能如何分析?

1) 尽量选择较小的列 2) 将where中用的比较频繁的字段建立索引 3) select子句中避免使用‘*’ 4) 避免在索引列上使用计算 、not in 和<>等操作 5) 当只需要一行数据的时候使用 limit 1 6) 保证单表数据不超过 200W,适时分割表。 针对查询较慢的语句,可以使用explain 来分析该语句具体的执行情况。

13、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别?

区别主要有以下几个: 构成上,MyISAM 的表在磁盘中有三个文件组成,分别是表定义文件( .frm)、数据文 件(.MYD)、索引文件(.MYI),而 InnoDB 的表由表定义文件(.frm)、表空间数据和日志文 件组成。 安全方面, MyISAM 强调的是性能,其 查询 效率较高,但不支持事务和外键等安全性 方面的功能,而 InnoDB 支持事务和外键等高级功能 ,查询效率稍低。 对锁的支持,MyISAM 支持表锁,而 InnoDB 支持行锁。

读《打造Facebook》

2013年10月07日

这本书应该是我从云南回来的时候开始看的,也是我花的最短时间看完的一本书。用Kindle看完的,废话说完了,下面进入主题。

作者是曾经的Facebook的中国工程师,他加入Facebook那会儿,Facebook

300人都不到。那么这本书就是从他的视角带着我们去了解Facebook的一些内部情况。之前就很想读《Facebook效应》,但是被搁置了,所以这本书是我读的第一本关于Facebook的书。

Facebook的CEO - 马克 扎克伯格一直把Google当作自己的偶像。所以跟Google一样,Facebook也是一家以工程师为驱动的公司,在公司里面工程师同样会有很大的话语权,同样会有很高的薪水。Google有「20%时间做自己感兴趣的项目」的企业文化,那么Facebook的企业文化就是「黑客文化」,并且每年的F8大会之后都会有编程马拉松。

Facebook的招人要求很高,他们只招一流的人才。跟乔布斯是一样的,只有跟一流的人才做事你才会打造出一流的事情。并且Facebook非常的注重寻找人才这块业务,如果一个一流的人才没有到你的公司来上班,他很有可能就回去你的竞争对手公司上班去了。

通过Facebook的面试之后会有6周的「新兵训练营」,主要是让你去了解公司的一些情况,在这期间你还要是找到自己感兴趣的小组,选择自己的职位。如果你上班满一年之后感觉自己的岗位以及自己做的事很无聊,没有挑战的时候,你还可以参与公司的「Hack-A-Month计划」,说白了就是换组工作,只不过你首先要先去别的小组试工作一个月,一个月之后,双方小组满意之后,可以申请换组,这个计划的前提是你的技术足够牛。

在Facebook上班你需要有跟公司同样的价值观,大家都是为了Facebook整体着想,不能只为自己的小组着想。大家的劲都往一处使,想想在这样一个公司上班,是多么幸福的一件事。在Facebook绝大多数关于公司的情况都是透明的,因为扎克伯格希望大家都知道自己做事的一些情况,在一个什么样的公司以及公司每天的一些变化,同时有个规定就是这些内部的消息必须不能向外部泄露出去。

在Facebook有个很重要的观点是:不要去追求完美。不要想着一次去把事情做完美,完成比追求完美更重要。当然这个前提就是你这个完成之后的产品也不能太差了。iPhone追求完美是因为它是硬件产品,更新换代很不方便,但每一代iPhone都不是最完美的,不然怎么会有新一代的iPhone呢?但是作为web开发的Facebook就不同了,web开发有个很大的优势,就是产品在服务端,产品升级换代非常的方便,所以刚开始做产品的时候不需要去追求完美,我们做完一个版本然后做大量的数据分析、数据调查。根据反馈设计新的功能。

Facebook的更新都是灰度发布的,可以设定属性,根据熟悉更新部分,然后根据反馈可以快速的应变。

Comments

Rui Chopper: 以工程师 为驱动的公司,在国内很少见,几乎没有。。。哎

ForEcho: 其实是有的,只不过可能是小公司,名气没那么大。可能氛围也不会有Facebook和Google的那么好。

这次旅行的收获

2013年10月07日

龙哥说的好:「出来的玩的,要么是失恋的,要么是失业的,要么就是跟风」,我怎么感觉我三个都沾点边呢? 这次出来玩,给出了很多第一次:

  • 第一次逃票,有点刺激,但是后来发觉一点都不好玩。
  • 第一次搭车,搭车倒是穷游的好办法,你想想我坐车从大理去泸沽湖一趟就80呢,来回搭车我能省好多钱。并且搭车是一个很好的体验,你永远不知道谁会搭你,然后你们将会发生什么样的故事。感觉挺好玩的。
  • 第一次住青旅,青旅大部分都是上下铺床位房,比较便宜,大家都是出来玩的,然后在里面住能遇到很多小伙伴,如果你们的线路一致,很容易的就能组队结伴。有的青旅男女混住有的是分开住。最吸引我的是青旅文化,大家一起玩,在院子里面聊天。彼此分享着自己的故事。发现住青旅的大家很容易就能搭讪上,很简单的一句「hello」,然后你们就可以聊上了。

第二站:云南

2013年09月26日

我的线路是:深圳->昆明->大理->双廊->大理->丽江->泸沽湖->丽江->昆明->深圳(本来计划要去香格里拉的,但由于时间问题,没去成,留给下次再去吧。)

 一、到昆明