一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Hobby

17 年编程生涯的三大经验总结

今年将迎来我编程的第十七个年头。我的编程之旅始于九十年代末,上大学的时候,主要涉足基于表格的网页设计,传统的ASP,和Microsoft Access数据库。原来只是当作业余爱好的编程现在已经成为了我的事业和激情。我一生一半的时间都在学习、蹒跚、成功、失败,并且经常情不自禁地为代码 美丽和复杂的天性而折腰。 我在代码上淫浸了足够长的时间,因此看到了很多语言和平台的兴盛和消亡,看到了很多模式被普及,被苛责,然后再次被推广。在某些时候,我常常分不清这是大势所趋还是明日黄花。 编程的流行趋势是短暂的,但我坚守的规则,往往在生活中的其他地方也能发挥作用。事实上,生活就像代码(我已经买了这个域名来证明这一点!)。以下是我总结的3个伟大的经验教训,历经一次又一次编程和生活的大浪淘沙。 1.可商榷的决定往往是一种权衡。 伟大的辩论总是发生在开发社区中。无论它是最近关于TDD作为web开发的一种可行方法的辩论,还是什么水平的开发人员应该使用ORM(或 micro-ORMs)。无论是.NET MVC应该优于WebForms还是以JavaScript为中心的app应该比基于页面的app更受青睐,对我来说,答案都一样:看你权衡之后的取舍? 在任何比较两种流行方法的辩论中,我们总是会从自己的立场出发,两利相权取其重,两害相权取其轻。在我的职业生涯早期,我曾执着于追求所谓的正确答 案。感觉过程是线性的:摆脱做事的老办法,转而投向新的并且更好的方法的怀抱。曾经有一段时间我深信,编写自己的SQL查询是一种过时的练习,并且 ORMs是最后赢家。 但是,我了解到,更好的办法应该由内容决定的。例如,今天完全成熟的ORMs在隔离映射相关数据网格到对象的冗长管道提供了伟大服务,但隔离也使得某种非标准查询变得困难并且有潜在的效率低下问题。n+1 select problem就是经典的在少写代码和写更多高效代码之间做权衡。我使用ORM的程度完全受我期待应用程序使用的数据量,我所受到的潜在的时间限制,app长期可扩展性需求这三者的影响。(顺便说一句,我目前是micro-ORMs,比如说Dapper的忠实粉丝,它能让我编写我自己的SQL和一些精巧的对象-关系映射)。 我已经将这个经验应用到了我生活的其他方面。我是应该买一套公寓还是长租房子?我是应该启动自己的生意还是工作于已经成立的公司?没有绝对正确的选择。当你权衡利弊了之后,你便可以更好地应对生活中的各种难题。 2.清晰并不总和简洁相关。 和大多数工程师一样,我对持续重构一直到代码尽可能地少和简洁的机会垂涎三尺。如果可以选择更少又更简洁的代码来完成同样的任务,那么我为什么要选 择要个更多代码的方案呢?通常情况下,更简洁的语言会导致更好的交流。画蛇添足只会阻碍核心信息的提取。但是,最终的目标不应该是简洁——而应该是可交 流。于我而言,下面这段直截了当的代码,在它更长的时候…… ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 if (HasFarm() && HasBoat()) {   Broadcast("You are wealthy!"); } else if (HasFarm() && !HasBoat()) {   Broadcast("You are OK!"); } else if (!HasFarm() && HasBoat()) {   Broadcast("You are OK!"); } else if (!HasFarm() && !HasBoat()) {   Broadcast("You are poor!"); } ……反而比这个简洁版本更明确。 ? 1 2 3 (HasFarm() && HasBoat()) ? Broadcast("You are wealthy!") :  (HasFarm() || HasBoat()) ? Broadcast("You are OK!") :  Broadcast("You are poor!"); 虽然这是一个品味问题(有些人可能会觉得后者看上去更加一目了然),但是我在这里要表述的观点是,有时候解释的最伟大方法并不是简化。这个经验也适 用于日常生活,我花了大量时间来思考怎么样才能更好地传达消息以便于对方接收——有时更详细的讲解并非没有价值,而是更明确传达信息的必须。 举例来说,我想要更明确和更详细地告诉我爸爸应该如何关闭iPad(“按住右侧的按钮一段时间……”)。或者,我看似多此一举地键入了一些我已经提 交到本地分支的内容给我的同事(“刚刚犯的错误已被修复”),然后当它涉及到部署更新到产品中时,我就能很明确地知道哪些具体的提交被合并和出现(“检查 4812-4822行,其中包括在6/15发行版本中的DoneDone问题,将在今晚的产品发布中提出来。”)。 3.累计良性债务,并且要持续偿还。 我在一个特别害怕欠债的家庭中长大。八十年代中期,我的父母倾其所有又东拼西凑,付了他们第一套房子75%的首付,然后在七年内付清了剩余款项。用现金支付是常态。信用支付在他们看来几乎是一种罪过。作为一个孩子,我的看法是,债务完全是坏的。我从不认为欠债是一种优势。 直到我看到其他人是如何对待债务的——在我20出头的时候——我终于知道了债务也可以是有益的。如果你能够合理地承担债务,那么之后你也能获得成功。如果借助现在更好的上升空间可以加速你之后的成长,那么债务可以成为一笔巨大的财富。 代码也是如此。有时它值得你现在承担一点债务——错过抽象或者有一些未优化的SQL代码——如果这样做可以让你更快地发布内容给不断增长的观众的话。关键是要了解你必须偿还它,以及你可以在适当的时间段之后偿还。 这就是债务在生活和编程中的窍门。偿还债务需要持续进行。将一周10%的时间用于重构,相当于你是在按时支付编码的信用卡账单。如果你保持一种持续、可支撑的还债状态,那么累积债务实际上对你是有好处的。 译文链接:http://www.codeceo.com/article/17-year-3-tips-programming.html 英文原文:Programming’s three life lessons 翻译作者:码农网 – 小峰 from:http://www.oschina.net/news/73943/17-years-code

