工作:大家也可以考虑下国外[美国] 时代不同了,大家为何不考虑下国外,Rails属于比较新兴的技术,总体来说还是人才还是供不应求,国外很多很多的公司都大量需要Rails Developer。
新的一年就要开始了,我用几个FAQ来给大家稍微说下情况,如果有疑问的可以跟帖我会继续回答。
为啥要出国工作
钱多,环境好,不加班。可以带老婆一起来,生下的孩子就是美国公民。我不是说稀罕美国公民,但是可以给你孩子更多的一个选择。就目前来讲,有权有势的当然留国内好,普通屌丝还是在国外比较舒适。
什么身份出国
签证叫H1B,由于现在工作签证人数众多,每年基本上只有一次机会申办(4月初)。所以如果出国,最好能在3月之前和目标公司达成协议,开始申办H1B
有了offer,办了H1B,什么时候能出来
10月。。确实挺傻逼的,10月才能发下来。所以从你签下offer到10月之间,你是来不了美国的。这段时间你可以到处玩玩,准备准备
他们为什么说面向对象有问题,探讨面向对象的一些缺陷 最近跟某位朋友讨论了一些工作上的事情,他目前就职于某世界500强IT公司,在他们现在做的一个项目中,整个系统构架(基于Web)是完全面向对象的(非基于jQuery的传统WEB,完全OOP,到处都是class,extend, override),而且他对这种框架极其推崇,不过他们经常加班到深夜,打开他们开源框架的GitHub主页,一个知名IT公司做的纯OOP前端框架仅仅有100多个Star(关注),笔者当时从直觉上觉得这里有问题,回去之后仔细反思,搜索了一些资料,算是找到了他们为什么这么累的原因吧。
面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流,不过随着时代的发展,很多人对OO编程方法的看法也出现了一些变化;
面向对象的可维护性
面向对象从一开始就要求我们完全了解各个子类的不同,并将他们的“共性”提取到父类里,从而实现代码复用, 在这个过程中自然形成了一种最强的耦合关系。这种设计方法在需求非常确定的情况下是有效的,但在实际生活中我们发现需求总是在开发过程中不断提出的,而且也总在变化,甚至跟之前完全相反,当你看到你精心设计的框架成为你需求变更的障碍时,你做何感想?
LESS vs SASS?选择哪种CSS样式编程语言? 你可能已经被关于应该用Sass还是用LESS的争论折磨死了。在这篇文章中,我会解释为什么你应该使用Sass。如果你感兴趣,我会介绍如何开始使用Sass以及在预处理时会遇到的一些问题。
在我的长篇大论之前,让我稍微提一下,你应该先学一下LESS。LESS对于初学者来说是极好的:它非常容易使用和设置,它跟CSS非常像,写起来非常直观,简单还有友好,我曾经非常喜欢LESS。
高级JavaScript调试—— console.table() 试想一下,假如你创建了一个编程语言以及其文件后缀名列表:
var languages = [
{ name: "JavaScript", fileExtension: ".js" },
{ name: "TypeScript", fileExtension: ".ts" },
{ name: "CoffeeScript", fileExtension: ".coffee" }
];
现在我们使用console.table()进行打印。
你可以看到如下表格:

