Tips after Summary

April 22nd, 2010

离开Etp到公司来一个多月时间了,一直忙于公司本身的培训,把Etp那边的项目放到一边一耽搁就是老半天了。一直想找个时间把在ETP学到的东西做个整理,这活就趁现在有劲的时候来干了。

程序按照企业的要求规范来写,确实和我们以前写的程序有很大的不同,这里的10条tip,贴在这里当给自己做一个小结了。

1:日本企业中要求COBOL程序的制作日期按照“年/月/日”的格式来写(PS:这点我没有做考证,只是从式样书上参考过来的),并且每一个Item都是写两个位置,不再是以前很随意的那种写法或者欧美格式的“月/日/年”。

2:File Section和Dara Section里面定义的所有常量、变量都要求PIC字段中的括号对齐。这样写出来,一本程序可以Coding得很漂亮,让人一看起来就感觉你很专业。这样也对应了Mr Yang的一句经典:程序写到人家一看就知道哪里错了,那就说明你的程序写得很标准了。

3:由于我们的程序都是IBM以前做过的对日项目,式样书里面全部是日文内容。

F8用于切换平假名和片假名;F9切换半角和圆角;F10切换为英文字符

补充这个是因为程序要求日子字段对应过来的英文字段必须得非常准确,例如:

Conversion对应的日语翻译为KONNBA-JON,不能够按照自己的理解来翻译。所以,新人进公司常常被告知写程序最好常用Copy、Paste,道理也就在这个地方。

4:这条肯定是对每个Programmer来说都很重要的一个规则,程序中绝对不需要多余的变量,尤其是全局变量。以前写程序的时候都没在意这个问题,还总以为多定义一两个变量可以方便以后程序的拓展,其实这样做很容易留下一个隐患就是为系统留下漏洞。

因为,程序在编译的时候是按顺序讲COBOL源码翻译为中间程序,然后内存中分配寻址空间的,这样一来,定义了多余的变量,就会在内存中空出来多余的寻址空间,有留下漏洞的隐患。

5:程序的主逻辑绝对要按照程序给的标准(构造图)写,专业和规范!上次在公司培训V+的时候,TL跟我们讲到了Sequential Match,然后就以银行中同一个Account No下多个Card No做求和操作时谈到两个文件做顺序比较的问题,结果说的一句就是按照明确的逻辑规范来写,不会出错而且这种逻辑是前人曾经走过的,效率方面也是最好。

6:Occurs和Value的位置任意,但是一般做到与Pic对齐。

7:对程序的每个功能块加上“Box”,标识每个块的功能作用,不管是对大的程序还是小的程序,这都很必要。一本程序做出来并不是写给你一个人看,以后的维护操作说不定会经过很多Programmer的手,做到勤加注释,方便了别人也同时方便了自己。

8:Swith-area部分程序的开关要求按规范来写。

9:听了老师讲解之后,现在理解了为什么要把一个大的系统拆分成若干个小的程序来做了。

第一是这样写程序简单明了;二是易于维护;最重要的一点则是在很大程度上保障了系统的安全,因为即使系统遭到破坏、入侵,恶意者也只是获取到整个系统程序的一部分,不会对整个系统构成威胁。

10:5位的COMP-3型数据在系统中只占3个byte。Comp、Comp1、Comp2、Comp3这4种不同类型的数据非常有必要重点理解。

12:一句印象很深的话:

在公司里面,一个失败的Team里面没有一个成功的个人;一个成功的Team里面才会出现一个成功的个人。

13:在ISPF里面“点”与“分号”的区别是:点号是用在同一个程序下进入;分号是用在不同的程序下进入

14:Mainframe操作系统和Windows操作系统一样,也存存在文件分区表的概念,所不同的是Windows的文件分区表是安装系统的时候自动创建好了;而MainFrame上面则是由VTOC程序实现文件分区表的创建。

15:Jenson讲到花旗银行亚洲某国家每天都把银行当天的业务数据用GDG文件进行备份,然后转存到磁带上面,永久保存。

16:COBOL中的Copy是把外部文件直接拷贝进来,与COBOL程序一起进行编译;

CALL则是把外部文件引用进来,外部文件需要单独编译。

17:建行Mainframe系统使用API来维护程序,即使你在建行有多年的开发经验,也只是熟悉API程序运用或者接口,跳槽也得重新开始。呵呵,这个是听公司老大说的,正不正确我就不清楚了,只做一家之言。

