您的位置:首页 > 移动开发 > IOS开发

梦维 iOS 文章系列 文摘

2015-11-16 10:49 120 查看
梦维 iOS 等文章

寒哥教你学 iOS - 经验漫谈

写作每一天

我是一名软件工程师,以编写软件为生。一名工程师有两项工作要做,一是能把握复杂的主题,二是能清楚地表达这些主题。有效的书面沟通是工程团队(和整个业务)成功与否的关键因素,这已不是什么秘密。当团队处于分布式协作时,情况尤其如此。

新手学习编程的最佳方式是什么?

聚焦习惯而不是目标

独自学习非常痛苦

项目实践

如果你将精力放在在每星期编程 20-30 个小时的习惯培养上,成为一名 Web 开发者的目标很快就可以实现。如果你将目标设定为在数月内成为一名 Web 开发者,在什么时候能可以达成目标以及距离目标还有多远等不确定性的压力之下,你反而可能会一无所获。聚焦于习惯而不是目标。按摩你的胸口,你的胳膊自然 会暖和起来。

因此,你现在应该做的是:在你的日程安排上,每天花15分钟时间用于编程。不要多于15分钟,每天只要15分钟就够了。如果你能在一星期之内坚持做 下来而不找任何借口,请试着把时间延长到一天20分钟。不要试图通过每天一小时的编程来过度扩展自己的能力,编程就是一场 10,000 小时的马拉松,因此我们应该将精力集中在培养习惯上。与其在一天内花费大量时间学习编程,不如每天花费少量时间,但是能够天天坚持,因为这样更有效。

独自学习非常痛苦

当我在学习 Web 开发时,在我的学习过程中,拥有一位导师和加入一个社区是两个最大的组成要素。

拥有一位导师

加入一个社区

在学习 Web 开发的第一年,我动手实现了以下项目:

一个 Digg 的克隆版(来自 Sitepoint书上的 Rails 例子,我想现在它已经过时了)

一个在线购物应用程序(来自 Agile Web Development with Rails 4)

一个 GeekSquad-esque 应用程序(个人项目)

一个实时在线课堂应用程序(个人项目)

一个外语学习应用程序(课程项目)

唯一一项你应该关心的技能(能力) -解决问题

解决问题是你必须要学习的技能,而且学习它的唯一途径就是让你自己置身于问题之中并尝试解决它们。如果你把解决问题作为自己的‘职业化生活方式’,我敢向你保证,一切都会变得水到渠成。


“你学习的语言,你使用的技术,你思考问题的方式,这一切不过是你尝试解决问题的副产品而已。”


这不表示我很聪明,只因我关注这些问题的时间更长。- 爱因斯坦

如何关照性格内向的人

尊重他们的隐私

绝对不要让他们当众出丑

在新环境下,让他们首先学会观察

给他们时间去思考;不要求马上给出答案

不要打断他们

提前告知他们关于生活预期的变化

无论他们做什么,都给他们15分钟倒计时时间

私下批评他们

私下传授他们新技能

鼓励他们寻找一位具有类似兴趣和能力的朋友

不要强迫他们结交很多朋友

尊重他们的内向型人格;不要试图将他们改变成外向型的人

成功远程开发者的七个最佳实践

创业者之趣

热爱机会

[b]热爱疯狂[/b]

实际上只有两种职业生涯可以选择,要么成为一个疯子,要么跟随一个疯子。这是你的机会,让你成为你的团队值得紧紧追随的那种疯子的机会。你与家人和 朋友在一起的时间会非常少,你将对此更加珍惜。你精疲力尽的时候才能慢慢睡去。你会早早醒来,为了管理你的团队绞尽脑汁,每当灵感闪现,都会让你兴奋不 已。感谢上天的眷顾,你学习使用缓冲和计划安排沟通工具,因此,当你还处于疯狂状态时,你就可以在你的团队安然入睡的同时,把你的备忘录、文件和任何奇思 妙想同步到云端。

热爱问题

“问题就是个婊子,你不解决它,它就会干掉你,”(@fredwilson)

热爱鼓捣

热爱发布产品

我想说的是,那些对你的产品或公司的真正的爱,往往都带有建设性的批评和功能要求。当团队之外的人开始为你的产品传播福音时,你会知道你正在做人们热爱的 东西。当我在派对或者聚会上告诉别人关于我的创业公司的时候,我喜欢看到或听到他们主动推销给别人,对我而言“他们这么做真的很酷...”

“在你所处的位置,用你所有的资源,做你力所能及的事”

学习编程十年路

对编程发生兴趣,要为了乐趣而编程。确保你的编程之路充满乐趣,只有这样,你才情愿投入宝贵的十年时间或者一万小时。

编写程序。最好的学习方式就是从实践中学习。用更技术的话说就是:“在一个给定的领域,个人的最大能力不是经验自动扩展的结果,而是刻意努力提高的结果” 以及 “最有效的学习需要目标明确且难度适当的任务、丰富的信息反馈、重复和错误修正的机会。” Cognition in Practice: Mind,Mathematics,and Culture in Everyday Life 一书就是这种观点的一份有趣的参考文档。

与其他程序员交流,阅读别人编写的程序。这将比任何书本或培训课程都重要。

与其他程序员共同开发项目。在一些项目中,你可能是最好的程序员。而在另一些项目中,你可能是最差的。当你是最好程序员时,你可以检验你的项目领导能力,用你的观点激发他人。当你是最差程序员时,你就能知道大师们正在做什么,还有他们不喜欢做什么(因为他们吩咐你去做)。

接手其他程序员开发的项目。训练自己理解别人写的程序。当程序原作者不在时,搞清楚需要理解那些东西以及如何修复错误。思考如何设计程序才能方便后来者维护程序。

学习至少半打编程语言。包括一种强调类抽象的语言(Java 或 C++),一种支持函数化抽象的语言(Lisp 或 ML 或 Haskell),一种支持语法抽象的语言(Lisp),一种支持声明式规格说明的语言( Prolog 或 C++ 模板),一种特别强调并行计算的语言(Clojure 或 Go)。

当你明白了这些,仅从书本学习就会让你心生狐疑。在我的第一个孩子出生前,我几乎读遍了关于育儿的指南书,但感觉依然像个手足无措的新手。三十个月后,我 的第二个孩子快要出生时,我又重温了这些书籍吗? 当然没有。与之相反,我这次依靠我的个人经验,它比专家所著的厚达数千页的专著更有用、更可靠。

编程每一天 jquery之父

我决定给自己定下几条规则:

每天编写代码。我可以撰写文档、博客、或者做任何其他事情,但必须在写完代码之后。

代码必须可用。无需调整缩进,无需重新格式化,尽可能无需重构。

所有代码必须在午夜前写完。

代码必须开源在 GitHub 上。

以下是习惯改变之后发生在我身上的几件趣事:

最小可用代码

[b]编程是一个习惯[/b]

对抗焦虑

[b]后台处理。[/b]每天都为自己的个人项目做一点工作,将会产生一种副作用 - 你会觉得你的大脑始终处于编程中。当我外出散步、淋浴,或者任何其他非脑力活动时,解决问题的灵感时常显现。这在以前从来没发生过。那个时候,我的时间大 量消耗在忧虑之中。多数情况下,忧虑并不能帮助我完成给更多的任务。

[b]工作平衡。[/b]改变带来的最重要一点是,学会如何更好地平衡工作、生活、以及个人项目。事先知道自己的安排,这能让我更好 地平衡时间。如果我打算晚上外出,而且很晚才回来,那我就会早点开始我的个人项目。另外,如果我还没有完成我的工作,我就会晚点儿再出去,或者,尽早回家 (尽量不错过每天的工作)。我注意到,我花在业余爱好上的时间少了(如雕版印刷等),但这是一个合理妥协,我必须适应。

应用沉睡之时:后台传输服务

我想对所有新程序员说的一些话

编程可能是你做过的所有事情当中,最为令人困扰的事情之一。一般情况下,编程都会经历尝试解决问题、陷入困难、再次尝试、后退一步、灵光乍现并且最终让程 序跑了起来这些步骤。感受困扰是很正常的事情,这种现象不可能完全消失。(当你的编程技艺更加娴熟之后,你只需解决更难的问题,问题甚至可以不重样)。你 应该学会适应这种令人困扰的感觉,因为这种困扰会让解决问题变得越来越有满足感。

无论你的问题有多么令人困扰,一定有一个现成的解决方案。在你的编程能力提高之后,你将会有更多的自信和更好的解决办法。这不仅能让这种困扰的感觉得以改善,而且还会促使你进一步去解决难度更大的问题。(如果这些事情太简单了,也就失去了趣味性!)

你所具有的魔力远比你自己想象的强大得多。编程就像一种魔法。好好想一想 - 我们为了编写程序,努力学习和钻研那些传说中的圣书(计算机 + 互联网)。魔法师可以教授其他魔法师如何创造他们各自的魔法技巧。我们不仅可以同时进行上述这些活动,还能够创造人们喜闻乐见的奇妙设备或装置。(如互联 网和移动电话)。如果缺少了我们这种技能,这些创新根本无法实现。

掌握和精通编程的最好方法就是编写很多很多的代码。你需要做的事情就是持续不断地构建程序。作为一名老师,我的最大职责就是尽我所能扶你上马。你的知识和技能一旦超过一个临界值,我坦白地告诉你,只要给你足够的时间,任何问题你都能自行解决。尽管放心大胆地坚持下去。就像一位智者所说,『只要功夫深,铁杵磨成针』。

保持童心,多做傻事。编程本身就像一套巨大的乐高玩具,充满了各种各样亟待解决的有趣问题。请在让这个玩具变得更加有趣这件事情上多花些心思。这项任务比其他任何一门学科的作业都要有趣许多。

最好的程序员喜欢在工作之余开展一些额外的编程活动。如果你真的擅长编程,你可能会发现你自己从来就没有离开过『工作』。

当你在编程过程中陷入某种困境时,请在纸张上编写你的程序。我没有开玩笑。这个办法非常神奇。在编程竞赛中,这个方法几乎就是标配。(我之所以认为这个办法有效,是因为当你无需考虑语法时,你会有更多脑力用于解决实际的问题。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: