菜鸟到老兵(程序员经历之6.2临阵磨枪)

6.2     临阵磨枪

阅读提示:

不懂的就要学,学习可来不得半点虚假,“知之为知之”,学习与教授也是讲求策略和方法的,不是也有“鱼”与“渔”的说法吗?到底是哪一个,这要看学习者与教授者的想法是否一致,达到一个共识,如果学习的非要“鱼”,教授者硬是非“渔”不给,最终只能是个不伦不类的结果,反之亦然。

    小菜很诚实的告诉小张老师自己从来没有写过shell。也从来没有在linux环境下工作过。小张告诉小菜,“不怕,不会了学嘛,又不是什么大不了的事情”,并给了小菜一个别人写好了shell脚本作为样例,给小菜的电脑安装了一个linux的远程终端程序,一个叫做“SecureCRT”的软件,可以在小菜的本地机上操作远程的linux服务器,并在之上进行工作。小菜下决心明天之前能“照猫画虎”的编写shell,并且掌握shell的运行方法和一些基本命令。

    接下来的半天和一个晚上的时间,小菜埋头苦苦的运功了一把,到很晚的时候,终于明白了sh是怎么回事了。很是激动的给小张老师讲解了自己的理解。小张听完点点头,说了声“不错”,然后给了小菜一段很短的shell脚本,只有34行,告诉小菜看看这个是怎么回事?小菜很仔细的读了这几行脚本,猛地豁然开朗了不少,啊,这几行脚本写的太巧妙了,虽然是个普通的shell脚本,但是传入适当的参数就能运行任何存储过程,无论是带参数的还是不带参数的都能执行。小菜看了看小张老师,此时小张老师也看着小菜微笑:“知道我为什么不先给你这个吗?”。小菜一愣,旋即豁然省悟了,心里默默的说着“谢谢小张老师”,并满含激动的点点头,小菜明白小张老师的意思是什么?这里就是“渔”与“鱼”的区分,小张如果开始就给小菜这个万能的脚本,太精炼的东西往往是比较晦涩难懂的,由于一些基本的语法概念都不清楚,怎么能看的懂呢,不能理解得到的就是“鱼”。现在小张给小菜从最基础的开始,基础打好了,再给你来次升华,那么小菜得到的不仅是“鱼”,而且有“渔”了。当两个人的眼光碰在一起的时候,都明白了,无需多言,这就是默契。

    接下来要做模拟割接数据了,模拟割接是在先一天对正式数据库的一个备份上进行的,这样数据比较准确,差也就是差一天的数据量,嗨,这还叫差啊。为了保证时间的准确性,虽然是模拟的,也和真正的时间看齐,从晚上1000正式开始。经过第一轮下来,小菜的编写的脚本有几处数据给搞颠倒了,修改了一下脚本。这时小张老师来找小菜了:

