yangxiaoxie 发布的文章

小年小记——2012年终总结

眼看着又是挥之不去的一年过去了,而我只能在这里以此种方式深切的缅怀一下。

时间飞快,当我还没来的急感受下冬天寒冷的气息时,小年已然就在眼前了;当我还沉浸在2012世界末日没有发生的失望中时,2012已然飘向身后远去了。

这一年对于我来说之所以快,也许是因为我的生活太稳定了,毕业前是每天上课下课,毕业后是每天上班下班,工作和上学几乎没有什么区别,有时候我甚至恍然分不清楚,这既是我的幸运又是我的不幸。稳定的生活是我想要的,但是一成不变的稳定让人看不到希望。

工作

自从2011年中来到北京就一直在泰岳上班,只是2011时人在北京但在客户现场开发,而2012年则终于安稳的在公司上班了,生活也因此稳定下来。之前在霍营住,现在在北苑,上班都是走着去,非常之近。

之前给人寿开发的小程序虽然模块少,但业务逻辑,功能俱全,使我学到了不少东西,尤其是LDAP和Webservice;到了公司开始开发4A的相关项目,主要是做一些模块的开发(集团自注册和业支应用改造),后期参与到了Portal的改造,“有幸”去了两次广东,在4A项目中学到的最多的只是竟然是jquery和dom,而不是java相关的。

对于人寿的项目我需要小小的“吐槽”下:

  • 项目开始没人引导。开始时我和张敏两个人对于LDAP一无所知,以至于我不得不去Orcal官网看英文文档,Google与LDAP相关的知识,可以说LDAP这些东西是我一点点的啃出来的,数据结构;还有后来的LDAP的连接池,也是我一点点的从dpp里抽取有用的核心的部分。当时如果有个对LDAP熟悉的人来支持的话,对于LDAP这边的开发就会快很多。

  • 项目的分歧。也许是我太追求完美主义,在项目中很想遵循一些规范,将程序写的尽量漂亮,于是就和张敏产生了一些分歧。也许我是错误的,我的想法虽好,但会花费更长的时间,而张敏的做法是用尽量少的时间去完成需求即可;孰对孰错?不得而知,也许这两种方式达到一种平衡才是最正确的吧。

对于4A项目我也想小小的“吐槽”下:

  • 业务逻辑不可控。这表现在两个方面,一个是代码方面,一个是源头方面。先说代码方面,一般来讲,j2ee项目都是MVC模式分层,业务逻辑放在service层,但是当代码写的多了,人员组织多了之后,往往会把业务逻辑放在action层,甚至在V层js/jsp中也会有。源头方面,需求总是在变化的,开发前没有预估到的扩展性会导致后续的很多问题,既费时又费力。

  • 该重构的要重构,且重构的一定要彻底。这一点尤其表现在视图层,即页面及脚本。单是页面的插件就有很多个版本互相混杂(jquery就有很多个);完成同样功能的插件会使用两套(弹出窗口用了三种方式)等,更别说页面脚本(js)了,那叫一个鱼龙混杂!

  • 评审到更细的模块。对于一个模块的开发或者对于一个系统的改造计划,都是应该评审的,一个人的决策和考虑必定有限;评审应该更细,细到这个模块的具体实现方式即可。比如改造Portal时,其实不用写那么多的js,有很多更友好(对于开发人员来说)的实现方式没有选择而是使用了最笨的方法,可怜我的腰就是在那时整合系统资源列表多维框弄坏了。

  • 请关注下用户体验。这个不用我细说了吧,用户体验差的产品是没有竞争力的。

PS:上述吐槽系本人半夜睡不着在意识还未清醒之下所发,若相关人士看到有异议及肤浅之处请忽略之。

除了上述工作内容,在业余时间里,我还主要学习了以下内容:

  • Android:研究了一番activity、常见控件、布局初步、数据库sqlite、广播机制和intent,并编写了两个小app:“拼图游戏应用”和“顾客信息管理系统”,后来荒废了;

  • PHP:研究了下php的语法,会写简单的脚本,知道几个简单的函数,会从数据库查询东西并输出,会搭建lamp,并为typecho博客系统写了3款皮肤:NewGreen,Moodpo,Moodpo-bootstrap

  • Ubuntu:依稀记不清了从那个系统换到12.04的,反正从8.04开始就一直在用,电脑也一直是双系统或多系统,写了两篇Ubuntu的文章:关于ATI显卡配置的(貌似是博客里点击率最高的)和装完系统需要的一些基本配置,类似装机必备吧。后续,还会写一篇关于字体设置的,Ubuntu下字体设置好了完胜M$啊,有木有!!!

  • Git/Github:学会使用git这一强大的分布式版本控制工具,个人感觉是完胜SVN神马的,不信看这里;当然学会git后就自然而然的注册github了,fork了几个项目,后来感觉做的不是很好又删除了,呃!

  • Python:大蜥蜴,学习了基本的语法和函数,目前还在学习,期望以后学会它,学到学java这种程度。

  • ssh2:就是spring/struts2/hibernate啦,话说这几天spring框架爆出一个0 day漏洞,汗!学ssh2是看着几本书学的,后续会发部相关的笔记。

