快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

黄金城vip线路检测:职场10年之如何做一名合格的程序员(下)



上一部分中,Aicken先容到成为合格法度榜样员的四个努力方面,接下来继承为大年夜家先容。

5.安然第一

我指的安然性,不是指若何防止法度榜样代码被人破解,而是若何保护营业数据的安然性。

为了前进安然性,就要加密,若何加密,在哪里加黄金城vip线路检测密,加密后若何解密,就成了问题的关键。

在可设置设置设备摆设摆设性那一黄金城vip线路检测部分,我提到了设置设置设备摆设摆设文件中的密码,这便是首先黄金城vip线路检测要斟酌的一个必要加密的地方,由于那是想找麻烦的人首先想到的一个地方。说到这里,我想起几年前,我感觉QQ的密码是存储在本地的,我就设法主见找、找、找,终于有一天,我感觉密码可能存储在某个文件中,于是花了一点光阴,把文件解开了,发明里面写着一句话“别找了,密码不在这里!”我感觉我们做法度榜样都要向这方面努力,哈。

第二个要斟酌的便是用户的密码。在会员治理系统中,都有会员账号和密码,这个密码不应该存储明文,而应该存储密文,而且最好用MD5等单向加密码算法,与设置设置设备摆设摆设文件中的不太相同。假如用单向,那么怎么解开再对照呢?谜底是不必要解开,我们在登录的时刻,把它输入的密码按同样的算法加密,直接对照加密后的字符串即可。只要对照成功,和用原码对照的效果是一样的。这样,即便有人攻破了你的数据库,也很难用会员账号模拟登录了。有人说MD5也是可以解开的,我想这我就暂时不斟酌了,有更好用的,更简单的算法我再调换吧,终归现在很多企业都在应用MD5算法。

第三个斟酌的是营业数据的加密。曩昔打仗过一其华夏地产那类的房屋中介,他们的数据库里存储的是房源信息,他们的竞争对照猛烈,谁拥有那些信息,谁就占领了市场,以是他们对数据的治理异常严格,要求在数据库纵然被攻破之后,里面的数据依然弗成读。着实这个问题在很多企业都存在,在企业中,DBA可以治理数据,只要他们感兴趣,他们可以看到很多不该看到的信息,虽然数据库厂商想了很多法子,然则权限从根本上就给了DBA,照样很难处置惩罚的。我处置惩罚这种问题的要领是对部分字段数据存储再加一层密,当然是双向的,存储的时刻,把明文加密后存进去,读取的时刻,先掏出数据库的内容,然后在我的法度榜样里解码,这样,只如果用我的系统,不存在乱码的利诱,然则假如直接查看数据库,对不起,什么也看不出来。

再有便是斟酌加密狗之类的硬件加密了,那个器械我没太用过,不谈话了。嘿。

6.层次分明

据说最早的开拓模式,叫Host模式,可能便是完全在主机上运行吧,后来有了CS模式,BS模式,DNS,MV,MVC,三层架构,四层架构,N层架构等。每种模式的孕育发生和持续都有它的历史背景,不能用哪个好哪个坏来评论。我们暂时抛开历史不谈,也不斟酌未来,只谈现在,我们应该采纳什么要领呢?作为一个康健的系统来说,我建议采纳分层的要领,分若干层,怎么分,我不感觉有什么太多的条条框框,只要能分开职责就可以了。

分层有哪些好处呢?它可以使各个层面之间的耦合度低落,可以使各个角色的人各司其职,只要中心的接口合理,就可以实现一个优越的组合,就像PC机一样,在中关村子买一些配件装起来就行了。这样在出了问题的时刻,我可以选择换CPU或硬盘,而不至于把全部PC扔掉落。

我现在的法度榜样一样平常这样分:

展现层+框架层+数据库层

由于我用C#开拓,展现层指的便是IIS,也便是指asp.net的容器,展现层和框架层实现了代码分离,我会把大年夜部分的营业逻辑或常用的控件封装在框架层,由展现层来调用,这样,就可以在职员设置设置设备摆设摆设上,把前端和后端分开了,人们可以各干个的事情,前端发明任何问题,交给后端去反省,然后宣布一个新的DLL 即可搞定刚才的问题。而且在系统更新的时刻,也对照方便,可以找响应的DLL进行更新,不必要整个全部支配。

数据库层指的是除了数据存储外,在数据库中再写一些法度榜样和逻辑,我用Oracle,那么说话便是它专用的PL/SQL,也便是在我的框架层中,大年夜部分和数据打交道的器械,也全是交给数据库去处置惩罚,可以使用视图,存储历程等要领,在C#代码里只管即便少的呈现数据库里相关的内容,这样一是可以前进效率,二是把耦合度再次降下来,当你把有些营业逻辑写在数据库层的时刻,这种上风分外显着,营业上的任何风吹草动,可以在数据库里轻松搞定,而且数据库位于中黄金城vip线路检测央,不必要什么宣布的动作就可以了。

任何事物有好的一壁,就会有坏的一壁,分层也不例外,以是大年夜家要根据环境自己选择相宜的要领就行了。不要太过教条。

7.拿来主义

所谓参考,又谓之进修,还可称之为拿来主义,我这里指的拿来主义,并不是指直接应用其它第三方的控件,而是进修其它系统的实现及设计思路。

在IT生涯中,有一部分光阴您可能是在自己写代码,支配自己的系统,还有可能参加实施一些其它厂商的产品,分外是国外的一些产品(不服不可),他们多在中国设有代理机构或实施商,帮忙他们进行产品实施,之以是他们这样做,有多种缘故原由,一种可能是出于司法缘故原由,再有便是他们的产品标准化做的真的不错,实施厂商完全可以根据他们的培训去帮他们实施,以是很多国外企业在中国的人并不多,然则挣钱反而不少,一度有个说法“中国IT在为外洋做嫁衣”,这也是此中表现之一。不管怎么说,人家的大年夜系统是有它们自身的特征和上风的,以是谁能取其英华,谁就能获得益处。

所谓大年夜的系统,到底大年夜在哪呢,一是代码量肯定不小,再有便是适应性肯定对照强,有些是行业性的,有些以致是跨行业的,要做到适应性强,那么系统中的斟酌就必须很殷勤,斟酌很殷勤,系统就会变得越来越宏大年夜。

我所说的向他们进修,并不是我们必然要做那么大年夜,作为我们的能力来讲,必须现实的斟酌问题。然则在这些系统中,确凿存在很多标准的器械,如订单治理,进销存治理,到底他们是怎么做的,可以看一下,国外在这方面行业内都对照规范,软件实现黄金城vip线路检测的也对照规范,而且都是在国外颠末多年磨练落后入中国的,这时向他们进修一下,能省我们很多工作,当然要斟酌怎么样去做有中国特色的软件了,这个另说。

当你去实施一些产品的时刻,你会发明除了营业的斟酌外,在技巧上,同样也有一些让我们愉快的亮点。为了实现一个功能,条条大年夜路通罗马,我们有我们自己的要领,他们有他们的要领,多向他们进修一下。在数据库方面,由于基础都不存在什么加密和编译的说法,以是很轻易知道他们是怎么样做的,可以很快学会,将来即便不用它们的产品,把设计思路用在大年夜家自己的产品中,也是个很不错的选择,何乐而不为呢。

取其英华,去其糟粕,让我们放下架子,尽情去学吧(留意合法性噢)!

8.学会措辞

从我们刚开始学写法度榜样那天起,就被告之,有什么机械说话,汇编说话,法度榜样说话之类的,详细我也分不清,反正便是感觉机械说话便是给机械看的,汇编说话的可读性稍强,后期的第三代,以致第四代说话的可读性更强。

然则这几代说话,我感觉都可以算做机械说话,即机械都能很好的熟识,当然他们是照着你说的去做了,假如你说对了,他们就能做的对,假如你说错了,他们就会做错,你必须用 if else 之类的机械能够识别的代码去奉告他们,假如你想用“假如你饿了就去用饭”奉告它,它生怕是听不懂的(E说话例外),在这种环境下,培育了一批优秀的法度榜样员,这些法度榜样员成天和机械对话,和机械打交道,有些以致和人类的交流都少了,以是有些小MM曾说,嫁人不能嫁给法度榜样员,还有人说,电脑便是法度榜样员的情人。

