1. WIN7安装IIS: 控制面板----程序和功能-----打开或关闭windows功能,如图
展开Internet信息服务,按照下图方式进行选择,然后单击“确定”,等待几分钟就安装好了
2. 注册IIS
因为我们是先安装的VS,后安装的IIS,所以需要将IIS注册进VS中(具体原因可以去网上查,或者咱们以后再说,但我还是希望大家自己寻找答案),具体方法如下:在运行中输入“cmd”,回车进入Dos界面
输入下列命令:cd C:\Windows\Microsoft.NET\Framework\v4.0.30319,敲回车,如图
上面命令的意思是进入到C:\Windows\Microsoft.NET\Framework\v4.0.30319这个目录下,然后运行这个目下名称为aspnet_regiis.exe的程序,代码如下图所示
然后冲洗IIS,重启IIS的命令为iisreset(停止IIS的命令为iisreset /stop,启动IIS的命令为iisreset /start),至此注册IIS成功
注:之所以使用aspnet_regiis.exe –i,而不是直接运行aspnet_regiis.exe,是因为两者的作用不同,aspnet_regiis.exe 后面除了可以跟-i之外,还可以跟其他参数,可以通过如下命令来查看asp.net_regiis.exe后面都可以跟哪些参数
3将程序发布到IIS上
新建一个简单的Web程序实现最简单的功能,在页面添加一个按钮,单击按钮输出“hello world”
后台代码为
程序写好后将程序发布到IIS上,方法如下
右键单击项目名称,然后选择“发布”
发布方式选择“文件系统”,目标位置选择一个空的文件夹,如下图是在D盘新建了一个名称为“test”的文件夹
然后单击发布,发布成功之后到D盘下找到test文件夹,打开查看
打开IIS(打开IIS的方法为控制面板----管理工具----Internet信息服务)
打开后界面如下
展开左边的节点
右键“网站”,选择“添加网站”
网站名称填写有意义的名称,物理路径选择存放发布后的文件的文件夹(D盘下的test),端口选择除“80”意外的端口,这里使用7251(端口是有一定范围的)
然后展开左边的网站节点,可以看到我们新建的网站
选择右边的“内容视图”
右键单击文件“WebForm1.aspx”,选择“浏览”
如果出现如上图一样的错误,是.net framework版本的问题(我们使用VS2010编写程序默认使用的是.NET Frameworkd4.0,而IIS默认使用.NET Frameword2.0)。
解决办法是点击左边的“应用程序池”,然后在右边选择“MyFirstWeb”
双击“MyFirstWeb”
将.net framework版本改为4.0即可
点击“确定”,重新浏览”WebForm1.aspx,界面如图
点击按钮
做了一段时间的性能优化,感觉不错,接触到了不少基础知识,也锻炼了自己的逻辑思维,写代码的时候考虑的更加全面一些,自己写出来的代码质量也会有所提高,写完一段代码会回头看看是不是有更简单更优的实现方法,还有也会自动会去考虑遵循一些基本的规范,比如嵌套循环不能超过三层、方法和类都要遵循单一职责的原则等等。
下面就将自己这段时间的工作总结一下,记录的同时也给刚做这方面工作的同志们一些建议,希望能够快速上手。系统性能优化一般分为下面几步走:
1、发现问题
这一步需要先进行一些性能测试,根据测试结果找出不达标的来进一步分析优化。比如:B/S系统可以在浏览器上安装一些插件(我用的是httpwatch),打开浏览器后进入系统,启动插件的功能,点击查询按钮,该插件就会自动记录查询整个过程的耗时,可以方便你后面的分析,下图为httpwatch某个查询的耗时记录:
根据性能测试结果要写一份性能测试报告为下一步工作提供依据,写性能测试报告一般有以下几点需要写进去:
a、测试使用数据是否为现场数据
b、测试使用的客户端是什么配置
c、服务器数据库端的配置
d、选择的测试条件
e、每个功能测试次数,平均耗时为多少
f、每次查询返回的数据量
g、数据库里对应表里的数据总量
h、将测试记录写成文档,对于不达标的记录高亮显示
2、分析问题
根据测试报告找出不达标的功能进行单独分析,确定存在问题的具体位置,比如是某个方法还是某个功能段导致整体性能不能达标,一般会先大概分析一下整体的代码,然后从外向里添加日志,打印出各方法的执行时间,这样很快就能确定出问题的具体位置,将分析结果写入文档,为下一步提供依据。
3、提出方案
根据分析结果提出解决方案,然后写成文档提交审批。
4、解决问题
根据审批通过的文档进行修改,然后测试修改后的结果,符合要求了就可以提交测试部进行最总测试。
5、结果报告
测试部测试通过后一个优化就算结束了,写好优化文档上传保存。
上面的这几步每一步都很重要,但是真正难点还是在第三步,提出解决方案,代码优化、逻辑优化甚至是数据库的优化都需要有丰富的编程经验,这个不是一下子能做到的需要长期的积累,在项目里不断的实践才能够越做越好,下面我就将一些看到过的优化方法结合自己的工作总结出来以供参考:
java代码优化
1、循环
通常把大循环放在里面,把小循环放在外面,例如:
for(int i=0; i<10;i++) { for(int j=0; j<1000000;j++) { ... } }把与循环index不相关的移到循环的外面,例如:
for(int i=0; terminal=x.length;i<terminal;i++) {x = x/scaleA * scaleB;} //应该该成: Double scale = scaleB*scaleA; for(int i=0; terminal=x.length;i<terminal;i++) {x = x/scale ;}在重要的循环里,消除循环终止判断时的方法调用,例如:
for(int i=0; i<collection.size();i++) { ... } //尽量减少对变量的重复计算 for(int i=0; n=collection.size();i<n;i++) {...}尽量不要在循环中使用:
Try { } catch() { }
应把其放置在最外层
循环内不要创建大量的临时变量
for(int i=1;i<=domainCount;i++){ ... AuditResult auditResult = new AuditResult(); ... } //这种做法会在内存中保存N份这个对象的引用,会浪费大量的内存空间,改为 AuditResult auditResult; for(int i=1;i<=domainCount;i++){ ... auditResult=new AuditResult(); ... }2、字符串
■ 消除字符串连接
■创建长字符串时,总是使用StringBuffter代替String
■预先分配StringBuffer空间 StringBuffer sb = new StringBuffer(5000);
■ StringBuffer 和StringBuilder的区别:
java.lang.StringBuffer线程安全的可变字符序列。一个类似于String 的字符串缓冲区,但不能修改。
StringBuilder,与该类相比,通常应该优先使用java.lang.StringBuilde
经过多年的码农岁月,不少的朋友可能已经逐渐向PM迈进,那么,在和客户谈需求时,为了更好地理解客户的需求,可能就会用到原型设计。
这里将介绍一下,原型设计的各个工具的优势和劣势。(仅个人看法,请随便拍砖)
1. Microsoft Visio.
这个工具用来画流程图,还有模型图,都相当强大,不过它还可以用来画各个移动的界面图。
在网上去搜索下载两个插件,分别是Andorid和iOS的。 名字为:Audio.vss, iPhone产品设计visio模板.css
优点:
微软的技术,相信大家也是看得到的,非常的牛B, 可以画出多个漂亮的界面,有多个控件可以使用。并且可以分别针对iphone和Android画不同的界面,
劣势:
a. 不太好的是, 不能动态地模拟。
b. 不能放在设备上查看。
c. 没有Mac版本,尽管有在Mac上可以替换Visio的软件,但据说兼容不是很好。
2. GUI Design Studio
这个工具主要是用来设计Windows平台上的软件模型,以及网页模型,对于手机端支持不好。
这里记录几点,我觉得主要的使用方法。
a. 在new project时,(注意不是New file),在弹出的New Project界面中,把底部的引用库全部加进来,可以有效地参考已有的模板,在使用时,可以直接拿来使用,而不需要自己再去一个一个地写,对齐什么的,较为方便。而且也有助于初学者的使用。
b. 通常我们的原型中可能会需要到图片,从哪里导入呢, 有三种方法,这里只说一种,因为另外两种方法不记得了。菜单Design-->Add Bitmap...-->导入。
c. 创建动作连接线,如用户点击某按钮后,应当跳转到哪个界面的, 在顶部的工具栏中间,有一个两头都是矩形的小图标,点它,然后点按钮,再点另一个界面,即可实现模拟点这个按钮跳转到另一个界面的操作。
d. 测试界面的跳转,按F9键即可,也即是工具栏上的一个类似于"播放"的图标。在设计时,按它可以快速测试界面跳转是否有问题。
e. 在播放时,会需要设定一个第一界面,即从哪个界面开始播放,在界面中,注意哪个界面周围被一个绿色框包起来的,那个就是第一界面,要设置其它界面为第一界面,只需要选中那个界面,然后点右键,“Set Representative Elemement F10”,即可。 快捷键为F10.
f. 界面上的控件,要对其进行内容设置什么的,双击即可。当然,右键-->属性也是一样的。
g. 最后, 通常我们会把这些界面设计好后, 为了方便放在标书中,或者设计文档中,我们会把这些设计图放在Word中,怎么办呢。 操作如下: File-->Export....-->导出成图片,然后通过PS来一张一张地切出来即可。
h. 如果是做移动的设计原型,我们通常会需要修改页面为我们想要的大小,在纯洁的界面上,点右键"Screen Canvas Size...".
注:该版本在csdn的下载中,这是一个最新的英文版本及破解程序4.4 http://download.csdn.net/detail/xuechangchun007/4848380
这是一个老版本2.0的汉化版本,同样是破解过的:http://download.csdn.net/detail/studentsky/3603346
建议初学者把这两个都下载下来,使用时,先操作老版本学习一下,然后再使用4.4的那个版本。(俺就是这样做的)
优点:
a. 操作方便,
b. 如果是用来做windos程序,那是再好不过了
劣势:
a. 无Mac版本
b. 无针对手机版本的控件。如果非要用这个做手机版本, 那就只能近似地做出效果了。
3. Axure 6.5
我下载的是一个英文版本的破解版本, 网上说它可以专门制作移动设备的项目原型,并可以在设备上进行实机演示,不过由于在下遇钝,试了半天,也没有研究得很好。
优点:
a. 有Mac版本
b. 方便生成网页界面跳转
劣势:
a. 凭心而论,操作起来不太方便。
b. 暂时没有找到可以针对移动设备的原型。
4. Balsamiq Mockups
优点:
a. Mac版本
b. 感觉它是完全针对iOS手机版本的,所以效果非常接近Mac风格。
c. 操作起来较为方便
劣势:
a. 无法破解,据官网上讲的,每个号都是他们人工生成的,没有任何规律。不破解的话,只能使用7天,7天后就无法进行保存,那就完全没用。