好了,就这些吧!总的来说,工作上马马虎虎,有的没的学的不少,但都没“精”,主要原因还是没有实践,唉,这只能寄希望于未来了;而以后要勤写笔记,没实践的东西没笔记是万万不可的。

生活

曾经梦想着08年去看奥运,曾经梦想着和一个知己的人一同上路去北京,曾经梦想着自己只身前往西藏,曾经梦想着徒步在横断山脉的原始森林里徜徉恣邃...这许许多多的梦想在时间飞掠而过后终于变成一个个“梦”,而我已不再“想”。也许我真的老了,在现实的打磨下变的不可方物,一天天过去,不是忙着生就是忙着死,我徘徊在其中,恍恍不可终日。

也许在外人看来,2012年我的生活是翻天覆地的,变化最大的一年:2012年我结婚了,退出了单身的行列。其实,在我看来,生活还是生活,我还是我:看新闻,上网络,翻翻墙,熬熬夜,看dota;生活在继续,我只想说:我和豆子都还是孩子,给我们点糖果好不好...

2012年初,豆子从江苏过来和我住在了一起,下班买菜做饭吃饭睡觉。生活是琐碎的,就像春雨,润物细无声,慢慢我就习惯了并乐在其中。虽然也有各种各样吵架的时候,但日子倒也过的滋润。北京的合租房状况是我无力吐槽的,之前是公司给租房子,现在是我自己租房,问公司是否有补助,罗嗦了半天最后不了了之了。自己租房顿感压力山大,但还在承受范围内。现在回想那些往事,曾经那么多梦想怎也猜不到自己未来是这样一种境遇,真是造化不弄人,人自醉。

阳历的年终前,我从广州回来,房子正好到期,又在附近找了一间租下,一个月要1200块大洋,然后又回家,回了家又去豆子家,然后再回家领了结婚证,又回北京,待了没几天,又回家结婚,2012年的最后一个月真是祸不单行,忙得不可开交啊!唯一的收获就是,在我眼里,终于有了结婚的概念——就是请上一堆堆的人在某个地方吃上两三天,而你还要在其中一天起个大早,穿上新衣服,却在众人的注视下,对着家里那再熟悉不过的北墙磕N个头。

生活其实再简单不过了,只需要坦然的面对每天新升起的太阳,认真对待每一天,生活的滋润,其他都与你无关或者无关紧要了。

2013

需要对2013有所计划了,再怎么说世界末日也过去了,可惜我还没想好,先到此为止啦。

搬窝事宜

博客从IDCsoft搬到了Hostigation,从限制较多的虚拟主机上搬到了自由自在的VPS。对于VPS,因为一直使用Ubuntu的缘故,所以VPS装的系统是Debain,轻车熟路的就配置好了mysql,nginx和php,再装上typecho,用了不到半天功夫,速度还算可以,毕竟开始VPS上纯的一塌糊涂,初始内存使用只有10m。

本来已经把以前的文章导了过来,但后来浏览了下,代码和图片都乱了,而且还有以前wordpress上加的音乐,改来改去,最后不耐烦了,把数据库清空了,So,打算重新开始吧!

PS:当然一些浏览量大的有用的文章我还是会陆续导过来的。

Apache Axis2在WAS上的部署

在WebSphere Application Server上部署Axis2需要修改几个配置,否则,Axis2服务可以访问,但大多数功能是无法使用的。

由于在WebSphere Application Server 7.0 中,加入了对JAX-WS的支持,它是基于一个Axis2的修改版本的,当WAS启动时,它的类加载器将会加载这些类。于是当真正部署Axis2 1.6时就会发生冲突,怎么解决这种冲突呢,很简单:

  1. 在部署axis2.war之前,修改war包中的axis2.xml文件。找到EnableChildFirstClassLoading参数,将其修改为true(默认为false)。这个参数只支持axis2的1.5.5以上版本。

  2. 在部署完axis2.war之后,修改应用模块的类加载方式为父类最后:在WebSphere的管理员控制台,找到企业级应用的配置页面,点击Manage Modules,定位到包含Axis2的模块,将Class loader order项修改为 Classes loaded with local class loader first (parent last)

经过以上配置之后,重启axis2应用即可。

下午三点钟的...

电影《海云台》中妍熙说万植:“你就像下午三点钟的太阳,想做点什么,可是时间总是不够;而不做什么,就会觉得时间很漫长。”

加班其实是好事,星期六加班,星期天就过的比较充实了;如果星期六不加班,我肯定又会宅在家里了。今天醒来的时候才七点多,没办法,已经养成了这样的习惯。但是懒得没起,一直到十点半,洗了澡,出去买饭,之后已到了中午。很快时间就到了下午三点。