为什么 离职:热门回答 你为什么从微软 (Microsoft) 离职?
n年前的事情了... 直接原因是,部门开会,老板(部门经理)介绍下一财年的计划,PPT上列了10多个需要看的指标。我就问他:”哪个指标更重要?”老板答曰:“所有的都很重要”。我当时心里就#!S$T#$SD#$%#$。 开完会回到电脑前,直接Google了辞职信模板
你为什么从腾讯离职?
因为360给我x3的工资。
你为什么从盛大离职?
我等了一天终于等到了这个问题,我之前还在想这尼玛咋没人问为什么从盛大离职呢?
其实马云早就说过,员工离职就俩原因:“钱给少了,干得不爽了;”。
我就分别说说这俩事情吧:
1、钱的事情
核心就三点:给的少,升级慢,还分阶级……
2、干活
俩字形容:狗血!
NodeJS on Nginx: 使用nginx反向代理处理静态页面 
最近OurJS后台已经从纯node.js迁移到了Nginx+NodeJS上来了,感觉性能提升了不少,特与大家分享。
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。nginx反向代理的机制其实并不复杂,当nginx接收到请求,nginx将进行分配,如果是静态页面,直接交给filesystem处理。如果是动态页面,直接交给node.js处理。
尽管Node.JS的性能不错,但处理静态事务确实不是他的专长,如:gzip编码,静态文件,HTTP缓存,SSL处理,负载平衡和反向代理及多站点代理等,都可以通过nginx来完成,从而减小node.js的负载,并通过nginx强大的缓存来节省您网站的流量从而提高网站的加载速度。
入静和入世 人有两种思考状态,我将一种称为入境,另一种称为入世。
入静 程序员和作家需要的是一种入静的状态。他们需要整段的,不被打扰的时间才可以工作。一个下午三点钟的会议,哪怕仅仅持续15分钟,一个下午就会因此 废了。问题不是会议占据的时间,关键问题是会议把一个下午分成了两块,让每块都不够大,都不足以入静。因为对于下午废掉的担心,上午的工作也受到影响,不 太敢开始解决真正困难的问题。所以整天都在一种心神不宁的状态。
在足够长的思考这件事情的空余,或许要上一下厕所,在路上遇到同时打招呼,但脑子还在那个状态,打招呼的是谁不记得了,也不想去注意,以免思路被打 乱。然后回到座位上,脑子里其实彻底没有去过厕所的记忆,而继续思考。。。中午吃饭的时候,如果一个人最好,接着在那个状态里。。。或者随便聊点轻松的话 题,并没有大碍,只要不是动脑筋的东西。这样下午可以相对容易的回到短暂离开的状态。因为我们的明意识在放松,潜意识其实还在连续的工作。
这种入境的状态就像睡觉。需要足够长的时间才能进入状态。我想大家都能理解凌晨三点的一个电话对于睡眠意味着什么吧。
别用CoffeeScript了,你总有一天得学JavaScript 总有那么一天,你不得不去学一下JavaScript。这就是我今年做的一件事儿,你应该也去学一学。我主要JavaScript创建服务器端的代码,一个为网页提供JSON REST APIs的服务;不过同时我也使用AngularJS创建了一些单页面程序。我喜欢用她写一些命令行程序。
这是一种将会长期存在的语言。她看起来有些缺陷,但是她非常流行而且强大。
C语言卓尔不群:我喜欢和讨厌的十件事 最近有个家伙抱怨道“为什么我还要再用C?”-虽然我不同意他的说法,但至少他随口提到如果你“在一台拇指大小的电脑”上编程,或者为一门语言写引导程序,那么可以用C语言。要我说,写设备驱动,或者特定平台的内核,不管怎么说都可以使用C。
几年之前,我用C语言写下了我的第一个网络程序,但我并不推荐这么做。现在,我只用P打头的,尤其是P-y打头的语言写网络程序(译者注:绕什么圈子,不就是Python嘛…)。但在当时,我刚从DOS和TSRs的世界中出来,在那儿用上10KB的RAM我都会觉得大得惊人。
现在我是一名Web开发者,但是仅限于晚上。白天我为嵌入式微处理器编写固件,因此,C依旧是我所选择的语言。我所说的微处理器是那种嵌入烤面包 机,或者其他类似设备中的处理器,只有大概64KB的代码空间以及2KB的RAM。因此,可供选择的语言基本上就只有汇编和C了。(也可以是Forth, 不过那是另外的故事。)
然后,我渐渐发现越是多用C,就越不觉得它讨厌了。因此我就想着要给这个世界最常用的系统级程序语言写一些颂词。
以下分别是关于C语言我喜欢五件事和讨厌的五件事。请随意在底下的评论栏里加上你们自己喜欢或讨厌的事情。
理想和现实之间不是一条直线 
我们在很小的时候就知道:两点之间,直线最短。然而在理想与现实之间,却往往不是一条直线。这种时候,有的人绕道而行,有的人怨天尤人,有的人选择回头。不同的选择便产生了不同的人生。
年轻人,面对生活的重压,面对自己曾经的理想,应该何去何从呢?如果我们把现实当做起点,把理想当做重点,那么在这之间的过程中,总会遇到许许多多的艰难困苦。在追求理想的过程中,没有人不受伤,如果不能以一种平和的心态来对待,那么你的理想将得不到成为现实的机会。
所以,什么样的心态成就什么样的人生。现实和理想之间原本就不是一条直线,只有经历了磨难,才能踏上成功的巅峰。千万不要让心态阻碍理想的实现,使我们成为一个失败者。在追求理想的道路上,无论遭遇什么,都要抱着积极的心态,不能让沮丧取代信心。