龙生   02 Jun 2016
View Details

Google 打败 Oracle 赢得 Java 版权案官司

Google 和 Oracle 关于 Java 侵权案的陪审团裁定,谷歌使用 Oracle 创建的 Java 软件来创建 Android 系统是合理使用,不构成版权侵犯。 此判决标志着 Oracle 在 2012 年起诉 Google 关于侵犯 Java 版权的案子正式结束,Google 因此避免了 90 亿美元的赔偿。此案同时也给在编写不同平台上应用程序但没有许可证的程序员们最大的安慰。 甲骨文认为,谷歌需要一个许可才能在 Android 操作系统上使用 Java 编程语言,但是陪审团周四在旧金山联邦法院否认了这种说法,认为谷歌是合理使用代码,符合著作权。 IDC 分析师 Al Hilwa 表示:很多人都松了一口气!判决结果为软件企业提供保障,使得他们在开发各种可互操作的软件时没有法律风险。而数以万计使用 API 的软件开发人员更将将庆祝这一判决结果。谷歌的胜诉解决了他们在开发从游戏到企业应用中一个非常关键的问题。 from:http://www.oschina.net/news/73784/google-defeats-oracle-copyright-java-android

龙生   27 May 2016
View Details

财色名食睡

1 财富从哪里来的?佛在经论里面给我们说得太多了,财富是从布施得来的。 2 布施是种因,财布施得财富。这个世间发大财的人,你不必羡慕他,他命里有那么多财,是他前世修财布施修得多。 3 财富放在什么地方利息最大?给诸位说,布施一切众生这个利息最大。 4 佛门讲“舍一得万报”,这是真的,可是一般人不相信,这是他的善根不足。信解是善根,信了之后你要肯干,肯干是你有福报。 5 佛在一切经里面都教给我们,你修财布施,你生生世世财用不缺乏,为什么?你种的因好。 6 财用不缺乏,这个好!不缺,这个多自在!不必要占有,不必要积蓄。 7 小乘经上讲“积财丧道”,丧什么道?六度是菩萨道,积财,菩萨道失掉了。 8 佛不叫我们积财,有财就布施掉,你这里布施掉,到你需要的时候决定有,不会缺乏。 9 世间人学佛,不信佛!对佛讲的这个不敢相信,怕布施掉,明天要用没有了怎么办?这就是对于佛不相信。 10 财布施,这只是布施,不能成为功德,这里面没有功夫;没功夫,就是不能断悭贪。吝财,得贫穷的果报! 11 有一些好心人,没有智慧,听到一点佛法,要喜舍,把他的钱财都舍了,都送给别人;别人干的是什么事,都不晓得! 12 如果那个人是个邪门歪道,换句话说,你这个“舍财”帮助他造恶。 13 他没有财,他造恶有限,他财多了,造的业更重,将来他是祸首,你是从犯。这个舍就舍坏了,就舍错了。 14 正法没有了,邪法外道逐渐兴旺,信徒多,财力雄厚,他有钱可以包电视台宣传他的法门,所以修福没有真正智慧,你修不到福。 15 “财色名食睡”这些东西在眼前,你如果还动心,你离不了欲界,三界里头欲界不能超越。 16 在娑婆世界苦!不管你是什么样的地位,你有多大的财富,穷人有穷人的苦处,富人有富人的苦处。做了国王他也不自在,他还有他的苦处。 17 经上说“财色名食睡”,这是五盖,五种烦恼,本性里头没有的。“盖”是比喻,把你自性里面的智慧、德能盖住了;“盖”就是“障”的意思。 18 对于外面境界(财色名食睡、名闻利养),只要你能看得破、放得下,你在一切境界里面得大自在。 19 财色名食睡、名闻利养,我们要放下,我们不求这些东西。这些东西纵然得到,应当立刻舍弃,为什么?我们心才清净。你要不舍弃,名利能染污你的自性。 20 佛在经上常说:财色名食睡,地狱五条根;你只要有一条,轮回就出不去。 21 印光大师是菩萨再来,对于现代人的毛病了解得最清楚、最透彻。他老人家曾说,“业海茫茫,难断无如色欲”我们这个社会,最容易犯的是邪淫。 22 邪淫不仅仅是指男女之欲,凡是衣食住行、物质生活过于奢侈,超越了你的本分,都叫做邪淫。当然邪淫正指是男女淫欲,不是夫妻正常配偶,这都是邪淫。 23 电视节目里头有黄色的、有灰色的,网络里面比电视还要严重。这些东西在教什么?教邪淫、教贪财、教争名逐利,天天在教你,多少人乐此不疲!这个社会哪有安定的日子? 24 《因果经》云:男子邪淫,娶多妻妾或买春,命终即堕铁磨狱。生前左拥右抱,享齐人之福,死后磨成肉酱,贪图色欲之报,真是奇惨无比! 25 佛法讲修行,修行是第一桩大事。修正我们贪恋的习气,修正我们淫逸的行为,你能够得健康长寿之道。健康长寿第一个因素是心地清净,如何得清净?寡欲就清净了。 26 世间人贪图名利,世间名利得到,这是一生的,你能享受的时间非常短暂。 27 享受当中,要造无量的罪业;所造的业,将来一定要偿还,绝对没有侥幸的。欠债要还钱,欠命要还命,没有一个人能幸免。 28 名利能染污你的自性,名利害死人,名和利都不可以贪着。 29 “财色名食睡”越淡薄,你的身心就越健康。“财色名食睡”,菩萨都舍弃了;“苦乐忧喜舍”这五种受,也舍掉了。他心得清净! 30 “苦乐忧喜舍”是六道众生的五种受:身有苦乐,心有忧喜,苦乐忧喜暂时停止的时候叫舍受。舍受虽好,但是它时间不长,所以苦乐忧喜舍是不正常的受,不是正受。 31 一般人,财可以舍,男女色欲可以舍,名也可以舍。但睡舍不了,吃也舍不了,一天还要吃三餐,三餐之外,还吃点心! 32 “财色名食睡”这五种障碍里头,“睡”和“吃”这两种你舍不掉,那是你自己工夫不够。工夫够了的时候,行! 33 世尊教诫初学远离“五荤”;“五荤”是韭菜、大蒜、葱、小蒜、兴渠(洋葱)。 34 为什么佛要我们戒除这五种?《楞严经》上讲得好,这五种蔬菜,熟吃会引起性冲动,生吃会引起肝火,发脾气。 35 世间人以什么为乐?总是以财、色、名、食、睡为乐。而这个里头最容易起贪心的,一个是色欲,一个是食欲。 36 好吃,就免不了杀生;杀众生的命,这是欠他命,欠命要还命!你吃这些众生的肉,当时觉得很乐,你有没有想到将来要还债? 37 佛在经典上讲的是真话:人死为羊,羊死为人,互相吞啖,冤冤相报。 38 睡眠当然很重要,你睡得好,你精神饱满;但是不能贪睡,睡得太多就昏沉了,所以这也是个烦恼。 39 一个人贪睡的时候,精神萎靡不振。不能振作,大好光阴虚过了,这都是罪过。 40 释迦牟尼佛对我们这个世界,这些人道的众生,了解得太清楚:四个小时睡眠足够了。四个小时以上是贪睡,那就变成障碍。 41 佛规定的这是正常的:晚上十点钟睡觉,早晨两点钟起床,就赶紧起来要用功。我们用功的方法,念佛是最好。 42 布袋和尚的旁边,常常画几个小孩围绕他,小孩一定是五个或者六个,五个的比较多。 43 五个代表五欲,财色名食睡;六个就代表六尘,色声香味触法。画几个小孩围绕他,代表五欲六尘一天到晚围绕着他,他不动心,他不受干扰,取这个意思。 44 你爱财、爱名、爱色、爱吃、爱睡,五欲六尘没有一样不是你所爱的,那你就是天天在那里想什么?想六道轮回。 […]