现在来说人类说话:这是专门用于和人类沟通的,假如机械说话被觉得是“数字艺术”,那么人类说话可以说为“隐隐艺术”,两种说话看起来并没有直接的关系,一样平常人看不懂机械说话,一样平常的机械看不懂人类说话,然则对付我们法度榜样员来说,我们是对照特其余一个群体,我们既懂机械说话,又会人类说话,我们所做的事情便是把人类的说话转成机械说话,让机械能明白人类想做什么,从而去精确的实现人类的设法主见。

以上说了两种说话的关系,从而我想说一下什么是好的法度榜样员。好的法度榜样员必须纯熟应用两种说话,不必然精晓,然则绝对不能偏腿,散文写的特美,然则不会写法度榜样,不可!代码质量异常高,然则不会表达?不可!前者一样平常对照认同,然则后者也是很紧张的。现在的期间不停在变更,现在都是相助开拓,我们写的代码,必要其它相关的职员来看懂,并且有专门的职员来包管你代码的质量。暂且不说别人,对付自己来说,一个没有注释的代码,过一段光阴后,无意偶尔真的看不懂了,我想很多人会有这种经历(强人除外)。除了法度榜样的注释是人类说话外,便是专门的文档,我曩昔对文档便是切齿腐心的,我一贯觉得文档只是给别人看的,自己不必要,直到有一次,必要改动两年前的一段法度榜样,才感觉没有文档真是苦楚。在中国做项目,很多代码再被其他人接手的时刻,接手人都觉得自己重写一次比改动更高效,如斯反复大年夜家都在重复做一件工作,以是很难搞出像样的产品来。

回偏激来再看一下国外的大年夜公司,比如MS,Oracle,看看他们的MSDN,OracleDocument,都几个G的文档,虽然大年夜部分文档开篇处都有不少费话,然则这已经成为他们的一种规范,一种文化,对付初次应用者来说,想查什么资料都可以查到,对公司内部,肯定也起到很好的感化。

说了半天,我便是感觉人类说话很紧张,我们不能只为了进修机械说话而轻忽了我们的母语。齐头并进吧,这样会有更大年夜的成就!

9.大年夜局为重

在之前的多少年中,我做了不少的开拓,大年夜部分都是单打独斗,都是自己从设计到开拓一人完成(小项目),只是近来,在公司内部进行开拓事情,成立了一个小的团队,然则由于人手有限,除了做项目治理外,还要兼顾开拓事情,整的头晕脑帐。由于不停是小我战争,以是对团队开拓并不太认识,以是组建团队初始,建立了公用的VSS,觉得这样便是相助开拓了,哈。不过同事们都不太买账,我规定的天天签入,也很难实现,以是在着末合并的时刻都有不小的麻烦。刚才还和项目组开会,也评论争论了怎么样进行有效的团队开拓,人虽然不多,然则意见都不统一,我这种老传统的,就觉得以企业需求为主要原则,指哪打哪,由于我觉得设计都是为了营业供给办事的,然则一些同事就觉得,凡事必须从头到尾进行规范的设计,一步步的来,公司给我的工期只有一个月,要按规范根本做不完,他们就说要变成两个半月,此中拿出足够的光阴来做设计。着实我曩昔也一样,不停觉得技巧是最紧张的,后来逐步的在事情中,转变自己的不雅点,逐步的吸收营业为主,分外我们甲方,一样平常来说并不是在做产品,便是很显着的在做项目,而且只是为自己公司应用的,必须遵从公司的大年夜偏向安排。

说了半天,除了团队治理以外,也涉及到对开拓的一个思路问题。有些人觉得现在有很多盛行的对象,盛行的就想都能引入到项目里来,这样可以前进这个,前进那个的,当然都有事理,然则假如想节制全部项目的全局,必须在这上面做些让步,我也是做技巧的,也爱好一些新的技巧,然则真的没法子,也盼望做技巧的同伙都能以全局为重,这样可以只管即便“培育”“成功”的利用系统吧。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: