我的开源学习之路

web

 

2007年1月12日

阿里巴巴招人拉,愿意来杭州总部的记得给我发简历啊,待遇丰厚,工资面议

资深J2EE研发工程师

发布日期:2007-04-06 工作地点:杭州市
招聘人数:若干 学 历:无
工作年限:三年以上 外语要求:
电子邮箱:abba.xuhb@alibaba-inc.com

职位描述:
岗位职责:
研制和开发核心技术及软件框架,开发清晰高效的软件产品和核心模块。

任职资格:
1、本科或以上学历,计算机或相关专业。
2、至少3年以上Java开发工作经验,包括设计\编程\测试。
3、熟悉J2EE技术平台和主要框架。

资深J2EE研发工程师

发布日期:2007-04-06 工作地点:杭州市
招聘人数:若干 学 历:无
工作年限:三年以上 外语要求:
电子邮箱:abba.xuhb@alibaba-inc.com

 职位详细信息 :

职位描述:
职位描述:
研制和开发核心技术及软件框架,开发清晰高效的软件产品和核心模块。

任职资格:
1、本科或以上学历,计算机或相关专业。
2、至少3年以上Java开发工作经验,包括设计\编程\测试。
3、熟悉J2EE技术平台和主要框架。


Java软件工程师

发布日期:2007-04-06 工作地点:杭州市
招聘人数:若干 学 历:无
工作年限:三年以上 外语要求:
电子邮箱:abba.xuhb@alibaba-inc.com

 职位详细信息 :

职位描述:
岗位职责:
1.参与产品的设计,和运营部门一起发展网站产品
2.和开发工程师一起进行技术可行性分析和概要设计
3.从系统层面去合理析网站产品,并提供开发工程师构架建议整理,完善网站总体产品文档,业务流程及相关内容

岗位要求:
1、3年以上网站应用的开发、系统分析、需求分析的经验
2、较强的用户需求判断、引导、控制能力
3、精通面向对象的系统分析思想,善于沟通、表达能力强
4、熟练掌握UML设计和相关工具使用
5、有项目管理经验者和商业敏感度卓越者优先考虑

posted @ 2007-04-06 12:58 abba 阅读(11206) | 评论 (13)编辑 收藏

重构与模式 解读--------用Creation Method替换构造函数

     类中有多个构造函数,因此很难决定在开发期间调用那一个的时候,请采用Creation Method(个人翻译为静态构建模式)方式
  
优点:
     1:比构造函数能够更好的表达创建的实例的总类
     2:避免了构造函数的局限,比如两个构造函数的参数数目和类型不能相同
     3:更容易发现无用的创建代码
    
缺点:
     创建方式是非标准的,有些类需要使用new实例化,有些需要使用静态构建模式.

                                        -------------------------以上是书中原话

    个人强烈推荐使用静态构建模式,尤其是优点的第2条,很优雅的解决了我下面例子中的问题
不可运行代码:
public class People {
    private int age;
    private int height;
    public People(int age){
        this.age=age;
    }
    public People(int
height){
        this.
height=height;
    }
}
使用构建模式后:
public class People {
    private int age;
    private int height;  
    public static  People createPeopleByAge(int age){
        this.age=age;
    }
   
public static  People createPeopleByHeight(int height){
        this.
height=height;
    }

}

对比一下两个对象,第二个对象的代码变得优雅而又实用了.而且逻辑清晰

其实还有几个优点:
        1:当使用new初始化一个类的时候,类中的每个构造函数都会被遍历一遍,也就是构造函数越多,这个类实例化需要的时间越长.
        2:我们现在很多人使用了编译器,有个代码提醒的功能.如果是静态方法,可以得到提醒,而不同的构造函数,我们必须去查api了.
       

                                                                

posted @ 2007-02-07 09:13 abba| 编辑 收藏

关于WORD的一些常用使用技巧