龙生   21 Apr 2016
View Details

如何成为一个成功的软件工程师

在这篇文章中,我们将讨论成为一个成功的软件工程师需要注意哪些要点,以便于鞭策自己也成为一个成功的软件工程师。 背景 上周,我参加了印度德里最值得期待的会议——C# Corner annual conference。如果你需要了解更多,那么请点这里。当我知道我有机会聆听大师级谈话的时候,真的非常惊喜。我学到了很多。下面我会把我听到的来自于Mr. Glenn Block的关于“如何成为一个成功的软件工程师”的要点分享给大家。这些内容激励了所有的与会者。Mr. Glenn Block是一位前微软员工,他曾在微软工作了近10年,并且他一直是Azure、WCF、.NET等的一部分,目前,他正担任着Splunk的首席产品经理。 我在写这篇文章前得到了Mr. Glenn Block的允许。 如何成为一个成功的软件工程师? 我发现Mr. Glenn Block提出的所有建议都非常有意义,并且我们每个人都应该好好学习。 不要害怕失败 我们是开发人员和程序员。我们也是人,我们也会犯错。你是不是没有任何错误就创建好了软件无关紧要。反倒是如果你这么说了,那么你可能需要确定你的软件是否能够正常工作。记住爱因斯坦有一句名言:“不要害怕失败。” 不要害怕失败,失败是你最好的老师。我们都曾犯过一些导致我们失败的错误,但更重要的是要从错误中学习。如果你这样做了,那么也许你的下一次尝试就成功了。 如果你从来没有失败过,那么说明你畏头畏尾,从来没有尝试过任何新的东西。 不要害怕寻求帮助 我们都工作在一个会犯错会失败的环境中。所以,你不应该害怕寻求别人的帮助。这样可以减少你的工作压力,并让你能够按时交付产品!而这正是你的经理对你的要求。有时候,你的后辈也能指引你走向正确的道路。所以,不要害怕寻求帮助。让你的自负随风而去吧。 做一个持续的学习者 这个时代每时每刻都有新事物被发明被创造。这在IT行业也是如此。每一天都有新的东西需要学习。在一天结束时,你学到了什么才是最重要的。你应该尝试所有与开发相关的技术。同时,重要的要掌握其中一些技术。 你不能掌握所有内容 在看完以上几点之后,你的脑海中可能会出现这样一个念头:“我怎么才能学习所有的内容呢?”当我说要成为一个持续的学习者时,其实这受你真正能学到什么的限制。你只需要去尝试你认为对你的编程生涯有帮助的技术。当然,正如我在上面所说,你必须掌握其中的一些技术。 重视你的代码 在你写代码的时候,只要确保代码确实能用一种清晰和易于阅读的方式如愿实现目标即可。我的朋友,Mr. Dhananjay Kumar说Mr. Glenn Block写代码就像是诗人在写诗歌一样,非常值得我们借鉴。此外,代码的可维护性也非常重要,否则维护这些代码的人搞不好在几天/月/年之后就得经历一场求生不得求死不能的痛苦。 找导师,成为导师 老师能够传业授道解惑,能帮助我们理解学习的内容。因此,找到一个能指点正确方向的导师尤为重要。向你的导师学习,因为导师可以教你许多他/她从他/她的生活中总结出来的内容。正如大家都知道的,“经验让人完美”!一旦你学会了,那不妨也成为别人的导师,分享你从你的导师那里学到的知识。当然,在做导师的时候,请确保不要误人子弟。 不要拖后腿 不可否认我们周围有不少拖后腿的人。虽然没有强制要求说所有人都必须优秀。但是有时你可能会不得不和一个消极被动的人一起工作。但是重要的是,你得保持住自己的乐观和主动性。 不要过度承诺 我们的项目都有时间期限,这是我们都知道的。你在时间框架中能做什么是有限制的。要去理解那些。当你接受需求列表时,你应该清楚你需要付出什么样的努力以及多少时间才能完成工作。如果不能满足你的经理/客户给出的时间框架,那就随时告知报告人。发布如他们期望那样而非满是bug的产品很重要。所以,千万不要过度承诺。如果你这样做了的话,那就准备好再找一份工作吧。因为你可能会被炒鱿鱼。 永远不要在你想说“No”的时候违心地说“Yes”。 正确的想法不必是你的想法 这一点还需要我解释吗? 我们都在工作,我们都有脑子,我们都有自己的想法。有时候你的后辈也可以教你很多,有时候他解决问题的速度快于你。承认这一点,并赞同他们给出的解决方案。集思广益将有助于按时交付项目。重要的是,这能帮助你做到不以自我为中心。 做一个良好的倾听者 做一个良好的倾听者,意味着你可以通过他人的角度来看事情。这将丰富你的阅历提高你的声誉。如果他们错了,你就向他们解释他们错了以及为什么。 测试,测试,还是测试 测试是软件开发周期中最重要的角色之一。没有经过适当测试之前永远不要发布你的产品,因为测试是捕获bug的阶段,而bug是为客户和管理者所不喜的。如果你认为你已经做完测测试了,那么再做一次。 问:开发人员说的最多的谎言是什么? 答:我已经做过单元测试了。 模式 始终追求适合你项目的最相关的模式。如果你根据自己的要求选择模式的话,它可能会在最后的周期使你功亏一篑。 问:软件开发中最重要的阶段是什么? 答:需求收集或需求理解。 成为社区的一部分 这一点也非常重要。你需要成为一些社区的一份子,因为这些都能给我们提供帮助。推荐一些很不错的社区: C# Corner MSDN ASP.NET Stack Overflow Code Project 这种方式可以让你在网络世界中被大家所关注。分享你的所有知识,并尽可能地从各种资源获取知识。 致力于OSS(Open Source) 如果你得到一个机会可以致力于开源项目,那么一定不要错过,一定要勇往直前。这将增加你的声誉,因为开源项目正在被数十亿用户使用。 结论 最后但并非最不重要的一点,如果有任何遗漏的地方,欢迎给出你的建议和反馈。 稿源:码农网