“小菜,我看了一下日志,你的那个脚本运行的时间太长了,竟然有5个小时还多,这样正式割接时间肯定是不够的。”小菜也注意到了这个问题,因为整个模拟割接操作持续到早上9点。正常情况下应该700结束,给点测试时间,到800一切都应该搞定了,因为8:00营业厅就开门了,到时候系统不好用,那可是非常严重的事故啊,即便是公司的“副总裁”来安抚一下也不能改变“事故”这一事实。

    “将你的那个转换数据量比较大的脚本分线程吧。”小张老师给出建议。

    “分线程?怎么分,shell写吗?”小菜一脸的迷茫。

    “存储过程改了,执行shell的时候将参数传进去就行了,过来,给你看个例子。”

    原来只是在执行的存储过程传入参数中增加一个参数,游标的某个字段对这个参数取模。哈,原来这么简单啊,小菜觉得很小的一个改动就能起到多线程并行处理的效果。真实受益匪浅啊,很快的小菜改完了这个很小的分线程处理的脚本。小张老师看了看,对小菜晃了晃大姆戈。

    接下来的两轮模拟割接都比较成功,小菜的那个比较大的数据量的转换已经控制在3个小时左右了,模拟的结果也都控制在700前结束了,一切都按照正常的计划在进行。

    激动人心的正是割接终于拉开了序幕,事业部的一个领导也到现场坐镇了,还给大家买了一大堆好吃的夜宵,保证大家有旺盛的战斗力,今晚又要无眠啊,虽然3次模拟割接也都是整夜无眠,但那时的心情是轻松的,没有这么沉重,这次不仅夜无眠,而且明天上午也不见得有眠,肯定得留守吧,买双新鞋子还得磨合几天才能合脚呢,何况这么大的一次系统升级割接,不用脑袋想都知道肯定会有问题,只是问题的大小多少而已。事前小张老师特别的叮咛小菜,将自己要执行的脚本按执行顺序编号写在一起,别到执行的时候慌了手脚,小菜觉得有道理,很仔细的做了,并给小张老师审查了一遍。小张老师同时还特别告诫小菜等割接完毕了,发现问题不要私自修改,已经是正式的系统了,改动可能引起灾难性的问题,一定要先经过小张老师的同意才能修改,这个小菜理解,说这是对小菜的照顾也好吧,其实小菜心里也是这么想的,如果真的因为自己私自修改造成灾难,这个责任小菜觉得自己可担当不起,还是推到上面比较合适,小菜觉得自己的这个想法有点不怎么光彩,小张老师这么照顾自己,不过是小张老师自己要求这么做的小菜也就释然了。可是小张老师为什么这么喜欢揽事上身呢?小菜觉得这是一个做事态度的问题,也可以说是责任心,不光是对新人的一种照顾,小张老师更多的承担了对系统升级成败关键的一种责任。理解到这一层,再想到和小张老师这段时间的工作期间对自己的指导照顾,小菜对小张老师充满了无限的崇敬,并默默的发誓小张老师就是自己的楷模。

    此时,所有模块的相关工作也都到位了,都整装待发,俨然一副横扫一切的气势。

    时间的指针不紧不慢划向10点,丝毫不以关注者的心情改变步伐。

         ………………………

    紧张而有序的升级割接结束了,各位奋勇的战士经过一夜零一上午的战斗,终于以胜利告终,虽然也出了些数据问题,但都在控制之内,各个模块顺速作出反应,错误问题倒在了勇敢者的剑下。

很快小菜接到了PSM老师发过来的邮件,说看到了硝烟中小菜飒爽的英姿。小菜无声的笑了,汗水、疲惫、无眠的夜,统统都不存在了,小菜还是那个可爱的小菜,只是眼睛里多了丝深邃。

友情提示

1、   这里没有给出小菜如何学习shell的具体语法过程,看了之后也不能学会shell编程,主要想给出一个概念,部门做数据转换的时候,都是在linux环境下通过shell调用存储过程进行的数据转换。 数据转换重要的是编写高效的存储过程进行数据的搬迁转移,环境是辅助手段。

2、   一些关键工作,做前要整理一下思路,要做的事情编号排序,稳扎稳打,做的时候不会手忙脚乱,丢三落四。

3、   切换要保证有切换脚本和回退脚本,保证出现极端异常时候能将系统还原,回退脚本也要进行测试。

4、   系统切换完毕后,不要随便修改系统中的数据、程序代码。发现异常问题要及时报告负责人,如果要修改也要得到负责人的同意,避免出现错误。

5、   都说父母是孩子的启蒙老师,身教胜于言传。很多道理不到关键的时刻真的无法体会。其实工作中生活中这样的例子也是很多的,一个人的思想如果运用的得当,确实能带起一大片良好氛围,比如说一种做事的方法吧,某个人的做事方式如果执行得好,就能影响一大片周围的人,很可能形成一套整体的做事风格、方法等。和小张老师一起工作的时间里,小张老师很多的时候也没有告诉小菜什么,小菜却将小张老师视为了航标。很多东西的教授是默默的,也往往是无法灌输的。如果读到这里已经若有所思了,那就暂停一下,接着思下去吧,言传是有限的,体会是无边的。

 

后面更精彩。。。。。。

http://zhyly101.iteye.com/admin/blogs/345815

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值