把文字替换成图片 首先把图片复制到 剪贴板中,然后打开替换对话框,在“查找内容”框中输入将被替换的文字,接着在 “替换为”框中输入“^c”(注意:输入的一定要是半角字符,c要小写),单击替换 即可。说明:“^c”的意思就是指令Word XP以剪贴板中的内容替换“查找内容”框中的内 容。按此原理,“^c”还可替换包括回车符在内的任何可以复制到剪贴板的可视内容,甚至Excel表格。 三招去掉页眉那条横线 1、在页眉中,在“格式”-“边框和底纹”中设置表格和边框为“无”,应用于“段落” 2、同上,只是把边框的颜色设置为白色(其实并没有删的,只是看起来没有了,呵呵) 3、在“样式”栏里把“页眉”换成“正文”就行了——强烈推荐! 会多出--(两个横杠) 这是用户不愿看到的,又要多出一步作删除-- 解决方法:替换时在前引号前加上一个空格 问题就解决了 插入日期和时间的快捷键 Alt+Shift+D:当前日期 Alt+Shift+T:当前时间 批量转换全角字符为半角字符 首先全选。然后“格式”→“更改大小写”,在对话框中先选中“半角”,确定即可 Word启动参数简介 单击“开始→运行”命令,然后输入Word所在路径及参数确定即可运行,如“C:\ PROGRAM FILES \MICROSOFT Office \Office 10\ WINWord.EXE /n”,这些常用的参数及功能如下: /n:启动Word后不创建新的文件。 /a:禁止插件和通用模板自动启动。 /m:禁止自动执行的宏。 /w:启动一个新Word进程,独立与正在运行的Word进程。 /c:启动Word,然后调用Netmeeting。 /q:不显示启动画面。 另外对于常需用到的参数,我们可以在Word的快捷图标上单击鼠标右键,然后在“目标”项的路径后加上该参数即可。 快速打开最后编辑的文档 如果你希望Word在启动时能自动打开你上次编辑的文档,可以用简单的宏命令来完成: (1)选择“工具”菜单中的“宏”菜单项,单击“录制新宏”命令打开“录制宏”对话框; (2)在“录制宏”对话框中,在“宏名”输入框中输入“autoexec”,点击“确定”; (3)从菜单中选择“文件”,点击最近打开文件列表中显示的第一个文件名;并“停止录制”。保存退出。下次再启动Word时,它会自动加载你工作的最后一个文档。 格式刷的使用 1、设定好文本1的格式。 2、将光标放在文本1处。 3、单击格式刷按钮。 4、选定其它文字(文本2),则文本2的格式与文本1 一样。 若在第3步中单击改为双击,则格式刷可无限次使用,直到再次单击格式刷(或按Esc键)为止。 删除网上下载资料的换行符(象这种“↓”) 在查找框内输入半角^l(是英文状态下的小写L不是数字1),在替换框内不输任何内容,单击全部替换,就把大量换行符删掉啦。 选择性删除文件菜单下的最近使用的文件快捷方式。 工具→选项→常规把“列出最近使用文件数改为0”可以全部删除,若要选择性删除,可以按ctrl+Alt+ -三个键,光标变为一个粗减号后,单击文件,再单击要删除的快捷方式就行了。 建立一个矩形选区: 一般的选区建立可用鼠标左键,或用shift键配合pgup、pgdn、home、end、箭头等功能键,当复制一个规则的矩形区域时,可先按住Alt键,然后用鼠标左键来选。我一般用此来删除段首多余的成块的空格。大家试一试*^_^* 将字体快速改为上标或下标的方法: 本人在一次无意间发现了这个方法,选定你要下标的字,然后在英文状态下按住Ctrl,再按一下BASKSPACE旁的+/=的键,就可以了。上标只要在按Ctrl的同时也按住Shift,大家可以试试。 让Word表格快速一分为二 将光标定位在分开的表格某个位置上,按下“Ctrl+Shift+Enter”组合键。这时你就会发现表格中间自动插入一个空行,这样就达到了将一个表格一分为二的目的。 用Word来拆字 首先点击“工具/自定义/命令/分解图片”,按住鼠标左键把它拖放到工具栏任意位置即可;然后点击“插入/图片/艺术字”,例如输入空心字“心”,选择该 “心”字剪切,在选择性粘贴中选图片(Windows图元文件),选中该字,点击工具栏中的“分解图片”按钮,这样可以选择“心”中的任意笔画进行一笔一画的拆分了。 快速删除段前段后的任意多个空格 选定这些段段落,单击居中按钮,然后再单击原来的那种对齐方式按钮(如果原来是居中对齐的,先单击其它对齐方式按钮,再单击居中按钮就行了),是不是这些空格全不见了? 只要打开WORD新建一个空文档的时候,出现的不是空的文档,而是我以前打的一份文档 首先:将资源管理器设置为显示所有文件和文件夹; 然后: C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates文件夹下将所有Normal.doc文件删掉; 然后:OK(XP系统) 快速输入平方的方法 先输入2,然后选重后,按ctrl加shift加+就可以了. WORD中表格的选择性录入 1.设置好表格,选定表格-视图-工具-窗体-插入下拉型窗体域 2.输入数据,完成 3.点击锁按钮,保护,输入完后再点击进行其它的输入. 标点符号的全角/半的转换用:Ctrl+. 数字字母的全角/半的转换用:Shift+空格 轻松了解工具栏按钮的作用 按下“shift+F1”键,鼠标指针旁多了一个“?”号,想知道哪个按钮 的作用,就用鼠标单击哪个。 要经常在文档中插入自己公司的信息 公司名称 公司住址 联系电话 联系人姓名 QQ号码 可以先选定这些内容,再单击工具→自动更正→在替换框中输入标记名称(如“公司信息”)→添加→确定,以后凡是在文档中要用到这个信息的地方键入“公司信息”(不要引号)这几个字后就自动替换成: 公司名称 公司住址 联系电话 联系人姓名 QQ号码 说明:有些输入法不支持这个功能,键入标记名称后要按一下空格才行。 快速换页的方法 双击某页的右下脚,光标即可定位在那里,然后按回车直到换页。ctrl+回车点插入按纽,分隔符,选中分页符,然后确认就OK了 !!! 表格的简单调整宽度 鼠标放在表格的右边框上带鼠标变成可以调整大小的时候 双击 根据表格内的内容调节表格大小 代替金山词霸 点工具——语言——翻译,在右边出现的搜索框中输入要查的单词,回车就可以翻译了。可以选择英语翻成中文或中文翻成英语。 第一次使用可能要安装。 安装五笔86版或五笔98版 有人安装的五笔字体不好,联想的字词不容易看清。进入控制面板,添加栅除程序,选中 Microsoft Office Professional Edition 2003 点更改,选中添加或栅除功能,点下一步,选中选择应用程序的高级自定义,点下一步,点开Office共享功能,点开中文可选用户输入方法,点开中文输入法86版(或98版)前的向下的小黑三角,选从本机运行,点更新。 有时可能需要放入安装盘。 [Alt]键实现标尺的精确定位 如果你经常使用水平标尺来精确定位标签、页边框、首字缩进及页面对象的位置,那么你点击标尺设置页边框或标签时,您只可以将其设置为1字符或2字符,但不能设为1.5字符!要想设置更为精确的度量单位(例如百分之几字符),在按住[Alt]键的同时,点击并移动标尺或边框,此时标尺将用数字精确显示出当前的位置为百分之几字符位置。 用“记事本”去除格式 网页上COPY下来的东西往往都是有网格的,如果直接粘贴在WORD中会杂乱无章。先粘贴到记事本当中,再粘贴到WORD中,就可以去除网格等格式,再全选选择清除格式,居中再取消居中即可取消所有格式。可以直接在WORD中进行:(菜单)编辑/选择性粘贴……/无格式文本/确定。这样省事多了。 快速将文档转换成图片 先把欲想转换的文档保存退出.如:保存在桌面 然后新建一个文件.把想转换的文档(鼠标左建按住该文档不放)直接施放在页面上 恢复office的默认设置 比如不小心把word设置乱了(如删了菜单栏等等). 查找normal.dot直接删除. 下一次启动word会恢复默认值. 让Word只粘贴网页中的文字而自动去除图形和版式 方法一、选中需要的网页内容并按“Ctrl+C”键复制,打开Word,选择菜单“编辑”→“选择性粘贴”,在出现的对话框中选择“无格式文本”。 方法二、选中需要的网页内容并按“Ctrl+C” 键复制,打开记事本等纯文本编辑工具,按“Ctrl+V”键将内容粘贴到这些文本编辑器中,然后再复制并粘贴到Word中。 ctrl+alt+f可以输入脚注 这个对于经常写论文的朋友应该有点帮助。 将阿拉伯数字转换成中文数字或序号 1、先输入阿拉伯数字(如1234),全选中,单击“插入/数字/数字类型(壹、贰……)/确定”,即变为大写数字(如壹仟贰佰叁拾肆),会计朋友非常适用。 2、其他像一千二百三十四,甲、乙……,子、丑……,罗马数字等的转换,可参考上法。 Word中的常用快捷键吧 “字体”对话框 Ctrl+D 选择框式工具栏中的“字体”框 Ctrl+Shift+F 加粗 Ctrl+B 倾斜 Ctrl+I 下划线Ctrl+U “上标”效果 Ctrl+Shift+= “下标”效果 Ctrl+= “关闭”命令 Ctrl+W Word快捷键一览表 序号 快捷键CTRL+ 代表意义 1…………Z…………撤消 2…………A…………全选 3…………X…………剪切 4…………C…………复制 5…………V…………粘贴 6…………S…………保存 7…………B…………加粗 8………… Q…………左对齐 9…………E…………据中 10…………R…………右对齐 11…………]…………放大 22…………[…………缩小 12…………N…………新建文档 13…………I…………字体倾斜 14…………W…………退出 15…………P…………打印 16…………U…………下划线 17…………O…………打开 18…………k…………插入超级连接 19…………F…………查找 20…………H…………替换 21…………G…………定位 23…Ctrl+Alt+L……带括号的编号 24…Ctrl+Alt+.________… 25…Alt+数字………区位码输入 26…Ctrl+Alt+Del………关机 27…Ctrl+Alt+Shift+?……¿ 28…Ctrl+Alt+Shift+!……¡ 29…Alt+Ctrl+E……………? 30…Alt+Ctrl+R……………® 31…Alt+Ctrl+T……………™ 32…Alt+Ctrl+Ctrl…………© 33……Ctrl+D……………格式字体 34……Ctrl+Shift+= ………上标 35……Ctrl+=………………下标 36……Ctrl+Shift+>……放大字体 37……Ctrl+Shift+< ……缩小字体 38……Alt+Ctrl+I………打印预览 39……Alt+Ctrl+O………大刚示图 40……Alt+Ctrl+P………普通示图 41……Alt+Ctrl+M………插入批注 42……Alt+菜单上字母………打开该菜单 无级微调 打开“绘图”工具栏-点开下拉菜单-绘图网格...-将水平间距和垂直间距调到最小0.01-确定,这样你就可以无级微调 把work设置成在线打开,但不能修改‘只读’怎搞啊? 文件夹共享为只读 在WORD中输入三个等号然后回车。。。出来的是双横线哦。。。 同样的方法也可以做出波浪线单横线哦!~~~~~ , ###为中间粗上下细的三线, ***为点线, ~~~为波浪线, ---为单线 输入拼音字母的音调怎么输入 用智能ABC,键入v9,然后自己挑选吧! 页码设置 1、打开页眉/页脚视图,点击插入页码按钮,将页码插入(此时所有的页码是连续编号的) 2、切换到页面视图,在需要从1计数的页面上插入连续分节符(插入--分隔符--分节符--连续) 3、再次换到页眉/页脚视图,点击设置页码格式按钮,将页码编排-起始页码设置为1 把Excel中的表格以图片形式复制到Word中 除了用抓图软件和全屏拷贝法外还有更简单的呢 先选定区域,按住Shift健点击"编辑"会出现"复制图片""粘贴图片",复制了后,在Word中选"粘贴图片"就可像处理图片一样处理Excel表格了! Ctrl+鼠标滑轮(左右键中间的那个轮子)可以迅速调节显示比例的大小(100%)。向上滑扩大,向下滑缩小。 快速调整页眉横线长度 在word插入页眉后,会自动在此位置添加一条长横线。如果需要调整此线的长度及其水平位置,可以首先激活页眉,选择格式下的段落命令,调整一下左右缩进的字符值,确定可以看到最终效果了! 快速浏览图片 在WORD2003中,如果插入的图片过多,会影响打开和翻滚的速度。其实,我们可以通过改变图片的显示方式改变浏览速度。 工具--选项--视图--图片框 这样,先显示的是图片框,需要看的时候,停留,即可显示! WORD 中如何输入分数 1、打开word,点击工具菜单栏的“插入”,在下拉菜单中点“域”。 2、在打开的复选框中的类别栏中“选等式公式”,域名中“EQ”。然后点击“选项”,在出现的菜单选项中选“F(,)”,接着点击“添加到域”并“确定”。 3、然后在输入F(,)数字,如要输入23 只需在F(,)输入F(2,3)就能得到2/3 怎样使WORD 文档只有第一页没有页眉,页脚 答:页面设置-页眉和页脚,选首页不同,然后选中首页页眉中的小箭头,格式-边框和底纹,选择无,这个只要在“视图”——“页眉页脚”,其中的页面设置里,不要整个文档,就可以看到一个“同前”的标志,不选,前后的设置情况就不同了 Word中双击鼠标的妙用 在Word的程序窗口中不同位置上双击,可以快速实现一些常用功能,我们归纳如下: 在标题栏或垂直滚动条下端空白区域双击,则窗口在最大化和原来状态之间切换; 将鼠标在标题栏最左边WORD文档标记符号处双击,则直接退出WORD(如果没有保存,会弹出提示保存对话框); 将鼠标移到垂直滚动条的上端成双向拖拉箭头时双击,则快速将文档窗口一分为二; 将鼠标移到两个窗口的分界线处成双向拖拉箭头时双击,则取消对窗口的拆分; 在状态栏上的“修订”上双击,则启动“修订”功能,并打开“审阅”工具栏。再次双击,则关闭该功能,但“审阅”工具栏不会被关闭; 在状态栏上的“改写”上双击,则转换为“改写”形式(再次“双击”,转换为“插入”形式); 如果文档添加了页眉(页脚),将鼠标移到页眉(页脚)处双击,则激活页眉(页脚)进入编辑状态,对其进行编辑;在空白文档处双击,则启动“即点即输”功能; 在标尺前端空白处双击,则启动“页面设置”对话框。 在word编辑中经常要调整字休大小来满足编辑要求 选中要修改的文字,按ctrl+]或ctrl+[来改变字体的大小! 这个方法可以微量改字体大小~ 文本框的线条 1. 制作好文档后,通过“视图→页眉页脚”命令,调出“页眉页脚”工具栏,单击其中的“显示→隐藏文档正文文字”按钮,隐藏正文部分的文字内容。 2. 选择“插入”菜单中的“文本框”命令,在页眉的下方插入一个空文本框。 3. 在文本框内加入作为水印的文字、图形等内容,右击图片,选择快捷菜单中的“设置图片格式”命令,在对话框中“图片”选项卡下,通过“图像控制”改变图像的颜色,对比度和亮度,并手动调整图片的大小。    4. 通过“设置文本框格式”命令,把文本框的线条色改为无线条色。 5. 单击“页眉页脚”工具栏的“关闭”按钮,退出“页眉页脚”编辑。 每页添加水印的操作 1. 制作好文档后,通过“视图→页眉页脚”命令,调出“页眉页脚”工具栏,单击其中的“显示→隐藏文档正文文字”按钮,隐藏正文部分的文字内容。 2. 选择“插入”菜单中的“文本框”命令,在页眉的下方插入一个空文本框。 3. 在文本框内加入作为水印的文字、图形等内容,右击图片,选择快捷菜单中的“设置图片格式”命令,在对话框中“图片”选项卡下,通过“图像控制”改变图像的颜色,对比度和亮度,并手动调整图片的大小。    4. 通过“设置文本框格式”命令,把文本框的线条色改为无线条色。 5. 单击“页眉页脚”工具栏的“关闭”按钮,退出“页眉页脚”编辑。 6. 完成上述步骤的操作,水印制作得以完成,这样就为每一页都添加了相同的水印。 让Word页面快速一分为二 将光标定位在想分开的位置上,按下“Ctrl+Shift+Enter”组合键。 使Word中的字体变清晰 Word文档中使用 “仿宋” 字体很淡,可按以下方法使字体更清晰: 右击桌面,点 “属性”,点 “外观”,点 “效果”,选中“使用下列方式使屏幕字体的边缘平滑”选“清晰”,确定。

posted @ 2007-01-19 14:11 abba 阅读(1232) | 评论 (3)编辑 收藏

Struts2与Struts1的对比

 

来源:struts2开发组 翻译:tianxinet(胖猴)

Action 类:
• Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。
• Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。
线程模式:
• Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。
• Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)