龙生   07 Apr 2016
View Details

[评论]全栈工程师到底有什么用

最近国内外都在流行一个词叫Full Stack,中文翻译过来叫全栈工程师,也叫全端工程师。微博上很多专业人士都在讨论全端工程师,有赞有毁的。我对全端工程师的定义是:掌握多种技能,并能利用多种技能独立完成产品的人。打外比方,全栈工程师就是一个能独立盖一幢10层小洋楼的人,而普通工程师,则是可以和一群人盖一幢摩天大楼的人。 至于要掌握哪些技能,我觉得这个要跟从事的行业与技术方向有关,做互联网的和做软件的是不一样的,即使是做互联网的,后端也可以分为很多种技术流派。 8/2定律在哪都适用,全栈工程师就是掌握20%常用技能的人,但这20%的技能会有80%的几率被用到,剩下那80%不常用的,让我们Google吧。 有人说,全栈工程师在中国已经很多年了,他们叫站长。这个说话有点靠谱但又不那么靠谱,我自己也做过站长,深知作为一名站长需要掌握很多种技术。不靠谱的是,很多站长其实并没有真正写过多少代码,而是熟练利用一些建站软件来建站。 全栈工程师的价值 有人说了,你再牛逼,你懂五种技术,你能干五个人的活吗?全栈工程师并不是说一个人能干几个人的活,而是要从多个方面来看这个问题。 全局性思维 现代项目的开发,很少说只用到一两种技术的,特别是移动互联网大潮下。随便一个互联网项目中用到的技术,就会需要用到后端开发、前端开发、界面设计、产品设计、数据库、各种移动客户端、三屏兼容、restFul API设计和OAuth等等,一些比较前卫的项目,可能会用到Single Page Application、Web Socket、HTML5/CSS3这些技术,还有像第三方开发像微信公众号微博应用等等。 Web前端也远远不是从前的切个图用个jQuery上个AJAX兼容各种浏览器那么简单了。现代的Web前端,你需要用到模块化开发、多屏兼容、MVC,各种复杂的交互与优化,甚至你需要用到Node.js来协助前端的开发。 所以说一个现代化的项目,是一个非常复杂的构成,我们需要一个人来掌控全局,他不需要是各种技术的资深专家,但他需要熟悉到各种技术。对于一个团队特别是互联网企业来说,有一个全局性思维的人非常非常重要。 像如果是我经手的项目,我肯定会注意到网页优化,也会考虑到API来兼容各种客户端,更会考虑到三屏兼容的问题。不会说项目中完全使用AJAX而不顾SEO,也不会为了功能性而忽略访问速度,我会很好的把握这个平衡,因为我知道它们的权重与实现成本。 沟通成本 项目越大,沟通成本越高,做过项目管理的人都知道,项目中的人力是1+1<2的,人越多效率越低。因为沟通是需要成本的,不同技术的人各说各话,前端和后端是一定会掐架的。每个人都会为自己的利益而战,毫不为已的人是不存在的。< p=""> 而全栈工程师的成本几乎为零,因为各种技术都懂,胸有成竹,一不小心自己就全做了。即使是在团队协作中,与不同技术人员的沟通也会容易得多,你让一个后端和一个前端去沟通,那完全是鸡同鸭讲,更不用说设计师与后端了。但如果有一个人懂产品懂设计懂前端懂后端,那沟通的结果显然不一样,因为他们讲的,彼此都能听得懂。 创业公司 对于创业公司来说,全端工程师的价值是非常大的,创业公司不可能像大公司一样,各方面的人才都有。所以我们需要一个多面手,各种活都能一肩挑,独挡多面的万金油。对于创业公司,不可能说DBA前端后端客户端各种人才全都备齐了,很多工作请人又不饱和,不请人又没法做,外包又不放心质量,所以全端工程师是省钱的一妙招。虽然说全端工程师工资会比一般的工程师会高很多,但综合下来,成本会低很多。 全栈工程师的困境 我讲技术有两个发展方向,一种是纵向一种是横向的,横向的是瑞士军刀,纵向的是削铁如泥的干将莫邪。这两个方向都没有对与错,发展到一定程序都会相互溶合,就好比中国佛家禅修的南顿北渐,其实到了最后,渐悟与顿悟是一样的,顿由渐中来。 如果一个公司不太懂全栈工程师的价值,那么全栈工程师的地位将会很尴尬,说得不好听一点,全栈工程师就是什么都会,都么都不会。曾经有一次面试,对方问我很基础的问题,我答不上来,我能做出产品,也知道什么是怎么一回事,我也不会犯那些错误,但我就是答不上概念,要考倒我非常容易。所以在应聘面试的时候,有些时候会吃亏,你可能会不如哪些在某一方面钻得很深的人工资拿得高。 由于经常在各种技术穿梭,我会经常忘记代码的语法和一些API,所以我经常需要去查API甚至查语法,我觉得没有Google我几乎没法工作。这在某些人的眼里,是技术不够的表现。我记的只是一个Key,一个如何找寻答案的索引,而不是全部,人脑不是电脑,我不可能要求我能记下所有的东西。 有一次面试官问我一个问题,我说我不知道,但我猜大概是如此这般,对方问我,你为什么这么猜,我说凭直觉,对方笑了笑没说话。面试完后我一查,果然和我猜的差不多。没错,我就是凭直觉,但这种直觉和女人的直觉不一样,这种直觉是技术上的直觉,是你过去技术经验累积的一个反射。 我不是一个非常专业的Web前端,也不是一个非常专业的Node.js开发工程师,更不是一个非常专业的iOS开发工程师。用人单位会问我,你到底是专业做哪一个方面的,我为什么要给你这么高的工资? 有什么资格来谈全栈工程师 我应该算是一个全栈型工程师了,行业经验已经超过10年。独立做过不少产品,也带过不少项目,经过的产品包括桌面端、Web产品、移动端产品,Web端涵盖前端与后端,移动端主要做iOS和混合开发。 熟悉Web前端,对MVC/模块化开发有实战经验,熟悉CoffeeScript、Grunt、RequireJS、Handlebars等等,自己写过小型的Javascript框架,一个项目中的JS代码超过一万行。熟知网页优化,知道如何让网页变得更加快速。也略懂SEO,知道什么样的URL和代码会更讨好Spider。 熟悉Node.js,有几个项目都是基于Node.js的,目前发布有开源的Blog程序Purelog,在NPM上有多个模块发布。熟悉混合开发,过去我曾经有超过一年的时间是在研究Hybrid技术,多个App基于混合开发技术,也有开发类似于PhoneGap的解决方案。对HTML5在手机上的表现颇为熟悉,挖过很多的技术坑,如白屏问题,Sqlite问题,滚动条问题,硬件动画加速、点击延时问题等等。 会做设计,熟悉Photoshop,所有的产品不管是Logo还是界面全都是自己做的设计,虽然在资深的设计师眼里不值一提,但在工程师队伍中算是比较另类了。 熟悉Objective-C,有两年以上的iOS开发经验,在App Store上有约十款App。熟悉服务器的一般性操作,自己有VPS并运行多个网站,虽然配置服务器经常要去Google。 早年曾经做过一年的Delphi,也曾做过几年的ASP.net,虽然这些技术我目前已经放弃,完全转向*nix平台,但累积下的经验是在的。多年的项目管理经验,曾在三个公司担任过项目经理,累计项目管理经验超过4年。在多个科技门户发表过技术和评论文章。 为什么我会成为全栈工程师 我相信很多全栈型工程师会和我一样,是因为要创业才成为全栈型工程师的。我有一颗创业和做产品的心,而且我又是一个不愿意麻烦别人的人,有些人擅长整合资源,空手套白狼,但我显然不是这种人,所以我只好自己做了。 在经历过两次孤独的创业之后,我发现我并不是一个适合独立创业的人,所以,我成为了一个全端工程师。我最初是做ASP,后来自己创业写客户端用Delphi,然后写了三年的ASP.Net,2010年的时候因为公司需要开始做iOS开发。Web前端是一直自己在做,项目中的的Javascript基本都是我自己在做。 我热爱写代码,热爱重复发明轮子,热爱新技术,我想这也是我成为一个全栈工程师的重要原因。 于我自己来说,我觉得全端工程师的乐趣要比一般工程师来得多,因为你知道一个产品的形态,你可以去设计一个产品,你是从全局的视野来做事情,你得到的成就感会更多一些。 from:http://digi.163.com/14/0116/10/9IN26JNS00162OUT.html