18:工商银行数据中心在上海外高桥,存储在北京;大型机的并行处理能力很强,并且硬盘有加密功能。

大型机可以分多个区,每个分区安装独立的系统,5、6个系统可以同时共存。

19:深刻理解COBOL中Next sentence和Continue的区别,Next sentence是将程序控制跳到下一条Sentence,而Continue是将程序控制传递给本Sentence的下一个statement,它本身只是一个空操作。

20:Open output方式打开的文件一定只能是新建的,也就是说文件在write之前没有任何记录。

21:DFsort做排序比COBOL中的SORT效率高,因此对文件记录做排序的时候优先在JCL中进行。

22:Filler字段在COBOL程序中初始化为“Low-value:。

目前仅仅更新这么多,以后的Cics、Map、Cursor等等陆续会出来,学完了再做总结。

Ubuntu环境Chrome视频播放问题

April 2nd, 2010

Ubuntu下解决Chrome浏览器中视频播放问题

以前跟chrome打交道并不多,没觉得chrome有多么强大,虽然也有过一定的用户体验,但是占据我桌面的浏览器主打始终是opera。在新闻报道中Pwn2Own大赛上chrome与安全专家大战中几回合笑到最后摘取“最安全浏览器”桂冠,觉得还是应该多给chrome一些表现机会的,用了不到两天,chrome便成了桌面浏览器系列中的主打产品。

今天在ubuntu下面尝试chrome,发现优酷上的视频无法加载,很明显是flash插件的问题,但是好像chrome官方没有给出明确的解决方案,出于一个对ubuntu的热情,在Macromedia网站上下载了一个install_flash_player_10_linux.deb下来,装上去发现对chrome不起作用,视频仍然无法播放,于是找到了如下的解决方法:

1:下载flash player的xpi插件http://fpdownload.macromedia.com/get/flashplayer/xpi/current/flashplayer-linux.xpi。 解压缩,然后把plugins这个文件夹拷贝到chrome的安装目录(/opt/google/chrome)下面.

这里出了一个Copy操作不成功(Permission denied)的问题,花了我一大晚上的时间.

对比截图,找到如下解决方法:

Alt+F2,选择终端

cd /opt/google/chrome

sudo chown  benben  /opt/google/chrome

修改文件夹对应的“所有者(owner)”为你自己登陆用户,这样才会有Copy权限。

修改前:

修改后:

2:在桌面上图标属性/opt/google/chrome/google-chrome %U后面添加 –enable-plugins

重启后配置成功。

不当家不知柴米贵

March 22nd, 2010

博客好久没更新了,真担心时间一长,0fees直接给我挂站了;我们租房子这个地方今天刚通的网,也正好最近一段时间忙忙乎乎的发生了不少事情,今天有空顺手就写下来。

年前收到华钦公司offer的时候还在犹豫再三之后还是来了,之前本来是打算等IBM再过来招牌的,后来一想,觉得其实大公司、小公司差不了多少的,关键还是在于个人,你有一份心在自己的行业上,想干好就一定能够干得好;再一个就是想早点出来,早点离开校园的环境(一直觉得学校的环境给人的限制太多了,有点无法施展拳脚的感觉),于是我们一起被华钦招聘的四个人就跑到上海这边来了。

张江高科,在这个无数选择上海打拼、奋斗的年轻人居住的地方,我们扎根了。

租房子蛮贵的,¥2500/月,三室一厅一厨一卫,外交另一个同班同学,5人平摊,还算能够接受。水电、煤气、宽带另外算、再抛开一日三餐的吃饭问题,薪资待遇就只能够维持个人生计了。

不当家不知柴米贵,出来工作了第一次真切得感受到了,钱是不经花的东西,很多东西要买,很多地方要用钱,小打小闹的日常生活用品都能够把你兜里的那点榨得干干净净,其他的什么娱乐、消遣的想法就别想了,更不用说我那非常单纯的买车想法了,残念!

晚上我们头一次煮饭,三菜一汤,呵呵,都是烧得缺油少盐、半生不熟的,吃起来依然是美味。每天下班出了地铁赶着公交回家,每次都是筋疲力尽,第一次饭菜能烧出“三菜一汤”来,我们满足了,不敢挑剔。“吃起来容易,做起来难”,切菜的时候,突然想到了——一吃老妈做的饭菜就是20+年,从来都是吃起来容易,怎么就从来没有想过20+里老妈做饭的难处,感谢她老人家了。

周末补课了,今、明两天休息,下午刚通了网,有点小兴奋,更新到这里了,有空再写。