resin-pro-4.0.20 crack 破解文件下载

resin-pro-4.0.20 破解文件下载pro.jar resin pro 4.0.20 Full Cracked download. 下载pro.jar文件,覆盖原来lib目录的pro.jar文件即可。 仅供学习使用,请在下载后24时间内删除。

varnish,squid,apache,nginx缓存文件比较

一,测试环境 1,硬件是奔腾双核,机子三年前买的。系统是archlinux 2,测试varnish和squid的时候,web服务用的apache 3,测试apache的时候,启动了5个进程,不过随着压力的增加,进程会增加的。 4,测试nginx的时候,启动了十个nginx进程,20个php-cgi进程   5,varnish,squid,nginx用的是反向代理的形势,也就是说访问图片的时候,要先透过缓存工具 二,测试 1,varnish [root@BlackGhost bin]# /usr/local/bin/webbench -c 100 -t 20 http://127.0.0.1:8080/00/01/RwGowEtWvcQAAAAAAAAWHH0Rklg81.gif Webbench – Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET http://127.0.0.1:8080/00/01/RwGowEtWvcQAAAAAAAAWHH0Rklg81.gif 100 clients, running 20 sec. Speed=476508 pages/min, 47258114 bytes/sec. Requests: 158836 susceed, 0 failed. 访问了这么次,没有缓存只有一次,效率真的很高。 2,squid [root@BlackGhost bin]# /usr/local/bin/webbench -c … Continue reading "varnish,squid,apache,nginx缓存文件比较"

初步试用Squid的替代产品──Varnish Cache网站加速器

Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (vg.no) 使用3台Varnish代替了原来的12台squid,性能比以前更好。 Varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是Varnish cache设计架构。 Varnish可以在FreeBSD 6.0和Linux 2.6内核上运行。 1、编译安装varnish HTTP加速器: 引用 wget http://blog.s135.com/soft/linux/varnish/varnish-1.1.1.tar.gz tar zxvf varnish-1.1.1.tar.gz cd varnish-1.1.1 ./configure –prefix=/usr/local/varnish make && make install 2、简单启动varnish守护进程,用本机80端口去反向代理加速127.0.0.1:81上的Apache服务器: 引用 /usr/local/varnish/sbin/varnishd -a :8080 -b 127.0.0.1:81 -p thread_pool_max=1500 -p thread_pools=5 -p listen_depth=512 -p client_http11=on -w 1,10000,120 Varnish官方网站:http://www.varnish-cache.org/ 另有一份PDF文档,说明Varnish原理的:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=2163384 我测试了一下,在同等配置环境下,Varnish的性能确实要超过Squid,稳定性也不错,值得继续去深入研究。   原文地址:http://blog.s135.com/post/290/

使用Varnish代替Squid做网站缓存加速器的详细解决方案

今天写的这篇关于Varnish的文章,已经是一篇可以完全替代Squid做网站缓存加速器的详细解决方案了。网上关于Varnish的资料很少,中文资料更是微乎其微,希望本文能够吸引更多的人研究、使用Varnish。 在我看来,使用Varnish代替Squid的理由有三点: 1、Varnish采用了“Visual Page Cache”技术,在内存的利用上,Varnish比Squid具有优势,它避免了Squid频繁在内存、磁盘中交换文件,性能要比Squid高。 2、Varnish的稳定性还不错,我管理的一台图片服务器运行Varnish已经有一个月,没有发生过故障,而进行相同工作的Squid服务器就倒过几次。 3、通过Varnish管理端口,可以使用正则表达式快速、批量地清除部分缓存,这一点是Squid不能具备的。 下面来安装Varnish网站缓存加速器(Linux系统): 1、创建www用户和组,以及Varnish缓存文件存放目录(/var/vcache): /usr/sbin/groupadd www -g 48 /usr/sbin/useradd -u 48 -g www www mkdir -p /var/vcache chmod +w /var/vcache chown -R www:www /var/vcache 2、创建Varnish日志目录(/var/logs/): mkdir -p /var/logs chmod +w /var/logs chown -R www:www /var/logs 3、编译安装varnish: wget http://blog.s135.com/soft/linux/varnish/varnish-1.1.2.tar.gz tar zxvf varnish-1.1.2.tar.gz cd varnish-1.1.2 ./configure –prefix=/usr/local/varnish make && make install 4、创建Varnish配置文件: vi … Continue reading "使用Varnish代替Squid做网站缓存加速器的详细解决方案"

android:SQLite数据库 增、删、改、查

学习android开发不可避免的会涉及数据库的使用,android使用的是SQLite数据库。对于SQLite数据库的基本信息这里就不过多的介绍,我们主要看哈是怎么用的就是了。 与以往数据库不一样的地方 以前我们做javaWeb开发时用jdbc连接,现在变了,个人觉得变得简单了。在应用程序中直接就可以去创建数据库,然后对其进行操作。不用像以前写连接代码。 操作数据库 一,SQLiteOpenHelper 类 其中: getReadableDatabase()得到可读的数据库,返回SQLiteDatabase对象,然后通过对象进行数据库操作。 getWritableDatabase()得到可写的数据库,返回SQLiteDatabase对象,然后通过对象进行数据库操作。 onCreate(SQLiteDatabase db)在第一次创建数据库时调用。 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)在更改数据库时都会调用。 onOpen(SQLiteDatabase db)当数据库打开时调用。 close()关闭数据库。 二,SQLiteDatabase类 这个类提供了对数据库的一些基本操作: insert() delete() update() query() 。。。。。等等。 代码: SQLiteOpenHelper 的子类: import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; /**  * 通过getReadableDatabase()和getWritableDatabase()可以获得数据库对象。  * 提供onCreate()-创建数据库时,onUpgrade()-升级数据库时,两个回调函数。  */ public class DatabaseHelper extends SQLiteOpenHelper {     // 按要求必须要有构造函数     public DatabaseHelper(Context context, String name, CursorFactory factory,             int version) {         super(context, name, factory, version);     }     // 当第一次得到SQLiteDatabase对象时,调用该方法     @Override     public void onCreate(SQLiteDatabase db) {         String sql = “create table MSG(id int,body varchar(100))”;         db.execSQL(sql);         System.out.println(“创建了一个数据库!”);     }     // 当更新数据库时执行该方法     @Override     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {         System.out.println(“更新了数据库!”); … Continue reading "android:SQLite数据库 增、删、改、查"

Android 盘点所有Dialog 对话框 大合集 详解

雨松MOMO带大家盘点Android 中的对话框 今天我用自己写的一个Demo 和大家详细介绍一个Android中的对话框的使用技巧。 1.确定取消对话框 对话框中有2个按钮   通过调用 setPositiveButton 方法 和 setNegativeButton 方法 可以设置按钮的显示内容以及按钮的监听事件。 我们使用AlerDialog 创建对话框 AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); 使用builder设置对话框的title button icon 等等 builder.setIcon(R.drawable.icon);        builder.setTitle(“你确定要离开吗?”);        builder.setPositiveButton(“确定”, new DialogInterface.OnClickListener() {            public void onClick(DialogInterface dialog, int whichButton) {                //这里添加点击确定后的逻辑                showDialog(“你选择了确定”);            }        });        builder.setNegativeButton(“取消”, new DialogInterface.OnClickListener() {            public void onClick(DialogInterface dialog, int whichButton) {                //这里添加点击确定后的逻辑                showDialog(“你选择了取消”);            }        });        builder.create().show(); 这个dialog用于现实onClick后监听的内容信息 private void showDialog(String str) { w AlertDialog.Builder(MainDialog.this)      .setMessage(str)      .show(); } 2.多个按钮信息框 AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); builder.setIcon(R.drawable.icon); builder.setTitle(“投票”); builder.setMessage(“您认为什么样的内容能吸引您?”); builder.setPositiveButton(“有趣味的”, new DialogInterface.OnClickListener() {     public void onClick(DialogInterface dialog, int whichButton) {         showDialog(“你选择了有趣味的”);     } }); builder.setNeutralButton(“有思想的”, new DialogInterface.OnClickListener() {     public void onClick(DialogInterface dialog, int whichButton) {         showDialog(“你选择了有思想的”);     } … Continue reading "Android 盘点所有Dialog 对话框 大合集 详解"

CentOS 6正式发布,免费的企业级Linux

CentOS 6 正式版已于7月9日发布。 CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同在于,CentOS并不包含封闭源代码软件。 CentOS 6.0 基于上游的 Red Hat Enterprise Linux 6.0 制作,同时基本包含了所有的上游软件包。CentOS 完全遵守上游供应商的再发行政策,并且以百分之百的软件兼容性为目标,但相对于 RHEL ,CentOS 最主要的改变是去除了上游供应商的商标及美工图。 CentOS 6上游版本发行注记和文档:Red Hat Enterprise Linux 6 CentOS 6相对于上游版本 RHEL 6,修改、删除和新增了部分组件,详细情况参阅:发行注记。 官方网站:http://www.centos.org/ 下载页面:http://www.centos.org/modules/tinycontent/index.php?id=15

敏捷方法中测试人员的价值?

敏捷方法在软件开发中受到青睐,特别是在互联网应用服务系统的开发中,越来越多的公司采用敏捷方法,包括XP、Scrum、Lean、Crystal、FDD等。具体的敏捷方法在操作时有一些区别,但基本思想是一致的,如客户至上、拥抱变化、缩短迭代周期、自我组织等。在敏捷方法中,流程相对灵活,强调沟通,通过充分的沟通来及时解决问题,由于沟通充分,文档不是很重要,而且有可能不采用Word等独立的文件格式,而是采用Wiki、空间等web内容方式。 在敏捷方法中,需求变化比较快、产品开发周期很短(一、两周),给软件测试带来很大的挑战!例如,功能测试的自动化实现就比较困难,没有足够时间开发自动化测试脚本,要花大量时间讨论产品特性,及时进行产品的验收测试。自动化测试,更多的是在单元测试这个层次上实现。而单元测试自动化、持续集成等一些关键实践,开发人员能发挥更大的作用,而测试人员难以很好地发挥作用。在敏捷方法中,开发人员的主导作用更明显,讨论需求、实现需求,再修改需求、再实现、再重构,不断完善产品,测试人员容易边缘化。甚至在Crystal方法中,可以不需要测试人员,开发人员能承担所有技术性的工作。 在敏捷方法中,测试人员的价值又如何体现? 首先在需求讨论上,测试人员可以站在客户角度上来阐述自己的观点,和产品人员、开发人员等进行充分的交流和讨论,使自己在用户体验、业务逻辑等等方面的经验充分体现出来。 在开发过程中,测试人员不仅扮演“用户代表”角色,而且可以及时提供更全面的质量反馈,包括代码质量、接口一致性等。测试人员不写代码,可以参与代码复审(code review),将质量问题及时提交给项目组,保证在产品构造的整个过程中质量受到足够的关注,提高质量改进的持续性和可视性。 测试人员还是可以参与单元测试。即使单元测试由开发人员做,测试人员可以推进开发人员进行单元测,检查单元测试状态,如确保单元测试达到80%以上覆盖率,以及帮助开发人员开发出具有良好可测试性的代码。 即使在敏捷方法中,集成测试、端到端(end-to-end)测试、性能测试等是不可少的。因为在敏捷方法中,往往将一个大的系统开发分解成多个小的子系统(模块/组件),集成测试和端到端(end-to-end)测试显得更重要。测试人员在功能测试上工作量会降低,但在这些测试上发挥更大的作用。 随着迭代的不断深入,回归测试的工作量很大,这也是测试人员的用武之地。 测试人员可以针对稳定的产品特性开发自动化测试脚本,这也是一种持续的努力,使回归测试自动化。 测试人员对缺陷进行分析,总结出一些规律,帮助开发人员建立良好的习惯,改进代码的质量。 而且: 在敏捷方法中,我们也要采用敏捷测试,不要再写几十页的测试计划书,而是在每个迭代周期,写出一页纸的测试计划,将测试要点列出来。 在敏捷测试中,可能不需要测试用例,而是针对use case 或user story直接进行验证,并进行探索性测试。而节约出来的时间,用于开发原有功能的自动化测试脚本,为回归测试服务。自动化测试脚本将代替测试用例,成为软件组织的财富。   所以: 敏捷功能测试 = 新特性的手工测试 (use case验证和探索性测试) + 原有功能的自动化测试 (回归测试) 理想情况下,测试人员具有很好的编程能力,可以和开发人员进行角色互换。在当前版本开发(/迭代周期)中担任测试人员角色,在下一个版本开发(/迭代周期)中担任开发人员角色,而开发人员则担任测试人员角色,让开发人员深刻地理解用户的需求角度来考虑系统功能的设计,这样会更好地保证产品的质量,沟通的障碍也会消除,开发的效率会有很大的提高。这也是对测试人员的一个挑战。 敏捷测试也是一个持续测试的过程,而这持续测试的基础是具备一个灵活的、开放的自动化测试框架。测试人员在自动化测试框架构建上、测试工具开发或第3方测试工具前期研究、试用等方面可以发挥主导作用。 项目采用敏捷方法,要获得成功,项目组中每个人都有很强的质量意识,具有质量的主人翁精神,特别是开发人员,每时每刻提醒自己——“质量是构建出来的”,与客户或产品设计人员进行充分沟通,遵守高度一致的质量标准。测试人员将是促进质量文化不断提升的中坚力量。 原作者:朱少民