龙生   07 Apr 2016
View Details

制作《幽灵公主》等动画片的动画软件宣布开源

Toonz公司开发的软件你可能从未听说过,但是你已经看到过无数的电视节目和电影使用其产品。Toonz公司的主要产品是企业动画软件,集成绘图,编辑,动画和合成等功能。Toonz开发的动画软件,曾经被用于创建《飞出个未来》、《幽灵公主》和《千与千寻》等动画片。 据报道,该动画软件免费开源之前的售价曾经高达每张许可证1万美元。但作为DWANGO收购该公司协议的一部分,Toonz公司宣布其下动画软件免费开源。 吉卜力工作室成像执行总监奥井淳表示,该公司使用Toonz动画软件,因为它可以将手工绘制动画和数字绘制无缝结合。吉卜力工作室首先在1995年使用这款软件制作《幽灵公主》动画片。 3月26日,该公司将发布TOONZ吉卜力工作室版动画软件,其中包括与吉卜力工作室合作开发的功能,让独立动画师无需支付高昂的前期费用就使用该软件。相反,TOONZ公司计划让软件免费,通过出售安装服务,培训和支持来获得利润。 稿源:cnbeta

龙生   22 Mar 2016
View Details

唐山大地震当夜一只狐狸报恩救人

狐狸报恩 唐山大地震中的生命传奇(图片来源:资料图) 一位老者给我讲了一个他和动物之间的故事,说是他自己的亲身经历。 老人告诉我,在1976年以前,他是唐山某水库的管理员,经常一个人驻守在水库边的配电室里。因常常闲来无事,喜欢上了垂钓,随着垂钓技术的不断提高,他钓的鱼常常吃不了,就存养在一口大缸里。这口大缸则放在简易搭建的厨房里。 1976年初夏的某个晚上,他还没睡,就听到厨房里有动静,他抄起家伙去看个究竟。原来是一只前来偷吃鱼的野狐不小心掉进了缸里,怎么也爬不上来了。想到前几次不明就里地鱼就少了,就想弄死这只讨厌而倒霉的狐狸。当他用手电照着狐狸正欲动手时,他看到狐狸的眼里满是惊恐,甚至还有眼泪,他的心又软了……最终还是放了这只野狐。 后来,他的鱼就再没少过。他就感念狐狸这生灵通人性、有良心。更令他意想不到、感慨万端的是,大地震骤来时,这只野狐居然挽救了他的命。 1976年7月28日凌晨3时左右,熟睡中的他,被一种急促的抓挠声音和呱呱鸣叫吵醒,他听出来是那只狐狸,就起身下床打开房门——那只野狐焦躁不安地仰脸望着他,并一次次地就地兜圈子,像一个有急事的满腹话语的哑巴。他就想,可能狐狸没找到猎物,饿急了,来求援了。可是,就在他想回屋里取吃的东西给它救济时,那只狐狸忽然咬住了他的凉鞋襻,狠命地往外拉。他忽然有一种什么预感。于是,随狐狸来到院子里。就在这时,举世皆惊的7.8级的大地震轰然降临,他居住的配电室瞬间即被震塌…… 直到现在,年迈的老人还念念不忘那只被他放生、又来救他的狐狸,感慨万端地说:“地球就是个大家庭,动物与人类息息相关,它们尽管不会言语,却也有着同样的思维、灵性和良心……” 它们不是为人类提供衣服的,人类没有理由屠戮它们(图片来源:资料图) from:http://fo.ifeng.com/a/20160304/41558505_0.shtml

