这一周
作死选了本英文版 Effective Java,看得好痛苦 T.T.
新单词:
composed 组成
accomplished 典型的,熟练的
encapsulates 封装
transient 短暂的,瞬态的,Java 关键字之一
explicit 明确的
skeletal 骨骼的,骨瘦如柴的
overall efficiency 整体效率
prohibit 禁止
poll 调查,得到,投票
peek 偷看,窥视;眯着眼睛看
ineligible 不合格的,无入选资格的
versus VS
今天晚上整理了下自己写的、转载的文章,还有收藏的一些链接。
在整理过程中可以把我的文章分为 5 类:
- 鸡汤
- 时兴技术
- 零散知识点
- 报错解决办法
- 面试相关
鸡汤
鸡汤这种东西,少喝有益,多喝伤身。
之前有段时间找工作、学习疲惫,总爱看些鸡汤,然后转载过来,结果放在那再也没看。
这次整理过程,看到没什么用的,统统删掉。
不过还是有一些立意新鲜,打破我三观的:
比如这篇 年收入50万美元的软件工程师做的是什么类型的工作?,虽然标题看着有点反胃,图片也丢了,但是观点很正啊,摘几段重温一下:
被忽视的细节是,并不是所有的汗水能够创造同等的价值。
第1种类型的工人希望通过使用“技能”或完成“工作”来“获取报酬”。
第2种类型的工人愿意打破一些规则,成为弃儿,并经历一段不确定时间的饥饿阶段,以期为村庄创造一条源源不断的现金流。
可以说,这个村庄(在这个例子中指Google)中的所有先驱几乎都是第2种类型的人,他们能将自己的渴望维持多年,直到建立数十亿美元的现金流。这部分人创造了很大数量的限制股(RSUs),诸如:
1.从项目成立之初,负责并搭建起项目的主要核心价值。
2.创造新的价值,作为项目的一方面并被证明是有价值的。
3.以一家能创造价值的创业公司的身边被收购。
4.或者(可能性不大),拥有一条价值流的知识垄断。
第2种类型的人并不攀比薪水或就薪水进行谈判,因为他们并不是在贩卖服务给村庄(组织)。他们是在贩卖被忽视的财富。村庄基本上别无选择,只能补偿他,按照他所带来的财富估值。在他手中的财富可以进行交易,使双方受益。
问题并不在于是否会有谈判。而在于当谈判进行时,这一特殊村庄是否会坐在谈判桌的一边。并且当它对于村庄是不可获取的水资源时,在美元符号前的额外的零会被认为是一种无需置疑的必要。
再比如这篇 我为什么把think in java 读了10遍
:
自从干上这行以后,我可能就像中国大多数程序员一样,一个项目接着一个项目,什么不会就学什么,就这样干了5年,什么html、css、js、java、sql、服务器等等都做过了,终于感觉自己都会了,可是又很茫然,为什么呢?
因为在这行里,总有存在这样一些论调,“如果你30岁还做程序员,你就会失业”我不知道这句话是谁说的,但是的确给我的印象很深,那是我快30了,我可不想30岁以后没有饭吃,虽然我这么想但是也没有采取什么行动,直到有一天我不知为什么买了一本think
in java 4th,哦对了,好像是为了面试更高的职位,好像是吧,具体的我记不得,不过这不重要,重要的是我从第二章就有些看不懂了,从那时起,我才知道,妈的,我的基础太差,我有些恐惧了,不是恐惧我会失业,而是恐惧这个行业我干了5年,居然输给了一本书的前50页,丢人。我就怀着这样的心情开始了读think in java,说实在的读第一遍很痛苦,第二遍同样很痛苦,因为很多名词、思想根本不理解,为了理解这些词和思想,迫使我一次又一次的读下去,就这样整整读了一年10遍,虽然有些地方我还是读不明白,但发现我的思想产生了巨大的变化,这个变化不是指java水平,确切的说应该是语言本身。
之后我又读了effective
java等书籍,从那以后在公司中几乎已经没有人是我的对手了,我分析问题的角度和方式与读书之前完全是两个级别,我在公司小有名气了,我有点沾沾自喜,天天盼望着给人讲讲我的思想,就在这样的状态下,我继续买书、读书,不久之后问题又来了,我发现并没有搞懂think in java,更准确的说我没有搞懂计算机,因为我基础太差了,什么数据结构、算法导论等等著作,我几乎是打开前10页就读不下去了,我突然间感到了,整个中国这个行业的浮躁和大学教育的失败,我又重新开始学习基础知识,目的不是为了更高的工资,而是更明白我所从事的事业。
虽然作者表达有点激动,但还是说的比较实际。
还有一些自己立下的 flag,想了想还是留下打脸吧,疼才让人清醒。
时兴技术
虽然从业不到两年,我已经感受到我们这行的特点:变化。
每时每刻 GitHub 上都有新项目创建。
稍微大点的公司都有自己的研发体系,技术框架,其中很多公司拥抱开源,把项目公开,吸引了一大波程序猿体验。
这两年时间,有些是公司要求,有些是自己好奇,也学习了解了一些时兴技术,比如 PhoneGap, CrossWalk … 现在大多随风消逝了。
现在除了收获了过时的文章,我几乎什么也没收获。有人可能觉得积极尝试、主动学习新技术才是好程序员,但我觉得新手还是打好基础再说吧,所以这一阶段也开始看看源码整理整理基础。
刚工作,还是不能心太急啊。
零散知识点
占我文章比例最多的就是一些零散知识点了,简单到 Intent传递数据和Bundle传递数据的区别,也有复杂点的 Android中View绘制流程以及invalidate()等相关方法分析。
比如自定义 View,我有不下转载四五篇文章都是自定义相关,每次都是看别人的,看懂了转过来就完了。结果过段时间还得看。
零散知识记下来当然比不记强,但是不结合相关内容总结个专题,连点为面,到后来都会忘个差不多。
这次整理过程中把一些零散知识点记录下来,发现还不少,留着后续总结。
报错解决办法
写报错解决办法的文章也挺多,一般答案是我意想不到或者没见过的就总结、转载一下。
有一部分内容现在看起来很简单,就删了。
还有些第三方 SDK 使用的步骤,也过时了,删了。
有一部分内容访问量挺多,仔细一看其实都是对工具不熟悉导致的问题,比如 Eclipse 导入 .so ,Android Studio 配置,Gradle 配置。
这些工具的使用其实也值得投入一下时间,那样想必可以减少很多遇见问题、尝试、搜索、记录耽搁的时间把。
面试相关
找工作那段实际,看到面试总结就会收藏、转载,今天把不同时间段收藏的文章对比看了看,发现其实考察内容就是那么点,只不过很多时候看完面经就一笑而过,也没有整理、记录下知识点。
从我校招中工作的过程中,我就发现一件事:
那些看起来技术水平明明不如我的人,被录取的机会却比我更高。
很长一段时间我都觉得不公平,面试官面试我的时候一定是心情不好。
等工作了,接触了一些同事和网友,才知道工作中最重要的不是你开发技术怎么样,而是你是否能清楚的表达、接收、执行需求,表现在跟产品沟通、跟领导沟通、跟测试沟通、跟小伙伴沟通,到最后,最重要的还是“沟通”。
而决定你沟通能力的其实是看不见的软实力,比如认识问题、分析问题、解决问题的思想高度、对待问题的态度性格还有自己的精神状态,工作中、或者面试时,这些是更重要的部分。
我以前觉得自己技术水平努力提高就完事大吉,现在觉得,以前 too naive。
最后矫情一下
我不去想身后会不会袭来寒风冷雨
既然目标是地平线
留给世界的只能是背影
我不去想未来是平坦还是泥泞
只要热爱生命
一切,都在意料之中