第一篇:软件工程师不可不知的10个概念
软件工程师不可不知的10个概念
出色的软件工程师善用设计模式,勤于代码重构,编写单元测试,并对简单有宗教般的追求。除了这些,优秀的软件工程师还要通晓10个概念,这10个概念超越了编程语言与设计模式,软件工程师应当从更广的范围内明白这些道理。
10.关系数据库(Relational Databases)
关系数据库因为在大规模 Web 服务上缺乏可扩充性而颇受微词,然而,关系数据库仍然是近20年来计算机技术中最伟大的成就。关系数据库对处理订单,公司数据方面有着出色的表现。
关系数据库的核心是以记录表示数据,记录存放在数据库表,数据库使用查询语言(SQL)对数据进行搜索与查询,同时,数据库对各个数据表进行关联。
数据库的标准化技术(normalization)讲的是使用正确的方式对数据进行分存以降低冗余,并加快存取速度。
9.安全(Security)
随着黑客的崛起与数据敏感性的上升,安全变得非常重要。安全是个广义的概念,涉及验证,授权与信息传输。
验证是对用户的身份进行检查,如要求用户输入密码。验证通常需要结合 SSL(secure socket layer)进行;授权在公司业务系统中非常重要,尤其是一些工作流系统。最近开发的 OAuth 协议可以帮助 Web 服务将相应信息向相应用户开放。Flickr 便使用这种方式管理私人照片和数据的访问权限。
另外一个安全领域是网络设防,这关系到操作系统,配置与监控。不仅网络危险重重,任何软件都是。Firefox 被称为最安全的浏览器,仍然需要频频发布安全补丁。要为你的系统编写安全代码就需要明白各种潜在的问题。
8.云计算(Cloud Computing)
RWW 最近的关于云计算的文章 Reaching For The Sky Through Compute Clouds 讲到了云计算如何改变大规模 Web 应用的发布。大规模的并行,低成本,与快速投入市场。
并行算法发明以来,首先迎来的是网格计算,网格计算是借助空闲的桌面计算机资源进行并行计算。最著名的例子是 Berkley 大学的 SETI@home 计划,该计划使用空闲的 CPU 资源分析太空数据。金融机构也大规模实施网格计算进行风险分析。空闲的资源,加上 J2EE平台的崛起,迎来了云计算的概念:应用服务虚拟化。就是应用按需运行,并可以随着时间和用户规模而实时改变。
云计算最生动的例子是 Amazon 的 Web 服务,一组可以通过 API 进行调用的应用,如云服务(EC2),一个用来存储大型媒体文件的数据库(S3),索引服务(SimpleDB),序列服务(SQS)。
7.并发(Concurrency)
并发是软件工程师最容易犯错的地方,这可以理解,因为我们一直遵从线形思维,然而并发在现代系统中非常重要。
并发是程序中的并行处理,多数现代编程语言包含内置的并发能力,在 Java,指的是线程。关于并发,最经典的例子是“生产/消费”模式,生产方生产数据和任务,并放入工作线程消费或执行。并发的复杂性在于,线程需要经常访问共同数据,每个线程都有自己的执行顺序,但需要访问共同数据。Doug Lea 曾写过一个最复杂的并发类,现在是 core Java 的一部分。
6.缓存(Caching)
缓存对现代 Web 程序不可或缺,缓存是从数据库取回,并存放在内存中的数据。因为数据库直接存取的代价非常高,将数据从数据库取回并放在缓存中访问就变得十分必要。比如,你有一个网站,要显示上周的畅销书,你可以从数据将畅销书榜一次性取回放在缓存中,而不必在每次访问时都去数据库读数据。
缓存需要代价,只有最常用的内容才可以放入缓存。很多现代程序,包括 Facebook,依靠一种叫做 Memcached 的分布式缓存系统,该系统是 Brad Firzpatrick 在工作于 LiveJournal 项目时开发的,Memcached 使用网络中空闲的内存资源建立缓存机制,Memcached 类库在很多流行编程语言,包括 Java 和 PHP 中都有。
5.散列法(Hashing)
Hashing 的目的是加速访问速度。如果数据是序列存储的,从中查询一个项的时间取决于数据列的大小。而散列法对每一个项计算一个数字作为索引,在一个好的 Hashing 算法下,数据查找的速度是一样的。
除了存储数据,散列法对分布式系统也很重要。统一散列法(uniform hash)用来在云数据库环境下,在不同计算机之间分存数据。Google 的索引服务就是这种方法的体现,每一个 URL 都被散列分布到特定计算机。
散列函数非常复杂,但现代类库中都有现成的类,重要的是,如何对散列法进行细调以获得最好的性能。
4.算法的复杂性(Algorithmic Complexity)
关于算法的复杂性,软件工程师需要理解这样几件事。第一,大O标记法(big O notation);第二,你永远都不应该使用嵌套式循环(循环里面套循环),你应该使用 Hash 表,数组或单一循环;第三,如今优秀类库比比皆是,我们不必过分纠缠于这些库的效能的差别,我们以后还有机会进行细调;最后,不要忽视算法的优雅及性能,编写紧凑的,可读的代码可以让你的算法更简单,更干净。
3.分层(Layering)
用分层来讨论软件架构是最容易的。John Lakos 曾出版过一本关于大型 C++ 系统的书。Lakos 认为软件包含了层,书中介绍了层的概念,方法是,对每个软件组件,数一下它所依赖的组件数目就可以知道它的复杂程度。
Lakos 认为,一个好的软件拥有金字塔结构,就是说,软件组件拥有层层积累的复杂度,但每个组件本身必须简单,一个优秀的软件包含很多小的,可重复使用的模块,每个模块有自己的职责。一个好的系统中,组件之间的依赖性不可交叉,整个系统是各种各样的组件堆积起来,形成一个金字塔。
Lakos 在软件工程的很多方面都是先驱,最著名的是 Refactoring(代码重构)。代码重构指的是,在编程过程中需要不断地对代码进行改造以保证其结构的健壮与灵活。
2.惯例与模板(Conventions and Templates)
命名惯例和基础模板在编程模式中常被忽视,然而它可能是最强大的方法。命名惯例使软件自动化成为可能,如,Java Beans 框架在 getter 和 setter 方法中,使用简单的命名惯例。del.icio.us 网站的 URL 命名也使用统一的格式,如 http://del.icio.us/tag/software 会将用户带到所有标签为 software 的页。
很多社会网络均使用简单命名,如,你的名字是 johnsmith,那你的头像可能命名为 johnsmith.jpg,而你的 rss 聚合文件的命名很可能是 johnsmith.xml。
命名惯例还用于单元测试,如,JUnit 单元测试工具会辨认所有以 test 开头的类。我们这里说的模板(templates)指的并不是C++ 或 Java 语言中的 constructs,我们说的是一些包含变量的模板文件,用户可以替换变量并输出最终结果。
Cold Fusion 是最先使用模板的程序之一,后来,Java 使用 JSP 实现模板功能。Apache近来为 Java 开发了非常好用的通用模板, Velocity。PHP 本身就是基于模板的,因为它支持 eval 函数。
1.接口(Interfaces)
软件工程中最重要的概念是接口。任何软件都是一个真实系统的模型。如何使用简单的用户接口进行模型化至关重要。很多软件系统走这样的极端,缺乏抽象的冗长代码,或者过分设计而导致无谓的复杂。
关于模型化,以下方法对你会有帮助。首先,去掉那些只有在将来才可能用得着的方法,代码越精练越好。第二,不要总认为以前的东西是对的,要善于改变。第三,要有耐心并享受过程。
第二篇:风水:不可不知的鲁班尺!(推荐)
风水鲁班尺在风水界很重要。上图所示即为其中一种,它从上至下共分四排,其分别是传统的寸、鲁班尺、丁兰尺、厘米四种标尺。这种风水尺在使用时非常方便。
鲁班尺,亦作“鲁般尺”,为建造房宅时所用的测量工具,类今工匠所用的曲尺。鲁班尺长约42.9厘米,相传为春秋鲁国公输班所作,后经风水界加入八个字,以丈量房宅吉凶,并呼之为“门公尺”。其八个字分别是:“财”、“病”、“离”、“义”、“官”、“劫”、“害”、“本”,在每一个字底下,又区分为四小字,来区分吉凶意义。其八个字及附带的小标格分别代表的吉凶含义如下:
1、财:吉,指钱财、才能。
A、财德:指在财、德善、功德方面有表现。
B、宝库:比喻可得或储藏珍贵物品。
C、六合:合和美满。六合为天地四方。D、迎福:迎接福。福为幸福、利益。
2、病:代表凶。指伤灾病患
及不利等。
A、退财:损财、破财之意。
B、公事:多指因公家的事如贪污受贿及案件官司等。
C、牢执:指牢狱之灾。
D、孤寡:指有孤独寡居的行为。
3、离:代表凶,指六亲离散分开。
A、长库:古有监狱之说。
B、劫财:破耗及耗损财。
C、官鬼:指有官煞引起之事。
D、失脱:物品失落、人离散之意。
4、义:代表吉。指符合正义及道德规范,或有募捐行善等行为。
A、添丁:古时生男孩叫添丁。
B、益利:增加了财资利禄。
C、贵子:日后能显贵的子嗣。
D、大吉:吉祥吉利。
5、官:代表吉,指有官运。
A、顺科:顺利通过考试而获中。
B、横财:意外之财。
C、进益:收益进益。
D、富贵:有财有势。
6、劫:代表凶,意指遭抢夺、胁迫。
A、死别:即永别。
B、退口:指有孝服之事。
C、离乡:背井离乡。
D、财失:财物损失或丢失。
7、害:代表凶,祸患之意。
A、灾至:灾殃祸患到。
B、死绝:死得干干净净。
C、病临:疾病来临。
D、口舌:争执争吵。
8、本:代表吉,事物的本位或本体。
A、财至:即财到。
B、登科:考试被录取。
C、进宝:招财进宝。
D、兴旺:兴盛旺盛。
如今风水学是科学还是迷信之争仍未结束,整个社会与学术界都在进行一场大辩论。其实任何一场大范围的社会辩论都是推进社会进步重要原因之一。与我们生活息息相关的家俱与装修竟然也与风水有关系,都市白领有许多是按“鲁班尺”丈量的结果去买材料、家俱。“装修家居、选购家具时,用鲁班尺量一下,尽量选择尺寸吉利的。不要用尺寸不吉利的。打个比方,您要贴瓷砖,那么瓷砖的长与宽就要选择吉利的尺寸,否则家中的瓷砖成千上万,都是凶暴的尺寸,那还得了?”
古人认为按此尺寸丈量确定的门户,将会光庭耀祖,故名。《鲁班营造正式》和《鲁班经》中又称为“鲁班尺”、“鲁班真尺”。它在尺带上从上至下分为四行,分别为:中国传统尺寸、鲁班尺(量家宅、家具之用)、丁兰尺(量阴宅、祖先牌位之用)及公制(厘米)。从上往下数第二行鲁班尺的刻度专用于测量阳宅有关尺度有:“财、病、离、义、官、劫、害、本”八个字,每字管四项,每项是一条预兆,有“登科、富贵、迎福、大吉”等字样,建筑房屋或测量其它阳宅物体时,以红色吉祥的预兆为长度单位,可以大吉大利,反之黑色则凶。从上往下数第三行丁兰尺的刻度,专用于测量阴宅有关尺度有:“丁、害、旺、苦、义、官、死、兴、失、财”十个字,亦每字管四项,每项分别列有“财德、论事、无嗣、灾至、口舌”等字样,建造阴宅时避开不吉的预兆测量长度。
鲁班尺主要是用于丈量门的尺寸,俗语称,“宁造十家坟,不造一家门”,为什么如此慎言修门?清代所编《古今图书集成》“堪舆部”所收《阳宅十书》“论开门修造”,以古人的风水观,讲建筑物门户沟通天地造化的奇功——即所谓“通气”:
《阳宅十书》云:“夫人生于大地,此身全在气中,所谓分明人在气中游若是也,惟是居房屋中气,因隔别所通气,只此门户耳,门户通气之处,和气则致祥,乖气至此则致唳,乃造化一定之理,故古之先贤制造门尺,立定吉方,慎选月日,以门之所关最大故耳。”
这段话,体现了古代风水理论的一个重要观点:视门户为咽喉。在“天人合一”的心理背景下,出入由之的大小门户,被设想出了和气、乖气,致祥、致戾的神奇意蕴。造门安门,成为举足轻重的事。在古人看来,门户得体,顺应天地造化,不悖自然规律,就能同人们生存其间的“气”取得和谐。否则,“乖气则致戾”,要吃苦头的。
门的尺寸关涉这一切。“故先贤制造门尺”,这就是神秘的“鲁班尺”。
海内相传门尺数种,屡经验试,惟此尺为真,长短协度,凶吉无差。盖昔公输子班,造极木作之圣,研穷造化之微,故创是尺。后人名为“鲁班尺”。
不同的尺寸,其中蕴含着吉与凶的暗示。必须通过鲁班尺的测量才能提前把握,趋吉避凶。这已为海内外建筑科学界有关人士实验所证明,并且在香港、台湾、东南亚、北美华人社会以及中国沿海发达地区广为采纳。
美国建筑科学家曾调查了许多[“Haunted Houses”(闹鬼的宅子),得到一个结论:这类房子的共同特点是次生波强度远远高于其他建筑。从现代科学的角度证明了建筑尺寸于住宅风水有直接的关联。因此,风水除与峦头形势和理气相关外,建筑的尺寸也是一个重要的原因。次生波是频率等于和低于20赫兹,人耳不能直接听到的声音。达到一定强度时,对人的神经系统和心血管系统有损害。可使人产生恐怖的幻觉,诱发心脏病的发作。是一种无形的杀手。
宇宙微波背景辐射是生命之源,宇宙背景辐射是来自宇宙空间背景上的各向同性的微波辐射,也称为微波背景辐射。二十世纪六十年代初,美国科学家彭齐亚斯和R.W.威尔逊为了改进卫星通讯,建立了高灵敏度的号角式接收天线系统。1964年,他们用它测量银晕气体射电强度。为了降低噪音,他们甚至清除了天线上的鸟粪,但依然有消除不掉的背景噪声。他们认为,这些来自宇宙的波长为7.35厘米的微波噪声相当于3.5K。1965年,他们又订正为3K,并将这一发现公诸于世,为此获1978年诺贝尔物理学奖金。
微波背景辐射的最重要特征是具有黑体辐射谱,在0.3厘米-75厘米波段,可以在地面上直接测到;在大于100厘米的射电波段,银河系本身的超高频辐射掩盖了来自河外空间的辐射,因而不能直接测到;在小于0.3厘米波段,由于地球大气辐射的干扰,要依靠气球、火箭或卫星等空间探测手段才能测到。
由此可见我们人类主要受到0.3厘米-75厘米微波背景辐射的影响,这应该就是古人所说的“元气”。一间房子的门窗就相当于二极管、三极管的口径,如果配错了尺寸,就会产生元气传导不畅的“驻波反应”。
那么最佳的元气波长应该是黄金分割值:
0.618 * 75 = 46.3厘米
鲁班尺的标准尺寸是46厘米,允许偏差0.5厘米。
北京故宫博物院现存一把鲁班尺,长46厘米,宽5.5厘米,厚1.35厘米,可资验证。
鲁班尺属于中国传统的建筑用尺,用于控制家具、宅居的尺寸。通过鲁班尺的控制的结果,正好避开了次生波的共振频段。我们不能不为中华民族的古老先民的洞察力和创造力而感到骄傲和自豪!与建筑物类似,家具都有标准的、常规的尺寸。如果要用鲁班尺,是用该尺去量取,除去整尺,不足整尺的余数(尺寸)正好落在鲁班尺的吉数上。
中国传统的宇宙观,是时空合一的宇宙观。门光尺的使用也不例外,门光尺的使用不仅要合四吉,还要考虑时间因素,即要选择良辰吉日。我国北京故宫藏门光尺的一侧写有“春不作东门。夏不作南门,秋不作西门,冬不作北门”。有些门光尺的式字更加复杂,使人有一种神秘莫测之感,这也可以说是门光尺的精神功能之一吧。
如今在某些农村,还流传着古代传下来的口决,木工师傅常说:“街门二尺八,死活一齐搭。”即住宅大门宽至二尺八寸(约90厘米),家庭婚丧用的较大器具轿舆和棺材均可通过。虽然这个尺寸在表面上是符合“鲁班尺”吉利数的,但实际上是从生活实践中而来。稍事留意,不难发现门光尺的吉凶排列是很有趣的,即两端的一、八寸和中间的四、五寸为吉,就是说吉凶寸排列是对称的,尺寸无论从财字或吉字起量,吉门恒为吉,凶门恒为凶。显然,门光尺存在着一个整尺与半尺的模数关系,这对于建筑设计来说无疑是具有进步意义的。
更多风水有关文章进QQ:109200空间。
第三篇:不可不知的职场礼仪
不可不知的职场礼仪
《论语》曰:“不学礼,无以立。”礼仪是生活中不可或缺的一部分,注意礼仪的使用也是为人处事的基本,尤其是在职场。职场的氛围甚为微妙,雷区也是随处可见,想要经营好自己在职场上的一亩三分地,光靠努力工作可不够,学好职场礼仪也是也是十分重要的。
一、自信是职场人最首要的礼仪
自信心是展示一个人积极向上的最好的心理品质。自信,是自我认同的前提,只有自己对自己认同后才能得到别人的接纳。并且,大家都愿意和自信大方积极的人相处,相反畏畏缩缩的处事态度容易招来人的反感。
要对工作有自信。热爱自己的工作,认同自己的工作,只有这样才能对工作树立起信心,才不会因为偶尔的挫败就浇灭本有的工作热忱。
要对自己有信心。相信自己可以胜任工作,否则也不会在众多竞争者中脱颖而出。同时,试着体会工作带给你的成就感,成就感在一定程度上可以反作用于自信。
二、保持谦和的处事态度
工作中总会因为大家的意见分歧而引发讨论,甚至是争论。争论往往又成为一些摩擦的导火索,只要一方言语稍有不妥就会闹得彼此不愉快。可尴尬的气氛是谁也不想体验的,切记不能恶语中伤,随意发脾气,这正是证明个人修养的时候。
放平心态,尝试保持微笑与人交谈,如果发现对方正处于一触即发的状态,要学会适当回避,等战火消除,不要以为“回避”代表妥协,你只是创造了让大家冷静思考的机会,相信,等大家都平静了,大家也能感受到你的包容和谦和。
三、学会掌握开玩笑的“度”
想创造一个轻松地职场氛围,时不时的开玩笑是比较合适的方式,但是,玩笑的“度”一定要把握好,介于每个人的底线不同,玩笑话也要因人而异。和领导的玩笑要建立在尊严的基础上,和性格开朗的同事的玩笑可以尺度稍大而对内向拘谨的同事少开玩笑为宜。值得注意的是,严肃的场合最好不要开玩笑。对于别人的名字、绰号、缺点都不是一个可以展开玩笑的点。职场中的玩笑,要是幽默、健康、向上的。
四、树立良好的时间观念
“迟到早退”都是不守纪律的表现,一个没有时间观念的人是很难得到别人的认同的。一般情况下,如果事前知道自己会晚到,一定要告知上司并说明晚到的原因,如遇到突发时间也要及时和领导和同事联系。
你气喘吁吁的跑进办公室,不仅扰乱正在工作中的同事也会因慌张而让自己忙中出乱。建立良好的时间观念,既是尊重他人的表现也会让自己的工作进行的有条不紊。
第四篇:面试不可不知的潜规则
面试中有各种各样的潜规则,大部分职业者只要经历多一些面试都能领会,下面12条面试潜规则,相信对年轻的求职者有所帮助:
1、初步印象和最后印象。最初和最后的五分钟是面试中最关键的,在这段时间里决定了你留给人的第一印象和临别印象以及主考人是否欣赏你。最初的五分钟内应当主动沟通,离开的时候,要确定你已经被记住了。
2、了解用人企业的需要(可通过该企业网站的相关信息),表现出自己对公司的价值,展现你适应环境的能力。
3、给出有针对性的回答和具体的结果。无论你何时说出你的业绩,举出具体例子来说明更有说服力;告诉招聘主考人当时的实际情况,你所用的方法,以及实施之后的结果。一定要有针对性。
4、结合应聘的职位准备好相关要问的问题,准备好几个和工作、雇主、以及整个机构有关的问题,这些问题应该能够获取有效信息,表达你对工作的兴趣以及智慧和热情。
5、不仅要准时到达,更要提早到达;不管你的主考人有多么谅解的心情和宽容(你在路碰到的意外情况或是理由),要克服负面的第一印象几乎是不可能的。尽一切能力守时和尽可能到达,包括预先给可能发生的意外留下时间。
6、完整地填妥公司的表格--即使你已经有简历。即使你带了简历来,很多公司都会要求你填一张表。你愿意并且有始有终地填完这张表,会传达出你做事正规、做事善始善终的信息。
7、留心你自己的身体语言,尽量显得精警、有活力、对主考人全神贯注。用眼神交流,在不言之中,你会展现出对对方的兴趣。
8、紧记每次面试的目的都是获聘。你必须突出地表现出自己的性格和专业能力以获得聘请。面试尾声时,要确保你知道下一步怎么办,和雇主什么时候会做决断。
9、要确保你有适当的可运用的技能,知道你的优势。你怎么用自己的学历、经验、受过的培训和薪酬和别人比较。谈些你知道怎么做得十分出色的事情,那是你找下一份工作的关键。
10、展示你勤奋工作追求团体目标的能力,大多数主考人都希望找一位有创造力、性格良好,能够融入到团体之中的人。你要必须通过强调自己给对方带来的好处来说服对方你两者皆优。
11、不要害怕承认错误,用人企业希望知道你犯过什么错误以及你有哪些不足。不要担心承认过去的错误,但要坚持主动地强调你的长处,以及你如何将自己的不足变成优势。
12、说明你的专长和兴趣。对用人企业最有利的事情之一就是你热爱自己的专业和岗位,面试之前要知道你最喜欢的工作是什么,它会给雇主带来什么利益。
汇师经纪网是致力于企业培训资源推广、信息展示、培训讲师及课程推介、培训需求招标等服务的专业网站。该公司拥有经验丰富的专业工作人员数十人,已为国内多家大中型企业提供了企业所需的专业讲师培训服务,并为数十位专业讲师提供了展示培训实力的企业平台,受到众多企业和讲师的一致好评。
第五篇:不可不知职场潜规则
不可不知职场潜规则
职场潜规则并不是“厚黑学”,它只是帮助人们,更清楚地认识身处的环境,如何少走弯路,如何活得更好。
1、待人以诚,但要分清场合、对象。当职场中有人和你有利益牵扯时,一味待人以诚就是迂腐。但也不可时时刻刻想着诡诈心机,那同样得不偿失。
2、做人要露怯,做事要藏拙。凡事都精明,遇事不吃亏,让人一眼就认为他是个“聪明人”的人,到头来却处处会受人压制。
3、别要求上司适应你,你应适应上司。别以自我为中心,要站在上司的角度,替上司筹谋,帮上司管理,做好上司的辅佐之臣。
4、顺境要给自己留后路,逆境反而要冲锋向上。顺境时要谨慎,越是别人捧你时,越要低调,千万别趁着得势而得罪人。逆境时则应抛开一切,奋力一搏,反而会让人看到你的努力,有可能转危为安。
5、没有不合理的职场,只有不合理的心态。如果你觉得在职场中经常遭遇不合理的事,而你又改变不了,那不如改变自己的心态,否则,就算你天天抱怨,也不可能解决任何问题。