十年编程经验凝结(收藏)
第一点是:不断抽象已知的东西。现实生活总是包括很多零散的东西,待解决的问题不会只有一面,所以抽取零散东西的共同属性,聚合不同角度的同一面向,成为从问题领域进入编程领域的第一步。抽象的层次越高,你架构设计就越简单。
第二点是:面对未知的东西用已有的抽象经验来模拟体验,从而不断调整直至达到可以控制未知东西的程度。有了上面第一点的基础,才可能到达这第二点的境界。现实问题总是不断变化着的推陈出新的,从未知到半知到已知,是人认识客观世界的一个过程,恰如人生从天真到懵懂到成熟的过程。
天才是什么?聊着聊着我们突然说到比尔盖茨,说到那些天才黑客,朋友和我都很兴奋。我问朋友,从他总结的两点来看天才是怎么实践这两点的?朋友想了一下说,天才就是生来就有那种抽象的能力,他并不一定局限于计算机领域的空间来看待问题,他拥有从这个世界其他领域来模拟体验计算机领域的天赋,他甚而可以抽象整个世界。
朋友的思想太博大高深,如我这般入行不久的初级程序员怎能领会?但我还是装作深有体会的不断点头,同时把朋友从山巅拉到山脚下。我说:“你说得太抽象了,不如你告诉一个起步阶段的程序员应该怎么慢慢通过实践来逐步达到这种境界吧。”我知道朋友在这方面颇有体会,他以前曾跟我提起他毕业后在第一家公司是怎么接受锤炼的。果然朋友很快开始阐述:“很简单,起步阶段就是专心的模仿。切记不要被那些乱七八糟的东西晃花了眼,什么j2ee与.net之争,什么soa的革命等等,你不要去关心这些东西。当你在公司上班时,会有这样一个矛盾,当你完成公司交待的一个任务时,你可能为了尽快完成任务用了很多别人现成的框架。这本身没问题,但何谓专心的模仿?就是说你在工作之余,需要来研究这些框架,你可以不用这些框架,而是用最原始的方式来写,你会慢慢体会到框架的约束,进而有对框架进行改进的欲望。但是最终你也会发现:其实任何一个框架都比你自己写的要好。然而在你不断模仿的同时你就得到不断的提高。”朋友越讲越起劲,又开始分析高手和低手在起步阶段的差异,“其实所谓学得快,所谓高手,就是说他在模仿的过程中不断比较自己写的东西和框架本身的差异,不断发现问题,想尽办法解决问题,思考得越多,你碰到的问题就会越多,这是一个正向循环,最终你的技术能力就会螺旋式的上升;而低手只会被动的等待问题,一旦问题自己觉得解决得差不多就放下了,这样自然就不会产生更多的问题,最终技术能力就始终停留在那个菜鸟阶段。”
朋友的话让我惭愧不已,我就是典型的不求甚解啊,问题解决得差不多就行,能运行就万岁,总是不去深究,这样给系统留下多大的隐患啊,而且也是对自己极大的不负责任。
聊完了技术方面的东西,我们想聊点轻松的,但是话题仍然离不开那些搞技术的新人们。朋友正好最近替公司招聘人才,面试了很多名校的计算机相关专业的一些毕业生。朋友说他们技术功底不够扎实,我说他们除了这个,心态也很浮躁,恨不得一参加工作就拿大几千的工资,一进公司就做项目经理,太眼高手低。朋友也深有同感,说面试的时候就有一种怪怪的感觉,而且朋友进一步将这种心态问题提升到编程提升到认识论的高度,“其实我觉得他们本质上是一个不能够正确认识自己的问题。认识论其实很简单,首先认识问题,然后解决问题。你说你想做项目经理,那么你需要具备哪些技能,技术上的,管理上的等,你需要多长时间来磨炼这些技能等。编程不也就是这样嘛,认识问题,抽象问题,进行设计编码最终解决问题,其实做所有的事情都是如此。”
跟朋友的这番聊天让我受益匪浅,而让我感受最深的不是上面提及的这些关于编程和心态两方面的道理,而是我体会到:技术人员并不像人们想象中的那么呆板,每个人都在以自己的方式活着,不断参悟人生的玄妙,而技术人员以一种更为奇特的方式和电脑搏斗,付出了更多的心血,当然体悟得也更加深刻,然而最终每个人都会殊途同归。
-
-
马军成 发表于 2007/12/7 21:35:58
模拟电路设计经验总结(转载)模拟电路的设计是工程师们最头疼、但也是最致命的设计部分,尽管目前数字电路、大规模集成电路的发展非常迅猛,但是模拟电路的设计仍是不可避免的,有时也是数字电路无法取代的,例如 RF 射频电路的设计!这里将模拟电路设计中应该注意的问题总结如下,有些纯属经验之谈,还望大家多多补充、多多批评指正!...
(1)为了获得具有良好稳定性的反馈电路,通常要求在反馈环外面使用一个小电阻或扼流圈给容性负载提供一个缓冲。
(2)积分反馈电路通常需要一个小电阻(约 560 欧)与每个大于 10pF 的积分电容串联。
(3)在反馈环外不要使用主动电路进行滤波或控制 EMC 的 RF 带宽,而只能使用被动元件(最好为 RC 电路)。仅仅在运放的开环增益比闭环增益大的频率下,积分反馈方法才有效。在更高的频率下,积分电路不能控制频率响应。
(4)为了获得一个稳定的线性电路,所有连接必须使用被动滤波器或其他抑制方法(如光电隔离)进行保护。
(5)使用 EMC 滤波器,并且与 IC 相关的滤波器都应该和本地的 0V 参考平面连接。
(6)在外部电缆的连接处应该放置输入输出滤波器,任何在没有屏蔽系统内部的导线连接处都需要滤波,因为存在天线效应。另外,在具有数字信号处理或开关模式的变换器的屏蔽系统内部的导线连接处也需要滤波。
(7)在模拟 IC 的电源和地参考引脚需要高质量的 RF 去耦,这一点与数字 IC 一样。但是模拟 IC 通常需要低频的电源去耦,因为模拟元件的电源噪声抑制比(PSRR)在高于 1KHz 后增加很少。在每个运放、比较器和数据转换器的模拟电源走线上都应该使用 RC 或 LC 滤波。电源滤波器的拐角频率应该对器件的 PSRR 拐角频率和斜率进行补偿,从而在整个工作频率范围内获得所期望的 PSRR 。
(8)对于高速模拟信号,根据其连接长度和通信的最高频率,传输线技术是必需的。即使是低频信号,使用传输线技术也可以改善其抗干扰性,但是没有正确匹配的传输线将会产生天线效应。
(9)避免使用高阻抗的输入或输出,它们对于电场是非常敏感的。
(10)由于大部分的辐射是由共模电压和电流产生的,并且因为大部分环境的电磁干扰都是共模问题产生的,因此在模拟电路中使用平衡的发送和接收(差分模式)技术将具有很好的 EMC 效果,而且可以减少串扰。平衡电路(差分电路)驱动不会使用 0V 参考系统作为返回电流回路,因此可以避免大的电流环路,从而减少 RF 辐射。
(11)比较器必须具有滞后(正反馈),以防止因为噪声和干扰而产生的错误的输出变换,也可以防止在断路点产生振荡。不要使用比需要速度更快的比较器(将 dV/dt 保持在满足要求的范围内,尽可能低)。
(12)有些模拟 IC 本身对射频场特别敏感,因此常常需要使用一个安装在 PCB 上,并且与 PCB 的地平面相连接的小金属屏蔽盒,对这样的模拟元件进行屏蔽。注意,要保证其散热条件
引用 马军成 2007/12/7 21:35:58 发表于2楼的内容
-
引用 fank 2008/9/15 20:25:30 发表于3楼的内容
-
引用 furymiss 2008/9/16 13:47:08 发表于4楼的内容