ui设计师和程序员或者程序员们有没有觉得自己右手腕D咽

7被浏览2,549分享邀请回答该回答已被折叠 折叠原因:算法识别自动折叠01 条评论分享收藏感谢收起赞助商链接
当前位置: >>
一个程序员
作为一个程序员,需要学习多少技能? 1、学好&物理&。 基础算法和数据结构。是计算机世界的基本定律,是程序问题的终极 答案; 2、学好“化学”。 各类系统和语言的关键性质,提供能写出优秀程序的原料; 3、学好“生物”。 不同的技术构成不同的生态系统,不同的生态系统有不同的规则。程 序符合生态系统环境,才能长成参天大树。 4、学好“历史”。 技术从哪里来,要到哪里去; 5、学好“文学”。 写明白文档,表达好逻辑,起得好名字,用得好隐喻; 6、学好“建筑”。 钢铁,水泥,脚手架,防灾,抗压,无单点,架构是系统的核心; 7、学好“艺术”。 写程序对得起自己的眼睛,做产品对得起用户。 8、学好“经济”。 成本、收益和时间帮助你做编程时的主要决策。 在外行人眼里,软件开发工作就跟看天书一样难――但是程序员往往会一脸苦哈哈地表示 “还有更难的呢!”在最近 Quora 上面的一个讨论中,我们总结了 9 件最让程序员糟心的事 ――简直就是分分钟让我们精神分裂啊!!!9.设计解决方案 任务:给出一系列要求,设计出可实施的方案,包括设计数据和代码结构、功能算法和 应用程序流程。 难点:确保你设计的解决方案得满足客户的要求,并且按时完成。 网友的话: “如何始于此终于彼可谓是最难的部分了。”――misconfiguration “过于臃肿的设计会崩溃,过于浅薄则没有用。”――nvteighen “不去一个个试一试,就不知道什么样的方案才适用……。”――jpkotta 8.写测试 任务:编写单元测试,以确保每一部分代码都能正常运作。这些测试不但有助于在开发 早期找出 bug,还能方便后续的回归测试。很多开发方法论甚至鼓励我们在写代码之前就 可以先写好测试程序。 难点:选择和编写测试的过程是既辛苦又繁重的,有时候会让人感觉是在做无用功。 网友的话:“我就是不喜欢写测试,你能怎么滴。”――Anonymous 7.编写文档 任务:创建用于解释代码和应用程序的文档,包括独立文档和代码注释。目标人群范围 从终端用户乃至其他开发人员。 难点:很耗时间,甚至有时候你会觉得要是没人看的话那不就是在浪费时间。 网友的话: “Shit!!!就因为这是“进程”的组成部分,我们就得写这些可能根本没人 会去看的文档。”――Christian Dechery “通过文档,我们不需要阅读代码就能知道其作用。”――Raghu Nandan “简洁又能清晰阐述的文档,我的大爱啊!”――Ayush Goel 6.实现自己并不认可的功能 任务:不管什么原因,如果你的客户或者上司坚持某个特性和功能,那么你就不应该将 个人的感情因素带到工作中去。 难点:摒弃个人想法和意见,竭尽全力地实现或支持功能需求。 网友的话:“……当然你也可以坚持己见然后提早退休,呵呵。”――Sabbir Asgar 5.关于别人家的代码 任务:维护、调试或改善由其他开发人员写的应用程序或者代码片段。 难点:理解前任开发人员的代码是非常痛苦的一件事,特别是如果此人已经离开,而他 的代码写得乱七八糟、缺少必要的注释和文档,那就更悲剧了。 网友的话: “没文档的代码就像后妈。”――Omar Diab “应该淘汰掉那些不会好好写代码的程序员……”――Nani Tatiana Isobel “代码破万行,没有注释也不怕不怕了。”――Simon Zhu 4.和其他人打交道 任务:收集客户需求,提供状态管理报告,配合测试人员,和其他工程师协作。 难点:需要向非技术人士解释技术问题,不得不依赖于其他人交接过来的任务,与 QA 或其他开发人员出现意见相左情况的处理方式。 网友的话: “交代机器干事比交代人去做要来得容易得多。”――Marko Poutiainen “三人行,必有我师焉……合作也是学习的机会。“――Anonymous “……和外行人说话简直就像对牛弹琴。” ――lnostdal “总是要等其他团队完成任务之后我们才能开工,太拖我们的后腿 了。”――Anonymous 3.预估项目工期 任务:项目一开始,就需要估算出完成所需要的时间。 难点:哪怕没有接触过项目,手头只有模糊的需求说明也得硬着头皮预估时间。 网友的话: “在开工之前,真的很难估算出会出现多少乱七八糟的问题……”――Jan Christian Meyer “我发现估算时间可能是最难的部分了,因为很多人会将其当做一个承诺, 信守着一诺千金。” ――Samnang Chhun “……每次碰到这个问题我就一个头十个大……”――Jack Menendez 2.解释我的工作 任务:向非程序员――亲朋好友,解释自己的工作内容。 难点: 亲人和爱人不了解我们是做什么的。 总是被要求去解决任何与计算机有关的问题 (比如修电脑)。 网友的话: “总是要跟人解释――我,不是,修电脑的。”――Brandon P-Lost “不止一遍地和我的家人说明,我到底是干什么的。”――Utsav Singh Rathour “编程的世界,外行人不懂。”――Anand Safi “为什么别人都认为我是给电脑安装盗版操作系统和其他盗版软件的家伙 呢?我干什么了我,我只是程序员。”――Anbu Jey 1.命名 任务:为变量、过程、函数、类、对象、数据库组件等命名。 难点: 即使是一个小程序, 也会有很多需要命名的东西。 名字最好一贯又简洁, 有内涵, 能承载一些意思――这个是什么或者这是用来做什么的。 网友的话: “想啊想啊想名字,想出一个好名字~”―― Aditya Muraletharan “别烦我,我正在给函数命名呢。”―― Lakshman Siripurapu “计算机科学中只有两座大山:缓存失效以及命名。”――Phil Karlton 编程王道 唯“慢”不破提示:常上 QQ 空间的朋友可关注【WEB 开发者】腾讯认证空间,精彩内容不错过。 人和人之间编程速度的差异还是很大的, 有的程序猿写代码非常快, 有的却常常是龟速。 Jeffrey Ventrella 最近在一篇文章里探讨了这种编程速度的差异, 他是绝对的龟速派代表, 来看看他对编程速度的看法: 我爸常跟我说的一句话是,慢一点码,才能快点把程序写完。 我在旧金山很多家互联网公司工作过,现在已经 52 岁了,对于程序猿这个职业来说, 我的年龄算偏大的。我写代码的速度近乎龟速,事实上,我更像是一个会写代码的设计师。 以前有一次,我和一些比较年轻的程序猿一起工作,他们信奉的编程宗旨是“速度快、 更迭少”。我们在同一个 codebase 里合作,就像在共同煮一大锅汤一样。如果我们每个人 都持续不间断的贡献代码的话,未来这个工程应该就会很美很壮观的呈现出来。 但是并没有。 问题在于,这些年轻的程序猿们在心里其实有这么一种思想,他们觉得:1、每个人都 是可替代的;2、没人应该对某一部分的具体代码负责;3、所有人应该都可以任意修改整 个工程的代码。 他们觉得,现在已经有了 github 这种神器用来管理异步时间内的代码贡献,只要每个 人都持之以恒的贡献代码,工程和产品就会顺理成章的出炉了。事实不是这样的。编程从来就不应该是拿工具来减少软件开发的时间的。 编程应该是一项有节奏感有韵律的运动。 我倾向于把工程依照不同的规模和时间度量分 成不同的涂层,每一个涂层再从探索、实验、error、临时变量这些细小的东西开始做起。 有点像建设脚手架的形式。每一个涂层最终完成的时候是一段可以部署和扩展的 implementation-ready 代码。这种开发过程有点像是从策略到设计方案最后到完成一栋 真正的建筑。 有时候当这栋建筑完成之后,我还会推倒重来一遍,因为我觉得我有更好的建筑方法。 这种新的方法有时候是对的,有时候是错的,事实上除非真正去再做一遍,不然你永远无法 知道究竟哪一种方法更好。 回到最初那锅汤的问题: 在软件开发生态圈里, 关于对整个设计流程产生推动与支持的 混合思考是很重要的, 没有这一部分的工作, 再快的程序猿又能做出多好的设计?很多神经 系统科学家相信神经元信息的流动在大脑的传导过程中会有一个短暂的堵塞和混响, 这对思 维和感知会有很重要的作用。编程的设计也应该是这样,需要时间。 慢速编程运动 慢速编程运动在维基百科里的解释是这样的: 慢速编程运动是慢速运动的一部分, 这是 一种强调谨慎设计、高质量代码、软件测试和思考的软件开发哲学,反对混杂组装、布满 bug 的代码,以及过于快速的发布周期。 世界上的软件开发团队都在寻找更具预测性的工程项目, 希望能促成更多的程序员拥有 可持续性的职业生涯。他们提议了一些可以切身操作的实践方法,比如结对编程、代码审查 和代码重构,以开发更可靠更健壮的软件应用。 在旧金山海湾地区, 风险投资支持的软件开发正呈现出一种高烧般的热度。 利益正驱动 着软件开发以一种完全不自然的不对拍的节奏感在运动,它打乱了设计进化(design evolution)原本应有的周期节律和生物钟。关于这一点,Rushkoff 在 Present Shock 里 说得很明白了。 另一个问题在于,人们对科技越来越诡异的迷恋,以及开发人员对工具异常的狂热。大 家总在说,为什么有的软件和应用做得这么烂?没错,确实很烂。烂的原因在于,太多一味 求快的程序猿在忙着建设工具, 然后用这个工具去支持和适配另一个他们建好的工具, 然后 再用这个工具去支持和适配另另一个他们建好的工具, 然后再用这个工具帮他们写出更快的 代码。 这就是我为什么觉得软件开发需要更多的“人”,而不是“工具”的原因。并且,这些人不 仅仅只是帮忙做做外面的 UI 艺术之类的而已,应该要有更多的人深入软件开发的内部―― 确保软件更多的与人文产生共鸣和回响。 当我们谈论编程时,我们在谈论什么? 编程不是打字。 所有的程序猿都明白这一点,但是大部分人都容易忘记这一点。 在电脑前噼里啪啦、 弹指挥间的感觉确实很爽, 这种键盘上啪啪啪的快感却很容易让人 忘记编程是一项脑力活动,而不是体力劳动。编程的真正奥义在于,把人类的思维、设计、 语言、逻辑和精神创造以一种计算机可以识别和储存的方式记录下来。? 我妻子有时会跑到院子里问我,你在编程吗?我说,对,我在编程。事实上我可能正拿 着钳子修剪花盆里的花草,或者做做施化肥之类的事情。 植物、土壤、钳子,这些都是编程的好工具,正如键盘、鼠标和双屏幕一样。 目前,我们正在经历一个经济产业的转型期,从新兴到可持续发展之间的一次过渡。新 的软件产品和商业模式是需要发展, 但为了互联网行业发展的可持续性, 这种速度应该降下 来一些了。 撸代码不仅仅只是在撸当下用户的需求, 撸的更是未来某个行业领域的架构基础。 代码应该在程序员的关爱下慢慢的、茁壮的成长。Like good wine。Like a baby。程序员们 让你的孩子当个网页工程师吧!截止到今天凌晨,互联网上已经有大概 6 亿 8 千万张网页,而且依然在迅速增加。今天就 来严肃地展开一下网页工程师的话题吧,关于他们的工作,关于他们的职业;关于 HTML, 关于 Python;关于浏览器,关于这个世界。周围有一些朋友的孩子也快要诞生了,将来可以考虑做个网页工程师呢~ 每天的我们,在(还算)安静的办公室里,面对着电脑屏幕,忍受着窗外的喧嚣,随手点 开浏览器,输入一段 URL,敲下回车键。有没有这样的体验,网站瞬间被打开了,高质量 的内容,干净的布局和优秀的设计让你过目难忘。感到吃惊是吧?这一切都归功于一类人, 网页工程师,所谓的 Web Developers 们,他们不仅负责网站的搭建和网页的编码,还 负责各种测试分析,以及一切和网站相关的维护。 如今网页的重要性毋庸置疑,在商业上,好的网站已经是企业保持竞争力的重要环节。 伴随着网页开发技术的日新月异, 优秀的网站层出不穷, 网页工程师对于自己的工作已经不 能有半点马虎,成为一个好的网页工程师也没有任何的捷径。 但问题就来了, 正在频繁迭代产品的苦逼创业者们, 应该寻找怎样的网页工程师呢?想 成为网页工程师却只是刚刚试水 HTML 和 JavaScript 或者刚刚开始了解 Python 和 Ruby 的童鞋,又应该如何规划自己的技术之路呢? 登录过智联前程大街猎聘周伯通拉勾等等网站, 浏览过各类工程师在线课程, 接触过网 页工程师相关的招聘和应聘的,应该不难发现一个趋势,就是这群人被集中分成了三大类: 前端工程师,后端工程师,全栈工程师 一个一个来说吧 前端工程师 Front-End Developer 和用户发生交互的那一部分叫做网页的前端, 说白了它就是你在浏览网页时可以看到的 所有东西,字体、颜色、导航栏、下拉菜单、滚动的图片,等等等等,这一切都是由 HTML + CSS + JavaScript 拼装而成,在浏览器的渲染下变得井井有条,很神奇的! 首先来了解一下相关技能和工具。 前端工程师主要负责网站面向用户部分的代码, 以及用户体验相关的架构。 一个前端工 程师必须熟练地掌握三门基本的语言:HTML,CSS 和 JavaScript。除此之外,前端工程 师还应该熟悉一些样式框架比如 Bootstrap 和 Foundation, 和逻辑框架比如 Backbone, AngularJS 和 EmberJS,这些框架确保了网页在不同平台上的质量和稳定性。最后还应该 能够熟练的使用一些基本的工具库比如 jQuery 和 SASS/LESS,这些能让开发更加高效, 代码更加优质。 另外, 很多招聘文案中都会要求求职者有 Ajax 的开发经验。 Ajax 技术使用 JavaScript 默默地和服务器通信来动态加载网页内容, 以实现无缝的浏览体验。 虽然这不是所有网站都 必须的,但这也可以算是前端工程师的基本功之一,毕竟 Ajax 技术如今也越来越多地被应 用到了网页中。 有了前面说的这些技能, 前端工程师就可以很好的和设计师合作, 和用户体验分析师合 作,把草图和原型开发成成品。牛逼的前端工程师还能精确的发现用户体验相关的问题,给 出建议和解决方案, 用代码来增强设计。 一个好的前端工程师还应该能够和业务人员流利的 沟通,明白他们的目的,理解他们的需求,了解市场上的机会,并且顺利地执行。 总之在后端工程师造好屋子以后, 前端工程师主要负责房屋的内饰。 至于房屋的类型和 品位, 这就取决于房屋的主人了。 相比于后端, 前端工程师一般来说更加满足于自己的成果, 毕竟这是一份技术和创意相结合的工作。 经验丰富的前端工程师不仅是一个技术人员, 不仅 是一个 Geek,因为他不仅实现了用户可以看到一切和可以交互的一切,还致力于给用户留 下过目不忘的印象,所以他也是一个视觉达人。 那我们看到的网页是怎么来的呢? 再补充一下这个很多人都关心的话题吧, 在网页开发过程中, 设计师绘制 Logo 和图像, 摄影师拍摄照片,文案编写文字,最后由前端工程师把它们组装在一起,用网页向我们阐释 所有内容,用网页向我们提供独一无二的体验,把我们在网站上看到的所有内容变成可能。 后端工程师 Back-End Developer 新的问题来了,网页上的数据存在哪里?API 又是什么? 就像一间没有造好的屋子, 光有室内装饰还是远远不够的。 于是我们还需要后端工程师。 网页的后端包括服务器,应用程序,以及数据库。这些组件相互作用,使用 API 和前端通 信,确保了网页前端的存在。后端工程师的主要工作就是搭建和维护这些组件。 还是先来看看相关技能和工具。 相比于前端开发,后端开发的技术和工具比较多元。为了实现服务器、应用程序和数据 库三者之间的通信,后端工程师通常使用 Python,Ruby,PHP,Java,.Net 等语言来编 写应用程序,用 MySQL,Oracle,MongoDB 来查找、存储和修改数据,然后把它们部署 到服务器上来为前端代码提供支持。 在实际工作中, 后端工程师至少需要掌握一个开发框架, 比如 PHP 的 Zend 和 Symfony, 或者 Python 的 Django; 还需要能够熟练使用版本控制 工具,比如 Git 和 SVN;以及了解 Linux 开发环境。这些看起来比前端开发枯燥多了! 后端工程师需要使用这些框架和工具来为网站编写优质的代码,有可读性,可移植性, 有完备的文档。然而和前端工程师一样,在开始埋头编码以前,后端工程师需要和业务人员 充分沟通来理解他们的感性目标,将其转换为技术需求,提出具有可行性的有效方案,来搭 建技术架构。 优秀的后端工程师同样热爱自己的工作, 沉浸在后端的他们从来不觉得无聊, 反而乐在 其中。他们喜欢玩弄数据,编写出有用的 API,按照不同的权限分配给网页前端、移动应用 和其他系统,让前端工程师可以安心的沉浸在交互和布局中。通俗易懂的高质量的 API 受 人尊敬,这就是后端工程师的价值所在。 全栈工程师 Full-Stack Developer 说到这里,首先要明确一点,前端开发和后端开发并不是黑与白的区别,前端工程师和 后端工程师之间也没有恐怖分子和反恐精英这样子的暧昧关系。 在目前的经济形势下, 在这 个资源紧缺的市场环境中,前端工程师往往需要学习(至少了解)一些后端开发的技能,反 之亦然。产品开发有很多通用的规则,跨越了前后端的界限,于是我们开始寻找一种通才。 它的由来? 全栈工程师自然很早就存在,但是“全栈工程师”的叫法诞生于 Facebook 的开发部门。 四年前,有一类特别的人群被挖掘出来,他们的工作内容涉及到了技术架构(技术栈)中的 每一个环节, 包括前端和后端, 他们可以和后端工程师一样在服务器端玩弄应用程序和数据, 也可以使用前端语言控制页面内容和调节用户体验,他们能够提供一套完整的系统。 总之,全栈工程师是网页开发的全能战士。 感觉很酷是吧?成为一个全栈工程师, 同时精通前端和后端开发, 无形之中给自己的职 业生涯创造了很多机会。不过也别高兴得太早,就和烹饪一样,有人更擅长热菜,有人更擅 长甜点,精通两者需要时间和经验。妈妈的手艺可不是一日炼成的,更不是简简单单的按照 食谱来做就行(事实上很多工程师依然在这样错误的做着)。一个好的全栈工程师和一个好 的大厨一样,需要有自己的内涵,需要有所有的烹饪原料,需要掌握所有的方法,才能奉献 上一顿完美的晚餐。 全栈工程师需要掌握的技能相对复杂, 甚至有些主观, 因为这不仅仅只是技能相关的需 求,而且随着时间的推移,人们对于他们的要求也在一点点变化。除了要根据不同项目掌握 前端和后端开发的相应技能外, 全栈工程师还需要充分理解网页正常运行的每一个环节, 不 仅包括合理的服务器配置,规范的 API 结构,还要通晓 JavaScript 的哲学,以及 CSS 背 后的设计情怀。 举个栗子,现阶段一个典型全栈工程师的装备,HTML5/CSS3 + Scala + MongoDB + 云服务 + JavaScript 有了知识和技术,就还差经验了,这也是最后一道门槛,全栈工程师尤其需要能够在一 个项目面前,快速地定义前端开发和后端开发的职责,分析各种解决方案的优势和劣势,最 终选择最合理的执行方式。 老问题,作为用户如何感知网站背后的全栈工程师? 这个我真的说不出来了,自己去感受吧,页面加载需要多久,内容布局是否专业,交互 体验是否自然,等等等等。 最后说一句: 不要迷恋全栈工程师,任何时间,任何场合,都有一个“大而全”和“小而精”的选择,好 的网站从来都不是一个人的功劳, 不要忽略了设计师、摄影师、文案、产品经理、客户经理、 销售、客服、用户、以及其他所有直接参与和间接参与到网页制作中的人们。识别优秀的工 程师也并不一定只是技术层面的事情,无论是前端、后端还是全栈,工程师的自我修养还需 要包括对细节的关注,自主学习的速度,解决问题的效率以及良好的沟通能力。 如果你是个网页工程师, 那么恭喜你, 你现在最不需要担心的就是找到一份称心的工作。 事实上接下来五到十年是网页工程师最好混的时期了,HTML5 终于定稿,五花八门的屏幕 的出现,跨平台应用的需求越来越高,微信至少还火热着,加油啊!!! 编程应该用 Mac 还是 PC ?这是一篇比较老的文章了, 眼看着公司开发人员用 Mac 的比例越来越高, 现在再拿出来讨 论一下,想想也未尝不可。喷的时候请勿人身攻击。 『有人的地方,就有江湖』― 徐克。笑傲江湖。序 一个竞争的市场,就会有对立的产生,这世界存在著很多不同的领域,领域好比是个江 湖的缩影,因此就有许多门派的纷争,例如说浏览器领域有著最大宗的 IE 派,门派成长速 度飞快,武功版号跳的跟台湾物价指数一样快的 Chrome 门,不断被模仿,一直被超越的 Opera 派;韧性极强,一直对抗几大势力的 Firefox 派等等,程序语言也有自己的领域纷 争,社群网站也有社群网站领域的战争,这根本就是一个战火永不停止的战国时代,但是其 中持续最久,n突最大最激烈,当然 以作业系统这块领域为最,因此,让我们来谈谈这个 江湖。 首先我想讲讲这个武林的历史,不想看的人可以直接跳到最下面我的看法。 作业系统的上古时代 在很久以前, 这块江湖的地位是I限在于少数被选上的人才可以踏入的, 这些人就是工 程师,因为要掌握这个领域的武功不是一件容易的事情,因为在这个领 域的武功基本心法 就是学习一堆}杂的武功招式(文字介面的程序指令), 这些被选上的人必须学习很多很多的 招式,然后搭配使用这些招式进而来操作作业系统, 因此这门领域的武功学习曲线是很高 的,不是随便阿猫阿狗可以学习的,在这段时间中,掌握了这些招式你就能去使用作业系统 中的各式各样的武器(软体),在这 段时间内,你可以透过作业系统本身提供的基本招式来 控制作业系统,你可以透过武器提供的招式来使用武器,你甚至可以自己发明招式(自己写 script)来 控制作业系统和武器,因此当时所有的工程师都有自己打造的一套最适合自己的 武功,没有了他们武功会大打折扣,但是在他们使用自己打造的武功时能发挥出他们 最强 大的威力。 百家争鸣 但是这世界后来起了变化,当时某人将一个『连猴子也能学会用电脑』的概念带进了这 个领域,让这个领域不再被少数人寡祝飧龈拍罹褪 GUI (图形化介面),GUI 的产生 让作业系统看起来更容易理解, 大幅降低了这个领域武功的学习曲线, 将这个概念发扬光大 的有几个大门派,一个是目前最大的微软 派,这个门派非常可怕,势力非常之庞大,他们 以作业系统这个领域起家, 不单单如此还将触角伸向非常多不同的领域, 几乎是跟电脑有关 的领域都参一脚,不难理 解是一个以征服世界为终极目标的门派,掌门人是 Bill Gates, 据说他靠著卖出这些武功所赚的钱蝉联了 13 年的世界首富,是个极为可怕的角色,所有 能力值大概都是 ?????,微软派的武功非常多,但都是以 Windows NT 这个核心心法所 延伸出来的,像是大家熟知的 Windows XP,Windows 7 等等。 另外一个是由 Steve Jobs 建立的苹果教,教主 Steve Jobs 是一代传奇人物,苹果 教早期曾经发生过一次内乱,这次内乱迫使当时教主 Steve Jobs 远走他乡,但是强者天 生就是不平凡,在教主离开苹果教的这段期间,教主看出了当时武功心法的一些通病,为了 矫正这些错误他穷尽心力费尽苦思的想出一套旷世 奇功 ― NeXTStep,而反观在这期间 苹果教在新教主阿猫一号的带领下反而流失越来越多的教徒, 整个苹果教呈现一个日暮西山 的状况,因此在其他长老的强烈要求 下他们将 Steve Jobs 迎回了苹果教继续担任教主, 当然教主也带回了他所创的那套旷世奇功 NeXTStep 作为日后苹果横行天下的武功 Mac OS 的基础,如果你有研究过 Mac 的心法你不难发现在他们的招式中常常会有 NS 的 prefix 像是 NSString, 这个 NS 所指的就是继承于 NeXTStep, 在教主回归苹果教后, 经过了几年的发展再次将苹果教推向了新的高峰,推出的许多划时代的神兵利器像是 iPod、iPhone、iPad,苹果教利用这些神兵利器打下了一片大大的江山,成为微软派最大 的劲敌,但在作业系统领域上的唯一一套武功就是 Mac OS,也就是这个门派最基本的心 法武功。 其他门派像是 Linux 门也是一股势力,这个门派的武功与苹果教的 Mac OS 同样都 是由一个上古时代就存在的门派 Unix 演变而来,这个上古时代也就是本文一开始提到在 还没有『连猴子也能学会用电脑』这个概念出现前,那个被少数人所寡椎氖澜纾飧雒排 心法的特性就像是我们 前面提到的工程师可以利用各种由作业系统本身或是应用程序本身 所提供的招式,加上自己的想法组合出最适合自己的武器,因此 Linux 及 Mac OS 皆继 承了这个传统,但是 Linux 门情况比较特殊的是,虽然他是一个门派但是本身有非常多不 同的势力,这些势力自己每天互相打来打去不亦乐乎,造成无法将枪口一致对外,大家自己 闭门造车一 直重}打造别人已经有的武功,因此发展始终无法达到一个高峰,但是一直以 来他在伺服器领域的令人惊艳,也让 Linux 在这块领域有著他不可取代的地位。 回到武功心法 前面说到,这个世界的改变是由于『连猴子也能学会用电脑』这个概念的带入,但是这 个概念在每个门派的实作方式是不一样的,例如说微软派为了将这个心 法发挥到极致,将 自己的心法改造的与上古时代完全不同, 抛弃了那些使用指令操纵一切的心法, 取而代之的 是使用许多不同的武器(软体)来应付不同的对象(档 案),因此基本心法(作业系统)不再是 重点,而是一个随时可以替换掉的东西(随时可以重灌),你只要保留你的档案,重灌你的作 业系统后再把这些武器装上去 就可以用了,这个过程不知葬送了多少宅男的青春,但也让 他们有当好人帮正妹修电脑的机会, 但是因为如此, 微软派的心法失去了原本上古流传下来 的传统,你无 法使用招式(指令)来操作各种不同的武器(软体、程序),因为这些武器现在 开始彼此是不相往来,GUI 上的所有程序无法互相沟通。 你可能会问这有什麽影响?我告诉你影响可大了,人使用电脑的目的就是提高工作效 率,在程序无法互相沟通的情况下,程序必须仰赖人的操作才有办法工 作,因为你无法写 一些综合巨集来完成}杂大量的工作, 以微软的例子来说, 会使用 VBA 脚本的人工作效率 会是一般人的 n 倍,因为你可以完全的操控你的作业系统,就像你使用 VBA 可以完全的 自动化 Excel 一样,但是作业系统想要做到这个层次,必须仰赖著一个统一的执行环境来 管理这些程序,这个目标也是之前程序语言领域的 Sun 想要在他们的工作站做到的事情, 也就是 Java,但是那是另一段故事我们先暂且不谈,这样的影响对工程师来说,就是 “什 麽都看不到”,现在微软派武功心法全部都蒙上了一层马赛克,因为所有的东西都是被包装 过的,相对的工程师们无法去真正的了解这套武功心法,你想要做的 事情如果超出了武器 (软体)能应付的范围,你只能放弃,也是因为包装的太好,在发生问题想要 Debug 的时 候你根本看不到作业系统层面的问题, 只能按下那个回报给微软的按钮, 因此在微软派以这 样的概念全力发展 GUI 的历史后,取而代之所纹木褪钦飧 “问题”,我把问题用双引 号包起来的原因是因为,对一般使用者来说这并不算是个问题,因为他们感受不到,我相信 这或许也是微软的成功原因之一。 Linux 门则是把原先上古时代的传统发挥的淋漓尽致, 但就像我前面提到的, Linux 门 自己的内战打的不亦乐乎, 当你踏入了 Linux 门之后, 你会发现常常当你想使用 Linux 上 面所需要的武器 A 的时,他会告诉你你必须先有武器 B 的 1.13 版,然后武器 B 的 1.13 版必须先有装备 C 的 2.01 版,然后装备 C 的 2.01 版需要 Linux 心法的 1.03 版,然后结果你发现你在用的是 Linux 心法 2.0 版,因此虽然 Linux 门继承了上 古 Unix 门的良好传统,让你可以像高手般的打造自己的武功,也可以完全的掌控整个作 业系统,但是常会因为这些武器的相依性给搞疯,还没用到武器,就先被武器给弄死 了。 再谈 GUI 所以你大概可以体会,GUI 开始算是一个作业系统的分水岭,他让每个门派的心法看 起来变得很不一样, 微软派的设计让你看不到作业系统层面的东西, 因为东西几乎都是被包 装好的,但是你 可以在微软派的 windows 系列武功上使用相对良好的 GUI,但是由于 微软派的 GUI 设计是跟底层绑在一起的,因此有时候 GUI 的崩溃也让系统一起崩溃了, 就出现了传说中的蓝白画面,Linux 门的设计非常开放,你可以随时取用串接你想用的心 法, 但是在 GUI 方面就差强人意, 大部分是一些看起来就像是山寨微软派或苹果教的产物, 当然现在来说有些表现较为优异的像是 Ubuntu 之类的,但用过就知道还是有差,而苹果 教正好是取其两家之长,一个拥有高度 usability 的 GUI 介面加上可以自行设计的武器 系统,Mac OS 感觉就像是上古流传下来的神器再用对武器施法的卷轴n到 +10 那样强 大,在 Mac OS 上使用继承于教主所开发的心法 NeXTStep 的进化版本 Cocoa,这套 心法提供了一个统一的作业系统执行环境, 所有基于 Cocoa 心法所研发出来的新武器都有 了统一的介面,这个统一的介面让你可以 100% 的控制所有的程序,而且 Mac OS 本身 就已经提供了完整的开发环境给所有的工程师,反观在 Linux 门缺乏这个在 GUI 上统一 的介面,因此他们的 GUI 看起来就挺杯具,而微软派的 Windows 系列在从 Vista 以后 希望打造出一个完全建构于新心法 .NET 框架的环境来达成像是统一介面的环境,但是由 于其设计哲学上的差异他们还是有差异,而且 .NET 心法的一个致命伤就是仰赖著使用者 必须自行去更新 .NET 版本,如果他没有更新成适合的版本那你所开发的武器可能他就没 有办法使用。 后记 其实是简短的故事整理,对于使用 Mac 或是 PC 的来写程序比较好,其实两派各有 说法, 个人浅见只是文化上的差异, 一个最简单考虑的重点就是你想开发哪个平台上面的软 体,那麽你最好就使用该平台来开发, 你想开发 Windows 上面的应用程序,那麽赶快安 装 Visual Studio.NET,你想开发 Mac 上面的程序那就赶快买台 Mac 安装好你的 XCode,当然,你也可以考虑 Java 来开发跨平台的程序,但是用过都知道在 GUI 的显 示在不同平台上还是会有差异的,那如果是开发 Web 的程序来说,个人浅见如果你是使 用 PHP、Ruby、Python 等程序语言,那麽 Unix-base 的环境还是比较适合你,因为你 必须常常去追踪你的 Application 在系统的运行状况来做效能的调教或是 Debug,而这 是在 Windows 平台上的相对弱项。 已经看过太多的战文在讨论 unix 好还是 windows 好,其实就像我说的是文化上的 差异,微软的文化是以一般使用者为出发点而设计的平台,如果是由一个 Unix 的工程师 来设计一个软体,他可能会开始先设计一个文字介面的核心,然后才加上一层 GUI 的皮, 这样这支程序才可以为其他程序设计师来自动化操作,因为 Unix 的哲学是以程序设计师 为出发点,反观 Windows 工程师会倾向于先做出一个使用者操作的画面,然后才去写核 心部分,对于 99.% 的使用者不写程序的 Windows 这是很正常的事。另外 Windows 跟 Unix 最大的差异还是在资讯透明度,Windows 上核心底层的东西必须仰 赖微软更新后才会修复,因为你很难去看到底层的原始码,而 Unix 由于开放的关系你可 以随时进入底层去找出错误来修正他,但这也不算是 Unix 就比较好的观点,因为这单纯 是设计理念的不同, Windows 倾向于我帮你处理所有底层的问题, 你专心写你的程序就好, 而 Unix 则是我让你看光光,你不开心就改没关系,因此两派信徒互相嘲笑对方,其实只 是设计理念上的差异罢了。 虽然我用 Mac,但我相信比尔盖兹在 Windows 上写程序还是会把我震住的,所以我 从不嘲笑 Windows 的工程师,所以请依照你的需求挑选你的平台就好,如果要开发微软 的程序,那麽用微软的环境还是最无痛的!程序员也要养生我最近在写《深度 Python》的最后几节课,我还要加一课:关于程序员在其职业生涯中普 遍的健康问题。我发现诸多代码人在敲代码的时候好像不在乎他们的身体状况, 很可能是 太过于全神贯注。 我希望人们可以通过知晓一些与编程者相关的健康问题而获益, 并可以避 免曾经发生在我身上,而且就我知道也发生在很多人身上的问题。 我可能不会把这篇博文全部放进《深》里,因为有点多。但我会写个缩减版。请您惠知 喜好,或有我可以引用的附加资源。我的背景和资历 我以前是一等合格美国士兵, 并学习过多种武术。 近年来我未像过去学武术一样奋力工 作,而是专注于瑜伽,入定和一些简单的活动。我小时候是异常健康的,现在依然如故,这 归功于我早已根深蒂固的锻炼习惯。 首先先列一下我学过的武术:忍术(Ninjitsu),合气道(Aikido),柔术(Judo), 泰拳(Muay Thai),咏春(Wing Tsung),卡波耶拉(Capoeira),阿尼斯(Arnis), 其排序不分先后。我要讲只有泰拳我是连贯学习的,大概有六年时间。其他的用了一到两年 时间。我去了很多地方,因此学习之道就是那儿有什么便学什么。 而且,在部队里我是体能测试优秀,几乎是连续两年满分通过的。如没记错,这其中有 几乎每天两至四小时的训练,这在部队里不算什么。除此之外,别无他事可做。 然后,不论我干不干活,我如今一直保持着同样的体重、灵敏及力量。所以我无法告诉 你怎么减肥。我很可能先天基因就是如此。这意味着你要根据自身情况来调整我的建议。 有着前述的体魄,当我渐老我更喜欢侵略性弱以及更灵活的一些运动。瑜伽是不错的, 常被误认为很难。我同样把票投给普拉提(Pilates),游泳,舞蹈等一切对我身体无直接 影响的运动。我尤其注意我的手,缘由我也会说到。 好,写这么多是让你知道我还有点能耐,但是更重要的是,在干这些的同时,我是一个 职业编程者。在退役后,我平均每天学习八到十六个小时。 我使用盲打而且玩吉他,我还 避免了腕道综合征,以及重复性劳损问题。 希望我保健的经验能帮你恢复或保持健康。 程序员常见健康问题 编程乍一看是个耗人的领域, 一方面似乎你没有做很多, 另外和很多代码人对待其身体 的态度有关。 你要一贯地保持健康,因为身体好时会减少对精神的摩擦损害,而将注意力 集中到要事上,而不是你生理上的小毛病。 显然建议就是大多人说的饮食,外出活动。我这里不会教你怎么吃或健身,或者哪种武 术。如你对这些感兴趣,找一个职业的来帮助你锻炼。 这里要说的程序员们平日的职业病。 他们相当明显而且平常, 由于某些原因他们并不在 意这些本不该发生的事情:? ? ? ? ? ? ? ? ?腕部疼痛(重复性劳损) 盯着看移动的打印进度以及其后的句点造成的眼部问题 姿势不当造成的背部不适,尤其是背下侧,肩上侧。 肠道和尿道的问题(不能正常大小便) 摄入太多咖啡因,而且喝水少造成的脱水 坐姿保持太久,造成男性的痔疮或前列腺问题(我一会再细说) 光照不足造成维生素 D 缺乏 熬夜或者喝咖啡过多导致的睡眠失序 缺乏伸展导致普遍的僵硬和疼痛我一直跟这些问题作抗争,因为编程,弹吉他,或者举重时误伤。每当我重获健康的时 候,我就知道了此后怎样避免。只有一小部分问题是周期性的。你可能觉得这里的某些问题 无关紧要,但请相信我,许多程序员都有这样那样的问题,且原因不一,即使你还没有。 一般原因 一般来说,可以总结成嗜编程为命。你可能想成为个中翘楚,就像我一样,因此除了生 活除了编程别无其他。你不去卫生间,你勇猛地进行 10 小时连续编程。而且你饮食不规, 只神笃“真正的代码人”这一信条。 事实是真正的编程者都是有点傻蛋。他们从来吃不到正点,做爱也没有准。跑步从来都 气喘吁吁,他们的内脏有一些严重问题,但不是疾病原因。真的,在你精通某件事之前灭了 自己可不是很值。 所以, 在你看到这些问题以及我怎么解决的时候, 记住这都是为了有一个均衡的生活习 惯,而不是沉溺于编码或者其他什么事。相信我你会实实在在地好起来,如果你给你自己减 负并且保持健康。 腕部疼痛 这个可能是我用心最多的。因为频繁且长时间地编码、拨弦,我的腕部有着周期性的疼 痛。那年我 22 岁,刚开始职业性地编码。但是我一直有一个合气道的功课,这样我的腕部 就会恢复如初。 你知道,合气道有着绝佳的腕部练习,从而让你的腕部变得结实又柔软。他们创造的这 些练习可以避免伤害,原本的许多技巧就有扭、撕扯、手臂和肩关节的脱节。 这些练习治好了我的所有关节错位和疼痛, 并让我长时间编程且没有任何大问题。 我唯 一可能出现问题是因为我要把现在的键盘换成新的古怪布局的键盘, 但如果我练习一周合气 道我就有可以重返代码并依然强健。 现在如果你有严重的腕道综合征或者其他类型的重复性劳损问题, 先咨询你的医师再行 尝试这里的技巧。如你要做的话,开始时要轻慢,不要让你感到疼。伸展应该不会疼,只会 轻度有点不适。如果你感觉疼,是过度拉伸了。. 你实际想每次伸展运动得到放松。 这有点难解释, 但不是强迫你的关节在某个固定位置, 而是先到达一个位置,想一想放松而后再到更远的位置。 记住这一点,怎么做练习则有很多视频:? ? ? ?翻转手腕(需翻墙) 扭腕 手腕外侧弯曲(需翻墙) 手腕内侧弯曲(需翻墙)下面介绍当你坐下来打字的时候怎么去做锻炼(每次都要这样): 1. 首先要热身,将手伸向前方在空中尽可能快速地抓 20 次。然后甩手,再做手腕单 侧弯曲 10 次,然后换方向弯曲 10 次。 2. 用你最擅长的,以中速做 5 至 10 次。 3. 继续做各项动作,但甩手和甩胳膊,弯曲手腕后到要归位。这些动作会移动手腕中 的骨头,甩的时候它们就会归位。 4. 千万不要做过头,让你手腕感到损伤。要适度恰好,并放松。那个“没有付出就没有 收获”只会伤害你。 每次敲代码前做这系列动作, 每天要做, 而且停下来的时候也做一次。 用不了多长时间, 一段时间的不适之后你的手腕就会开始适应并回到正常,并感到好许多。 还有:在做这些之前先咨询一下医生。你做这些可是自己冒风险,所以自己不小心搞坏 了手腕不要来起诉我。 这些是千年武术中的家常便饭,所以我知道它们不会有危险,但各 人情况不同。如果你做法不对可能后果严重,如果感到疼痛立即停止并咨询医师。 吉他手更糟糕 程序员的重复性劳损在吉他手或贝司手跟前可是小菜。 这起因是诸多愚蠢的理由, 许多 著名的音乐家讲一天八小时或十六小时学习法。正因如此,吉他手们糟践自己,最后不能演 奏。 吉他对于手来讲是硬乐器,所以有一点点疼痛你就歇菜了。我在学校的时候,像个傻比 一样轻信我的老师自己一天练八个小时的琴。 我字面理解就是一下子就八个小时, 我这样折 磨自己一个月然后就崩了。 我的拇指有了赘骨, 其他的指头疼痛难止。 我的手腕还耐得住, 但指头已经不行了。 二 逼呵呵的我没有听那句话,任何新的运动需要循序渐进。 我解决这个的唯一办法,而且用了一年半,是做以下的事情: 1. 2. 3. 4. 5. 6. 7. 8. 找把不伤手的吉他。说你啥样吉他都能玩是屁话。去找个最好的不伤你手的吉他。 做上面的锻炼,我的指头做得更多。 通过做练习,慢慢开始恢复指头的力度并注意放松。 在弹的时候注意放松,拨弦的时候更轻巧。 避免弯曲,这些曾导致我的手受伤。 变换姿势和演奏风格,不抓紧吉他就能快速移动,舒服地把拇指压在琴颈背面。 调整吉他高度,让我的肩和手都觉得舒服。 站着,很少长时间坐下,长时间摆一个姿势是很别扭的。去年做完这些后我的手最终痊愈了, 并且感觉良好。 我还没有不让我弄伤自己的好习惯。 我已经老大不小了, 所以这些对我很重要, 但这也意味着我不能做那些可能弄伤我手的活计。 我的手现在是我的命根子,所以不能再打拳了,或者其他我还想学习的事情。因为打沙 袋我手上已经有多处凹陷了。 眼疲劳 我觉得这对我不是问题,但你最好悠着点。我年轻的时候比 20/20 还要好,但用了几 十年电脑有点偏了,曾经用过眼镜矫正,我用得着的时候一直戴着,没有它们看周围的世界 真是恼人的模糊。 在黑暗时期我们天天还瞅的是 CRT 显示器,烦人的闪烁已经把一些人的眼睛整垮了。 现在的问题是多数 LCD 屏幕对字体的糟糕渲染。 我想归功于苹果公司的专利,多数 LCD 屏都不能正常渲染字体。 尽管有人认为苹果的字体看起来毛茸茸的, 所以对于你的好处将很 难说。 我想每天两个小时不看电脑。要么我去玩吉他不用费眼力,要么去公园散步。我可能不 是整整两个小时都去这样干,但是加起来要保持两个小时。 这对于你可能有的头痛有助益。 多数时候程序员可能会想玩电脑的时候开着灯导致了头 痛,但其实是因为体位不对,还有糟糕的字体,饮水不足,而且是跟电脑打持久战。 不是把你房间的灯都关掉, 只需要合理的照明, 选择适合你液晶屏和室内灯光的色彩方 案。 即融合室内照明,液晶屏亮度和字体,以及让你感觉更舒服的色彩方案。 但还是先休息一下吧。 背部问题 我挺走运的,背一直还可以。尽管如此,我相当多时间是坐办公室,并保持着灵活强健 的脊背。 我的问题是背的上半部分,脖子,肩部。我习惯猫在键盘上,所以必须强迫自己坐直。 事实是,刚刚敲这段话的时候我就没坐直,才想起矫正一下。 现在选择你的座椅很重要,我喜欢艾伦椅(Aeron),那种硬质小凳子或长凳。现在非 常热衷我的 40 美元的钢琴凳,过去我坐着它弹钢琴的。因为没有后背,凳子会时时逼迫你 坐端正 ,并调用我的核心肌肉(肚子和背部)。 我的肩部完全处于压迫状态。 我习惯于在我全神贯注的时候收紧双肩, 这样让我的整个 背上部感到疼痛,一直蔓延到脖子和头部。当我长时间玩吉他的时候问题更糟。 我发现最有效的解决办法是伸展上肢,做俯卧撑。伸展办法很简单,抓住门框,然后双 臂同向或反向拉伸。你觉得身体有点僵硬的时候试试下面这些招数: 1. 用一只手抓紧门框,手心朝向你的身体,然后向前挺胸,越过肩位。 2. 用另一只手握紧门框,胳膊交叉在前,手心继续朝里,然后伸展肩部,使背部得到 伸展。 3. 两只手都抓住门框,高举过头,稍向后站呈倾斜,然后来回拉伸。 (就像站着做俯卧 撑) 如果你做了,同时做抡臂,摇摆,你就会觉得好一些。或许在你开始干活之前加一些腕 部伸展。 另外就是做真正的俯卧撑了。 我工作的时候并不做这个, 因为它会让你很累, 难于工作。 在睡前我做十次,这十下足以对付胸、背、肩、腕。 不要过快,要慢,注意在做的时候使 身体平衡。 脱水 这个问题不大,我时常有点内疚。我发现我一天狂喝咖啡,正因为这样我想我也该喝点 水。如果我没有头疼那倒有点不对。脱水的问题很难发觉,直到你发现的时候已经晚了。 我的建议(我也要多做的)是,喝其他非纯净水的饮料时也喝一杯水。同样请勿喝苏打 水。它们只是一堆伪糖,让你变胖导致糖尿病,还有它并没有给你产生水。喝纯黑咖啡吧, 它们真他妈好,记着再喝些水。 肠道及尿道问题 好吧, 接下来的两个问题确实不雅, 所以就不提发生在我身上的事了, 但我要说这句话: 上厕所的时候他妈赶紧去,别犹豫。 你不知道这条提示有多有用, 我真希望我年轻的时候知道这句话。 因为我是一个拼命汉 从不间断,跳过上厕所,憋相当长时间。 肠道问题就是你的机体不再告诉你你该拉屎了, 只是愈积愈多。 这样的话最后会导致便秘,这将终结你的健康状态。对于尿道倒次要,但是你依然可能 会有感染和其他令你惊奇的事情。 如果你已经搞砸了,你去弄一些纤维片,待在家里然后吃掉,不要去外面,因为后果很 宓摹 然后,你觉得是时候了,拾起身去拥抱上帝吧。我告诉你,在你拉完屎之后你的伟大想 法才会自然迸发。 痔疮和前列腺问题 另外一个不上厕所会导致的就是痔疮。我知道够恶的,我保证只提这一次。但是,许多 编程者有这个问题,并羞于启齿,他们并不知道为什么。下面听我一一道来,我做过下述所 有事情,但是只得过一两次痔疮: 1. 2. 3. 4. 5. 长时间坐着。 举重东西,不用辅助。 该去解决内急的时候不去。 强迫自己去拉屎,实际上不需要。 最糟糕的:坐在厕所里看书。最后一条就是罪魁祸首。如果你不是必须要大 C,可别老泡在那。这相当于将你整个身 体和肠子的重量压进已经泻完的直肠上,并试图挤出来。恶心至极!这导致痔疮因为你的血 管中的血压不自然地升高。 确实臭烘烘的, 但潜在危害很大。 恩, 危急情形是血流一地, 这时候谁都知道去看大夫。 你可能需要手术,但做无妨。我没有做但也差点:有一年我在举重,然后在库房工作,不间 断编程,没有用过厕所。 是,我是个大笨蛋。你可别学我。为了你的屁屁的健康,请做以下的事: 1. 多吃果蔬,至少吃点纤维片。 2. 该解决个人问题时赶紧的! 3. 任何情况下不要压迫直肠。 还有一个导致前列腺的问题,如果整天坐在屁股上的话。站起来转转就可以。如果尿血 或者排尿困难,去看医生,否则会更危险。 维生素 D 不足 维生素 D 有点怪。的确只能通过晒太阳产生,但你并不必去专门为此去暴露在阳光下。 5 到 30 分钟就好,取决于光照的强度。还与你的钙水平和磷缺乏程度有关。但你要是饮食 规律,并非只吃些薯片的话,就问题不大。 还有一些事比如消沉,搞坏的牙齿,一些奇怪部位的疼痛比如臂肘的骨头,肌肉痉挛, 总体来讲就是跟烂泥一样。同样,如果你觉得不行的话去看医生,正常情况下在日头正盛的 时候,去外面溜达半个小时足矣。 事实上,我觉得一个问题是硅谷里很多刚起步公司提供的餐饮。因为你要泡在办公室, 经常吃残汤剩饭,而且照明也不好,太阳高照的时候你也不出去晒下。加上你的睡眠习惯你 的维生素 D 状况就糟糕透了。 不要吃盒饭,在中午去外面吃一顿。好处你自知,而且外面的食物好多了。 我在温哥华和西雅图的时候有轻微的维生素 D 缺乏,那儿光照不足,对于我来说简直 要我命。有人能搞定,但是像我这样青年时代在热带岛屿上度过的人,不足的光照确实就是 杀手。 所以,你趁有太阳的时候出去晒晒。 睡眠失序 我的睡眠时间一向很灵活,跟季节和地域有关。有时候我如猫头鹰附体,熬夜熬到很晚 才睡。最近搬到旧金山后开始早睡,不再晚睡了,最近感觉很好。 有时候, 我不确定为何在夜里创作音乐或编程倒多产。 我认为在一个疲惫的状态下我的 大脑确是在休息的。我还觉得是因为夜里更安静,没有滋扰。 不管怎样,早睡晚睡已经把我的睡眠机制搞砸了。当我渐长我更喜欢早起,我觉得白天 更清醒更放松。熬夜后再睡往往觉得自己有遗留反应,而且头疼。 如果你也有睡眠问题,我有一些简单的调适方法助你入睡。需要实践,但很有效。 首先,花你的血本买个好床,2000+美元不算多。我买了 2200 块的 Tempur-Pedic. 的确很值。 有了床,开始练习助睡法,有点自我催眠的意味: 1. 2. 3. 4. 5. 6. 关掉你房内的所有灯光和音响。 躺下,让手放在让你舒服的位置。 缓慢地深呼吸,并想象空气流进身体及逸散出体外的场景。 当你能注意到你的呼吸之时,想象你在看窗外辽阔的太空,悬星满布。 然后伴随呼吸幻想自己漂浮在空中,渐入巨幅的星系,一切星辰,皆伴随你左右。 持续幻想,感觉你的床也在漂浮,直到皆不见。你或许在四五点睡觉,但不是要出去的话,就幻想自己漂浮直到你真感觉融化了。 如果你有重度失眠,还请咨询医师。但还是试下这招,一天做一到两个小时。练习后绝 对会让你入睡。 刚柔并济 如果浑身不适难于活动, 这时就该做下伸展运动。 当然最好莫过于去瑜伽馆每周做练习, 并回家自己练习。如果没有时间,可以买书或在图书馆借 N 多教程。入门级就可以,你真 的不需要太多。 我想如果你晚上入睡前做 5-6 个大幅的伸展练习就够了。你会觉得相当放松,你的健 康状况和自我感觉也会有提升。 伸展身体的时候同样要放松大脑, 增长创造性的一大妙法就是做瑜伽或半个小时的伸展 运动,然后早晨冲澡。 伴随禅定你就会精神自适并发觉个中未曾体验之奥妙。 我也不知为何,但是精神之松弛对于突发的灵感多有助益。 迈出第一步 上面的内容可能对于你有点多,我当然希望你不会都有这些问题缠身。然而我建议,尽 管你可能没有那些毛病,但要避免它们的发生。如果你要开始编码,请采用“编前热身”。 下面就是我在敲代码前要干的,或者玩吉他前,以及我变僵需要休息的时候。 活动身体各关节,只需将腕、臂、颈、臀转摇几下。比如正向五次,然后反向五次。 在各部分前做一些腕部练习,摇一下手腕。 将臂举过头顶尽可能高,然后向后伸展尽可能远,然后伸到身体前面来。 最后,小心地用手扶着头分别向右、左、前、后摇几下。 如果你做这些的话,将避免一些编程会带来的伤害。因为编程并不会大伤体能,避免受 伤还是很容易的,因此上述部分就够了。 然而,如果有特殊问题的话,继续去咨询医疗师,如果得到他们允许可以试试我的这些 方法。我这儿说的无过激或奇异的方法,只是些基本的练习和一些常识,因此是个医生都会 许可的。我告诉你要咨询别人是只是因为我不想吃官司。 真希望这些能让你变好,如果没有的话,记下建议,以防出现这些状况。如果你够好运 连一个问题都不会有,但我觉得是个程序员都有或多或少的问题。 如果对上述的事情持有疑问,大可给我发邮件,我会给你一些建议(email me)。 悠着点。
更多搜索:
赞助商链接
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。}

我要回帖

更多关于 程序员手腕疼 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信