没办法豆子走了,只有我一个人,于是开始打扫房间。衣柜下面脏的要死,这都是拜豆子的乌龟所赐,把那地方当成了自己的小窝。我把桌子架走,不知为什么桌子里没什么东西,但是却很重(也许是我很长时间没有锻炼的原因,感觉自己也没什么劲了),再把衣柜挪走,用拖把把里面拖了两遍,重新把床铺了一下;最后把找到的脏衣服全洗了,把整个房间拖了一遍,感觉清爽整齐了许多。这是落日的余辉斜斜照了进来,心情大爽,遂找了电影《海云台》开始看。

以上即本人的星期天。下午三点钟才开始干的活,也干完了,虽然不多,但是却是差点就要否决的地步。经常会形成“下午三点钟”的情况,然后放弃,但是放弃之后又懊恼时间如此漫长,大学的时候一天天就是这样过去的。

北京的天气终于好起来了,豆子离开之后,变成我一个人生活,和以前一样,不再做饭了。几点一线,周而复始,宇宙中的一切真是都在周而复始。不要问为什么,终极的为什么都只能归诸于哲学去回答,那很没意思。想到以前在学校,为了写道家的哲学理论研究的那些大道运行论,在现在的社会之中,被充斥的纸醉金迷,灯红酒绿所代替。

豆子回来,也不再做饭了吧,我想!而且我要带她去吃美味的食物,看美妙的风景,去迷人的地方...否则不如此,人生又作何意义呢?

Ubuntu 12.04 ATI卡驱动安装

1.安装Ubuntu提供的 fglrx/Catalyst(催化剂)

在Ubuntu 12.04中将会安装催化剂Catalyst 8.960版本,这可能不是最新的版本,但是这样做更安全和稳定,它相当于AMD Catalyst 12-4。

2.手动安装AMD催化剂(推荐)

注意:在32位Ubuntu12.04上手动安装AMD提供的催化剂12-4版本将会需要一个补丁,你可以在http://ubuntuforums.org/showthread.php?t=1969827找到它。

2.1 开始之前

安装依赖的包

sudo apt-get install build-essential cdbs dh-make dkms execstack dh-modaliases fakeroot

如果时64位的系统,请执行以下命令

sudo apt-get install ia32-libs-multiarch:i386 lib32gcc1 libc6-i386
cd /usr; sudo ln -svT lib /usr/lib64

这将会安装32位的编译器,并在库引用间建立软链接

2.2 下载催化剂12-4

cd ~/; mkdir catalyst12.4; cd catalyst12.4/
wget http://www2.ati.com/drivers/linux/amd-driver-installer-12-4-x86.x86_64.run
chmod +x amd-driver-installer-12-4-x86.x86_64.run

2.3 创建.deb文件

sh ./amd-driver-installer-12-4-x86.x86_64.run --buildpkg Ubuntu/precise

创建时间可能比较慢且终端没有输出,请耐心等待...

2.4 安装.deb文件

sudo dpkg -i fglrx*.deb

2.5 配置/etc/X11/xorg.conf文件

即使安装了驱动系统仍然无法识别你的显卡,还需要配置配置文件,系统将依靠配置文件来驱动显卡。 执行下面的命令初始化amd的配置文件

sudo amdconfig --initial -f

打开/etc/X11/xorg.conf文件,找到以下内容

Section "Device"
Identifier "ATI radeon 6870"
Driver "fglrx"
EndSection

你的文件内容可能与以上内容不同,你需要知道自己显卡的型号将Identifier引号内的名称修改为你显卡的名称,保存。 如果你的GPU是双核的,请执行以下命令;但是如果你是双显卡就不需要执行了

sudo amdconfig --initial -f --adapter=all

如果你时多屏的,请执行下面的命令

sudo amdconfig --initial -f
sudo amdconfig --set-pcs-str="DDX,EnableRandR12,FALSE"

2.6 强制使用配置文件的设置

sudo amdconfig --input=/etc/X11/xorg.conf --tls=1

2.7 测试一下刚才的配置是否成功

fglrxinfo

你应该会看到以下类似内容

display: :0 screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: ATI Mobility Radeon HD 4650
OpenGL version string: 3.3.11631 Compatibility Profile Context

再检测下显卡的帧率

fgl_glxgears

fg1-300x157.png

2.8 启用显卡的硬解

显卡驱动了,GPU当然不能浪费,看高清硬接才是王道

这里我使用的是xvba-va驱动

sudo apt-get install xvba-va-driver libva-glx1 libva-x11-1 vainfo

重启电脑,执行

vainfo

你将会看到以下内容

libva: VA-API version 0.32.0
Xlib: extension "XFree86-DRI" missing on display ":0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/fglrx_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA-API version: 0.32 (libva 1.0.15)
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.7.8
vainfo: Supported profile and entrypoints
VAProfileH264High : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD

更多内容请移步这里