意识+技术 = 事半功倍


讲述技术人的非技术因素之故事1--------小白的故事
工作两年多的小白是一个很努力的员工,每天除了用心工作外,还坚持充电学习,两年来他除了把ORACLE10G和ORACLE11G的官方文档几乎读了个遍外,还购买了不少相关的书籍来学习。由于小白的项目组工作强度大,时常需要加班,因此小白工作学习外的时间就只够留给吃饭和睡觉了。那他的工作表现很出色吗,天道是否一定酬勤?实际情况却是很不如人意,虽然他了解很多相关知识,可是在实际工作应用中却不得要领,频频出错,领导经常对其提出批评,他自己也相当烦恼。
其实小白只是因为缺少了一种称之为“意识”的东西,这个意识就是,该如何学习。在他的学习过程中,他犯了很多错误。
1.        忽略了知识的重点。
小白读完了ORACLE官方文档的几乎所有内容,毅力让人钦佩!遗憾的是,他忽略了二八现象这个事实:20%的知识,解决80%的问题。小白根本不需要读完ORACLE所有文档,他所在的项目组是从事数据库开发相关工作的,而他却花费了大量的时间阅读完了至今他都尚未开始从事的数据库管理相关知识,比如备份恢复、RAC、DATAGUARD部署及高级数据同步复制相关的技术。这完全是没有必要的。
另外语法方面的资料,小白根本也无需去细读,去记忆,因为平时用的多的语法,自然记得住,遇到偶尔忘记的场合再去官方文档翻阅即可,现在GOOGLE等搜索引擎也非常强大,搜索到相关语法易如反掌。
人的精力是有限的,如果我们做到当前做什么事对应学习什么知识,尽量理解原理而不强记语法,将能省下多少宝贵的时间啊。
2.        从未考虑知识落地
小白曾经对我说过自己的烦恼,向我说明了他有多努力,看过了多少资料。我试探性的问他是否知道ORACLE的体系架构是什么?他很自信的做了回答,滔滔不绝,甚至还画了草图给我,回答的相当让人满意。我又问他是否知道索引的结构和原理是什么?再次得到完美的答复。
接下来我再问他,知道这个体系架构对我们工作有啥帮助呢?他一下子回答不上来了。我继续问他,那索引的结构和原理对我们工作中的数据库应用有啥好处呢?再次答不上来。
原来这就是问题的关键所在!
知识要落地,要思考应用的场合,这就是我除了要让他把握学习重点外的第二个建议。他的学习其实就是为了学习而学习,没有思考应用场景的学习,是没有任何意义。
后来我建议小白来听我在公司开讲的ORACLE系列讲座,让他明白原来了解体系结构后我们居然可以将一条SQL从42秒调整到不足0.01秒;了解索引结构后,我们居然可以优化我们身边最为常见的SQL语句,比如COUNT(*),MAX()等等。而在此之前,这些语句根本不会让他对索引产生联想。他终于彻底明白了什么叫知识落地,明白了意识有多么重要!
我最后强调,不只是ORACLE,其实学习任何技术都一样的,没有思考过你所学的某技术有什么用,没有想过如何落地,如何应用到实际工作中去,都是毫无意义的学习,纯粹浪费生命。


3.        选择技术使用场景
近来小白连续犯错,他学习了并行度这个章节后,知道并行可以有效的利用多个CPU,将自己的代码加进了并行度,结果忽略了生产系统不只是跑他这一个应用这个事实。导致代码上生产后生产系统资源大量争用。直至最后我们定位到问题在他的代码中,将写法修正,取消了并行度后,系统终于恢复正常。
他为什么会犯这个错误,主要是因为他只专注于技术本身而忽略了应用的场景,如果是凌晨2点的某个大任务操作,他的这个设置就很好,因为那个时刻大多其他应用都已经停止运行了,资源不利用白不利用。
这就是什么时候选择什么技术。小白还有一个有趣的故事,就是在我给他提这第三个建议之后的一周,他又使用了并行,这次他不是在代码中写死,而是选择临时性场合使用,在凌晨2点运行系列特定脚本。结果这次他运行的比想象的慢的多,还不如之前未用并行的时候。
大家知道什么原因吗,其实还是因为不知道什么时候选择什么技术。这次他不会影响他人了,因为凌晨静悄悄。但是他影响了自己。因为他的任务的特点是小而多,平均0.01秒不到可以完成一条SQL执行。他忽略了另外一个细节,并行是需要调度的,调度是需要开销的,调度的开销甚至达到0.1秒,那不是越跑越慢了。所以小任务实际上是不需要考虑并行的。
小白的故事说完了,其实要是早些年,他或许不会有这些苦恼,因为学习资料少,他即便不抓重点也不至于学到筋疲力尽;此外他的诸多失误都和性能有关,而早些年大多IT系统压力很小,在基本功能满足后性能问题几乎可以忽略不计,那小白也就没错可犯了。
再次强调,当今的IT建设项目,如果不对海量数据和高并发带来的性能问题进行有效的架构设计、部署规划,你的项目基本上就被判了死刑。而ORACLE新版本为什么对应大量技术文档,很大一部分原因是ORACLE新版本提供了更多的性能调优产品。为什么现在新技术如此繁多,其实也是源于此,难道内存数据库和列式数据及分布式数据库的产生,不是为了让系统跑的更快一些吗,只是这里要注意,他们不可能替代传统关系型数据库,因为他们都有各自适合的应用场合。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26243632/viewspace-755407/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26243632/viewspace-755407/

(Kriging_NSGA2)克里金模型结合多目标遗传算法求最优因变量及对应的最佳自变量组合研究(Matlab代码实现)内容概要:本文介绍了克里金模型(Kriging)与多目标遗传算法NSGA-II相结合的方法,用于求解最优因变量及其对应的最佳自变量组合,并提供了完整的Matlab代码实现。该方法首先利用克里金模型构建高精度的代理模型,逼近复杂的非线性系统响应,减少计算成本;随后结合NSGA-II算法进行多目标优化,搜索帕累托前沿解集,从而获得多个最优折衷方案。文中详细阐述了代理模型构建、算法集成流程及参数设置,适用于工程设计、参数反演等复杂优化问题。此外,文档还展示了该方法在SCI一区论文中的复现应用,体现了其科学性与实用性。; 适合人群:具备一定Matlab编程基础,熟悉优化算法和数值建模的研究生、科研人员及工程技术人员,尤其适合从事仿真优化、实验设计、代理模型研究的相关领域工作者。; 使用场景及目标:①解决高计算成本的多目标优化问题,通过代理模型降低仿真次数;②在无法解析求导或函数高度非线性的情况下寻找最优变量组合;③复现SCI高水平论文中的优化方法,提升科研可信度与效率;④应用于工程设计、能源系统调度、智能制造等需参数优化的实际场景。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现过程,重点关注克里金模型的构建步骤与NSGA-II的集成方式,建议自行调整测试函数或实际案例验证算法性能,并配合YALMIP等工具包扩展优化求解能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值