龙生   05 Mar 2016
View Details

彻底解决AMD Win10双显卡开机黑屏时间长,右键卡的问题

原帖:http://tieba.baidu.com/p/3512737616 关闭显卡的ULPS功能可完全解决这个问题。 1.下载该文件:ulps_enable_disable 2.双击 Disable ULPS.reg。(Disable关闭,Enable是开启) 3.重启电脑。 “EnableUlps” parameter is now set to zero for all AMD cards. Disabling this parameter should fix Delayed Startup/BSODS on many laptops. 原来整合包就是通过关闭ulps解决开机延迟的问题。ULPS全称Ultra Low Power State,ULPS是休眠状态 ,降低非主卡的频率和电压的以节省电能,缺点就是可能会导致性能的损失和一些交火不稳定。 1.win10可以解决开机延迟的问题了 2.经常用电池的不建议关闭ULPS,因为关闭后显卡一直工作在独显状态 from:http://tieba.baidu.com/p/3512737616  

龙生   04 Jan 2016
View Details

楞严咒

楞严咒是咒中之王,亦是咒中最长者,这个咒关系整个佛教的兴衰。世界上有人持诵楞严咒,就是正法存在。没有人持诵楞严咒,就是没有正法了。 楞严咒被誉为咒中之王,此咒有大威力,放大光明,能以佛之净德覆盖一切,以白净大慈悲遍覆法界,有不可思议之大威德,持此咒的人,能退避一切怨敌,摧毁一切邪巫诅咒,避免一切灾难横祸,能降伏一切天魔外道,消除一切奇难杂症恶疾。又可避免一切地水火风空、刀兵、星变、饥馑、牢狱、魔类、冤仇、疾病等灾。所求诸愿,悉能成就,求子,求长寿,等等。持诵此咒的人,常得日月星斗欢喜拥护,大降吉祥,逢凶化吉。命终之后,十方国土,随愿往生。 楞严咒叫佛顶光明,是佛的顶上化佛所说。所以是微妙不可思议的。每一句有每一句的用途,每一字有每一字的奥妙,都具足不可思议。「佛顶光明」就是表示咒的力量能破除一切黑暗,能成就一切功德。你若能受持楞严咒将来一定成佛,一定得无上正等正觉。离开咒文能念叫诵,对着咒文念叫读。若能常诵楞严咒,可以消除宿世业障。这是楞严咒的妙用。何谓「无」?高明无极。光明到极点了,没有再超过这光明的。「上」是尊上莫等的上。没有再比这更尊贵更高尚了。「神」就是不可思议,也就是威灵叵测的意思。「咒」就是感应道交。它有一种力量。你念咒就有感应。「佛顶光明摩诃萨怛多般怛啰无上神咒」,佛顶的光明犹如大白伞盖来护持一切诵持神咒的人。以上为其名称的大概意思。 缘起 楞严咒其因缘为阿难被摩登伽女用邪咒所迷,在阿难的戒体快要被毁坏时,佛陀令文殊菩萨持楞严咒前往救护阿难,阿难才被救醒归佛。故知楞严咒乃《楞严经》之主体,没有楞严咒的因缘,就没有《楞严经》。 全文介绍 大佛顶首楞严神咒祈请法 大兴善寺三藏沙门大广不空 奉诏译 稽首光明大佛顶 如来万行首楞严 开无相门圆寂宗 字字观照金刚定 瑜伽妙旨传心印 摩诃衍行总持王 说此秘密悉怛多 解脱法身金刚句 菩提力大虚空量 三昧智印海无边 不持斋者是持斋 不持戒者名持戒 八万四千金刚众 行住坐卧每随身 十方法界诸如来 护念加威受持者 念满一万八千遍 遍遍入于无相定 号称坚固金刚幢 自在得名人胜佛 纵使骂詈不为过 诸天常闻说法声 神通变化不思议 陀罗尼门最第一 大圣放光佛顶力 掩恶扬善证菩提 唯闻念者薝葡香 不嗅一切余香气 僧破二百五十戒 比丘尼犯八波罗 闻念佛顶大明王 还得具足声闻戒 若人杀害怨家众常行十恶罪无边 暂闻灌顶不思议 恒沙罪障皆消灭 现受阿鼻大地狱 镬汤炉炭黑绳人 若发菩提片善心 一闻永得生天道 我今依经说偈颂 无量功德普庄严 听者念者得总持 同获涅槃寂灭乐 大佛顶首楞严神咒 南无楞严会上佛菩萨(三称) 妙湛总持不动尊 首楞严王世希有 销我亿劫颠倒想 不历僧祗获法身 愿今得果成宝王 还度如是恒沙众 将此深心奉尘刹 是则名为报佛恩 伏请世尊为证明 五浊恶世誓先入 如一众生未成佛 终不于此取泥洹 大雄大力大慈悲 希更审除微细惑 令我早登无上觉 于十方界坐道场 舜若多性可销亡 烁迦罗心无动转 南无常住十方佛 南无常住十方法 南无常住十方僧 南无释迦牟尼佛 南无佛顶首楞严 南无观世音菩萨 南无金刚藏菩萨 尔时世尊。从肉髻中。涌百宝光。光中涌出。千叶宝莲。有化如来。坐宝华中。顶放十道。百宝光明。一一光明。皆遍示现。十恒河沙。金刚密迹。擎山持杵。遍虚空界。大众仰观。畏爱兼抱。求佛哀佑。一心听佛。无见顶相。放光如来。宣说神咒。 【第一会】 南无萨怛他,苏伽多耶,阿啰诃帝,三藐三菩陀写。萨怛他,佛陀俱胝 瑟尼钐。南无萨婆,勃陀勃地,萨跢鞞弊。南无萨多南,三藐三菩陀,俱知喃。娑舍啰婆迦,僧伽喃。南无卢鸡阿罗汉哆喃。南无苏卢,多波那喃。南无娑羯唎陀,伽弥喃。南无卢鸡三藐伽哆喃。三藐伽波啰,底波多那喃。南无提婆离瑟赧。南无悉陀耶,毗地耶,陀啰离瑟赧。舍波奴,揭啰诃,娑诃娑啰,摩他喃。南无跋啰诃摩尼。南无因陀啰耶。南无婆伽婆帝。嚧陀啰耶。乌摩般帝。娑酰夜耶。南无婆伽婆帝。那啰野拏耶。槃遮摩诃三慕陀啰。南无悉羯唎多耶。南无婆伽婆帝。摩诃迦啰耶。地唎般剌那伽啰。毗陀啰波拏迦啰耶。阿地目帝。尸摩舍那泥婆悉泥。摩怛唎伽拏。南无悉羯唎多耶。南无婆伽婆帝。多他伽跢俱啰耶。南无般头摩俱啰耶。南无跋阇啰俱啰耶。南无摩尼俱啰耶。南无伽阇俱啰耶。南无婆伽婆帝。帝唎茶,输啰西那。波啰诃啰拏啰阇耶。跢他伽多耶。南无婆伽婆帝。南无阿弥多婆耶。跢他伽多耶。阿啰诃帝。三藐三菩陀耶。南无婆伽婆帝。阿刍鞞耶。跢他伽多耶。阿啰诃帝。三藐三菩陀耶。南无婆伽婆帝。鞞沙阇耶,俱卢吠柱唎耶。 般啰婆啰阇耶。跢他伽多耶。南无婆伽婆帝。三补师毖多。萨怜捺啰剌阇耶。跢他伽多耶。阿啰诃帝。三藐三菩陀耶。南无婆伽婆帝。舍鸡野母那曳。跢他伽多耶。阿啰诃帝。三藐三菩陀耶。南无婆伽婆帝。剌怛那鸡都啰阇耶。跢他伽多耶。阿啰诃帝。三藐三菩陀耶。帝瓢,南无萨羯唎多。翳昙婆伽婆多。萨怛他伽都瑟尼钐。萨怛多般怛嚂。南无阿婆啰视耽。般啰帝扬歧啰。萨啰婆,部多揭啰诃。尼揭啰诃,羯迦啰诃尼。跋啰毖地耶,叱陀你。阿迦啰,密唎柱。般唎怛啰耶,儜揭唎。萨啰婆,盘陀那,目叉尼。萨啰婆,突瑟咤。突悉乏,般那你,伐啰尼。赭都啰,失帝南。羯啰诃,娑诃萨啰若阇.毗多崩娑那羯唎。阿瑟咤冰舍帝南。那叉刹怛啰若阇。波啰萨陀那羯唎。阿瑟咤南。摩诃揭啰诃若阇。毗多崩萨那羯唎。萨婆舍都嚧,你婆啰若阇。呼蓝突悉乏,难遮那舍尼。毖沙舍,悉怛啰。阿吉尼,乌陀迦啰若阇。阿般啰,视多具啰。摩诃般啰,战持。摩诃迭多。摩诃帝阇。摩诃税多,阇婆啰。摩诃跋啰,盘陀啰,婆悉你。阿唎耶多啰。毗唎俱知。誓婆毗阇耶。跋阇啰,摩礼底。毗舍嚧多。勃腾罔迦。跋阇啰,制喝那阿遮。摩啰制婆,般啰质多。跋阇啰,擅持。毗舍啰遮。扇多舍,鞞提婆,补视多。苏摩嚧波。摩诃税多。阿唎耶多啰。摩诃婆啰,阿般啰。跋阇啰,商揭啰制婆。 跋阇啰,俱摩唎。俱蓝陀唎。跋阇啰,喝萨多遮。毗地耶,乾遮那,摩唎迦。啒苏母,婆羯啰多那。鞞嚧遮那,俱唎耶。夜啰菟,瑟尼钐。毗折蓝婆,摩尼遮。跋阇啰,迦那迦,波啰婆。嚧阇那,跋阇啰,顿稚遮。税多遮,迦摩啰。刹奢尸,波啰婆。翳帝夷帝。母陀啰羯拏。娑鞞啰忏。掘梵都。印兔那么么写。 【第二会】 乌[合牛]����。唎瑟揭拏。般剌舍悉多。萨怛他,伽都瑟尼钐。虎[合牛]����。都卢雍。瞻婆那。虎[合牛]。都卢雍。悉耽婆那。虎[合牛]。都卢雍。波啰瑟地耶,三般叉,拏羯啰。虎[合牛]����。都卢雍。萨婆药叉,喝啰刹娑。揭啰诃若阇。毗腾崩萨那羯啰。虎[合牛]。都卢雍。者都啰,尸底南。揭啰诃,娑诃萨啰南。毗腾崩萨那啰。虎[合牛]。都卢雍。啰叉。婆伽梵。萨怛他,伽都瑟尼钐。波啰点,阇吉唎。摩诃娑诃萨啰。勃树娑诃萨啰,室唎沙。俱知娑诃萨泥,帝[口隶]。阿弊提视婆唎多。咤咤罂迦。摩诃跋阇嚧陀啰。帝唎菩婆那。曼茶啰。乌[合牛][2-4][5]  。娑悉帝 薄婆都。么么。印兔那么么写。 […]

龙生   14 Dec 2015
View Details

Facebook 开源 AI 所使用的硬件平台 'Big Sur'

Facebook 今开源其 AI 所使用的硬件平台 'Big Sur’。’Big Sur' 是兼容开放机架的 GPU 加速硬件平台。 人们经常会忽略 Facebook 的人工智能,但是 Facebook 在很多时候都使用了大量的人工智能。Facebook 在AI 上面大有研究,使用机器学习来帮助获取更好的新闻 feed,整理照片和视频内容,甚至是读故事或者玩游戏。现在,Facebook 开源了 AI 所使用的硬件 Big Sur。 Facebook 还宣布近期会发布 AI 硬件设计到 Open Compute Project,并承诺给社区一个根据现有组件构建专为 AI 任务的系统设计。这个设计把 8 个 NVIDIA Tesla M40 GPUS 绑定在一个简单的,可服务的主板上。CPU 的散热只需一个螺丝刀即可解决。 “这可以给予 AI 研究者一些帮助,分享技巧和技术”Facebook 发表声明说,“我们相信这个开源协作有助于未来的创新设计,让我们离构建复杂 AI 系统又更进一步。” 更多内容请看 Facebook 声明:https://code.facebook.com/posts/1687861518126048?__mref=message_bubble   from:http://www.oschina.net/news/68892/facebook-makes-the-hardware-it-uses-for-ai-open-source via engadget.com

龙生   11 Dec 2015
View Details
1 … 6 7 8 … 22