Servlet 依赖:
• Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法。
• Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response。但是,其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必要性。

可测性:
• 测试Struts1 Action的一个主要问题是execute方法暴露了servlet API(这使得测试要依赖于容器)。一个第三方扩展--Struts TestCase--提供了一套Struts1的模拟对象(来进行测试)。
• Struts 2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。

捕获输入:
• Struts1 使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。动态Bean(DynaBeans)可以作为创建传统ActionForm的选择,但是,开发者可能是在重新描述(创建)已经存在的JavaBean(仍然会导致有冗余的javabean)。
• Struts 2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性可能是有自己(子)属性的rich对象类型。Action属性能够通过web页面上的taglibs访问。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种ModelDriven 特性简化了taglib对POJO输入对象的引用。

表达式语言:
• Struts1 整合了JSTL,因此使用JSTL EL。这种EL有基本对象图遍历,但是对集合和索引属性的支持很弱。
• Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言--"Object Graph Notation Language" (OGNL).

绑定值到页面(view):
• Struts 1使用标准JSP机制把对象绑定到页面中来访问。
• Struts 2 使用 "ValueStack"技术,使taglib能够访问值而不需要把你的页面(view)和对象绑定起来。ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面(view)。
 
类型转换:
• Struts 1 ActionForm 属性通常都是String类型。Struts1使用Commons-Beanutils进行类型转换。每个类一个转换器,对每一个实例来说是不可配置的。
• Struts2 使用OGNL进行类型转换。提供基本和常用对象的转换器。

校验:
• Struts 1支持在ActionForm的validate方法中手动校验,或者通过Commons Validator的扩展来校验。同一个类可以有不同的校验内容,但不能校验子对象。
• Struts2支持通过validate方法和XWork校验框架来进行校验。XWork校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性

Action执行的控制:
• Struts1支持每一个模块有单独的Request Processors(生命周期),但是模块中的所有Action必须共享相同的生命周期。
• Struts2支持通过拦截器堆栈(Interceptor Stacks)为每一个Action创建不同的生命周期。堆栈能够根据需要和不同的Action一起使用。

posted @ 2007-01-12 13:29 abba 阅读(1994) | 评论 (1)编辑 收藏

导航

统计

常用链接

留言簿(3)

随笔分类

随笔档案

SteelHand

友情链接

高手

搜索

最新评论

阅读排行榜

评论排行榜